fortinet.fortimanager.fmgr_wanprof_system_sdwan_service 模块 – 创建 SD-WAN 规则

注意

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

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

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

要在剧本中使用它,请指定: fortinet.fortimanager.fmgr_wanprof_system_sdwan_service

fortinet.fortimanager 2.1.0 中的新增功能

概要

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

  • 示例包含所有需要在使用前调整为数据源的参数和值。

参数

参数

注释

access_token

字符串

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

adom

字符串 / 必需

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

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

选项

  • false ← (默认)

  • true

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

forticloud_access_token

字符串

使用 forticloud API 访问令牌对 Ansible 客户端进行身份验证。

proposed_method

字符串

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

选项

  • "update"

  • "set"

  • "add"

rc_failed

列表 / 元素=整数

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

rc_succeeded

列表 / 元素=整数

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

state

字符串 / 必需

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

选项

  • "present"

  • "absent"

wanprof

字符串 / 必需

请求 URL 中的参数 (wanprof)。

wanprof_system_sdwan_service

字典

设置的顶级参数。

addr_mode

别名:addr-mode

字符串

地址模式

选项

  • "ipv4"

  • "ipv6"

agent_exclusive

别名:agent-exclusive

字符串

将服务设置为/取消设置为代理独占使用。

选项

  • "disable"

  • "enable"

bandwidth_weight

别名:bandwidth-weight

整数

在自定义配置文件 1 公式中,可用双向带宽倒数的系数。

comment

字符串

注释。

default

字符串

启用/禁用将 SD-WAN 用作默认服务。

选项

  • "disable"

  • "enable"

dscp_forward

别名:dscp-forward

字符串

启用/禁用转发流量 DSCP 标记。

选项

  • "disable"

  • "enable"

dscp_forward_tag

别名:dscp-forward-tag

字符串

转发流量 DSCP 标记。

dscp_reverse

别名:dscp-reverse

字符串

启用/禁用反向流量 DSCP 标记。

选项

  • "disable"

  • "enable"

dscp_reverse_tag

别名:dscp-reverse-tag

字符串

反向流量 DSCP 标记。

dst

任意

(列表或字符串) 目的地址名称。

dst6

任意

(列表或字符串) 目的地址 6 名称。

dst_negate

别名:dst-negate

字符串

启用/禁用目的地址匹配的否定。

选项

  • "disable"

  • "enable"

end_port

别名:end-port

整数

结束目的端口号。

end_src_port

别名:end-src-port

整数

结束源端口号。

gateway

字符串

启用/禁用 SD-WAN 服务网关。

选项

  • "disable"

  • "enable"

groups

任意

(列表或字符串) 用户组。

hash_mode

别名:hash-mode

字符串

用于负载均衡模式下所选优先级成员的哈希算法。

选项

  • "round-robin"

  • "source-ip-based"

  • "source-dest-ip-based"

  • "inbandwidth"

  • "outbandwidth"

  • "bibandwidth"

health_check

别名:health-check

任意

(列表或字符串) 健康检查列表。

hold_down_time

别名:hold-down-time

整数

从备份成员切换到主成员时的等待时间(秒)。

id

整数 / 必需

SD-WAN 规则 ID

input_device

别名:input-device

任意

(列表或字符串) 源接口名称。

input_device_negate

别名: input-device-negate

字符串

启用/禁用输入设备匹配的反转。

选项

  • "disable"

  • "enable"

input_zone

别名: input-zone

任意

(列表) 源输入区域名称。

internet_service

别名: internet-service

字符串

启用/禁用使用互联网服务进行基于应用的负载均衡。

选项

  • "disable"

  • "enable"

internet_service_app_ctrl

别名: internet-service-app-ctrl

任意

(列表) 基于应用控制的互联网服务ID列表。

internet_service_app_ctrl_category

别名: internet-service-app-ctrl-category

任意

(列表) 一个或多个应用控制类别的ID。

internet_service_app_ctrl_group

别名: internet-service-app-ctrl-group

任意

(列表或字符串) 基于应用控制的互联网服务组列表。

internet_service_custom

别名: internet-service-custom

任意

(列表或字符串) 自定义互联网服务名称列表。

internet_service_custom_group

别名: internet-service-custom-group

任意

(列表或字符串) 自定义互联网服务组列表。

internet_service_group

别名: internet-service-group

任意

(列表或字符串) 互联网服务组列表。

internet_service_name

别名: internet-service-name

任意

(列表或字符串) 互联网服务名称列表。

jitter_weight

别名: jitter-weight

整数

自定义配置文件1公式中抖动的系数。

latency_weight

别名: latency-weight

整数

自定义配置文件1公式中延迟的系数。

link_cost_factor

别名: link-cost-factor

字符串

链路成本因子。

选项

  • "latency"

  • "jitter"

  • "packet-loss"

  • "inbandwidth"

  • "outbandwidth"

  • "bibandwidth"

  • "custom-profile-1"

link_cost_threshold

别名: link-cost-threshold

整数

链路成本值变化的百分比阈值,将导致策略路由重新生成。

load_balance

别名: load-balance

字符串

启用/禁用负载均衡。

选项

  • "disable"

  • "enable"

minimum_sla_meet_members

别名: minimum-sla-meet-members

整数

满足SLA的最小成员数量。

mode

字符串

控制SD-WAN规则如何设置SD-WAN中接口的优先级。

选项

  • "auto"

  • "manual"

  • "priority"

  • "sla"

  • "load-balance"

name

字符串

SD-WAN规则名称。

packet_loss_weight

别名: packet-loss-weight

整数

自定义配置文件1公式中丢包率的系数。

passive_measurement

别名: passive-measurement

字符串

启用/禁用基于服务标准的被动测量。

选项

  • "disable"

  • "enable"

priority_members

别名: priority-members

任意

(列表或字符串) 成员序列号列表。

priority_zone

别名: priority-zone

任意

(列表或字符串) 优先区域名称列表。

protocol

整数

协议编号。

quality_link

别名: quality-link

整数

质量等级。

role

字符串

与邻居一起工作的服务角色。

选项

  • "primary"

  • "secondary"

  • "standalone"

route_tag

别名: route-tag

整数

IPv4路由映射路由标签。

shortcut

字符串

启用/禁用此服务的快捷方式。

选项

  • "disable"

  • "enable"

shortcut_priority

别名: shortcut-priority

字符串

此服务的ADVPN快捷方式的高优先级。

选项

  • "disable"

  • "enable"

  • "auto"

shortcut_stickiness

别名: shortcut-stickiness

字符串

启用/禁用ADVPN的快捷方式粘性。

选项

  • "disable"

  • "enable"

sla

列表 / 元素=字典

SLA。

health_check

别名:health-check

字符串

SD-WAN健康检查。

id

整数

SLA ID。

sla_compare_method

别名: sla-compare-method

字符串

比较SLA模式下SLA值的方法。

选项

  • "order"

  • "number"

sla_stickiness

别名: sla-stickiness

字符串

启用/禁用SLA粘性。

选项

  • "disable"

  • "enable"

src

任意

(列表或字符串) 源地址名称。

src6

任意

(列表或字符串) 源地址6名称。

src_negate

别名: src-negate

字符串

启用/禁用源地址匹配的反转。

选项

  • "disable"

  • "enable"

standalone_action

别名: standalone-action

字符串

当选择的邻居角色为独立角色而服务角色不为独立角色时,启用/禁用服务。

选项

  • "disable"

  • "enable"

start_port

别名: start-port

整数

起始目标端口号。

start_src_port

别名: start-src-port

整数

起始源端口号。

status

字符串

启用/禁用SD-WAN服务。

选项

  • "disable"

  • "enable"

tie_break

别名: tie-break

字符串

如果多个成员满足SLA,则选择成员的方法。

选项

  • "zone"

  • "cfg-order"

  • "fib-best-match"

  • "input-device"

tos

字符串

服务类型位模式。

tos_mask

别名: tos-mask

字符串

评估的服务类型位。

use_shortcut_sla

别名: use-shortcut-sla

字符串

启用/禁用使用ADVPN快捷方式进行质量比较。

选项

  • "disable"

  • "enable"

users

任意

(列表或字符串) 用户名。

zone_mode

别名: zone-mode

字符串

启用/禁用区域模式。

选项

  • "disable"

  • "enable"

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 (generated based on argument schema)
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Create SD-WAN rules
      fortinet.fortimanager.fmgr_wanprof_system_sdwan_service:
        # bypass_validation: false
        workspace_locking_adom: <value in [global, custom adom including root]>
        workspace_locking_timeout: 300
        # rc_succeeded: [0, -2, -3, ...]
        # rc_failed: [-2, -3, ...]
        adom: <your own value>
        wanprof: <your own value>
        state: present # <value in [present, absent]>
        wanprof_system_sdwan_service:
          addr_mode: <value in [ipv4, ipv6]>
          bandwidth_weight: <integer>
          default: <value in [disable, enable]>
          dscp_forward: <value in [disable, enable]>
          dscp_forward_tag: <string>
          dscp_reverse: <value in [disable, enable]>
          dscp_reverse_tag: <string>
          dst: <list or string>
          dst_negate: <value in [disable, enable]>
          dst6: <list or string>
          end_port: <integer>
          gateway: <value in [disable, enable]>
          groups: <list or string>
          hash_mode: <value in [round-robin, source-ip-based, source-dest-ip-based, ...]>
          health_check: <list or string>
          hold_down_time: <integer>
          id: <integer>
          input_device: <list or string>
          input_device_negate: <value in [disable, enable]>
          internet_service: <value in [disable, enable]>
          internet_service_app_ctrl: <list or integer>
          internet_service_app_ctrl_group: <list or string>
          internet_service_custom: <list or string>
          internet_service_custom_group: <list or string>
          internet_service_group: <list or string>
          internet_service_name: <list or string>
          jitter_weight: <integer>
          latency_weight: <integer>
          link_cost_factor: <value in [latency, jitter, packet-loss, ...]>
          link_cost_threshold: <integer>
          minimum_sla_meet_members: <integer>
          mode: <value in [auto, manual, priority, ...]>
          name: <string>
          packet_loss_weight: <integer>
          priority_members: <list or string>
          protocol: <integer>
          quality_link: <integer>
          role: <value in [primary, secondary, standalone]>
          route_tag: <integer>
          sla:
            -
              health_check: <string>
              id: <integer>
          sla_compare_method: <value in [order, number]>
          src: <list or string>
          src_negate: <value in [disable, enable]>
          src6: <list or string>
          standalone_action: <value in [disable, enable]>
          start_port: <integer>
          status: <value in [disable, enable]>
          tos: <string>
          tos_mask: <string>
          users: <list or string>
          tie_break: <value in [zone, cfg-order, fib-best-match, ...]>
          use_shortcut_sla: <value in [disable, enable]>
          input_zone: <list or string>
          internet_service_app_ctrl_category: <list or integer>
          passive_measurement: <value in [disable, enable]>
          priority_zone: <list or string>
          agent_exclusive: <value in [disable, enable]>
          shortcut: <value in [disable, enable]>
          shortcut_stickiness: <value in [disable, enable]>
          end_src_port: <integer>
          load_balance: <value in [disable, enable]>
          sla_stickiness: <value in [disable, enable]>
          start_src_port: <integer>
          zone_mode: <value in [disable, enable]>
          shortcut_priority: <value in [disable, enable, auto]>
          comment: <string>

返回值

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

描述

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

列表 / 元素=字符串

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

返回:复杂类型

作者

  • 杜欣伟 (@dux-fortinet)

  • 李星 (@lix-fortinet)

  • 薛杰 (@JieX19)

  • 郑琳 (@chillancezen)

  • 沈芳 (@fshen01)

  • 陆洪滨 (@fgtdev-hblu)