community.network.avi_gslb 模块 – 用于设置 Gslb Avi RESTful 对象的模块

注意

此模块是 community.network 集合 (版本 5.1.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.network。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定:community.network.avi_gslb

注意

community.network 集合已弃用,并将从 Ansible 12 中删除。有关更多信息,请参阅 讨论主题

已弃用

在以下版本中移除:

6.0.0 版本

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

摘要

别名:network.avi.avi_gslb

要求

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

  • avisdk

参数

参数

注释

api_context

字典

包含当前会话 ID 和 CSRF 令牌的 Avi API 上下文。

这允许用户执行单次登录并重用会话。

api_version

字符串

要用于 Avi API 和对象的 Avi API 版本。

默认值: "16.4.4"

async_interval

字符串

将消息传播到 vs mgr 的频率。

值为 0 将禁用异步行为,并且 rpc 将内联发送。

允许的值为 0-5。

在 18.2.3 版本中引入的字段。

当 API 或模块中未指定时,Avi Controller 将默认值解释为 0。

avi_api_patch_op

字符串

当使用 avi_api_update_method 为 patch 时要使用的修补操作。

选项

  • "add"

  • "replace"

  • "delete"

avi_api_update_method

字符串

对象更新的默认方法是 HTTP PUT。

设置为 patch 将覆盖该行为以使用 HTTP PATCH。

选项

  • "put" ← (默认)

  • "patch"

avi_credentials

字典

Avi 凭据字典,可用于代替枚举 Avi Controller 登录详细信息。

api_version

字符串

Avi 控制器版本

默认值: "16.4.4"

controller

字符串

Avi 控制器 IP 或 SQDN

csrftoken

字符串

Avi 控制器 API csrftoken,用于与 session id 重用现有会话

默认值: ""

password

字符串

Avi 控制器密码

port

字符串

Avi 控制器端口

session_id

字符串

Avi 控制器 API session id,用于与 csrftoken 重用现有会话

默认值: ""

tenant

字符串

Avi 控制器租户

默认值: "admin"

tenant_uuid

字符串

Avi 控制器租户 UUID

默认值: ""

timeout

字符串

Avi 控制器请求超时

默认值: 300

token

字符串

Avi 控制器 API 令牌

默认值: ""

username

字符串

Avi 控制器用户名

avi_disable_session_cache_as_fact

布尔值

它禁用将 avi 会话信息作为事实缓存。

选项

  • false ← (默认)

  • true

clear_on_max_retries

字符串

达到最大重试次数后,远程站点将被视为新的起点。

在新起点,所有配置都将被下载。

允许的值为 1-1024。

当 API 或模块中未指定时,Avi Controller 将默认值解释为 20。

client_ip_addr_group

字符串

用于指定客户端 IP 地址是公共的还是私有的组。

在 17.1.2 版本中引入的字段。

controller

字符串

控制器的 IP 地址或主机名。默认值为环境变量 AVI_CONTROLLER

description

字符串

用户为对象定义的描述。

dns_configs

字符串

gslb 的子域配置。

Gslb 服务的 fqdn 必须与这些子域之一匹配。

is_federated

布尔值

此字段表示此对象在 gslb 联合体中被复制。

在 17.1.3 版本中引入的字段。

当 API 或模块中未指定时,Avi Controller 将默认值解释为 True。

选项

  • false

  • true

leader_cluster_uuid

字符串 / 必需

将此站点标记为 gslb 配置的领导者。

此站点是 avi 站点中的一个。

maintenance_mode

布尔值

此字段禁用对所有联合对象的领导者的配置操作。

对 gslb、gslbservice、gslbgeodbprofile 和其他联合对象的 Cud 操作将被拒绝。

rest-api 禁用有助于升级场景,在这些场景中,我们不希望在成员站点正在

升级时将配置同步操作到 gslb 成员。

此配置以编程方式阻止领导者在成员站点正在升级时接受新的 gslb 配置。

在 17.2.1 版本中引入的字段。

当 API 或模块中未指定时,Avi Controller 将默认值解释为 False。

选项

  • false

  • true

name

字符串 / 必需

gslb 对象的名称。

password

字符串

Avi 控制器中 Avi 用户的密码。默认值为环境变量 AVI_PASSWORD

send_interval

字符串

组成员通信的频率。

允许的值为 1-3600。

当 API 或模块中未指定时,Avi Controller 将默认值解释为 15。

send_interval_prior_to_maintenance_mode

字符串

用户可以在进入维护模式时指定发送间隔。

此“维护发送间隔”的有效性仅在维护模式下有效。

当用户离开维护模式时,原始发送间隔将被恢复。

此内部变量用于存储原始发送间隔。

在 18.2.3 版本中引入的字段。

站点

字符串

选择属于此 GSLB 的 Avi 站点成员。

状态

字符串

应应用于实体的状态。

选项

  • “不存在”

  • "存在" ← (默认)

tenant

字符串

用于所有 Avi API 调用和对象上下文的租户名称。

默认值: "admin"

tenant_ref

字符串

它是对 tenant 类型对象的引用。

tenant_uuid

字符串

用于所有 Avi API 调用和对象上下文的租户 UUID。

默认值: ""

第三方站点

字符串

属于此 GSLB 的第三方站点成员。

在 17.1.1 版本中引入的字段。

URL

字符串

对象的 Avi 控制器 URL。

username

字符串

用于访问 Avi 控制器的用户名。默认值为环境变量 AVI_USERNAME

UUID

字符串

GSLB 对象的 UUID。

view_id

字符串

在变更领导者模式下,view-id 用于区分具有相同 GSLB 命名空间的分区组。

每个分区组都可以通过使用 view-id 来独立运行。

当 API 或模块中未指定时,Avi Controller 将默认值解释为 0。

备注

注意

示例

- name: Example to create Gslb object
  community.network.avi_gslb:
    name: "test-gslb"
    avi_credentials:
      username: '{{ username }}'
      password: '{{ password }}'
      controller: '{{ controller }}'
    sites:
      - name: "test-site1"
        username: "gslb_username"
        password: "gslb_password"
        ip_addresses:
          - type: "V4"
            addr: "10.10.28.83"
        enabled: true
        member_type: "GSLB_ACTIVE_MEMBER"
        port: 443
        cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"
      - name: "test-site2"
        username: "gslb_username"
        password: "gslb_password"
        ip_addresses:
          - type: "V4"
            addr: "10.10.28.86"
        enabled: true
        member_type: "GSLB_ACTIVE_MEMBER"
        port: 443
        cluster_uuid: "cluster-0c37ae8d-ab62-410c-ad3e-06fa831950b1"
    dns_configs:
      - domain_name: "test1.com"
      - domain_name: "test2.com"
    leader_cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"

- name: Update Gslb site's configurations (Patch Add Operation)
  community.network.avi_gslb:
    avi_credentials:
      username: '{{ username }}'
      password: '{{ password }}'
      controller: '{{ controller }}'
    avi_api_update_method: patch
    avi_api_patch_op: add
    leader_cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"
    name: "test-gslb"
    dns_configs:
      - domain_name: "temp1.com"
      - domain_name: "temp2.com"
    gslb_sites_config:
      - ip_addr: "10.10.28.83"
        dns_vses:
          - dns_vs_uuid: "virtualservice-f2a711cd-5e78-473f-8f47-d12de660fd62"
            domain_names:
              - "test1.com"
              - "test2.com"
      - ip_addr: "10.10.28.86"
        dns_vses:
          - dns_vs_uuid: "virtualservice-c1a63a16-f2a1-4f41-aab4-1e90f92a5e49"
            domain_names:
              - "temp1.com"
              - "temp2.com"

- name: Update Gslb site's configurations (Patch Replace Operation)
  community.network.avi_gslb:
    avi_credentials:
      username: "{{ username }}"
      password: "{{ password }}"
      controller: "{{ controller }}"
    # On basis of cluster leader uuid dns_configs is set for that particular leader cluster
    leader_cluster_uuid: "cluster-84aa795f-8f09-42bb-97a4-5103f4a53da9"
    name: "test-gslb"
    avi_api_update_method: patch
    avi_api_patch_op: replace
    dns_configs:
      - domain_name: "test3.com"
      - domain_name: "temp3.com"
    gslb_sites_config:
      # Ip address is mapping key for dns_vses field update. For the given IP address,
      # dns_vses is updated.
      - ip_addr: "10.10.28.83"
        dns_vses:
          - dns_vs_uuid: "virtualservice-7c947ed4-77f3-4a52-909c-4f12afaf5bb0"
            domain_names:
              - "test3.com"
      - ip_addr: "10.10.28.86"
        dns_vses:
          - dns_vs_uuid: "virtualservice-799b2c6d-7f2d-4c3f-94c6-6e813b20b674"
            domain_names:
              - "temp3.com"

- name: Update Gslb site's configurations (Patch Delete Operation)
  community.network.avi_gslb:
    avi_credentials:
      username: "{{ username }}"
      password: "{{ password }}"
      controller: "{{ controller }}"
    # On basis of cluster leader uuid dns_configs is set for that particular leader cluster
    leader_cluster_uuid: "cluster-84aa795f-8f09-42bb-97a4-5103f4a53da9"
    name: "test-gslb"
    avi_api_update_method: patch
    avi_api_patch_op: delete
    dns_configs:
    gslb_sites_config:
      - ip_addr: "10.10.28.83"
      - ip_addr: "10.10.28.86"

返回值

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

描述

obj

字典

GSLB (api/gslb) 对象

返回:成功,已更改

状态

  • 此模块将在 6.0.0 版本中移除。 *[已弃用]*

  • 更多信息请参见 已弃用

作者

  • Gaurav Rastogi (@grastogi23)