faz_cli_system_csf – Add this device to a Security Fabric or set up a new Security Fabric on this device.

Added in version 1.3.0.

Warning

Starting in version 2.0.0, all variables will be named in the underscore naming convention.

  • Possible variable names before 2.0.0: variable-name, variable name, variable.name

  • Corresponding variable names since 2.0.0: variable_name

FortiAnalyzer Ansible v1.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg.

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.

  • This module supports check mode and diff mode.

Requirements

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

  • ansible>=2.16.0

FortiAnalyzer Version Compatibility

Supported Version Ranges: v7.4.1 -> latest

Parameters

  • access_token The token to access FortiAnalyzer without using ansible_username and ansible_password. type: str
  • bypass_validation Only set to True when module schema diffs with FortiAnalyzer API structure, module continues to execute without validating parameters type: bool default: False
  • enable_log Enable/Disable logging for task type: bool default: False
  • forticloud_access_token Access token of forticloud analyzer API users. type: str
  • 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 default: "/tmp/fortianalyzer.ansible.log"
  • proposed_method The overridden method for the underlying Json RPC request type: str choices: set, update, add
  • version_check If set to True, it will check whether the parameters used are supported by the corresponding version of FortiAnazlyer locally based on FNDN data. A warning will be returned in version_check_warning if there is a mismatch. This warning is only a suggestion and may not be accurate. type: bool default: False
  • rc_succeeded The rc codes list with which the conditions to succeed will be overriden type: list
  • rc_failed The rc codes list with which the conditions to fail will be overriden type: list
  • cli_system_csf Add this device to a Security Fabric or set up a new Security Fabric on this device. type: dict
    • accept_auth_by_cert Accept connections with unknown certificates and ask admin for approval. type: str choices: [disable, enable] default: enable more...
    • authorization_request_type Authorization request type. type: str choices: [certificate, serial] default: certificate more...
    • certificate Certificate. type: str default: Fortinet_Local more...
    • configuration_sync Configuration sync mode. type: str choices: [default, local] default: default more...
    • downstream_access Enable/disable downstream device access to this devices configuration and data. type: str choices: [disable, enable] default: disable more...
    • downstream_accprofile Default access profile for requests from downstream devices. type: str more...
    • fabric_connector type: list of dict more...
      • accprofile Override access profile. type: str more...
      • configuration_write_access Enable/disable downstream device write access to configuration. type: str choices: [disable, enable] default: disable more...
      • serial Serial. type: str more...
    • fabric_object_unification Fabric CMDB Object Unification. type: str choices: [local, default] default: default more...
    • fabric_workers Number of worker processes for Security Fabric daemon. type: int default: 2 more...
    • file_mgmt Enable/disable Security Fabric daemon file management. type: str choices: [disable, enable] default: enable more...
    • file_quota Maximum amount of memory that can be used by the daemon files (in bytes). type: int default: 0 more...
    • file_quota_warning Warn when the set percentage of quota has been used. type: int default: 90 more...
    • fixed_key Auto-generated fixed key used when this device is the root. (Will automatically be generated if not set.) type: str elements: str more...
    • forticloud_account_enforcement Fabric FortiCloud account unification. type: str choices: [disable, enable] default: enable more...
    • group_name Security Fabric group name. All FortiGates in a Security Fabric must have the same group name. type: str more...
    • group_password Security Fabric group password. All FortiGates in a Security Fabric must have the same group password. type: str elements: str more...
    • log_unification Enable/disable broadcast of discovery messages for log unification. type: str choices: [disable, enable] default: enable more...
    • saml_configuration_sync SAML setting configuration synchronization. type: str choices: [local, default] default: default more...
    • status Enable/disable Security Fabric. type: str choices: [disable, enable] default: disable more...
    • trusted_list type: list of dict more...
      • action Security fabric authorization action. type: str choices: [accept, deny] default: accept more...
      • authorization_type Authorization type. type: str choices: [serial, certificate] default: serial more...
      • certificate Certificate. type: str more...
      • downstream_authorization Trust authorizations by this nodes administrator. type: str choices: [disable, enable] default: disable more...
      • ha_members HA members. type: str more...
      • index Index of the downstream in tree. type: int default: 0 more...
      • name Name. type: str more...
      • serial Serial. type: str more...
    • upstream IP/FQDN of the FortiGate upstream from this FortiGate in the Security Fabric. type: str more...
    • upstream_port The port number to use to communicate with the FortiGate upstream from this FortiGate in the Security Fabric (default = 8013). type: int default: 8013 more...
    • ssl_protocol set the lowest SSL protocol version for upstream and downstream connections. type: str choices: [follow-global-ssl-protocol, sslv3, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3] default: follow-global-ssl-protocol more...
    • upstream_confirm Upstream authorization confirm. type: str choices: [discover, confirm] default: discover more...

Notes

Note

  • 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

- name: Example playbook
  hosts: fortianalyzers
  connection: httpapi
  gather_facts: false
  vars:
    ansible_network_os: fortinet.fortianalyzer.fortianalyzer
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
  tasks:
    - name: Add this device to a Security Fabric or set up a new Security Fabric on this device.
      fortinet.fortianalyzer.faz_cli_system_csf:
        # bypass_validation: false
        # rc_succeeded: [0, -2, -3, ...]
        # rc_failed: [-2, -3, ...]
        cli_system_csf:
          # accept_auth_by_cert: <value in [disable, enable]>
          # authorization_request_type: <value in [certificate, serial]>
          # certificate: <value of string>
          # configuration_sync: <value in [default, local]>
          # downstream_access: <value in [disable, enable]>
          # downstream_accprofile: <value of string>
          # fabric_connector:
          #   - accprofile: <value of string>
          #     configuration_write_access: <value in [disable, enable]>
          #     serial: <value of string>
          # fabric_object_unification: <value in [local, default]>
          # fabric_workers: <value of integer>
          # file_mgmt: <value in [disable, enable]>
          # file_quota: <value of integer>
          # file_quota_warning: <value of integer>
          # fixed_key: <value of string>
          # forticloud_account_enforcement: <value in [disable, enable]>
          # group_name: <value of string>
          # group_password: <value of string>
          # log_unification: <value in [disable, enable]>
          # saml_configuration_sync: <value in [local, default]>
          # status: <value in [disable, enable]>
          # trusted_list:
          #   - action: <value in [accept, deny]>
          #     authorization_type: <value in [serial, certificate]>
          #     certificate: <value of string>
          #     downstream_authorization: <value in [disable, enable]>
          #     ha_members: <value of string>
          #     index: <value of integer>
          #     name: <value of string>
          #     serial: <value of string>
          # upstream: <value of string>
          # upstream_port: <value of integer>
          # ssl_protocol: <value in [follow-global-ssl-protocol, sslv3, tlsv1.0, ...]>
          # upstream_confirm: <value in [discover, confirm]>

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

  • Xinwei Du (@dux-fortinet)

  • Maxx Liu (@MaxxLiu22)

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)