:source: fortios_system_csf.py
:orphan:
.. fortios_system_csf:
fortios_system_csf -- Add this FortiGate to a Security Fabric or set up a new Security Fabric on this FortiGate in Fortinet's FortiOS and FortiGate.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. versionadded:: 2.0.0
.. contents::
:local:
:depth: 1
Synopsis
--------
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify system feature and csf category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
------------
The below requirements are needed on the host that executes this module.
- ansible>=2.16
Tips
----
Using member operation to add an element to an existing object.
FortiOS Version Compatibility
-----------------------------
Supported Version Ranges: v6.0.0 -> v7.6.6
Parameters
----------
.. raw:: html
- access_token - Token-based authentication. Generated from GUI of Fortigate. type: str required: false
- enable_log - Enable/Disable logging for task. type: bool required: false default: False
- vdom - Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit. type: str default: root
- member_path - Member attribute path to operate on. type: str
- member_state - Add or delete a member under specified attribute path. type: str choices: present, absent
- system_csf - Add this FortiGate to a Security Fabric or set up a new Security Fabric on this FortiGate. type: dict
more...
| Supported Version Ranges |
| system_csf |
v6.0.0 -> 7.6.6 |
- accept_auth_by_cert - Accept connections with unknown certificates and ask admin for approval. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| accept_auth_by_cert |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
| [disable] |
v6.4.0 -> v6.4.0 |
| [enable] |
v6.4.0 -> v6.4.0 |
- authorization_request_type - Authorization request type. type: str choices: serial, certificate
more...
|
Supported Version Ranges |
| authorization_request_type |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
| [serial] |
v6.4.0 -> v6.4.0 |
| [certificate] |
v6.4.0 -> v6.4.0 |
- certificate - Certificate. Source certificate.local.name. type: str
more...
|
Supported Version Ranges |
| certificate |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
- configuration_sync - Configuration sync mode. type: str choices: default, local
more...
|
Supported Version Ranges |
| configuration_sync |
v6.0.0 -> 7.6.6 |
| [default] |
v6.0.0 -> 7.6.6 |
| [local] |
v6.0.0 -> 7.6.6 |
- downstream_access - Enable/disable downstream device access to this device"s configuration and data. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| downstream_access |
v7.0.0 -> 7.6.6 |
| [enable] |
v7.0.0 -> 7.6.6 |
| [disable] |
v7.0.0 -> 7.6.6 |
- downstream_accprofile - Default access profile for requests from downstream devices. Source system.accprofile.name. type: str
more...
|
Supported Version Ranges |
| downstream_accprofile |
v7.0.0 -> 7.6.6 |
- fabric_connector - Fabric connector configuration. type: list member_path: fabric_connector:serial
more...
| Supported Version Ranges |
| fabric_connector |
v7.0.0 -> 7.6.6 |
- accprofile - Override access profile. Source system.accprofile.name. type: str
more...
|
Supported Version Ranges |
| accprofile |
v7.0.0 -> 7.6.6 |
- configuration_write_access - Enable/disable downstream device write access to configuration. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| configuration_write_access |
v7.0.0 -> 7.6.6 |
| [enable] |
v7.0.0 -> 7.6.6 |
| [disable] |
v7.0.0 -> 7.6.6 |
- serial - Serial. type: str required: true
more...
|
Supported Version Ranges |
| serial |
v7.0.0 -> 7.6.6 |
- vdom - Virtual domains that the connector has access to. If none are set, the connector will only have access to the VDOM that it joins the Security Fabric through. type: list member_path: fabric_connector:serial/vdom:name
more...
| Supported Version Ranges |
| vdom |
v7.4.0 -> 7.6.6 |
- name - Virtual domain name. Source system.vdom.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v7.4.0 -> 7.6.6 |
- fabric_device - Fabric device configuration. type: list member_path: fabric_device:name
more...
| Supported Version Ranges |
| fabric_device |
v6.0.0 -> v7.0.12 |
- access_token - Device access token. type: str
more...
|
Supported Version Ranges |
| access_token |
v6.2.0 -> v7.0.12 |
- device_ip - Device IP. type: str
more...
|
Supported Version Ranges |
| device_ip |
v6.0.0 -> v7.0.12 |
- device_type - Device type. type: str choices: fortimail
more...
|
Supported Version Ranges |
| device_type |
v6.0.0 -> v6.0.11 |
| [fortimail] |
v6.0.0 -> v6.0.11 |
- https_port - HTTPS port for fabric device. type: int
more...
|
Supported Version Ranges |
| https_port |
v6.2.0 -> v7.0.12 |
- login - Device login name. type: str
more...
|
Supported Version Ranges |
| login |
v6.0.0 -> v6.0.11 |
- name - Device name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> v7.0.12 |
- password - Device login password. type: str
more...
|
Supported Version Ranges |
| password |
v6.0.0 -> v6.0.11 |
- fabric_object_unification - Fabric CMDB Object Unification. type: str choices: default, local
more...
|
Supported Version Ranges |
| fabric_object_unification |
v6.4.0 -> 7.6.6 |
| [default] |
v6.4.0 -> 7.6.6 |
| [local] |
v6.4.0 -> 7.6.6 |
- fabric_workers - Number of worker processes for Security Fabric daemon. type: int
more...
|
Supported Version Ranges |
| fabric_workers |
v6.4.4 -> 7.6.6 |
- file_mgmt - Enable/disable Security Fabric daemon file management. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| file_mgmt |
v7.4.0 -> 7.6.6 |
| [enable] |
v7.4.0 -> 7.6.6 |
| [disable] |
v7.4.0 -> 7.6.6 |
- file_quota - Maximum amount of memory that can be used by the daemon files (in bytes). type: int
more...
|
Supported Version Ranges |
| file_quota |
v7.4.0 -> 7.6.6 |
- file_quota_warning - Warn when the set percentage of quota has been used. type: int
more...
|
Supported Version Ranges |
| file_quota_warning |
v7.4.0 -> 7.6.6 |
- fixed_key - Auto-generated fixed key used when this device is the root. (Will automatically be generated if not set.) type: str
more...
|
Supported Version Ranges |
| fixed_key |
v6.0.0 -> v6.0.11 |
v6.2.3 -> v6.2.3 |
- forticloud_account_enforcement - Fabric FortiCloud account unification. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| forticloud_account_enforcement |
v7.0.4 -> 7.6.6 |
| [enable] |
v7.0.4 -> 7.6.6 |
| [disable] |
v7.0.4 -> 7.6.6 |
- group_name - Security Fabric group name. All FortiGates in a Security Fabric must have the same group name. type: str
more...
|
Supported Version Ranges |
| group_name |
v6.0.0 -> 7.6.6 |
- group_password - Security Fabric group password. For legacy authentication, fabric members must have the same group password. type: str
more...
|
Supported Version Ranges |
| group_password |
v6.0.0 -> 7.6.6 |
- legacy_authentication - Enable/disable legacy authentication. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| legacy_authentication |
v7.6.1 -> 7.6.6 |
| [disable] |
v7.6.1 -> 7.6.6 |
| [enable] |
v7.6.1 -> 7.6.6 |
- log_unification - Enable/disable broadcast of discovery messages for log unification. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| log_unification |
v7.0.0 -> 7.6.6 |
| [disable] |
v7.0.0 -> 7.6.6 |
| [enable] |
v7.0.0 -> 7.6.6 |
- management_ip - Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric. type: str
more...
|
Supported Version Ranges |
| management_ip |
v6.0.0 -> v6.4.4 |
- management_port - Overriding port for management connection (Overrides admin port). type: int
more...
|
Supported Version Ranges |
| management_port |
v6.0.0 -> v6.4.4 |
- saml_configuration_sync - SAML setting configuration synchronization. type: str choices: default, local
more...
|
Supported Version Ranges |
| saml_configuration_sync |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
| [default] |
v6.4.0 -> v6.4.0 |
| [local] |
v6.4.0 -> v6.4.0 |
- source_ip - Source IP address for communication with the upstream FortiGate. type: str
more...
|
Supported Version Ranges |
| source_ip |
v7.4.4 -> 7.6.6 |
- status - Enable/disable Security Fabric. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| status |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
- trusted_list - Pre-authorized and blocked security fabric nodes. type: list member_path: trusted_list:name
more...
| Supported Version Ranges |
| trusted_list |
v6.0.0 -> 7.6.6 |
- action - Security fabric authorization action. type: str choices: accept, deny
more...
|
Supported Version Ranges |
| action |
v6.0.0 -> 7.6.6 |
| [accept] |
v6.0.0 -> 7.6.6 |
| [deny] |
v6.0.0 -> 7.6.6 |
- authorization_type - Authorization type. type: str choices: serial, certificate
more...
|
Supported Version Ranges |
| authorization_type |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
| [serial] |
v6.4.0 -> v6.4.0 |
| [certificate] |
v6.4.0 -> v6.4.0 |
- certificate - Certificate. type: str
more...
|
Supported Version Ranges |
| certificate |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
- downstream_authorization - Trust authorizations by this node"s administrator. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| downstream_authorization |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
- ha_members - HA members. type: list
- index - Index of the downstream in tree. type: int
more...
|
Supported Version Ranges |
| index |
v7.2.4 -> 7.6.6 |
- name - Name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
- serial - Serial. type: str
more...
|
Supported Version Ranges |
| serial |
v6.0.0 -> 7.6.6 |
- uid - Unique ID of the current CSF node type: str
more...
|
Supported Version Ranges |
| uid |
v7.4.2 -> 7.6.6 |
- upstream - IP/FQDN of the FortiGate upstream from this FortiGate in the Security Fabric. type: str
more...
|
Supported Version Ranges |
| upstream |
v7.0.2 -> 7.6.6 |
- upstream_interface - Specify outgoing interface to reach server. Source system.interface.name. type: str
more...
|
Supported Version Ranges |
| upstream_interface |
v7.4.4 -> 7.6.6 |
- upstream_interface_select_method - Specify how to select outgoing interface to reach server. type: str choices: auto, sdwan, specify
more...
|
Supported Version Ranges |
| upstream_interface_select_method |
v7.4.4 -> 7.6.6 |
| [auto] |
v7.4.4 -> 7.6.6 |
| [sdwan] |
v7.4.4 -> 7.6.6 |
| [specify] |
v7.4.4 -> 7.6.6 |
- upstream_ip - IP address of the FortiGate upstream from this FortiGate in the Security Fabric. type: str
more...
|
Supported Version Ranges |
| upstream_ip |
v6.0.0 -> v7.0.1 |
- upstream_port - The port number to use to communicate with the FortiGate upstream from this FortiGate in the Security Fabric . type: int
more...
|
Supported Version Ranges |
| upstream_port |
v6.0.0 -> 7.6.6 |
Notes
-----
.. note::
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
- The module supports check_mode.
Examples
--------
.. code-block:: yaml+jinja
- name: Add this FortiGate to a Security Fabric or set up a new Security Fabric on this FortiGate.
fortinet.fortios.fortios_system_csf:
vdom: "{{ vdom }}"
system_csf:
accept_auth_by_cert: "disable"
authorization_request_type: "serial"
certificate: " (source certificate.local.name)"
configuration_sync: "default"
downstream_access: "enable"
downstream_accprofile: " (source system.accprofile.name)"
fabric_connector:
-
accprofile: " (source system.accprofile.name)"
configuration_write_access: "enable"
serial: ""
vdom:
-
name: "default_name_14 (source system.vdom.name)"
fabric_device:
-
access_token: ""
device_ip: ""
device_type: "fortimail"
https_port: "443"
login: ""
name: "default_name_21"
password: ""
fabric_object_unification: "default"
fabric_workers: "2"
file_mgmt: "enable"
file_quota: "0"
file_quota_warning: "90"
fixed_key: ""
forticloud_account_enforcement: "enable"
group_name: ""
group_password: ""
legacy_authentication: "disable"
log_unification: "disable"
management_ip: ""
management_port: "32767"
saml_configuration_sync: "default"
source_ip: "84.230.14.43"
status: "enable"
trusted_list:
-
action: "accept"
authorization_type: "serial"
certificate: ""
downstream_authorization: "enable"
ha_members: ""
index: "0"
name: "default_name_46"
serial: ""
uid: ""
upstream: ""
upstream_interface: " (source system.interface.name)"
upstream_interface_select_method: "auto"
upstream_ip: ""
upstream_port: "8013"
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
- build - Build number of the fortigate image returned: always type: str sample: 1547
- http_method - Last method used to provision the content into FortiGate returned: always type: str sample: PUT
- http_status - Last result given by FortiGate on last operation applied returned: always type: str sample: 200
- mkey - Master key (id) used in the last call to FortiGate returned: success type: str sample: id
- name - Name of the table used to fulfill the request returned: always type: str sample: urlfilter
- path - Path of the table used to fulfill the request returned: always type: str sample: webfilter
- revision - Internal revision number returned: always type: str sample: 17.0.2.10658
- serial - Serial number of the unit returned: always type: str sample: FGVMEVYYQT3AB5352
- status - Indication of the operation's result returned: always type: str sample: success
- vdom - Virtual domain used returned: always type: str sample: root
- version - Version of the FortiGate returned: always type: str sample: v5.6.3
Status
------
- This module is not guaranteed to have a backwards compatible interface.
Authors
-------
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
.. hint::
If you notice any issues in this documentation, you can create a pull request to improve it.