:source: fmgd_waf_profile.py :orphan: .. _fmgd_waf_profile: fmgd_waf_profile -- Configure Web application firewall configuration. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. versionadded:: 1.1.0 .. contents:: :local: :depth: 1 Synopsis -------- - This module is able to configure a FortiManager device. - Examples include all parameters and values need to be adjusted to data sources before usage. - Tested with FortiManager v7.x. Requirements ------------ The below requirements are needed on the host that executes this module. - ansible-core>=2.16.0 FortiManager Version Compatibility ---------------------------------- .. raw:: html

Supported Version Ranges: v7.4.8 -> v7.4.10, v7.6.4 -> latest

Parameters ---------- .. raw:: html 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 -------- .. code-block:: yaml+jinja - name: Example playbook (generated based on argument schema) hosts: fortimanagers connection: httpapi gather_facts: false vars: ansible_httpapi_use_ssl: true ansible_httpapi_validate_certs: false ansible_httpapi_port: 443 tasks: - name: Configure Web application firewall configuration. fortinet.fmgdevice.fmgd_waf_profile: # bypass_validation: false # workspace_locking_adom: # workspace_locking_timeout: 300 # rc_succeeded: [0, -2, -3, ...] # rc_failed: [-2, -3, ...] device: vdom: state: present # waf_profile: name: "your value" # Required variable, string # address_list: # blocked_address: # blocked_log: # severity: # status: # trusted_address: # comment: # constraint: # content_length: # action: # length: # log: # severity: # status: # exception: # - address: # content_length: # header_length: # hostname: # id: # line_length: # malformed: # max_cookie: # max_header_line: # max_range_segment: # max_url_param: # method: # param_length: # pattern: # regex: # url_param_length: # version: # header_length: # action: # length: # log: # severity: # status: # hostname: # action: # log: # severity: # status: # line_length: # action: # length: # log: # severity: # status: # malformed: # action: # log: # severity: # status: # max_cookie: # action: # log: # max_cookie: # severity: # status: # max_header_line: # action: # log: # max_header_line: # severity: # status: # max_range_segment: # action: # log: # max_range_segment: # severity: # status: # max_url_param: # action: # log: # max_url_param: # severity: # status: # method: # action: # log: # severity: # status: # param_length: # action: # length: # log: # severity: # status: # url_param_length: # action: # length: # log: # severity: # status: # version: # action: # log: # severity: # status: # extended_log: # external: # method: # default_allowed_methods: # - "delete" # - "get" # - "head" # - "options" # - "post" # - "put" # - "trace" # - "others" # - "connect" # log: # method_policy: # - address: # allowed_methods: # - "delete" # - "get" # - "head" # - "options" # - "post" # - "put" # - "trace" # - "others" # - "connect" # id: # pattern: # regex: # severity: # status: # signature: # credit_card_detection_threshold: # custom_signature: # - action: # case_sensitivity: # direction: # log: # name: # pattern: # severity: # status: # target: # - "arg" # - "arg-name" # - "req-body" # - "req-cookie" # - "req-cookie-name" # - "req-filename" # - "req-header" # - "req-header-name" # - "req-raw-uri" # - "req-uri" # - "resp-body" # - "resp-hdr" # - "resp-status" # disabled_signature: # disabled_sub_class: # main_class: # action: # id: # log: # severity: # status: # url_access: # - access_pattern: # - id: # negate: # pattern: # regex: # srcaddr: # action: # address: # id: # log: # severity: Return Values ------------- Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module: .. raw:: html
  • meta - The result of the request.returned: always type: dict
    • request_url - The full url requested. returned: always type: str sample: /sys/login/user
    • response_code - The status of api request. returned: always type: int sample: 0
    • response_data - The data body of the api response. returned: optional type: list or dict
    • response_message - The descriptive message of the api response. returned: always type: str sample: OK
    • system_information - The information of the target system. returned: always type: dict
  • rc - The status the request. returned: always type: int sample: 0
  • version_check_warning - Warning if the parameters used in the playbook are not supported by the current FortiManager version. returned: if at least one parameter not supported by the current FortiManager version type: list
Status ------ - This module is not guaranteed to have a backwards compatible interface. Authors ------- - Xinwei Du (@dux-fortinet) - Xing Li (@lix-fortinet) - Jie Xue (@JieX19) - Link Zheng (@chillancezen) - Frank Shen (@fshen01) - Hongbin Lu (@fgtdev-hblu)