fortinet.fortimanager.fmgr_firewall_address 模块 – 配置 IPv4 地址。

注意

此模块是 fortinet.fortimanager 集合 (版本 2.8.2) 的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。 它不包含在 ansible-core 中。 要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install fortinet.fortimanager

要在 playbook 中使用它,请指定: fortinet.fortimanager.fmgr_firewall_address

fortinet.fortimanager 1.0.0 中的新增功能

概要

  • 此模块能够配置 FortiManager 设备。

  • 示例包括所有参数和值,在使用前需要将其调整为数据源。

参数

参数

注释

access_token

字符串

无需使用用户名和密码即可访问 FortiManager 的令牌。

adom

字符串 / 必需

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

仅当模块模式与 FortiManager API 结构不同时才设置为 True,模块将继续执行而不验证参数。

选项

  • false ← (默认)

  • true

enable_log

布尔值

启用/禁用任务日志记录。

选项

  • false ← (默认)

  • true

firewall_address

字典

设置的顶层参数。

_image_base64

别名: _image-base64

字符串

图像 base64。

allow_routing

别名: allow-routing

字符串

启用/禁用在静态路由配置中使用此地址。

选项

  • "disable"

  • "enable"

associated_interface

别名: associated-interface

字符串

与地址关联的网络接口。

cache_ttl

别名: cache-ttl

整数

定义 FQDN 缓存中各个 IP 地址的最小 TTL,以秒为单位。

clearpass_spt

别名: clearpass-spt

字符串

SPT

选项

  • "unknown"

  • "healthy"

  • "quarantine"

  • "checkup"

  • "transition"

  • "infected"

  • "transient"

color

整数

GUI 上图标的颜色。

comment

任意

(字典或字符串)注释。

country

字符串

与特定国家/地区关联的 IP 地址。

dirty

字符串

要删除的地址。

选项

  • "dirty"

  • "clean"

dynamic_mapping

列表 / 元素=字典

动态映射。

_image_base64

别名: _image-base64

字符串

图像 base64。

_scope

列表 / 元素=字典

范围。

name

字符串

名称。

vdom

字符串

Vdom。

allow_routing

别名: allow-routing

字符串

允许路由。

选项

  • "disable"

  • "enable"

associated_interface

别名: associated-interface

字符串

关联的接口。

cache_ttl

别名: cache-ttl

整数

缓存 TTL。

clearpass_spt

别名: clearpass-spt

字符串

Clearpass spt。

选项

  • "unknown"

  • "healthy"

  • "quarantine"

  • "checkup"

  • "transition"

  • "infected"

  • "transient"

color

整数

颜色。

comment

任意

(字典或字符串)注释。

country

字符串

国家/地区。

dirty

字符串

要删除的地址。

选项

  • "dirty"

  • "clean"

end_ip

别名: end-ip

字符串

结束 IP。

end_mac

别名: end-mac

字符串

结束 MAC。

epg_name

别名: epg-name

字符串

Epg 名称。

fabric_object

别名: fabric-object

字符串

安全 Fabric 全局对象设置。

选项

  • "disable"

  • "enable"

filter

字符串

筛选器。

fqdn

字符串

FQDN。

fsso_group

别名: fsso-group

任意

(列表或字符串)Fsso 组。

global_object

别名: global-object

整数

全局对象。

hw_model

别名: hw-model

字符串

动态地址匹配硬件模型。

hw_vendor

别名: hw-vendor

字符串

动态地址匹配硬件供应商。

interface

字符串

接口。

macaddr

任意

(列表)多个 MAC 地址范围。

node_ip_only

别名: node-ip-only

字符串

启用/禁用仅在 Kubernetes 中收集节点地址。

选项

  • "disable"

  • "enable"

obj_id

别名: obj-id

字符串

对象 ID。

obj_tag

别名: obj-tag

字符串

对象标签。

obj_type

别名: obj-type

字符串

对象类型。

选项

  • "ip"

  • "mac"

organization

字符串

组织。

os

字符串

动态地址匹配操作系统。

pattern_end

别名: pattern-end

整数

模式结束。

pattern_start

aliases: pattern-start

整数

模式开始。

policy_group

aliases: policy-group

字符串

策略组。

route_tag

aliases: route-tag

整数

路由标签地址。

sdn

字符串

Sdn。

选项

  • "aci"

  • "aws"

  • "nsx"

  • "nuage"

  • "azure"

  • "gcp"

  • "oci"

  • "openstack"

sdn_addr_type

aliases: sdn-addr-type

字符串

Sdn 地址类型。

选项

  • "private"

  • "public"

  • "all"

sdn_tag

aliases: sdn-tag

字符串

Sdn 标签。

start_ip

aliases: start-ip

字符串

起始 IP。

start_mac

aliases: start-mac

字符串

起始 MAC。

sub_type

aliases: sub-type

字符串

子类型。

选项

  • "sdn"

  • "clearpass-spt"

  • "fsso"

  • "ems-tag"

  • "swc-tag"

  • "fortivoice-tag"

  • "fortinac-tag"

  • "fortipolicy-tag"

  • "device-identification"

subnet

字符串

子网。

subnet_name

aliases: subnet-name

字符串

子网名称。

sw_version

aliases: sw-version

字符串

动态地址匹配软件版本。

tag_detection_level

aliases: tag-detection-level

字符串

动态地址对象的标签检测级别。

tag_type

aliases: tag-type

字符串

动态地址对象的标签类型。

tags

任意

(列表或字符串) 标签。

tenant

字符串

租户。

type

字符串

类型。

选项

  • "ipmask"

  • "iprange"

  • "fqdn"

  • "wildcard"

  • "geography"

  • "url"

  • "wildcard-fqdn"

  • "nsx"

  • "aws"

  • "dynamic"

  • "interface-subnet"

  • "mac"

  • "fqdn-group"

  • "route-tag"

url

字符串

Url。

uuid

字符串

Uuid。

visibility

字符串

可见性。

选项

  • "disable"

  • "enable"

wildcard

字符串

通配符。

wildcard_fqdn

aliases: wildcard-fqdn

字符串

通配符 FQDN。

end_ip

别名: end-ip

字符串

最终 IP 地址

end_mac

别名: end-mac

字符串

范围内的最后一个 MAC 地址。

epg_name

别名: epg-name

字符串

端点组名称。

fabric_object

别名: fabric-object

字符串

安全 Fabric 全局对象设置。

选项

  • "disable"

  • "enable"

filter

字符串

匹配条件过滤器。

fqdn

字符串

完全限定域名地址。

fsso_group

别名: fsso-group

任意

(列表或字符串) FSSO 组

global_object

别名: global-object

整数

全局对象。

hw_model

别名: hw-model

字符串

动态地址匹配硬件模型。

hw_vendor

别名: hw-vendor

字符串

动态地址匹配硬件供应商。

interface

字符串

要使用其 IP 地址的接口名称。

list

列表 / 元素=字典

列表。

ip

字符串

IP。

net_id

aliases: net-id

字符串

网络 ID。

obj_id

别名: obj-id

字符串

对象 ID。

macaddr

任意

(列表)多个 MAC 地址范围。

name

字符串 / 必需

地址名称。

node_ip_only

别名: node-ip-only

字符串

启用/禁用仅在 Kubernetes 中收集节点地址。

选项

  • "disable"

  • "enable"

obj_id

别名: obj-id

字符串

NSX 的对象 ID。

obj_tag

别名: obj-tag

字符串

动态地址对象的标签。

obj_type

别名: obj-type

字符串

对象类型。

选项

  • "ip"

  • "mac"

organization

字符串

组织域名

os

字符串

动态地址匹配操作系统。

policy_group

aliases: policy-group

字符串

策略组名称。

profile_list

aliases: profile-list

列表 / 元素=字典

配置文件列表。

profile_id

aliases: profile-id

整数

NSX 服务配置文件 ID。

route_tag

aliases: route-tag

整数

路由标签地址。

sdn

字符串

SDN。

选项

  • "aci"

  • "aws"

  • "nsx"

  • "nuage"

  • "azure"

  • "gcp"

  • "oci"

  • "openstack"

sdn_addr_type

aliases: sdn-addr-type

字符串

要收集的地址类型。

选项

  • "private"

  • "public"

  • "all"

sdn_tag

aliases: sdn-tag

字符串

SDN 标签。

start_ip

aliases: start-ip

字符串

第一个 IP 地址

start_mac

aliases: start-mac

字符串

范围内的第一个 MAC 地址。

sub_type

aliases: sub-type

字符串

地址的子类型。

选项

  • "sdn"

  • "clearpass-spt"

  • "fsso"

  • "ems-tag"

  • "swc-tag"

  • "fortivoice-tag"

  • "fortinac-tag"

  • "fortipolicy-tag"

  • "device-identification"

subnet

字符串

地址的 IP 地址和子网掩码。

subnet_name

aliases: subnet-name

字符串

子网名称。

sw_version

aliases: sw-version

字符串

动态地址匹配软件版本。

tag_detection_level

aliases: tag-detection-level

字符串

动态地址对象的标签检测级别。

tag_type

aliases: tag-type

字符串

动态地址对象的标签类型。

tagging

列表 / 元素=字典

标签。

category

字符串

标签类别。

name

字符串

标签条目名称。

tags

任意

(列表) 标签。

tags

字符串

应用于地址的对象标签的名称。

tenant

字符串

租户。

type

字符串

地址类型。

选项

  • "ipmask"

  • "iprange"

  • "fqdn"

  • "wildcard"

  • "geography"

  • "url"

  • "wildcard-fqdn"

  • "nsx"

  • "aws"

  • "dynamic"

  • "interface-subnet"

  • "mac"

  • "fqdn-group"

  • "route-tag"

uuid

字符串

通用唯一标识符

visibility

字符串

启用/禁用 GUI 中的地址可见性。

选项

  • "disable"

  • "enable"

wildcard

字符串

IP 地址和通配符网络掩码。

wildcard_fqdn

aliases: wildcard-fqdn

字符串

带有通配符的完全限定域名。

forticloud_access_token

字符串

使用 FortiCloud API 访问令牌验证 Ansible 客户端。

proposed_method

字符串

底层 Json RPC 请求的覆盖方法。

选项

  • "update"

  • "set"

  • "add"

rc_failed

list / elements=integer

将覆盖失败条件的 rc 代码列表。

rc_succeeded

list / elements=integer

将覆盖成功条件的 rc 代码列表。

state

字符串 / 必需

创建、更新或删除对象的指令。

选项

  • "present"

  • "absent"

workspace_locking_adom

字符串

在工作区模式下运行的 FortiManager 要锁定的 ADOM,该值可以是全局的,也可以是包括 root 在内的其他值。

workspace_locking_timeout

整数

等待其他用户释放工作区锁定的最大时间(以秒为单位)。

默认值: 300

注释

注意

  • 从 2.4.0 版本开始,所有输入参数都使用下划线命名约定 (snake_case) 命名。请将诸如“var-name”之类的参数更改为“var_name”。旧的参数名称仍然可用,但您会收到弃用警告。您可以通过在 ansible.cfg 中设置 deprecation_warnings=False 来忽略此警告。

  • 此 FortiManager 模块支持在工作区锁定模式下运行,顶层参数 workspace_locking_adom 和 workspace_locking_timeout 帮助完成此工作。

  • 要创建或更新对象,请使用 state present 指令。

  • 要删除对象,请使用 state absent 指令。

  • 通常,当返回非零 rc 时,运行一个模块可能会失败。您还可以使用参数 rc_failed 和 rc_succeeded 覆盖失败或成功的条件

示例

- name: Example playbook
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Configure IPv4 addresses.
      fortinet.fortimanager.fmgr_firewall_address:
        bypass_validation: false
        adom: ansible
        state: present
        firewall_address:
          allow-routing: disable
          associated-interface: any
          name: "ansible-test1"
          visibility: disable

- name: Gathering fortimanager facts
  hosts: fortimanagers
  gather_facts: false
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Retrieve all the IPv4 addresses
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "firewall_address"
          params:
            adom: "ansible"
            address: "your_value"

- name: Example playbook
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Configure IPv4 addresses.
      fortinet.fortimanager.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
      fortinet.fortimanager.fmgr_rename:
        rename:
          selector: "firewall_address"
          self:
            adom: "root"
            address: "address-orignal"
          target:
            name: "address-new"
    - name: Delete renamed object
      fortinet.fortimanager.fmgr_firewall_address:
        adom: "root"
        state: absent
        firewall_address:
          name: "address-new"

- name: Example playbook
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Create IPv4 addresses.
      fortinet.fortimanager.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.
      fortinet.fortimanager.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
      fortinet.fortimanager.fmgr_firewall_address:
        adom: root
        state: absent
        firewall_address:
          name: "fooaddress"

返回值

此处记录了常见的返回值 此处,以下是此模块独有的字段

描述

meta

字典

请求的结果。

返回: 始终

request_url

字符串

请求的完整 URL。

返回: 始终

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回: 始终

示例: 0

response_data

list / elements=string

API 响应。

返回: 始终

response_message

字符串

API 响应的描述性消息。

返回: 始终

示例: "OK."

system_information

字典

目标系统的信息。

返回: 始终

rc

整数

请求的状态。

返回: 始终

示例: 0

version_check_warning

list / elements=string

如果 playbook 中使用的参数不受当前 FortiManager 版本支持,则会发出警告。

返回: 复杂

作者

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)