fortinet.fortios.fortios_system_automation_action 模块 – 用于 Fortinet FortiOS 和 FortiGate 自动化连接的 Action。

注意

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

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

要安装它,请使用: ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,请参阅 需求 以了解详细信息。

要在剧本中使用它,请指定: fortinet.fortios.fortios_system_automation_action

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改系统功能和 automation_action 类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数,在使用前需要将值调整为数据源。已在 FOS v6.0.0 上测试。

需求

执行此模块的主机需要以下需求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 FortiGate 的 GUI 生成。

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

member_path

字符串

要操作的成员属性路径。

如果有多个属性,则用斜杠字符分隔。

标有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

指定 member_state 时,将忽略 state 选项。

选项

  • "present"

  • "absent"

state

字符串 / 必需

指示是创建还是删除对象。

选项

  • "present"

  • "absent"

system_automation_action

字典

自动化连接的 Action。

accprofile

字符串

CLI 脚本操作访问 FortiGate 功能的访问配置文件。来源 system.accprofile.name。

action_type

字符串

操作类型。

选项

  • "email"

  • "fortiexplorer-notification"

  • "alert"

  • "disable-ssid"

  • "system-actions"

  • "quarantine"

  • "quarantine-forticlient"

  • "quarantine-nsx"

  • "quarantine-fortinac"

  • "ban-ip"

  • "aws-lambda"

  • "azure-function"

  • "google-cloud-function"

  • "alicloud-function"

  • "webhook"

  • "cli-script"

  • "slack-notification"

  • "microsoft-teams-notification"

  • "ios-notification"

alicloud_access_key_id

字符串

阿里云 AccessKey ID。

alicloud_access_key_secret

字符串

阿里云 AccessKey 密钥。

alicloud_account_id

字符串

阿里云账户 ID。

alicloud_function

字符串

阿里云函数名称。

alicloud_function_authorization

字符串

阿里云函数授权类型。

选项

  • "anonymous"

  • "function"

alicloud_function_domain

字符串

阿里云函数域名。

alicloud_region

字符串

阿里云区域。

alicloud_service

字符串

阿里云服务名称。

alicloud_version

字符串

阿里云版本。

aws_api_id

字符串

AWS API Gateway ID。

aws_api_key

字符串

AWS API Gateway API 密钥。

aws_api_path

字符串

AWS API Gateway 路径。

aws_api_stage

字符串

AWS API Gateway 部署阶段名称。

aws_domain

字符串

AWS 域名。

aws_region

字符串

AWS 区域。

azure_api_key

字符串

Azure 函数 API 密钥。

azure_app

字符串

Azure 函数应用程序名称。

azure_domain

字符串

Azure 函数域名。

azure_function

字符串

Azure 函数名称。

azure_function_authorization

字符串

Azure 函数授权级别。

选项

  • "anonymous"

  • "function"

  • "admin"

delay

整数

执行前的延迟(以秒为单位)。

description

字符串

描述。

email_body

字符串

电子邮件正文。

email_from

字符串

发件人名称。

email_subject

字符串

电子邮件主题。

email_to

列表 / 元素=字典

电子邮件地址。

name

字符串 / 必需

电子邮件地址。

execute_security_fabric

字符串

启用/禁用在安全结构中的所有或仅一个 FortiGate 单元上执行 CLI 脚本。

选项

  • "enable"

  • "disable"

forticare_email

字符串

启用/禁用使用您的 FortiCare 电子邮件地址作为收件人地址。

选项

  • "enable"

  • "disable"

fos_message

字符串

消息内容。

gcp_function

字符串

Google Cloud 函数名称。

gcp_function_domain

字符串

Google Cloud 函数域名。

gcp_function_region

字符串

Google Cloud 函数区域。

gcp_project

字符串

Google Cloud Platform 项目名称。

headers

列表 / 元素=字典

请求头。

header

字符串 / 必需

请求头。

http_body

字符串

请求体(如有必要)。应为序列化 JSON 字符串。

http_headers

列表 / 元素=字典

请求头。

id

整数 / 必需

条目 ID。参见 <a href=’#notes’>注释</a>。

key

字符串

请求头键。

value

字符串

请求头值。

message_type

字符串

消息类型。

选项

  • "text"

  • "json"

method

字符串

请求方法 (POST、PUT、GET、PATCH 或 DELETE)。

选项

  • "post"

  • "put"

  • "get"

  • "patch"

  • "delete"

minimum_interval

整数

限制执行在此间隔内最多一次(以秒为单位)。

name

字符串 / 必需

名称。

output_size

整数

要限制脚本输出的兆字节数 (1 - 1024)。

port

整数

协议端口。

protocol

字符串

请求协议。

选项

  • "http"

  • "https"

replacement_message

字符串

启用/禁用替换消息。

选项

  • "enable"

  • "disable"

replacemsg_group

字符串

替换消息组。来源 system.replacemsg-group.name。

required

字符串

在操作链中必需。

选项

  • "enable"

  • "disable"

script

字符串

CLI 脚本。

sdn_connector

列表 / 元素=字典

NSX SDN 连接器名称。

name

字符串 / 必需

SDN 连接器名称。来源 system.sdn-connector.name。

security_tag

字符串

NSX 安全标签。

system_action

字符串

系统操作类型。

选项

  • "reboot"

  • "shutdown"

  • "backup-config"

timeout

整数

此脚本的最大运行时间(以秒为单位)(0 = 无超时)。

tls_certificate

字符串

API 请求的自定义 TLS 证书。来源 certificate.local.name。

uri

字符串

请求 API URI。

verify_host_cert

字符串

启用/禁用远程主机证书的验证。

选项

  • "enable"

  • "disable"

vdom

字符串

虚拟域,在先前定义的那些域中。vdom 是 FortiGate 的虚拟实例,可以将其配置和用作不同的单元。

默认值: "root"

备注

注意

  • 旧版 fortiosapi 已弃用,httpapi 是运行 playbook 的首选方式。

  • 该模块支持 check_mode。

示例

- name: Action for automation stitches.
  fortinet.fortios.fortios_system_automation_action:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      system_automation_action:
          accprofile: "<your_own_value> (source system.accprofile.name)"
          action_type: "email"
          alicloud_access_key_id: "<your_own_value>"
          alicloud_access_key_secret: "<your_own_value>"
          alicloud_account_id: "<your_own_value>"
          alicloud_function: "<your_own_value>"
          alicloud_function_authorization: "anonymous"
          alicloud_function_domain: "<your_own_value>"
          alicloud_region: "<your_own_value>"
          alicloud_service: "<your_own_value>"
          alicloud_version: "<your_own_value>"
          aws_api_id: "<your_own_value>"
          aws_api_key: "<your_own_value>"
          aws_api_path: "<your_own_value>"
          aws_api_stage: "<your_own_value>"
          aws_domain: "<your_own_value>"
          aws_region: "<your_own_value>"
          azure_api_key: "<your_own_value>"
          azure_app: "<your_own_value>"
          azure_domain: "<your_own_value>"
          azure_function: "<your_own_value>"
          azure_function_authorization: "anonymous"
          delay: "0"
          description: "<your_own_value>"
          email_body: "<your_own_value>"
          email_from: "<your_own_value>"
          email_subject: "<your_own_value>"
          email_to:
              -
                  name: "default_name_31"
          execute_security_fabric: "enable"
          forticare_email: "enable"
          fos_message: "<your_own_value>"
          gcp_function: "<your_own_value>"
          gcp_function_domain: "<your_own_value>"
          gcp_function_region: "<your_own_value>"
          gcp_project: "<your_own_value>"
          headers:
              -
                  header: "<your_own_value>"
          http_body: "<your_own_value>"
          http_headers:
              -
                  id: "43"
                  key: "<your_own_value>"
                  value: "<your_own_value>"
          message_type: "text"
          method: "post"
          minimum_interval: "0"
          name: "default_name_49"
          output_size: "10"
          port: "0"
          protocol: "http"
          replacement_message: "enable"
          replacemsg_group: "<your_own_value> (source system.replacemsg-group.name)"
          required: "enable"
          script: "<your_own_value>"
          sdn_connector:
              -
                  name: "default_name_58 (source system.sdn-connector.name)"
          security_tag: "<your_own_value>"
          system_action: "reboot"
          timeout: "0"
          tls_certificate: "<your_own_value> (source certificate.local.name)"
          uri: "<your_own_value>"
          verify_host_cert: "enable"

返回值

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

描述

build

字符串

FortiGate镜像的版本号

返回:始终

示例: "1547"

http_method

字符串

上次用于将内容配置到 FortiGate 的方法

返回:始终

示例: "PUT"

http_status

字符串

FortiGate 在上次应用的操作中给出的最后结果

返回:始终

示例: "200"

mkey

字符串

上次调用 FortiGate 时使用的主密钥 (ID)

返回:成功

示例: "id"

name

字符串

用于完成请求的表的名称

返回:始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回:始终

示例: "webfilter"

revision

字符串

内部修订号

返回:始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回:始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果的指示

返回:始终

示例: "success"

vdom

字符串

使用的虚拟域

返回:始终

示例: "root"

version

字符串

FortiGate 的版本

返回:始终

示例: "v5.6.3"

作者

  • Link Zheng (@chillancezen)

  • 薛杰 (@JieX19)

  • 卢洪斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • 尼古拉斯·托马斯 (@thomnico)