drmofu.fortimanager.fmgr_firewall_address (2.2.2) — module

Configure IPv4 addresses.

| "added in version" 1.0.0 of drmofu.fortimanager"

Authors: Xinwei Du (@dux-fortinet), Xing Li (@lix-fortinet), Jie Xue (@JieX19), Link Zheng (@chillancezen), Frank Shen (@fshen01), Hongbin Lu (@fgtdev-hblu)

preview | supported by community

Install collection

Install with ansible-galaxy collection install drmofu.fortimanager:==2.2.2


Add to requirements.yml

  collections:
    - name: drmofu.fortimanager
      version: 2.2.2

Description

This module is able to configure a FortiManager device.

Examples include all parameters and values which need to be adjusted to data sources before usage.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - hosts: fortimanager00
   collections:
     - fortinet.fortimanager
   connection: httpapi
   vars:
      ansible_httpapi_use_ssl: True
      ansible_httpapi_validate_certs: False
      ansible_httpapi_port: 443
   tasks:

    - name: Configure IPv4 addresses.
      fmgr_firewall_address:
         bypass_validation: False
         adom: root
         state: present
         firewall_address:
            allow-routing: disable
            associated-interface: any
            name: 'address-orignal'
            visibility: enable
    - name: rename the firewall addressobject
      fmgr_rename:
         rename:
             selector: 'firewall_address'
             self:
              adom: 'root'
              address: 'address-orignal'
             target:
              name: 'address-new'

    - name: delete renamed object
      fmgr_firewall_address:
         adom: 'root'
         state: absent
         firewall_address:
             name: 'address-new'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

 - hosts: fortimanager00
   collections:
     - fortinet.fortimanager
   connection: httpapi
   vars:
      ansible_httpapi_use_ssl: True
      ansible_httpapi_validate_certs: False
      ansible_httpapi_port: 443
   tasks:
    - name: Configure IPv4 addresses.
      fmgr_firewall_address:
         bypass_validation: False
         adom: ansible
         state: present
         firewall_address:
            allow-routing: disable
            associated-interface: any
            name: 'ansible-test1'
            visibility: disable
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - hosts: fortimanager00
   collections:
     - fortinet.fortimanager
   connection: httpapi
   vars:
      ansible_httpapi_use_ssl: True
      ansible_httpapi_validate_certs: False
      ansible_httpapi_port: 443
   tasks:
    - name: create IPv4 addresses.
      fmgr_firewall_address:
         adom: root
         state: present
         firewall_address:
            allow-routing: disable
            associated-interface: any
            name: 'fooaddress'
            visibility: disable
      register: info
      failed_when: info.rc != 0
    - name: create IPv4 addresses.
      fmgr_firewall_address:
         adom: root
         state: present
         firewall_address:
            allow-routing: disable
            associated-interface: any
            name: 'fooaddress'
            visibility: disable
      register: info
      failed_when: info.message != 'Object update skipped!'
    - name: delete created address
      fmgr_firewall_address:
         adom: root
         state: absent
         firewall_address:
             name: 'fooaddress'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: gathering fortimanager facts
   hosts: fortimanager00
   gather_facts: no
   connection: httpapi
   collections:
     - fortinet.fortimanager
   vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
   tasks:
    - name: retrieve all the IPv4 addresses
      fmgr_fact:
        facts:
            selector: 'firewall_address'
            params:
                adom: 'ansible'
                address: 'your_value'

Inputs

    
adom:
    description: the parameter (adom) in requested url
    required: true
    type: str

state:
    choices:
    - present
    - absent
    description: The directive to create, update or delete an object.
    required: true
    type: str

rc_failed:
    description: The rc codes list with which the conditions to fail will be overriden.
    elements: int
    required: false
    type: list

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

access_token:
    description: The token to access FortiManager without using username and password.
    required: false
    type: str

rc_succeeded:
    description: The rc codes list with which the conditions to succeed will be overriden.
    elements: int
    required: false
    type: list

proposed_method:
    choices:
    - update
    - set
    - add
    description: The overridden method for the underlying Json RPC request.
    required: false
    type: str

firewall_address:
    description: the top level parameters set
    required: false
    suboptions:
      _image-base64:
        description: _Image-Base64.
        type: str
      allow-routing:
        choices:
        - disable
        - enable
        description: Enable/disable use of this address in the static route configuration.
        type: str
      associated-interface:
        description: Network interface associated with address.
        type: str
      cache-ttl:
        description: Defines the minimal TTL of individual IP addresses in FQDN cache
          measured in seconds.
        type: int
      clearpass-spt:
        choices:
        - unknown
        - healthy
        - quarantine
        - checkup
        - transition
        - infected
        - transient
        description: SPT
        type: str
      color:
        description: Color of icon on the GUI.
        type: int
      comment:
        description: no description
        type: str
      country:
        description: IP addresses associated to a specific country.
        type: str
      dirty:
        choices:
        - dirty
        - clean
        description: To be deleted address.
        type: str
      dynamic_mapping:
        description: Dynamic_Mapping.
        elements: dict
        suboptions:
          _image-base64:
            description: _Image-Base64.
            type: str
          _scope:
            description: _Scope.
            elements: dict
            suboptions:
              name:
                description: Name.
                type: str
              vdom:
                description: Vdom.
                type: str
            type: list
          allow-routing:
            choices:
            - disable
            - enable
            description: Enable/disable use of this address in the static route configuration.
            type: str
          associated-interface:
            description: Network interface associated with address.
            type: str
          cache-ttl:
            description: Defines the minimal TTL of individual IP addresses in FQDN cache
              measured in seconds.
            type: int
          clearpass-spt:
            choices:
            - unknown
            - healthy
            - quarantine
            - checkup
            - transition
            - infected
            - transient
            description: SPT
            type: str
          color:
            description: Color of icon on the GUI.
            type: int
          comment:
            description: no description
            type: str
          country:
            description: IP addresses associated to a specific country.
            type: str
          dirty:
            choices:
            - dirty
            - clean
            description: To be deleted address.
            type: str
          end-ip:
            description: Final IP address
            type: str
          end-mac:
            description: Last MAC address in the range.
            type: str
          epg-name:
            description: Endpoint group name.
            type: str
          fabric-object:
            choices:
            - disable
            - enable
            description: Security Fabric global object setting.
            type: str
          filter:
            description: Match criteria filter.
            type: str
          fqdn:
            description: Fully Qualified Domain Name address.
            type: str
          fsso-group:
            description: FSSO group
            type: str
          global-object:
            description: Global-Object.
            type: int
          hw-model:
            description: Dynamic address matching hardware model.
            type: str
          hw-vendor:
            description: Dynamic address matching hardware vendor.
            type: str
          interface:
            description: Name of interface whose IP address is to be used.
            type: str
          macaddr:
            description: Macaddr.
            type: str
          node-ip-only:
            choices:
            - disable
            - enable
            description: Enable/disable collection of node addresses only in Kubernetes.
            type: str
          obj-id:
            description: Object ID for NSX.
            type: str
          obj-tag:
            description: Obj-Tag.
            type: str
          obj-type:
            choices:
            - ip
            - mac
            description: Obj-Type.
            type: str
          organization:
            description: Organization domain name
            type: str
          os:
            description: Dynamic address matching operating system.
            type: str
          pattern-end:
            description: no description
            type: int
          pattern-start:
            description: no description
            type: int
          policy-group:
            description: Policy group name.
            type: str
          route-tag:
            description: route-tag address.
            type: int
          sdn:
            choices:
            - aci
            - aws
            - nsx
            - nuage
            - azure
            - gcp
            - oci
            - openstack
            description: SDN.
            type: str
          sdn-addr-type:
            choices:
            - private
            - public
            - all
            description: Type of addresses to collect.
            type: str
          sdn-tag:
            description: SDN Tag.
            type: str
          start-ip:
            description: First IP address
            type: str
          start-mac:
            description: First MAC address in the range.
            type: str
          sub-type:
            choices:
            - sdn
            - clearpass-spt
            - fsso
            - ems-tag
            - swc-tag
            - fortivoice-tag
            - fortinac-tag
            - fortipolicy-tag
            - device-identification
            description: Sub-type of address.
            type: str
          subnet:
            description: IP address and subnet mask of address.
            type: str
          subnet-name:
            description: Subnet name.
            type: str
          sw-version:
            description: Dynamic address matching software version.
            type: str
          tag-detection-level:
            description: Tag detection level of dynamic address object.
            type: str
          tag-type:
            description: Tag type of dynamic address object.
            type: str
          tags:
            description: Tags.
            type: str
          tenant:
            description: Tenant.
            type: str
          type:
            choices:
            - ipmask
            - iprange
            - fqdn
            - wildcard
            - geography
            - wildcard-fqdn
            - dynamic
            description: Type of address.
            type: str
          url:
            description: Url.
            type: str
          uuid:
            description: Universally Unique Identifier
            type: str
          visibility:
            choices:
            - disable
            - enable
            description: Enable/disable address visibility in the GUI.
            type: str
          wildcard:
            description: IP address and wildcard netmask.
            type: str
          wildcard-fqdn:
            description: Fully Qualified Domain Name with wildcard characters.
            type: str
        type: list
      end-ip:
        description: Final IP address
        type: str
      end-mac:
        description: Last MAC address in the range.
        type: str
      epg-name:
        description: Endpoint group name.
        type: str
      fabric-object:
        choices:
        - disable
        - enable
        description: Security Fabric global object setting.
        type: str
      filter:
        description: Match criteria filter.
        type: str
      fqdn:
        description: Fully Qualified Domain Name address.
        type: str
      fsso-group:
        description: FSSO group
        type: str
      global-object:
        description: Global Object.
        type: int
      hw-model:
        description: Dynamic address matching hardware model.
        type: str
      hw-vendor:
        description: Dynamic address matching hardware vendor.
        type: str
      interface:
        description: Name of interface whose IP address is to be used.
        type: str
      list:
        description: List.
        elements: dict
        suboptions:
          ip:
            description: IP.
            type: str
          net-id:
            description: Network ID.
            type: str
          obj-id:
            description: Object ID.
            type: str
        type: list
      macaddr:
        description: Multiple MAC address ranges.
        type: str
      name:
        description: Address name.
        type: str
      node-ip-only:
        choices:
        - disable
        - enable
        description: Enable/disable collection of node addresses only in Kubernetes.
        type: str
      obj-id:
        description: Object ID for NSX.
        type: str
      obj-tag:
        description: Tag of dynamic address object.
        type: str
      obj-type:
        choices:
        - ip
        - mac
        description: Object type.
        type: str
      organization:
        description: Organization domain name
        type: str
      os:
        description: Dynamic address matching operating system.
        type: str
      policy-group:
        description: Policy group name.
        type: str
      profile-list:
        description: description
        elements: dict
        suboptions:
          profile-id:
            description: NSX service profile ID.
            type: int
        type: list
      route-tag:
        description: route-tag address.
        type: int
      sdn:
        choices:
        - aci
        - aws
        - nsx
        - nuage
        - azure
        - gcp
        - oci
        - openstack
        description: SDN.
        type: str
      sdn-addr-type:
        choices:
        - private
        - public
        - all
        description: Type of addresses to collect.
        type: str
      sdn-tag:
        description: SDN Tag.
        type: str
      start-ip:
        description: First IP address
        type: str
      start-mac:
        description: First MAC address in the range.
        type: str
      sub-type:
        choices:
        - sdn
        - clearpass-spt
        - fsso
        - ems-tag
        - swc-tag
        - fortivoice-tag
        - fortinac-tag
        - fortipolicy-tag
        - device-identification
        description: Sub-type of address.
        type: str
      subnet:
        description: IP address and subnet mask of address.
        type: str
      subnet-name:
        description: Subnet name.
        type: str
      sw-version:
        description: Dynamic address matching software version.
        type: str
      tag-detection-level:
        description: Tag detection level of dynamic address object.
        type: str
      tag-type:
        description: Tag type of dynamic address object.
        type: str
      tagging:
        description: Tagging.
        elements: dict
        suboptions:
          category:
            description: Tag category.
            type: str
          name:
            description: Tagging entry name.
            type: str
          tags:
            description: Tags.
            type: str
        type: list
      tags:
        description: Names of object-tags applied to address.
        type: str
      tenant:
        description: Tenant.
        type: str
      type:
        choices:
        - ipmask
        - iprange
        - fqdn
        - wildcard
        - geography
        - wildcard-fqdn
        - dynamic
        description: Type of address.
        type: str
      uuid:
        description: Universally Unique Identifier
        type: str
      visibility:
        choices:
        - disable
        - enable
        description: Enable/disable address visibility in the GUI.
        type: str
      wildcard:
        description: IP address and wildcard netmask.
        type: str
      wildcard-fqdn:
        description: Fully Qualified Domain Name with wildcard characters.
        type: str
    type: dict

bypass_validation:
    default: false
    description: Only set to True when module schema diffs with FortiManager API structure,
      module continues to execute without validating parameters.
    required: false
    type: bool

workspace_locking_adom:
    description: The adom to lock for FortiManager running in workspace mode, the value
      can be global and others including root.
    required: false
    type: str

forticloud_access_token:
    description: Authenticate Ansible client with forticloud API access token.
    required: false
    type: str

workspace_locking_timeout:
    default: 300
    description: The maximum time in seconds to wait for other user to release the workspace
      lock.
    required: false
    type: int

Outputs

meta:
  contains:
    request_url:
      description: The full url requested.
      returned: always
      sample: /sys/login/user
      type: str
    response_code:
      description: The status of api request.
      returned: always
      sample: 0
      type: int
    response_data:
      description: The api response.
      returned: always
      type: list
    response_message:
      description: The descriptive message of the api response.
      returned: always
      sample: OK.
      type: str
    system_information:
      description: The information of the target system.
      returned: always
      type: dict
  description: The result of the request.
  returned: always
  type: dict
rc:
  description: The status the request.
  returned: always
  sample: 0
  type: int
version_check_warning:
  description: Warning if the parameters used in the playbook are not supported by
    the current FortiManager version.
  returned: complex
  type: list