# avi_gslbservice – Module for setup of GslbService Avi RESTful Object

New in version 2.4.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- This module is used to configure GslbService object
- more examples at https://github.com/avinetworks/devops

## 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.
application_persistence_profile_ref - added in 2.5 |  | The federated application persistence associated with gslbservice site persistence functionality. It is a reference to an object of type applicationpersistenceprofile. Field introduced in 17.2.1.

avi_api_patch_op
-
added in 2.5

Choices:
- add
- replace
- delete

Patch operation to use when using avi_api_update_method as patch.

avi_api_update_method
-
added in 2.5

Choices:
- 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

Choices:
- no
- yes

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

controller string | Default: "" | IP address or hostname of the controller. The default value is the environment variable `AVI_CONTROLLER`.

controller_health_status_enabled
boolean

Choices:
- no
- yes

Gs member's overall health status is derived based on a combination of controller and datapath health-status inputs.
Note that the datapath status is determined by the association of health monitor profiles.
Only the controller provided status is determined through this configuration.
Default value when not specified in API or module is interpreted by Avi Controller as True.

created_by - |  | Creator name. Field introduced in 17.1.2.
description - |  | User defined description for the object.
domain_names - |  | Fully qualified domain name of the gslb service.
down_response - |  | Response to the client query when the gslb service is down.

enabled
boolean

Choices:
- no
- yes

Enable or disable the gslb service.
If the gslb service is enabled, then the vips are sent in the dns responses based on reachability and configured algorithm.
If the gslb service is disabled, then the vips are no longer available in the dns response.
Default value when not specified in API or module is interpreted by Avi Controller as True.

groups - |  | Select list of pools belonging to this gslb service.
health_monitor_refs - |  | Verify vs health by applying one or more health monitors. Active monitors generate synthetic traffic from dns service engine and to mark a vs up or down based on the response. It is a reference to an object of type healthmonitor.

health_monitor_scope
-

Health monitor probe can be executed for all the members or it can be executed only for third-party members.
This operational mode is useful to reduce the number of health monitor probes in case of a hybrid scenario.
In such a case, avi members can have controller derived status while non-avi members can be probed by via health monitor probes in dataplane.
Enum options - GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS, GSLB_SERVICE_HEALTH_MONITOR_ONLY_NON_AVI_MEMBERS.
Default value when not specified in API or module is interpreted by Avi Controller as GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS.

hm_off
boolean
added in 2.9

Choices:
- no
- yes

This field is an internal field and is used in se.
Field introduced in 18.2.2.

is_federated
boolean

Choices:
- 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.

min_members - added in 2.5 |  | The minimum number of members to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'disable'. Field introduced in 17.2.4. Default value when not specified in API or module is interpreted by Avi Controller as 0.
name - / required |  | Name for the gslb service.
num_dns_ip - |  | Number of ip addresses of this gslb service to be returned by the dns service. Enter 0 to return all ip addresses. Allowed values are 1-20. Special values are 0- 'return all ip addresses'.
password string | Default: "" | Password of Avi user in Avi controller. The default value is the environment variable `AVI_PASSWORD`.
pool_algorithm - added in 2.5 |  | The load balancing algorithm will pick a gslb pool within the gslb service list of available pools. Enum options - GSLB_SERVICE_ALGORITHM_PRIORITY, GSLB_SERVICE_ALGORITHM_GEO. Field introduced in 17.2.3. Default value when not specified in API or module is interpreted by Avi Controller as GSLB_SERVICE_ALGORITHM_PRIORITY.

site_persistence_enabled
boolean
added in 2.5

Choices:
- no
- yes

Enable site-persistence for the gslbservice.
Field introduced in 17.2.1.
Default value when not specified in API or module is interpreted by Avi Controller as False.

state
-

Choices:
- 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.
ttl - |  | Ttl value (in seconds) for records served for this gslb service by the dns service. Allowed values are 0-86400.
url - |  | Avi controller URL of the object.

use_edns_client_subnet
boolean

Choices:
- no
- yes

Use the client ip subnet from the edns option as source ipaddress for client geo-location and consistent hash algorithm.
Default is true.
Field introduced in 17.1.1.
Default value when not specified in API or module is interpreted by Avi Controller as True.

username string | Default: "" | Username used for accessing Avi controller. The default value is the environment variable `AVI_USERNAME`.
uuid - |  | Uuid of the gslb service.

wildcard_match
boolean

Choices:
- no
- yes

Enable wild-card match of fqdn if an exact match is not found in the dns table, the longest match is chosen by wild-carding the fqdn in the dns
request.
Default is false.
Field introduced in 17.1.1.
Default value when not specified in API or module is interpreted by Avi Controller as False.

## Notes

Note

- For more information on using Ansible to manage Avi Network devices see https://www.ansible.com/ansible-avi-networks.

## Examples

    - name: Example to create GslbService object
      avi_gslbservice:
        controller: 10.10.25.42
        username: admin
        password: something
        state: present
        name: sample_gslbservice

## Return Values

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

Key | Returned | Description
--- | --- | ---
obj dictionary | success, changed | GslbService (api/gslbservice) object

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>

Hint

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