Skip to content

Latest commit

 

History

History
884 lines (859 loc) · 39 KB

File metadata and controls

884 lines (859 loc) · 39 KB

vmware.alb.avi_gslb

Module for setup of Gslb Avi RESTful Object

Parameter Choices/Defaults Comments
state
str
  • absent
  • present ←
- The state that should be applied on the entity.
avi_api_update_method
str
  • put ←
  • patch
- Default method for object update is HTTP PUT.
- Setting to patch will override that behavior to use HTTP PATCH.
avi_api_patch_op
str
  • add ←
  • replace
  • delete
  • remove
- Patch operation to use when using avi_api_update_method as patch.
avi_patch_path
str
- Patch path to use when using avi_api_update_method as patch.
avi_patch_value
str
- Patch value to use when using avi_api_update_method as patch.
async_interval
int
- 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.
- Unit is sec.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as 0.
clear_on_max_retries
int
- 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.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as 20.
client_ip_addr_group
dict
- Group to specify if the client ip addresses are public or private.
- Field introduced in 17.1.2.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
configpb_attributes
dict
- Protobuf versioning for config pbs.
- Field introduced in 21.1.1.
- Allowed in enterprise edition with any value, essentials edition with any value, basic edition with any value, enterprise with cloud services
- edition.
description
str
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
dns_configs
list
- Sub domain configuration for the gslb.
- Gslb service's fqdn must be a match one of these subdomains.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
enable_config_by_members
bool
- Allows enable/disable of gslbservice pool groups and pool members from the gslb follower members.
- Field introduced in 20.1.5.
- Allowed in enterprise edition with any value, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as False.
error_resync_interval
int
- Frequency with which errored messages are resynced to follower sites.
- Value of 0 disables resync behavior.
- Allowed values are 60-3600.
- Special values are 0 - disable.
- Field introduced in 18.2.3.
- Unit is sec.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as 300.
fileobject_max_file_versions
int
- This is the max number of file versions that will be retained for a file referenced by the federated fileobject.
- Subsequent uploads of file will result in the file rotation of the older version and the latest version retained.
- Example when a file upload is done for the first time, there will be a v1 version.
- Subsequent uploads will get mapped to v1, v2 and v3 versions.
- On the fourth upload of the file, the v1 will be file rotated and v2, v3 and v4 will be retained.
- Allowed values are 1-5.
- Field introduced in 30.2.1.
- Allowed in enterprise edition with any value, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as 3.
is_federated
bool
- This field indicates that this object is replicated across gslb federation.
- Field introduced in 17.1.3.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as True.
leader_cluster_uuid
str
required: true
- Mark this site as leader of gslb configuration.
- This site is the one among the avi sites.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
maintenance_mode
bool
- 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.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as False.
name
str
required: true
- Name for the gslb object.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
replication_policy
dict
- Policy for replicating configuration to the active follower sites.
- Field introduced in 20.1.1.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
send_interval
int
- Frequency with which group members communicate.
- Allowed values are 1-3600.
- Unit is sec.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as 15.
send_interval_prior_to_maintenance_mode
int
- 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.
- Unit is sec.
- Allowed in enterprise edition with any value, essentials edition with any value, basic edition with any value, enterprise with cloud services
- edition.
sites
list
required: true
- Select avi site member belonging to this gslb.
- Minimum of 1 items required.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
tenant_ref
str
- It is a reference to an object of type tenant.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
tenant_scoped
bool
- This field indicates tenant visibility for gs pool member selection across the gslb federated objects.tenant scope can be set only during the
- gslb create and cannot be changed once it is set.
- Field introduced in 18.2.12,20.1.4.
- Allowed in enterprise edition with any value, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as True.
third_party_sites
list
- Third party site member belonging to this gslb.
- Field introduced in 17.1.1.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
url
str
- Avi controller URL of the object.
uuid
str
- Uuid of the gslb object.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
view_id
int
- 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.
- Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
- Default value when not specified in API or module is interpreted by Avi Controller as 0.

- hosts: localhost
  connection: local
  collections:
    - vmware.alb
  vars:
    avi_credentials:
      username: "{{ username }}"
      password: "{{ password }}"
      controller: "{{ controller }}"
      api_version: "{{ api_version }}"
  tasks:
    - name: Example to create Gslb object
      avi_gslb:
        name: "test-gslb"
        avi_credentials: "{{ avi_credentials }}"
        sites:
          - name: "test-site1"
            username: "gslb_username"
            password: "gslb_password"
            ip_addresses:
              - type: "V4"
                addr: "192.168.138.18"
            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: "192.168.138.19"
            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: "{{ avi_credentials }}"
        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"
        sites:
          - name: "test-site1"
            username: "gslb_username"
            password: "gslb_password"
            ip_addresses:
              - type: "V4"
                addr: "192.168.138.20"
            enabled: True
            member_type: "GSLB_ACTIVE_MEMBER"
            port: 283
            cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"

    - name: Update Gslb site's configurations (Patch Replace Operation)
      avi_gslb:
        avi_credentials: "{{ avi_credentials }}"
        # On basis of cluster leader uuid dns_configs is set for that perticular 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"
        sites:
          - name: "test-site1"
            username: "gslb_username"
            password: "gslb_password"
            ip_addresses:
              - type: "V4"
                addr: "192.168.138.21"
            enabled: True
            member_type: "GSLB_ACTIVE_MEMBER"
            port: 283
            cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"

    - name: Delete Gslb site's den_vses configurations (Patch Delete(dns_vses) Operation)
      avi_gslb:
        avi_credentials: "{{ avi_credentials }}"
        # On basis of cluster leader uuid dns_configs is set for that perticular 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:
        sites:
          - ip_addresses: "192.168.138.22"
          - ip_addresses: "192.168.138.23"

    - name: Delete Gslb complete site's configurations (Patch Delete(site) Operation)
      avi_gslb:
        avi_credentials: "{{ avi_credentials }}"
        avi_api_update_method: patch
        avi_api_patch_op: delete
        patch_level: '/site'
        name: gslb.lab2.local
        leader_cluster_uuid: "cluster-84aa795f-8f09-42bb-97a4-5103f4a53da9"
        dns_configs:
        sites:
          - ip_addresses: 192.168.138.24

Authors