faz_generic – The Generic FortiAnalyzer module.

New in version 1.0.0.

Synopsis

  • This module is able to configure a FortiAnalyzer device.

  • Examples include all parameters and values need to be adjusted to data sources before usage.

Requirements

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

  • ansible>=2.9.0

Parameters

  • access_token -The token to access FortiAnalyzer without using ansible_username and ansible_password. type: str required: false
  • enable_log - Enable/Disable logging for task type: bool required: false default: False
  • forticloud_access_token - Access token of forticloud analyzer API users. type: str required: false
  • log_path - The path to save log. Used if enable_log is true. Please use absolute path instead of relative path. If the log_path setting is incorrect, the log will be saved in /tmp/fortianalyzer.ansible.logtype: str required: false default: "/tmp/fortianalyzer.ansible.log"
  • rc_succeeded - The rc codes list with which the conditions to succeed will be overriden type: list required: false
  • rc_failed - The rc codes list with which the conditions to fail will be overriden type: list required: false
  • method - The method of API request, grouped with parameter params. type: str required: false choices: [add, set, update, get, delete, exec, move, clone]
  • params - The parameter body of API request, grouped with parameter method. type: list required: false
  • json - The raw json formatted string, it must contain method and params.type: str required: false

Notes

Note

  • Full API reference: https://fndn.fortinet.net/index.php?/fortiapi/175-fortianalyzer/

  • When all three parameters are given at the same time, json has higher priority over method&params.

  • 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: faz01
  connection: httpapi
  collections:
   - fortinet.fortianalyzer
  vars:
   adom: "root"
   ansible_httpapi_use_ssl: True
   ansible_httpapi_validate_certs: False
   ansible_httpapi_port: 443
  tasks:
    - name: 'login a user'
      faz_generic:
            method: 'exec'
            params:
               - url: 'sys/login/user'
                 data:
                  - user: 'admin'
                    passwd: 'ca$hc0w'

 - name: Example playbook
   hosts: fortianalyzers
   connection: httpapi
   vars:
     adom: "root"
     ansible_httpapi_use_ssl: true
     ansible_httpapi_validate_certs: false
     ansible_httpapi_port: 443
   tasks:
     - name: Login a user
       fortinet.fortianalyzer.faz_generic:
         method: "exec"
         params:
           - url: "sys/login/user"
             data:
               - user: "APIUser"
                 passwd: "Fortinet1!e"
     - name: Login another user
       fortinet.fortianalyzer.faz_generic:
         json: |
           {
            "method":"exec",
            "params":[
             {
                  "url":"sys/login/user",
                  "data":[
                     {
                        "user":"APIUser",
                        "passwd":"Fortinet1!"
                     }
                   ]
              }
             ]
           }

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:

  • 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 fortianalyzer version. returned: if params are not supported in the current version type: list

Status

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

Authors

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)

Hint

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