f5networks.f5_modules.bigip_policy_rule 模块 – 在 BIG-IP 上管理 LTM 策略规则
注意
此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在剧本中使用它,请指定:f5networks.f5_modules.bigip_policy_rule。
f5networks.f5_modules 1.0.0 中的新功能
概要
- 此模块管理 BIG-IP 上的 LTM 策略规则。 
要求
执行此模块的主机需要以下要求。
- BIG-IP >= v12.1.0 
参数
| 参数 | 注释 | 
|---|---|
| 您希望策略规则执行的操作。 可用属性因操作而异,但是,每个操作都需要您指定一个  这些条件可以按任意顺序指定。尽管它们在列表中,但列表中顺序对 BIG-IP 而言无关紧要。 | |
| 要启用的 ASM 策略。 此参数仅在  | |
| 可选参数,指定会话持续的时间。 此参数仅在  | |
| 您要持久化的 Cookie 名称。 此参数仅在  | |
| 您要禁用的目标。 此参数仅在  选项 
 | |
| 可以触发诸如重置和转发之类的操作的事件。 使用  
 
 
 | |
| 与  | |
| 您要替换的 HTTP Connect 标头。 此参数仅在  | |
| 替换  选项 
 | |
| 端口号。 如果未提供端口号,则默认情况下该值设置为 0。 在定义规则时要明确,以便系统不会覆盖端口值。 | |
| 
 | |
| 您要删除或插入的 HTTP Cookie 标头。 此参数仅在  | |
| 删除或插入  选项 
 | |
| 
 | |
| 
 当配置为  | |
| 您要删除或插入的 HTTP 标头。 此参数仅在  | |
| 删除、替换或插入  
 所有事件对于  选项 
 | |
| 
 | |
| 
 当配置为  | |
| 您要替换的 HTTP Host 标头。 此参数仅在  | |
| 替换  选项 
 | |
| 
 | |
| 您要删除、替换或插入的 HTTP Referer 标头。 此参数仅在  | |
| 删除、替换或插入 c(http_referer) 时的事件类型。 选项 
 | |
| 
 当配置为  此参数对于  此参数对于  | |
| 您要删除或插入的 HTTP Set-Cookie 标头。 此参数仅在  | |
| 
 | |
| 
 当配置为  | |
| 替换 HTTP URI、路径或字符串。 此参数仅在  | |
| 当  选项 
 | |
| 指定要替换的  选项 
 | |
| 
 | |
| 发送重定向响应的新 URL。 此字段可以使用 Tcl 命令替换。 | |
| 要将流量转发到的节点。 此参数仅在  | |
| 要将流量转发到的池。 此参数仅在  | |
| 操作类型。此值控制需要以下哪些选项。 当  当  当  当  当  当  当  当  当  当  当  选项 
 | |
| 与  | |
| 要将流量转发到的虚拟服务器。 此参数仅在  | |
| 描述条件的属性列表。 有关如何构造每个列表条目的详细信息,请参阅子选项。 此列表的顺序很重要,模块在修改任务时会确保保持该顺序。 并非所有条件类型都需要以下子选项,请阅读说明了解更多详细信息。 这些条件可以按任意顺序指定。尽管它们在列表中,但列表中顺序对 BIG-IP 而言无关紧要。 | |
| IP 地址应匹配的 IP 子网地址字符串列表。 此参数仅在  | |
| IP 地址应匹配的内部数据组字符串列表。 此参数仅在  | |
| IP 地址应匹配的外部数据组字符串列表。 此参数仅在  | |
| 可以触发条件类型匹配规则的事件。 仅支持  
 
 
 
 | |
| HTTP 标头值应匹配的字符串列表。 此参数仅在  | |
| 
 此参数仅在  | |
| HTTP Host 不应以之开头的字符串列表。 此参数仅在  | |
| HTTP Host 应以之开头的字符串列表。 此参数仅在  | |
| HTTP Host 应包含的字符串列表。 此参数仅在  | |
| HTTP Host 不应以之开头的字符串列表。 此参数仅在  | |
| HTTP Host 应以之结尾的字符串列表。 此参数仅在  | |
| HTTP Host 应匹配的字符串列表。 此参数仅在  | |
| HTTP Host 不应匹配的字符串列表。 此参数仅在  | |
| HTTP 方法值应匹配的字符串列表。 此参数仅在  | |
| HTTP URI 应以之开头的字符串列表。 此参数仅在  | |
| HTTP URI 应包含的字符串列表。 此参数仅在  | |
| HTTP URI 应匹配的字符串列表。 此参数仅在  | |
| 服务器名称不应以之开头的名称列表。 此参数仅在  | |
| 服务器名称应以之开头的名称列表。 此参数仅在  | |
| 服务器名称应包含的名称列表。 此参数仅在  | |
| 服务器名称不应以之结尾的名称列表。 此参数仅在  | |
| 服务器名称应以之结尾的名称列表。 此参数仅在  | |
| 包含服务器名称的名称列表。 此参数仅在  | |
| 不包含服务器名称的名称列表。 此参数仅在  | |
| 条件类型。此值控制需要以下哪些选项。 当  当  当  当  当  选项 
 | |
| 策略规则的描述。 | |
| 规则的名称。 | |
| 用于管理资源的设备分区。 默认值:  | |
| 要将此规则关联的策略的名称。 | |
| 包含连接详细信息的字典对象。 | |
| 配置身份验证提供程序以从远程设备获取身份验证令牌。 此选项在与 BIG-IQ 设备一起工作时真正使用。 | |
| 如果为  您可以通过设置环境变量  之前使用的变量  选项 
 | |
| 用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。 您可以通过设置环境变量  | |
| BIG-IP 主机或 BIG-IQ 主机。 您可以通过设置环境变量  | |
| BIG-IP 服务器端口。 您可以通过设置环境变量  默认值:  | |
| 指定与网络设备通信以进行连接或发送命令的超时时间(以秒为单位)。如果在操作完成之前超过超时时间,则模块将出错。 | |
| 配置连接到远程设备时使用的传输连接。 选项 
 | |
| 用于连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须具有设备上的管理员权限。 您可以通过设置环境变量  | |
| 如果为  您可以通过设置环境变量  选项 
 | |
| 指定用户给定的  当需要删除  使用此选项不是幂等的。 选项 
 | |
| 指定一个数字,该数字指示此规则相对于策略中其他规则的顺序。 如果未设置,设备会将参数设置为 0。 如果存在具有相同规则顺序编号的规则,则设备将使用规则名称来确定规则的排序方式。 数字越小,规则在整体顺序中的位置越低,最小数字  有效值范围介于  | |
| 当为  选项 
 | 
注释
注意
- 有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5。 
- 需要 BIG-IP 软件版本 >= 12。 
- F5 模块仅操作 F5 产品的运行配置。为确保特定于 BIG-IP 的配置持久保存到磁盘,请务必至少包含一个使用 f5networks.f5_modules.bigip_config 模块来保存运行配置的任务。有关正确使用该模块来保存运行配置的信息,请参阅该模块的文档。 
示例
- name: Create policies
  bigip_policy:
    name: Policy-Foo
    state: present
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Add a rule to the new policy
  bigip_policy_rule:
    policy: Policy-Foo
    name: rule3
    conditions:
      - type: http_uri
        path_begins_with_any:
          - /ABC
    actions:
      - type: forward
        pool: pool-svrs
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Add multiple rules to the new policy
  bigip_policy_rule:
    policy: Policy-Foo
    name: "{{ item.name }}"
    conditions: "{{ item.conditions }}"
    actions: "{{ item.actions }}"
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
  loop:
    - name: rule1
      actions:
        - type: forward
          pool: pool-svrs
      conditions:
        - type: http_uri
          path_begins_with_any:
            - /euro
    - name: rule2
      actions:
        - type: forward
          pool: pool-svrs
      conditions:
        - type: http_uri
          path_begins_with_any:
            - /HomePage/
    - name: rule3
      actions:
        - type: set_variable
          variable_name: user-agent
          expression: tcl:[HTTP::header User-Agent]
          event: request
      conditions:
        - type: http_uri
          path_begins_with_any:
            - /HomePage/
- name: Remove all rules and conditions from the rule
  bigip_policy_rule:
    policy: Policy-Foo
    name: rule1
    conditions:
      - type: all_traffic
    actions:
      - type: ignore
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
返回值
常见的返回值在此处 记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 应用于规则的新操作列表。 返回: 已更改 示例:  | |
| 要转发到的池。 返回: 已更改 示例:  | |
| 操作类型。 返回: 已更改 示例:  | |
| 应用于规则的新条件列表。 返回: 已更改 示例:  | |
| URI 开头的字符串列表。 返回: 已更改 示例:  | |
| 条件类型。 返回: 已更改 示例:  | |
| 规则的新描述。 返回: 已更改 示例:  | |
| 指定一个数字,该数字指示此规则相对于策略中其他规则的顺序。 返回: 已更改 示例:  | 
