fortinet.fortimanager.fmgr_waf_profile_constraint – WAF HTTP protocol restrictions.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.0.1).
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 | ||
profile string / required | the parameter (profile) in requested url | |||
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/2.11/collections/fortinet/fortimanager/fmgr_waf_profile_constraint_module.html