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.0 v7.0.1 v7.0.2 v7.0.3
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.