f5networks.f5_modules.bigip_policy 模块 – 在 BIG-IP 上管理常规策略配置

注意

此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules

要在 playbook 中使用它,请指定:f5networks.f5_modules.bigip_policy

f5networks.f5_modules 1.0.0 中的新增功能

概要

  • 管理 BIG-IP 上的常规策略配置。此模块最好与 bigip_policy_rule 模块结合使用。此模块可以处理常规配置,例如设置策略的草稿状态、描述以及与策略规则本身无关的项目。它也是在创建规则时应使用的第一个模块,因为 bigip_policy_rule 模块需要 policy 参数。

参数

参数

注释

描述

字符串

附加到策略的描述。

此参数仅在 BIG-IP 版本 >= 12.1.0 上受支持。在早期版本上,它将被忽略。

名称

字符串 / 必需

要创建的策略的名称。

分区

字符串

用于管理资源的设备分区。

默认: "Common"

提供程序

字典

在 f5networks.f5_modules 1.0.0 中添加

包含连接详细信息的 dict 对象。

auth_provider

字符串

配置 auth 提供程序以从远程设备获取身份验证令牌。

此选项主要用于处理 BIG-IQ 设备。

no_f5_teem

布尔值

如果为 yes,则不会将 TEEM 遥测数据发送到 F5。

您可以通过设置环境变量 F5_TELEMETRY_OFF 来省略此选项。

先前使用的变量 F5_TEEM 已弃用,因为其名称令人困惑。

选项

  • false ← (默认)

  • true

密码

别名:pass,pwd

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。

您可以通过设置环境变量 F5_PASSWORD 来省略此选项。

服务器

字符串 / 必需

BIG-IP 主机或 BIG-IQ 主机。

您可以通过设置环境变量 F5_SERVER 来省略此选项。

server_port

整数

BIG-IP 服务器端口。

您可以通过设置环境变量 F5_SERVER_PORT 来省略此选项。

默认: 443

超时

整数

指定与网络设备通信以进行连接或发送命令的超时时间(以秒为单位)。如果在操作完成之前超过超时时间,则模块将报错。

传输

字符串

配置连接到远程设备时使用的传输连接。

选项

  • "rest" ← (默认)

用户

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须在设备上具有管理权限。

您可以通过设置环境变量 F5_USER 来省略此选项。

validate_certs

布尔值

如果为 no,则不会验证 SSL 证书。仅在个人控制的站点上使用自签名证书时才使用此选项。

您可以通过设置环境变量 F5_VALIDATE_CERTS 来省略此选项。

选项

  • false

  • true ← (默认)

规则

列表 / 元素=字符串

指定您希望与此策略关联的规则列表。此列表的顺序是它们将由 BIG-IP 评估的顺序。如果指定的规则不存在(例如,创建新策略时),则将创建这些规则。

默认规则的 conditionsall

默认规则的 actionsignore

可以使用 bigip_policy_rule 模块创建和编辑现有和新的规则。

状态

字符串

statepresent 时,确保策略存在并已发布。当 stateabsent 时,确保策略被移除,即使它当前处于草稿状态。

statedraft 时,确保策略存在并处于草稿状态。修改规则时,必须先将策略设置为草稿状态。

仅 BIG-IP 版本 >= 12.1.0 支持草稿状态。在低于该版本的 BIG-IP 上,指定 statedraft 将会引发错误。

选项

  • "present" ← (默认)

  • "absent"

  • "draft"

strategy

字符串

指定当存在多个匹配的规则时,确定执行哪个操作的方法。创建新策略时,默认值为 first

此模块不允许您指定使用 best 策略。它将选择系统默认值 (/Common/best-match) 代替。

选项

  • "first"

  • "all"

  • "best"

注释

注意

  • 有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5

  • 需要 BIG-IP 软件版本 >= 12。

  • F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 的特定配置持久保存到磁盘,请务必包含至少一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关正确使用该模块以保存运行配置的信息,请参阅该模块的文档。

示例

- name: Create policy which is immediately published
  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 - Immediately published
  bigip_policy_rule:
    policy: Policy-Foo
    name: ABC
    conditions:
      - type: http_uri
        path_starts_with:
          - /ABC
          - foo
          - bar
        path_ends_with:
          - baz
    actions:
      - forward: true
        select: true
        pool: pool-svrs
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Add multiple rules to the new policy - Added in the order they are specified
  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_starts_with: /euro
    - name: HomePage
      actions:
        - type: forward
          pool: pool-svrs
      conditions:
        - type: http_uri
          path_starts_with: /HomePage/

- name: Create policy specify default rules - Immediately published
  bigip_policy:
    name: Policy-Bar
    state: present
    rules:
      - rule1
      - rule2
      - rule3
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create policy specify default rules - Left in a draft
  bigip_policy:
    name: Policy-Baz
    state: draft
    rules:
      - rule1
      - rule2
      - rule3
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

返回值

通用返回值记录在 此处,以下是此模块独有的字段

Key

描述

描述

字符串

策略的新描述。

此值仅针对 BIG-IP 设备 >= 12.1.0 返回。

返回值: changed 和 success

示例: "这是我的描述"

规则

列表 / 元素=字符串

应用于策略的规则及其顺序的列表。

返回值: changed 和 success

示例: ["/Common/rule1", "/Common/rule2"]

strategy

整数

策略上设置的新策略。

返回值: changed 和 success

示例: "first-match"

作者

  • Tim Rupp (@caphrim007)

  • Wojciech Wypior (@wojtek0806)