fortinet.fortios.fortios_firewall_address – Configure IPv4 addresses in Fortinet’s FortiOS and FortiGate.

Note

This plugin is part of the fortinet.fortios collection (version 2.1.2).

To install it use: ansible-galaxy collection install fortinet.fortios.

To use it in a playbook, specify: fortinet.fortios.fortios_firewall_address.

New in version 2.10: of fortinet.fortios

Synopsis

  • This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and address 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.9.0

Parameters

Parameter Choices/Defaults Comments
access_token
string
Token-based authentication. Generated from GUI of Fortigate.
enable_log
boolean
    Choices:
  • no ←
  • yes
Enable/Disable logging for task.
firewall_address
dictionary
Configure IPv4 addresses.
allow_routing
string
    Choices:
  • enable
  • disable
Enable/disable use of this address in the static route configuration.
associated_interface
string
Network interface associated with address. Source system.interface.name system.zone.name.
cache_ttl
integer
Defines the minimal TTL of individual IP addresses in FQDN cache measured in seconds.
clearpass_spt
string
    Choices:
  • unknown
  • healthy
  • quarantine
  • checkup
  • transient
  • infected
SPT (System Posture Token) value.
color
integer
Color of icon on the GUI.
comment
string
Comment.
country
string
IP addresses associated to a specific country.
end_ip
string
Final IP address (inclusive) in the range for the address.
end_mac
string
Last MAC address in the range.
epg_name
string
Endpoint group name.
fabric_object
string
    Choices:
  • enable
  • disable
Security Fabric global object setting.
filter
string
Match criteria filter.
fqdn
string
Fully Qualified Domain Name address.
fsso_group
list / elements=string
FSSO group(s).
name
string / required
FSSO group name. Source user.adgrp.name.
interface
string
Name of interface whose IP address is to be used. Source system.interface.name.
list
list / elements=string
IP address list.
ip
string / required
IP.
net_id
string
Network ID.
obj_id
string
Object ID.
macaddr
list / elements=string
Multiple MAC address ranges.
macaddr
string / required
MAC address ranges <start>[-<end>] separated by space.
name
string / required
Address name.
node_ip_only
string
    Choices:
  • enable
  • disable
Enable/disable collection of node addresses only in Kubernetes.
obj_id
string
Object ID for NSX.
obj_tag
string
Tag of dynamic address object.
obj_type
string
    Choices:
  • ip
  • mac
Object type.
organization
string
Organization domain name (Syntax: organization/domain).
policy_group
string
Policy group name.
sdn
string
    Choices:
  • aci
  • aws
  • azure
  • gcp
  • nsx
  • nuage
  • oci
  • openstack
SDN. Source system.sdn-connector.name.
sdn_addr_type
string
    Choices:
  • private
  • public
  • all
Type of addresses to collect.
sdn_tag
string
SDN Tag.
start_ip
string
First IP address (inclusive) in the range for the address.
start_mac
string
First MAC address in the range.
sub_type
string
    Choices:
  • sdn
  • clearpass-spt
  • fsso
  • ems-tag
Sub-type of address.
subnet
string
IP address and subnet mask of address.
subnet_name
string
Subnet name.
tagging
list / elements=string
Config object tagging.
category
string
Tag category. Source system.object-tagging.category.
name
string / required
Tagging entry name.
tags
list / elements=string
Tags.
name
string / required
Tag name. Source system.object-tagging.tags.name.
tenant
string
Tenant.
type
string
    Choices:
  • ipmask
  • iprange
  • fqdn
  • geography
  • wildcard
  • wildcard-fqdn
  • dynamic
  • interface-subnet
  • mac
Type of address.
uuid
string
Universally Unique Identifier (UUID; automatically assigned but can be manually reset).
visibility
string
    Choices:
  • enable
  • disable
Enable/disable address visibility in the GUI.
wildcard
string
IP address and wildcard netmask.
wildcard_fqdn
string
Fully Qualified Domain Name with wildcard characters.
state
string / required
    Choices:
  • present
  • absent
Indicates whether to create or remove the object.
vdom
string
Default:
"root"
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.

Notes

Note

  • Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks

Examples

- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Configure IPv4 addresses.
    fortios_firewall_address:
      vdom:  "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_address:
        allow_routing: "enable"
        associated_interface: "<your_own_value> (source system.interface.name system.zone.name)"
        cache_ttl: "5"
        clearpass_spt: "unknown"
        color: "7"
        comment: "Comment."
        country: "<your_own_value>"
        end_ip: "<your_own_value>"
        end_mac: "<your_own_value>"
        epg_name: "<your_own_value>"
        fabric_object: "enable"
        filter: "<your_own_value>"
        fqdn: "<your_own_value>"
        fsso_group:
         -
            name: "default_name_17 (source user.adgrp.name)"
        interface: "<your_own_value> (source system.interface.name)"
        list:
         -
            ip: "<your_own_value>"
            net_id: "<your_own_value>"
            obj_id: "<your_own_value>"
        macaddr:
         -
            macaddr: "<your_own_value>"
        name: "default_name_25"
        node_ip_only: "enable"
        obj_id: "<your_own_value>"
        obj_tag: "<your_own_value>"
        obj_type: "ip"
        organization: "<your_own_value>"
        policy_group: "<your_own_value>"
        sdn: "aci"
        sdn_addr_type: "private"
        sdn_tag: "<your_own_value>"
        start_ip: "<your_own_value>"
        start_mac: "<your_own_value>"
        sub_type: "sdn"
        subnet: "<your_own_value>"
        subnet_name: "<your_own_value>"
        tagging:
         -
            category: "<your_own_value> (source system.object-tagging.category)"
            name: "default_name_42"
            tags:
             -
                name: "default_name_44 (source system.object-tagging.tags.name)"
        tenant: "<your_own_value>"
        type: "ipmask"
        uuid: "<your_own_value>"
        visibility: "enable"
        wildcard: "<your_own_value>"
        wildcard_fqdn: "<your_own_value>"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
build
string
always
Build number of the fortigate image

Sample:
1547
http_method
string
always
Last method used to provision the content into FortiGate

Sample:
PUT
http_status
string
always
Last result given by FortiGate on last operation applied

Sample:
200
mkey
string
success
Master key (id) used in the last call to FortiGate

Sample:
id
name
string
always
Name of the table used to fulfill the request

Sample:
urlfilter
path
string
always
Path of the table used to fulfill the request

Sample:
webfilter
revision
string
always
Internal revision number

Sample:
17.0.2.10658
serial
string
always
Serial number of the unit

Sample:
FGVMEVYYQT3AB5352
status
string
always
Indication of the operation's result

Sample:
success
vdom
string
always
Virtual domain used

Sample:
root
version
string
always
Version of the FortiGate

Sample:
v5.6.3


Authors

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)