On this page
fortinet.fortimanager.fmgr_waf_profile_constraint – WAF HTTP protocol restrictions.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.1.3).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install fortinet.fortimanager.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_waf_profile_constraint.
New in version 2.10: of fortinet.fortimanager
Synopsis
- This module is able to configure a FortiManager device.
 - Examples include all parameters and values which need to be adjusted to data sources before usage.
 
Parameters
| Parameter | Choices/Defaults | Comments | ||
|---|---|---|---|---|
| adom
        
        string / required
         | 
      
        
        the parameter (adom) in requested url
         | 
     |||
| bypass_validation
        
        boolean
         | 
      
       
  | 
      
        
        only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters
         | 
     ||
| enable_log
        
        boolean
         | 
      
       
  | 
      
        
        Enable/Disable logging for task
         | 
     ||
| profile
        
        string / required
         | 
      
        
        the parameter (profile) in requested url
         | 
     |||
| proposed_method
        
        string
         | 
      
       
  | 
      
        
        The overridden method for the underlying Json RPC request
         | 
     ||
| rc_failed
        
        list / elements=string
         | 
      
        
        the rc codes list with which the conditions to fail will be overriden
         | 
     |||
| rc_succeeded
        
        list / elements=string
         | 
      
        
        the rc codes list with which the conditions to succeed will be overriden
         | 
     |||
| state
        
        string / required
         | 
      
       
  | 
      
        
        the directive to create, update or delete an object
         | 
     ||
| waf_profile_constraint
        
        dictionary
         | 
      
        
        the top level parameters set
         | 
     |||
| content-length
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| length
        
        integer
         | 
      
        
        Length of HTTP content in bytes (0 to 2147483647).
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| exception
        
        list / elements=string
         | 
      
        
        no description
         | 
     |||
| address
        
        string
         | 
      
        
        Host address.
         | 
     |||
| content-length
        
        string
         | 
      
       
  | 
      
        
        HTTP content length in request.
         | 
     ||
| header-length
        
        string
         | 
      
       
  | 
      
        
        HTTP header length in request.
         | 
     ||
| hostname
        
        string
         | 
      
       
  | 
      
        
        Enable/disable hostname check.
         | 
     ||
| id
        
        integer
         | 
      
        
        Exception ID.
         | 
     |||
| line-length
        
        string
         | 
      
       
  | 
      
        
        HTTP line length in request.
         | 
     ||
| malformed
        
        string
         | 
      
       
  | 
      
        
        Enable/disable malformed HTTP request check.
         | 
     ||
| max-cookie
        
        string
         | 
      
       
  | 
      
        
        Maximum number of cookies in HTTP request.
         | 
     ||
| max-header-line
        
        string
         | 
      
       
  | 
      
        
        Maximum number of HTTP header line.
         | 
     ||
| max-range-segment
        
        string
         | 
      
       
  | 
      
        
        Maximum number of range segments in HTTP range line.
         | 
     ||
| max-url-param
        
        string
         | 
      
       
  | 
      
        
        Maximum number of parameters in URL.
         | 
     ||
| method
        
        string
         | 
      
       
  | 
      
        
        Enable/disable HTTP method check.
         | 
     ||
| param-length
        
        string
         | 
      
       
  | 
      
        
        Maximum length of parameter in URL, HTTP POST request or HTTP body.
         | 
     ||
| pattern
        
        string
         | 
      
        
        URL pattern.
         | 
     |||
| regex
        
        string
         | 
      
       
  | 
      
        
        Enable/disable regular expression based pattern match.
         | 
     ||
| url-param-length
        
        string
         | 
      
       
  | 
      
        
        Maximum length of parameter in URL.
         | 
     ||
| version
        
        string
         | 
      
       
  | 
      
        
        Enable/disable HTTP version check.
         | 
     ||
| header-length
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| length
        
        integer
         | 
      
        
        Length of HTTP header in bytes (0 to 2147483647).
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| hostname
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| line-length
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| length
        
        integer
         | 
      
        
        Length of HTTP line in bytes (0 to 2147483647).
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| malformed
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| max-cookie
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| max-cookie
        
        integer
         | 
      
        
        Maximum number of cookies in HTTP request (0 to 2147483647).
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| max-header-line
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| max-header-line
        
        integer
         | 
      
        
        Maximum number HTTP header lines (0 to 2147483647).
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| max-range-segment
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| max-range-segment
        
        integer
         | 
      
        
        Maximum number of range segments in HTTP range line (0 to 2147483647).
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| max-url-param
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| max-url-param
        
        integer
         | 
      
        
        Maximum number of parameters in URL (0 to 2147483647).
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| method
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| param-length
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| length
        
        integer
         | 
      
        
        Maximum length of parameter in URL, HTTP POST request or HTTP body in bytes (0 to 2147483647).
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| url-param-length
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| length
        
        integer
         | 
      
        
        Maximum length of URL parameter in bytes (0 to 2147483647).
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| version
        
        dictionary
         | 
      
        
        no description
         | 
     |||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     ||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     ||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     ||
| status
        
        string
         | 
      
       
  | 
      
        
        Enable/disable the constraint.
         | 
     ||
| workspace_locking_adom
        
        string
         | 
      
        
        the adom to lock for FortiManager running in workspace mode, the value can be global and others including root
         | 
     |||
| workspace_locking_timeout
        
        integer
         | 
      Default: 
        300
         | 
      
        
        the maximum time in seconds to wait for other user to release the workspace lock
         | 
     ||
Notes
Note
- Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
 - To create or update an object, use state present directive.
 - To delete an object, use state absent directive.
 - Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded
 
Examples
- hosts: fortimanager-inventory
  collections:
    - fortinet.fortimanager
  connection: httpapi
  vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
  tasks:
   - name: WAF HTTP protocol restrictions.
     fmgr_waf_profile_constraint:
        bypass_validation: False
        workspace_locking_adom: <value in [global, custom adom including root]>
        workspace_locking_timeout: 300
        rc_succeeded: [0, -2, -3, ...]
        rc_failed: [-2, -3, ...]
        adom: <your own value>
        profile: <your own value>
        waf_profile_constraint:
           content-length:
              action: <value in [allow, block]>
              length: <value of integer>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           exception:
             -
                 address: <value of string>
                 content-length: <value in [disable, enable]>
                 header-length: <value in [disable, enable]>
                 hostname: <value in [disable, enable]>
                 id: <value of integer>
                 line-length: <value in [disable, enable]>
                 malformed: <value in [disable, enable]>
                 max-cookie: <value in [disable, enable]>
                 max-header-line: <value in [disable, enable]>
                 max-range-segment: <value in [disable, enable]>
                 max-url-param: <value in [disable, enable]>
                 method: <value in [disable, enable]>
                 param-length: <value in [disable, enable]>
                 pattern: <value of string>
                 regex: <value in [disable, enable]>
                 url-param-length: <value in [disable, enable]>
                 version: <value in [disable, enable]>
           header-length:
              action: <value in [allow, block]>
              length: <value of integer>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           hostname:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           line-length:
              action: <value in [allow, block]>
              length: <value of integer>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           malformed:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           max-cookie:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              max-cookie: <value of integer>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           max-header-line:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              max-header-line: <value of integer>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           max-range-segment:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              max-range-segment: <value of integer>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           max-url-param:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              max-url-param: <value of integer>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           method:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           param-length:
              action: <value in [allow, block]>
              length: <value of integer>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           url-param-length:
              action: <value in [allow, block]>
              length: <value of integer>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           version:
              action: <value in [allow, block]>
              log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| request_url
        
        string
         | 
      always | 
        
        The full url requested
         Sample:
        
       
        /sys/login/user
         | 
     
| response_code
        
        integer
         | 
      always | 
        
        The status of api request
          | 
     
| response_message
        
        string
         | 
      always | 
        
        The descriptive message of the api response
         Sample:
        
       
        OK.
         | 
     
Authors
- Link Zheng (@chillancezen)
 - Jie Xue (@JieX19)
 - Frank Shen (@fshen01)
 - Hongbin Lu (@fgtdev-hblu)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/fortinet/fortimanager/fmgr_waf_profile_constraint_module.html