fortinet.fortios.fortios_firewall_central_snat_map (2.3.6) — module

Configure IPv4 and IPv6 central SNAT policies in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of fortinet.fortios"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install collection

Install with ansible-galaxy collection install fortinet.fortios:==2.3.6


Add to requirements.yml

  collections:
    - name: fortinet.fortios
      version: 2.3.6

Description

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Configure IPv4 and IPv6 central SNAT policies.
  fortinet.fortios.fortios_firewall_central_snat_map:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_central_snat_map:
          comments: "<your_own_value>"
          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: "<your_own_value>"
          dstintf:
              -
                  name: "default_name_10 (source system.interface.name system.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: "<your_own_value>"
          nat46: "enable"
          nat64: "enable"
          orig_addr:
              -
                  name: "default_name_20 (source firewall.address.name firewall.addrgrp.name)"
          orig_addr6:
              -
                  name: "default_name_22 (source firewall.address6.name firewall.addrgrp6.name)"
          orig_port: "<your_own_value>"
          policyid: "<you_own_value>"
          protocol: "0"
          srcintf:
              -
                  name: "default_name_27 (source system.interface.name system.zone.name)"
          status: "enable"
          type: "ipv4"
          uuid: "<your_own_value>"

Inputs

    
self:
    description:
    - mkey of self identifier
    type: str

vdom:
    default: root
    description:
    - 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

after:
    description:
    - mkey of target identifier
    type: str

state:
    choices:
    - present
    - absent
    description:
    - Indicates whether to create or remove the object.
    required: false
    type: str

action:
    choices:
    - move
    description:
    - the action indiactor to move an object in the list
    type: str

before:
    description:
    - mkey of target identifier
    type: str

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

firewall_central_snat_map:
    default: null
    description:
    - Configure IPv4 and IPv6 central SNAT policies.
    suboptions:
      comments:
        description:
        - Comment.
        type: str
      dst_addr:
        description:
        - IPv4 Destination address.
        elements: dict
        suboptions:
          name:
            description:
            - Address name. Source firewall.address.name firewall.addrgrp.name.
            required: true
            type: str
        type: list
      dst_addr6:
        description:
        - IPv6 Destination address.
        elements: dict
        suboptions:
          name:
            description:
            - Address name. Source firewall.address6.name firewall.addrgrp6.name.
            required: true
            type: str
        type: list
      dst_port:
        description:
        - Destination port or port range (1 to 65535, 0 means any port).
        type: str
      dstintf:
        description:
        - Destination interface name from available interfaces.
        elements: dict
        suboptions:
          name:
            description:
            - Interface name. Source system.interface.name system.zone.name.
            required: true
            type: str
        type: list
      nat:
        choices:
        - disable
        - enable
        description:
        - Enable/disable source NAT.
        type: str
      nat46:
        choices:
        - enable
        - disable
        description:
        - Enable/disable NAT46.
        type: str
      nat64:
        choices:
        - enable
        - disable
        description:
        - Enable/disable NAT64.
        type: str
      nat_ippool:
        description:
        - Name of the IP pools to be used to translate addresses from available IP Pools.
        elements: dict
        suboptions:
          name:
            description:
            - IP pool name. Source firewall.ippool.name.
            required: true
            type: str
        type: list
      nat_ippool6:
        description:
        - IPv6 pools to be used for source NAT.
        elements: dict
        suboptions:
          name:
            description:
            - IPv6 pool name. Source firewall.ippool6.name.
            required: true
            type: str
        type: list
      nat_port:
        description:
        - Translated port or port range (1 to 65535, 0 means any port).
        type: str
      orig_addr:
        description:
        - IPv4 Original address.
        elements: dict
        suboptions:
          name:
            description:
            - Address name. Source firewall.address.name firewall.addrgrp.name.
            required: true
            type: str
        type: list
      orig_addr6:
        description:
        - IPv6 Original address.
        elements: dict
        suboptions:
          name:
            description:
            - Address name. Source firewall.address6.name firewall.addrgrp6.name.
            required: true
            type: str
        type: list
      orig_port:
        description:
        - Original TCP port (1 to 65535, 0 means any port).
        type: str
      policyid:
        description:
        - Policy ID. see <a href='#notes'>Notes</a>.
        required: true
        type: int
      protocol:
        description:
        - Integer value for the protocol type (0 - 255).
        type: int
      srcintf:
        description:
        - Source interface name from available interfaces.
        elements: dict
        suboptions:
          name:
            description:
            - Interface name. Source system.interface.name system.zone.name.
            required: true
            type: str
        type: list
      status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable the active status of this policy.
        type: str
      type:
        choices:
        - ipv4
        - ipv6
        description:
        - IPv4/IPv6 source NAT.
        type: str
      uuid:
        description:
        - Universally Unique Identifier (UUID; automatically assigned but can be manually
          reset).
        type: str
    type: dict

Outputs

build:
  description: Build number of the fortigate image
  returned: always
  sample: '1547'
  type: str
http_method:
  description: Last method used to provision the content into FortiGate
  returned: always
  sample: PUT
  type: str
http_status:
  description: Last result given by FortiGate on last operation applied
  returned: always
  sample: '200'
  type: str
mkey:
  description: Master key (id) used in the last call to FortiGate
  returned: success
  sample: id
  type: str
name:
  description: Name of the table used to fulfill the request
  returned: always
  sample: urlfilter
  type: str
path:
  description: Path of the table used to fulfill the request
  returned: always
  sample: webfilter
  type: str
revision:
  description: Internal revision number
  returned: always
  sample: 17.0.2.10658
  type: str
serial:
  description: Serial number of the unit
  returned: always
  sample: FGVMEVYYQT3AB5352
  type: str
status:
  description: Indication of the operation's result
  returned: always
  sample: success
  type: str
vdom:
  description: Virtual domain used
  returned: always
  sample: root
  type: str
version:
  description: Version of the FortiGate
  returned: always
  sample: v5.6.3
  type: str