fwebos_waf_csrf_page_rule.py – Config FortiWeb CSRF Page Rule

New in version 1.0.1.

Synopsis

Config FortiWeb CSRF Page Rule

Requirements

The below requirements are needed on the host that executes this module.

  • ansible>=2.11

FortiWeb Version Compatibility


v7.0.x v7.2.x v7.4.x v7.6.x
fwebos_waf_csrf_page_rule.py yes yes yes yes

Parameters

  • body Possible parameters to go in the body for the request required: True
    • name name of the CSRF page rule type:string maxLength:63
    • host_status Enable to apply this rule only to HTTP requests for specific web hosts. Disable to match the rule based on the URL and any parameter filter only. type:string choice: enable, disable,
    • host Select a protected host names entry (either a web host name or IP address). type:string maxLength:255
    • request_type Select whether Full URL contains a literal URL (Simple String), or a regular expression designed to match multiple URLs (Regular Expression). type:string choice: plain, regular,
    • request_url a literal URL or regular expression. type:string maxLength:255
    • parameter_filter Select to specify a parameter name and value to match. The parameter can be located in either the URL or the HTTP body of a request. type:string choice: enable, disable,
    • parameter_name Enter the parameter name to match. type:string maxLength:63
    • parameter_value Enter either a literal URL or regular expression. type:string maxLength:255
    • mkey If present, objects will be filtered on property with this name type:string
    • vdom Specify the Virtual Domain(s) from which results are returned or changes are applied to. If this parameter is not provided, the management VDOM will be used. If the admin does not have access to the VDOM, a permission error will be returned. The URL parameter is one of: vdom=root (Single VDOM) vdom=vdom1,vdom2 (Multiple VDOMs) vdom=* (All VDOMs) type:array
    • clone_mkey Use *clone_mkey* to specify the ID for the new resource to be cloned. If *clone_mkey* is set, *mkey* must be provided which is cloned from. type:string

Examples

- name:
  hosts: all
  vars:
  connection: httpapi
  gather_facts: false
  tasks:
   - name: add a rule
     fwebos_waf_csrf_page_rule:
      action: add
      name: c1
      request_type: plain
      parameter_value_type: regular
      host_status: enable
      host: myhost
      request_url: /abc.com
      parameter_filter: enable
      parameter_name: p1
      parameter_value: a1b2

   - name: edit a rule
     fwebos_waf_csrf_page_rule:
      action: edit
      name: c1
      id: 1
      request_type: regular
      parameter_value_type: regular
      host_status: enable
      host: ftnt
      request_url: zzzxxx
      parameter_filter: enable
      parameter_name: test
      parameter_value: a1b2

   - name: get a rule
     fwebos_waf_csrf_page_rule:
      action: get
      name: c1
      id: 1

   - name: delete a rule
     fwebos_waf_csrf_page_rule:
      action: delete
      name: c1
      id: 1

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:

  • 200 : OK: Request returns successful
  • 400 : Bad Request: Request cannot be processed by the API
  • 401 : Not Authorized: Request without successful login session
  • 403 : Forbidden: Request is missing CSRF token or administrator is missing access profile permissions.
  • 404 : Resource Not Found: Unable to find the specified resource.
  • 405 : Method Not Allowed: Specified HTTP method is not allowed for this resource.
  • 413 : Request Entity Too Large: Request cannot be processed due to large entity
  • 424 : Failed Dependency: Fail dependency can be duplicate resource, missing required parameter, missing required attribute, invalid attribute value
  • 429 : Access temporarily blocked: Maximum failed authentications reached. The offended source is temporarily blocked for certain amount of time.
  • 500 : Internal Server Error: Internal error when processing the request

For errorcode please check FortiWeb API errorcode at : https://documenter.getpostman.com/view/11233300/TVetbkaK#887b9eb4-7c13-4338-a8db-16cc117f0119

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

  • Joseph Chen

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.