:source: fortios_firewall_central_snat_map.py
:orphan:
.. fortios_firewall_central_snat_map:
fortios_firewall_central_snat_map -- Configure IPv4 and IPv6 central SNAT policies 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 firewall feature and central_snat_map 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.15
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
- action - the action indiactor to move an object in the list type: str choices: move
- self - mkey of self identifier type: str
- after - mkey of target identifier type: str
- before - mkey of target identifier type: str
- state - Indicates whether to create or remove the object. type: str required: false choices: present, absent
- firewall_central_snat_map - Configure IPv4 and IPv6 central SNAT policies. type: dict
more...
| Supported Version Ranges |
| firewall_central_snat_map |
v6.0.0 -> 7.6.6 |
- comments - Comment. type: str
more...
|
Supported Version Ranges |
| comments |
v6.0.0 -> 7.6.6 |
- dst_addr - IPv4 Destination address. type: list member_path: dst_addr:name
more...
| Supported Version Ranges |
| dst_addr |
v6.0.0 -> 7.6.6 |
- name - Address name. Source firewall.address.name firewall.addrgrp.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- dst_addr6 - IPv6 Destination address. type: list member_path: dst_addr6:name
more...
| Supported Version Ranges |
| dst_addr6 |
v6.4.0 -> 7.6.6 |
- name - Address name. Source firewall.address6.name firewall.addrgrp6.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.4.0 -> 7.6.6 |
- dst_port - Destination port or port range (1 to 65535, 0 means any port). type: str
more...
|
Supported Version Ranges |
| dst_port |
v7.4.0 -> 7.6.6 |
- dstintf - Destination interface name from available interfaces. type: list member_path: dstintf:name
more...
| Supported Version Ranges |
| dstintf |
v6.0.0 -> 7.6.6 |
- name - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- nat - Enable/disable source NAT. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| nat |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
- nat_ippool - Name of the IP pools to be used to translate addresses from available IP Pools. type: list member_path: nat_ippool:name
more...
| Supported Version Ranges |
| nat_ippool |
v6.0.0 -> 7.6.6 |
- name - IP pool name. Source firewall.ippool.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- nat_ippool6 - IPv6 pools to be used for source NAT. type: list member_path: nat_ippool6:name
more...
| Supported Version Ranges |
| nat_ippool6 |
v6.4.0 -> 7.6.6 |
- name - IPv6 pool name. Source firewall.ippool6.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.4.0 -> 7.6.6 |
- nat_port - Translated port or port range (1 to 65535, 0 means any port). type: str
more...
|
Supported Version Ranges |
| nat_port |
v6.0.0 -> 7.6.6 |
- nat46 - Enable/disable NAT46. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| nat46 |
v7.0.1 -> 7.6.6 |
| [enable] |
v7.0.1 -> 7.6.6 |
| [disable] |
v7.0.1 -> 7.6.6 |
- nat64 - Enable/disable NAT64. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| nat64 |
v7.0.1 -> 7.6.6 |
| [enable] |
v7.0.1 -> 7.6.6 |
| [disable] |
v7.0.1 -> 7.6.6 |
- orig_addr - IPv4 Original address. type: list member_path: orig_addr:name
more...
| Supported Version Ranges |
| orig_addr |
v6.0.0 -> 7.6.6 |
- name - Address name. Source firewall.address.name firewall.addrgrp.name system.external-resource.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- orig_addr6 - IPv6 Original address. type: list member_path: orig_addr6:name
more...
| Supported Version Ranges |
| orig_addr6 |
v6.4.0 -> 7.6.6 |
- name - Address name. Source firewall.address6.name firewall.addrgrp6.name system.external-resource.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.4.0 -> 7.6.6 |
- orig_port - Original TCP port (1 to 65535, 0 means any port). type: str
more...
|
Supported Version Ranges |
| orig_port |
v6.0.0 -> 7.6.6 |
- policyid - Policy ID. see Notes. type: int required: true
more...
|
Supported Version Ranges |
| policyid |
v6.0.0 -> 7.6.6 |
- port_preserve - Enable/disable preservation of the original source port from source NAT if it has not been used. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| port_preserve |
v7.4.4 -> 7.6.6 |
| [enable] |
v7.4.4 -> 7.6.6 |
| [disable] |
v7.4.4 -> 7.6.6 |
- port_random - Enable/disable random source port selection for source NAT. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| port_random |
v7.6.1 -> 7.6.6 |
| [enable] |
v7.6.1 -> 7.6.6 |
| [disable] |
v7.6.1 -> 7.6.6 |
- protocol - Integer value for the protocol type (0 - 255). type: int
more...
|
Supported Version Ranges |
| protocol |
v6.0.0 -> 7.6.6 |
- srcintf - Source interface name from available interfaces. type: list member_path: srcintf:name
more...
| Supported Version Ranges |
| srcintf |
v6.0.0 -> 7.6.6 |
- name - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- status - Enable/disable the active status of this policy. 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 |
- type - IPv4/IPv6 source NAT. type: str choices: ipv4, ipv6
more...
|
Supported Version Ranges |
| type |
v6.4.0 -> 7.6.6 |
| [ipv4] |
v6.4.0 -> 7.6.6 |
| [ipv6] |
v6.4.0 -> 7.6.6 |
- uuid - Universally Unique Identifier (UUID; automatically assigned but can be manually reset). type: str
more...
|
Supported Version Ranges |
| uuid |
v6.4.0 -> 7.6.6 |
Notes
-----
.. note::
- We highly recommend using your own value as the policyid instead of 0, while '0' is a special placeholder that allows the backend to assign the latest available number for the object, it does have limitations. Please find more details in Q&A.
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
- Adjust object order by moving self after(before) another.
- Only one of [after, before] must be specified when action is moving an object.
- The module supports check_mode.
Examples
--------
.. code-block:: yaml+jinja
- name: Configure IPv4 and IPv6 central SNAT policies.
fortinet.fortios.fortios_firewall_central_snat_map:
vdom: "{{ vdom }}"
state: "present"
access_token: ""
firewall_central_snat_map:
comments: ""
dst_addr:
-
name: "default_name_5 (source firewall.address.name firewall.addrgrp.name)"
dst_addr6:
-
name: "default_name_7 (source firewall.address6.name firewall.addrgrp6.name)"
dst_port: ""
dstintf:
-
name: "default_name_10 (source system.interface.name system.zone.name system.sdwan.zone.name)"
nat: "disable"
nat_ippool:
-
name: "default_name_13 (source firewall.ippool.name)"
nat_ippool6:
-
name: "default_name_15 (source firewall.ippool6.name)"
nat_port: ""
nat46: "enable"
nat64: "enable"
orig_addr:
-
name: "default_name_20 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)"
orig_addr6:
-
name: "default_name_22 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
orig_port: ""
policyid: ""
port_preserve: "enable"
port_random: "enable"
protocol: "0"
srcintf:
-
name: "default_name_29 (source system.interface.name system.zone.name system.sdwan.zone.name)"
status: "enable"
type: "ipv4"
uuid: ""
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.