# netscaler_server – Manage server configuration

New in version 2.4.0.

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

## Synopsis

- Manage server entities configuration.
- This module is intended to run either on the ansible control node or a bastion (jumpserver) with access to the actual netscaler instance.

## Requirements

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

- nitro python sdk

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
comment - |  | Any information about the server.
delay - added in 2.5 |  | Time, in seconds, after which all the services configured on the server are disabled. This option is meaningful only when setting the disabled option to `true`

disabled
boolean

Choices:
- no ←
- yes

When set to `true` the server state will be set to `disabled`.
When set to `false` the server state will be set to `enabled`.
Note that due to limitations of the underlying NITRO API a `disabled` state change alone does not cause the module result to report a changed status.

domain - |  | Domain name of the server. For a domain based configuration, you must create the server first. Minimum length = 1
domainresolveretry - | Default: 5 | Time, in seconds, for which the NetScaler appliance must wait, after DNS resolution fails, before sending the next DNS query to resolve the domain name. Minimum value = `5` Maximum value = `20939`

graceful
boolean
added in 2.5

Choices:
- no
- yes

Shut down gracefully, without accepting any new connections, and disabling each service when all of its connections are closed.
This option is meaningful only when setting the disabled option to `true`

ipaddress - |  | IPv4 or IPv6 address of the server. If you create an IP address based server, you can specify the name of the server, instead of its IP address, when creating a service. Note: If you do not create a server entry, the server IP address that you enter when you create a service becomes the name of the server.

ipv6address
boolean

Choices:
- no ←
- yes

Support IPv6 addressing mode. If you configure a server with the IPv6 addressing mode, you cannot use the server in the IPv4 addressing mode.

name - |  | Name for the server. Must begin with an ASCII alphabetic or underscore `_` character, and must contain only ASCII alphanumeric, underscore `_`, hash `#`, period `.`, space `` , colon `:`, at `@`, equals `=`, and hyphen `-` characters. Can be changed after the name is created. Minimum length = 1
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.

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.

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.

td - |  | Integer value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0. Minimum value = `0` Maximum value = `4094`
translationip - |  | IP address used to transform the server's DNS-resolved IP address.
translationmask - |  | The netmask of the translation ip.

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 server
      delegate_to: localhost
      netscaler_server:
          nsip: 172.18.0.2
          nitro_user: nsroot
          nitro_pass: nsroot

          state: present

          name: server-1
          ipaddress: 192.168.1.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.