avi_gslb – Module for setup of Gslb Avi RESTful Object

From Get docs
Ansible/docs/2.9/modules/avi gslb module


avi_gslb – Module for setup of Gslb Avi RESTful Object

New in version 2.4.


Synopsis

Requirements

The below requirements are needed on the host that executes this module.

  • avisdk

Parameters

Parameter Choices/Defaults Comments

api_context

dictionary

added in 2.5

Avi API context that includes current session ID and CSRF Token.

This allows user to perform single login and re-use the session.

api_version

string

Default:

"16.4.4"

Avi API version of to use for Avi API and objects.

async_interval

-

added in 2.9

Frequency with which messages are propagated to vs mgr.

Value of 0 disables async behavior and rpc are sent inline.

Allowed values are 0-5.

Field introduced in 18.2.3.

Default value when not specified in API or module is interpreted by Avi Controller as 0.

avi_api_patch_op

-

added in 2.5

  • add
  • replace
  • delete

Patch operation to use when using avi_api_update_method as patch.

avi_api_update_method

-

added in 2.5

  • put

  • patch

Default method for object update is HTTP PUT.

Setting to patch will override that behavior to use HTTP PATCH.

avi_credentials

dictionary

added in 2.5

Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.

api_version

-

Default:

"16.4.4"

Avi controller version

controller

-

Avi controller IP or SQDN

csrftoken

-

Avi controller API csrftoken to reuse existing session with session id

password

-

Avi controller password

port

-

Avi controller port

session_id

-

Avi controller API session id to reuse existing session with csrftoken

tenant

-

Default:

"admin"

Avi controller tenant

tenant_uuid

-

Avi controller tenant UUID

timeout

-

Default:

300

Avi controller request timeout

token

-

Avi controller API token

username

-

Avi controller username

avi_disable_session_cache_as_fact

boolean

added in 2.6

  • no
  • yes

It disables avi session information to be cached as a fact.

clear_on_max_retries

-

Max retries after which the remote site is treated as a fresh start.

In fresh start all the configs are downloaded.

Allowed values are 1-1024.

Default value when not specified in API or module is interpreted by Avi Controller as 20.

client_ip_addr_group

-

added in 2.4

Group to specify if the client ip addresses are public or private.

Field introduced in 17.1.2.

controller

string

Default:

""

IP address or hostname of the controller. The default value is the environment variable AVI_CONTROLLER.

description

-

User defined description for the object.

dns_configs

-

Sub domain configuration for the gslb.

Gslb service's fqdn must be a match one of these subdomains.

is_federated

boolean

added in 2.4

  • no
  • yes

This field indicates that this object is replicated across gslb federation.

Field introduced in 17.1.3.

Default value when not specified in API or module is interpreted by Avi Controller as True.

leader_cluster_uuid

- / required

Mark this site as leader of gslb configuration.

This site is the one among the avi sites.

maintenance_mode

boolean

added in 2.5

  • no
  • yes

This field disables the configuration operations on the leader for all federated objects.

Cud operations on gslb, gslbservice, gslbgeodbprofile and other federated objects will be rejected.

The rest-api disabling helps in upgrade scenarios where we don't want configuration sync operations to the gslb member when the member is being

upgraded.

This configuration programmatically blocks the leader from accepting new gslb configuration when member sites are undergoing upgrade.

Field introduced in 17.2.1.

Default value when not specified in API or module is interpreted by Avi Controller as False.

name

- / required

Name for the gslb object.

password

string

Default:

""

Password of Avi user in Avi controller. The default value is the environment variable AVI_PASSWORD.

send_interval

-

Frequency with which group members communicate.

Allowed values are 1-3600.

Default value when not specified in API or module is interpreted by Avi Controller as 15.

send_interval_prior_to_maintenance_mode

-

added in 2.9

The user can specify a send-interval while entering maintenance mode.

The validity of this 'maintenance send-interval' is only during maintenance mode.

When the user leaves maintenance mode, the original send-interval is reinstated.

This internal variable is used to store the original send-interval.

Field introduced in 18.2.3.

sites

-

Select avi site member belonging to this gslb.

state

-

  • absent
  • present

The state that should be applied on the entity.

tenant

string

Default:

"admin"

Name of tenant used for all Avi API calls and context of object.

tenant_ref

-

It is a reference to an object of type tenant.

tenant_uuid

string

Default:

""

UUID of tenant used for all Avi API calls and context of object.

third_party_sites

-

Third party site member belonging to this gslb.

Field introduced in 17.1.1.

url

-

Avi controller URL of the object.

username

string

Default:

""

Username used for accessing Avi controller. The default value is the environment variable AVI_USERNAME.

uuid

-

Uuid of the gslb object.

view_id

-

The view-id is used in change-leader mode to differentiate partitioned groups while they have the same gslb namespace.

Each partitioned group will be able to operate independently by using the view-id.

Default value when not specified in API or module is interpreted by Avi Controller as 0.



Notes

Note


Examples

- name: Example to create Gslb object
  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)
  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)
  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)
  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"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

obj

dictionary

success, changed

Gslb (api/gslb) object





Status

Authors

Hint

If you notice any issues in this documentation, you can edit this document to improve it.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/avi_gslb_module.html