netscaler_gslb_service – Manage gslb service entities in Netscaler — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# netscaler_gslb_service – Manage gslb service entities in Netscaler

New in version 2.4.

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

## Synopsis

- Manage gslb service entities in Netscaler.

## Requirements

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

- nitro python sdk

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
appflowlog - | Choices: enabled disabled | Enable logging appflow flow information.
cip - | Choices: enabled disabled | In the request that is forwarded to the GSLB service, insert a header that stores the client's IP address. Client IP header insertion is used in connection-proxy based site persistence.
cipheader - |  | Name for the HTTP header that stores the client's IP address. Used with the Client IP option. If client IP header insertion is enabled on the service and a name is not specified for the header, the NetScaler appliance uses the name specified by the cipHeader parameter in the set ns param command or, in the GUI, the Client IP Header parameter in the Configure HTTP Parameters dialog box. Minimum length = 1
clttimeout - |  | Idle time, in seconds, after which a client connection is terminated. Applicable if connection proxy based site persistence is used. Minimum value = 0 Maximum value = 31536000
cnameentry - |  | Canonical name of the GSLB service. Used in CNAME-based GSLB. Minimum length = 1
comment - |  | Any comments that you might want to associate with the GSLB service.
downstateflush - | Choices: enabled disabled | Flush all active transactions associated with the GSLB service when its state transitions from UP to DOWN. Do not enable this option for services that must complete their transactions. Applicable if connection proxy based site persistence is used.
hashid - |  | Unique hash identifier for the GSLB service, used by hash based load balancing methods. Minimum value = `1`
healthmonitor boolean | Choices: no yes | Monitor the health of the GSLB service.
ipaddress - |  | IP address for the GSLB service. Should represent a load balancing, content switching, or VPN virtual server on the NetScaler appliance, or the IP address of another load balancing device.
maxaaausers - |  | Maximum number of SSL VPN users that can be logged on concurrently to the VPN virtual server that is represented by this GSLB service. A GSLB service whose user count reaches the maximum is not considered when a GSLB decision is made, until the count drops below the maximum. Minimum value = `0` Maximum value = `65535`
maxbandwidth - |  | Integer specifying the maximum bandwidth allowed for the service. A GSLB service whose bandwidth reaches the maximum is not considered when a GSLB decision is made, until its bandwidth consumption drops below the maximum.
maxclient - |  | The maximum number of open connections that the service can support at any given time. A GSLB service whose connection count reaches the maximum is not considered when a GSLB decision is made, until the connection count drops below the maximum. Minimum value = `0` Maximum value = `4294967294`
monitor_bindings - |  | Bind monitors to this gslb service
| monitor_name - |  | Monitor name.
| weight - |  | Weight to assign to the monitor-service binding. A larger number specifies a greater weight. Contributes to the monitoring threshold, which determines the state of the service. Minimum value = `1` Maximum value = `100`
monthreshold - |  | Monitoring threshold value for the GSLB service. If the sum of the weights of the monitors that are bound to this GSLB service and are in the UP state is not equal to or greater than this threshold value, the service is marked as DOWN. Minimum value = `0` Maximum value = `65535`
nitro_pass string / required |  | The password with which to authenticate to the netscaler node.
nitro_protocol string | Choices: http ← https | Which protocol to use when accessing the nitro API objects.
nitro_timeout float | Default: 310 | Time in seconds until a timeout error is thrown when establishing a new session with Netscaler
nitro_user string / required |  | The username with which to authenticate to the netscaler node.
nsip string / required |  | The ip address of the netscaler appliance where the nitro API calls will be made. The port can be specified with the colon (:). E.g. 192.168.1.1:555.
port - |  | Port on which the load balancing entity represented by this GSLB service listens. Minimum value = 1 Range 1 - 65535 * in CLI is represented as 65535 in NITRO API
publicip - |  | The public IP address that a NAT device translates to the GSLB service's private IP address. Optional.
publicport - |  | The public port associated with the GSLB service's public IP address. The port is mapped to the service's private port number. Applicable to the local GSLB service. Optional.
save_config boolean | Choices: no yes ← | If `yes` the module will save the configuration on the netscaler node if it makes any changes. The module will not save the configuration on the netscaler node if it made no changes.
servername - |  | Name of the server hosting the GSLB service. Minimum length = 1
servicename - |  | Name for the GSLB service. Must begin with an ASCII alphanumeric or underscore `_` character, and must contain only ASCII alphanumeric, underscore `_`, hash `#`, period `.`, space, colon `:`, at `@`, equals `=`, and hyphen `-` characters. Can be changed after the GSLB service is created. Minimum length = 1
servicetype - | Choices: HTTP FTP TCP UDP SSL SSL_BRIDGE SSL_TCP NNTP ANY SIP_UDP SIP_TCP SIP_SSL RADIUS RDP RTSP MYSQL MSSQL ORACLE | Type of service to create.
sitename - |  | Name of the GSLB site to which the service belongs. Minimum length = 1
sitepersistence - | Choices: ConnectionProxy HTTPRedirect NONE | Use cookie-based site persistence. Applicable only to `HTTP` and `SSL` GSLB services.
siteprefix - |  | The site's prefix string. When the service is bound to a GSLB virtual server, a GSLB site domain is generated internally for each bound service-domain pair by concatenating the site prefix of the service and the name of the domain. If the special string NONE is specified, the site-prefix string is unset. When implementing HTTP redirect site persistence, the NetScaler appliance redirects GSLB requests to GSLB services by using their site domains.
state string | Choices: absent present ← | The state of the resource being configured by the module on the netscaler node. When present the resource will be created if needed and configured according to the module's parameters. When absent the resource will be deleted from the netscaler node.
validate_certs boolean | Choices: no yes ← | If `no`, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

## Notes

Note

- For more information on using Ansible to manage Citrix NetScaler Network devices see https://www.ansible.com/ansible-netscaler.

## Examples

    - name: Setup gslb service 2

      delegate_to: localhost
      register: result
      check_mode: "{{ check_mode }}"

      netscaler_gslb_service:
        operation: present

        servicename: gslb-service-2
        cnameentry: example.com
        sitename: gslb-site-1

## Return Values

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

Key | Returned | Description
--- | --- | ---
diff dictionary | failure | List of differences between the actual configured object and the configuration specified in the module Sample: { 'targetlbvserver': 'difference. ours: (str) server1 other: (str) server2' }
loglines list | always | list of logged messages by the module Sample: ['message 1', 'message 2']
msg string | failure | Message detailing the failure reason Sample: Action does not exist

## Status

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

### Authors

- George Nikolopoulos (@giorgos-nikolopoulos)

Hint

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