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。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

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

注意

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

已弃用

已删除版本:

版本 6.0.0

原因:

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

替代方案:

未知。

概要

别名:network.avi.avi_gslb

要求

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

  • avisdk

参数

参数

注释

api_context

字典

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

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

api_version

字符串

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

默认值: "16.4.4"

async_interval

字符串

消息传播到 vs mgr 的频率。

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

允许的值为 0-5。

字段在 18.2.3 中引入。

当在 API 或模块中未指定时的默认值由 Avi 控制器解释为 0。

avi_api_patch_op

字符串

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

选项

  • "add"

  • "replace"

  • "delete"

avi_api_update_method

字符串

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

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

选项

  • "put" ← (默认)

  • "patch"

avi_credentials

字典

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

api_version

字符串

Avi 控制器版本

默认值: "16.4.4"

controller

字符串

Avi 控制器 IP 或 SQDN

csrftoken

字符串

Avi 控制器 API csrftoken,用于重用具有会话 ID 的现有会话

默认值: ""

password

字符串

Avi 控制器密码

port

字符串

Avi 控制器端口

session_id

字符串

Avi 控制器 API 会话 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 控制器解释为 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 控制器解释为 True。

选项

  • false

  • true

leader_cluster_uuid

字符串 / 必填

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

此站点是 avi 站点之一。

maintenance_mode

布尔值

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

将拒绝在 gslb、gslbservice、gslbgeodbprofile 和其他联邦对象上的 Cud 操作。

当成员正在升级时,rest-api 禁用有助于升级场景,我们不希望配置同步操作到 gslb 成员。

升级。

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

该字段在 17.2.1 中引入。

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

选项

  • false

  • true

name

字符串 / 必填

gslb 对象的名称。

password

字符串

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

send_interval

字符串

组成员通信的频率。

允许的值为 1-3600。

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

send_interval_prior_to_maintenance_mode

字符串

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

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

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

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

字段在 18.2.3 中引入。

sites

字符串

选择属于此 gslb 的 avi 站点成员。

state

字符串

应该应用于实体的状态。

选项

  • "absent"

  • "present" ← (默认)

tenant

字符串

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

默认值: "admin"

tenant_ref

字符串

它是对租户类型对象的引用。

tenant_uuid

字符串

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

默认值: ""

third_party_sites

字符串

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

该字段在 17.1.1 中引入。

url

字符串

对象的 Avi 控制器 URL。

username

字符串

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

uuid

字符串

gslb 对象的 UUID。

view_id

字符串

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

每个分区组将能够通过使用 view-id 独立操作。

当在 API 或模块中未指定时的默认值由 Avi 控制器解释为 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)