fortinet.fortios.fortios_firewall_shaper_traffic_shaper 模块 – 配置 Fortinet 的 FortiOS 和 FortiGate 中的共享流量整形器。

注意

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

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

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

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

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_shaper_traffic_shaper

字典

配置共享流量整形器。

bandwidth_unit

字符串

此整形器的保证带宽和最大带宽的度量单位 (Kbps、Mbps 或 Gbps)。

选项

  • "kbps"

  • "mbps"

  • "gbps"

cos

字符串

VLAN CoS 标记。

cos_marking

字符串

启用/禁用 VLAN CoS 标记。

选项

  • "enable"

  • "disable"

cos_marking_method

字符串

选择 VLAN CoS 标记方法。

选项

  • "multi-stage"

  • "static"

diffserv

字符串

启用/禁用更改应用于此整形器接受的流量的 DiffServ 设置。

选项

  • "enable"

  • "disable"

diffservcode

字符串

要应用于此整形器接受的流量的 DiffServ 设置。

dscp_marking_method

字符串

选择 DSCP 标记方法。

选项

  • "multi-stage"

  • "static"

exceed_bandwidth

整数

用于 DSCP/VLAN CoS 多阶段标记的超出带宽。单位取决于 bandwidth-unit 设置。

exceed_class_id

整数

保证带宽和最大带宽中流量的类 ID。来源 firewall.traffic-class.class-id。

exceed_cos

字符串

在 [guaranteed-bandwidth, exceed-bandwidth] 中流量的 VLAN CoS 标记。

exceed_dscp

字符串

在保证带宽和超出带宽中流量的 DSCP 标记。

guaranteed_bandwidth

整数

此整形器保证的带宽量 (0 - 80000000)。单位取决于 bandwidth-unit 设置。

maximum_bandwidth

整数

此整形器强制执行的上限带宽 (0 - 80000000)。0 表示无限制。单位取决于 bandwidth-unit 设置。

maximum_cos

字符串

在 [exceed-bandwidth, maximum-bandwidth] 中流量的 VLAN CoS 标记。

maximum_dscp

字符串

在超出带宽和最大带宽中流量的 DSCP 标记。

name

字符串 / 必需

流量整形器名称。

overhead

整数

速率计算中使用的每个数据包大小开销。

per_policy

字符串

启用/禁用为每个策略应用单独的整形器。例如,如果启用,则为每个策略分别应用保证带宽。

选项

  • "disable"

  • "enable"

priority

字符串

优先级较高的流量更有可能在不延迟且不影响保证带宽的情况下转发。

选项

  • "low"

  • "medium"

  • "high"

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选项

  • "present"

  • "absent"

state

字符串 / 必需

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

选项

  • "present"

  • "absent"

vdom

字符串

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

默认值: "root"

注释

注意

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

  • 此模块支持 check_mode。

示例

- name: Configure shared traffic shaper.
  fortinet.fortios.fortios_firewall_shaper_traffic_shaper:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_shaper_traffic_shaper:
          bandwidth_unit: "kbps"
          cos: "<your_own_value>"
          cos_marking: "enable"
          cos_marking_method: "multi-stage"
          diffserv: "enable"
          diffservcode: "<your_own_value>"
          dscp_marking_method: "multi-stage"
          exceed_bandwidth: "0"
          exceed_class_id: "0"
          exceed_cos: "<your_own_value>"
          exceed_dscp: "<your_own_value>"
          guaranteed_bandwidth: "0"
          maximum_bandwidth: "0"
          maximum_cos: "<your_own_value>"
          maximum_dscp: "<your_own_value>"
          name: "default_name_18"
          overhead: "0"
          per_policy: "disable"
          priority: "low"

返回值

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

描述

build

字符串

Fortigate 镜像的版本号

返回: 始终

示例: "1547"

http_method

字符串

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

返回: 始终

示例: "PUT"

http_status

字符串

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

返回: 始终

示例: "200"

mkey

字符串

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

返回: 成功

示例: "id"

name

字符串

用于完成请求的表的名称

返回: 始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回: 始终

示例: "webfilter"

revision

字符串

内部版本号

返回: 始终

示例: "17.0.2.10658"

序列号

字符串

设备的序列号

返回: 始终

示例: "FGVMEVYYQT3AB5352"

状态

字符串

操作结果指示

返回: 始终

示例: "success"

vdom

字符串

使用的虚拟域

返回: 始终

示例: "root"

版本

字符串

FortiGate 的版本

返回: 始终

示例: "v5.6.3"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 卢洪滨 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)