fortinet.fortimanager.fmgr_waf_profile – Web application firewall configuration.¶
Note
This plugin is part of the fortinet.fortimanager collection (version 1.0.5).
To install it use: ansible-galaxy collection install fortinet.fortimanager
.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_waf_profile
.
New in version 2.10: of fortinet.fortimanager
Synopsis¶
This module is able to configure a FortiManager device by allowing the user to [ add get set update ] the following apis.
/pm/config/adom/{adom}/obj/waf/profile
/pm/config/global/obj/waf/profile
Examples include all parameters and values need to be adjusted to data sources before usage.
Parameters¶
Notes¶
Note
There are only three top-level parameters where ‘method’ is always required while other two ‘params’ and ‘url_params’ can be optional
Due to the complexity of fortimanager api schema, the validation is done out of Ansible native parameter validation procedure.
The syntax of OPTIONS doen not comply with the standard Ansible argument specification, but with the structure of fortimanager API schema, we need a trivial transformation when we are filling the ansible playbook
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: REQUESTING /PM/CONFIG/OBJ/WAF/PROFILE
fmgr_waf_profile:
loose_validation: False
workspace_locking_adom: <value in [global, custom adom]>
workspace_locking_timeout: 300
method: <value in [add, set, update]>
url_params:
adom: <value in [none, global, custom dom]>
params:
-
data:
-
comment: <value of string>
extended-log: <value in [disable, enable]>
external: <value in [disable, enable]>
name: <value of string>
url-access:
-
access-pattern:
-
id: <value of integer>
negate: <value in [disable, enable]>
pattern: <value of string>
regex: <value in [disable, enable]>
srcaddr: <value of string>
action: <value in [bypass, permit, block]>
address: <value of string>
id: <value of integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
- name: REQUESTING /PM/CONFIG/OBJ/WAF/PROFILE
fmgr_waf_profile:
loose_validation: False
workspace_locking_adom: <value in [global, custom adom]>
workspace_locking_timeout: 300
method: <value in [get]>
url_params:
adom: <value in [none, global, custom dom]>
params:
-
attr: <value of string>
fields:
-
- <value in [comment, extended-log, external, ...]>
filter:
- <value of string>
get used: <value of integer>
loadsub: <value of integer>
option: <value in [count, object member, datasrc, ...]>
range:
- <value of integer>
sortings:
-
varidic.attr_name: <value in [1, -1]>
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
data
dictionary
|
always |
The payload returned in the request
|
status
dictionary
|
always |
The status of api request
|
url
string
|
always |
The full url requested
Sample:
/sys/login/user
|
Authors¶
Frank Shen (@fshen01)
Link Zheng (@zhengl)