fortinet.fortimanager.fmgr_firewall_service_custom 模块 – 配置自定义服务。

注意

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

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

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

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

fortinet.fortimanager 1.0.0 中的新增功能

概要

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

  • 示例包括所有参数和值,在使用前需要根据数据源进行调整。

参数

参数

注释

access_token

字符串

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

adom

字符串 / 必需

请求的 URL 中的参数 (adom)。

bypass_validation

布尔值

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

选择

  • false ← (默认)

  • true

enable_log

布尔值

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

选择

  • false ← (默认)

  • true

firewall_service_custom

字典

设置的顶层参数。

app_category

别名:app-category

任意

(列表)应用程序类别 ID。

app_service_type

别名:app-service-type

字符串

应用程序服务类型。

选择

  • "disable"

  • "app-id"

  • "app-category"

application

任意

(列表)应用程序 ID。

category

字符串

服务类别。

check_reset_range

别名:check-reset-range

字符串

配置 ICMP 错误消息验证的类型。

选择

  • "disable"

  • "default"

  • "strict"

color

整数

GUI 上图标的颜色。

comment

任意

(字典或字符串)注释。

explicit_proxy

别名:explicit-proxy

字符串

启用/禁用显式 Web 代理服务。

选择

  • "disable"

  • "enable"

fabric_object

别名:fabric-object

字符串

安全 Fabric 全局对象设置。

选择

  • "disable"

  • "enable"

fqdn

字符串

完全限定域名。

global_object

别名:global-object

整数

全局对象。

helper

字符串

辅助名称。

选择

  • "disable"

  • "auto"

  • "ftp"

  • "tftp"

  • "ras"

  • "h323"

  • "tns"

  • "mms"

  • "sip"

  • "pptp"

  • "rtsp"

  • "dns-udp"

  • "dns-tcp"

  • "pmap"

  • "rsh"

  • "dcerpc"

  • "mgcp"

  • "gtp-c"

  • "gtp-u"

  • "gtp-b"

  • "pfcp"

icmpcode

整数

ICMP 代码。

icmptype

整数

ICMP 类型。

iprange

字符串

与服务关联的 IP 范围的开始和结束。

name

字符串 / 必需

自定义服务名称。

protocol

字符串

基于 IANA 编号的协议类型。

选择

  • "ICMP"

  • "IP"

  • "TCP/UDP/SCTP"

  • "ICMP6"

  • "HTTP"

  • "FTP"

  • "CONNECT"

  • "SOCKS"

  • "ALL"

  • "SOCKS-TCP"

  • "SOCKS-UDP"

  • "TCP/UDP/UDP-Lite/SCTP"

protocol_number

别名:protocol-number

整数

IP 协议号。

proxy

字符串

启用/禁用 Web 代理服务。

选择

  • "disable"

  • "enable"

sctp_portrange

别名:sctp-portrange

字符串

多个 SCTP 端口范围。

session_ttl

别名:session-ttl

任意

(整数或字符串)会话 TTL

tcp_halfclose_timer

别名:tcp-halfclose-timer

整数

等待关闭等待未应答的 FIN 数据包的 TCP 会话的时间

tcp_halfopen_timer

别名:tcp-halfopen-timer

整数

等待关闭等待未应答的打开会话数据包的 TCP 会话的时间

tcp_portrange

别名:tcp-portrange

字符串

多个 TCP 端口范围。

tcp_rst_timer

别名:tcp-rst-timer

整数

设置 TCP CLOSE 状态的持续时间,以秒为单位

tcp_timewait_timer

别名:tcp-timewait-timer

整数

设置 TCP TIME-WAIT 状态的持续时间,以秒为单位

udp_idle_timer

别名:udp-idle-timer

整数

UDP 半关闭超时

udp_portrange

别名:udp-portrange

字符串

多个 UDP 端口范围。

udplite_portrange

别名:udplite-portrange

字符串

多个 UDP-Lite 端口范围。

uuid

字符串

通用唯一标识符

visibility

字符串

启用/禁用服务在 GUI 上的可见性。

选择

  • "disable"

  • "enable"

forticloud_access_token

字符串

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

proposed_method

字符串

底层 Json RPC 请求的重写方法。

选择

  • "update"

  • "set"

  • "add"

rc_failed

列表 / 元素=整数

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

rc_succeeded

列表 / 元素=整数

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

state

字符串 / 必需

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

选择

  • "present"

  • "absent"

workspace_locking_adom

字符串

在工作区模式下运行时要为 FortiManager 锁定的 adom,该值可以是 global 和包括 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 custom services.
      fortinet.fortimanager.fmgr_firewall_service_custom:
        bypass_validation: false
        adom: ansible
        state: present
        firewall_service_custom:
          app-service-type: disable # <value in [disable, app-id, app-category]>
          color: 1
          comment: "comment"
          helper: auto # <value in [disable, auto, ftp, ...]>
          name: "ansible-test"
          protocol: ALL # <value in [ICMP, IP, TCP/UDP/SCTP, ...]>
          proxy: enable # <value in [disable, enable]>
          visibility: enable # <value in [disable, enable]>

- 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 custom services
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "firewall_service_custom"
          params:
            adom: "ansible"
            custom: "your_value"

返回值

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

描述

meta

字典

请求的结果。

返回: 总是

request_url

字符串

请求的完整 URL。

返回: 总是

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回: 总是

示例: 0

response_data

列表 / 元素=字符串

API 响应。

返回: 总是

response_message

字符串

API 响应的描述性消息。

返回: 总是

示例: "OK."

system_information

字典

目标系统的信息。

返回: 总是

rc

整数

请求的状态。

返回: 总是

示例: 0

version_check_warning

列表 / 元素=字符串

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

返回: 复杂

作者

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)