netscaler_nitro_request – Issue Nitro API requests to a Netscaler instance
New in version 2.5.0.
Synopsis
- Issue Nitro API requests to a Netscaler instance.
- This is intended to be a short hand for using the uri Ansible module to issue the raw HTTP requests directly.
- It provides consistent return values and has no other dependencies apart from the base Ansible runtime environment.
- This module is intended to run either on the Ansible control node or a bastion (jumpserver) with access to the actual Netscaler instance
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
action
-
|
The action to perform when the
operation value is set to
action .
Some common values for this parameter are
enable ,
disable ,
rename .
|
|
args
-
|
A dictionary which defines the key arguments by which we will select the Nitro object to operate on.
It is required for the following
operation values:
get_by_args ,
'delete_by_args' .
|
|
attributes
-
|
The attributes of the Nitro object we are operating on.
It is required for the following
operation values:
add ,
update ,
action .
|
|
expected_nitro_errorcode
- /
required
|
Default:
[0]
|
A list of numeric values that signify that the operation was successful.
|
filter
-
|
A dictionary which defines the filter with which to refine the Nitro objects returned by the
get_filtered
operation.
|
|
instance_id
-
|
The id of the target Netscaler instance when issuing a Nitro request through a MAS proxy.
|
|
instance_ip
-
|
The IP address of the target Netscaler instance when issuing a Nitro request through a MAS proxy.
|
|
instance_name
-
|
The name of the target Netscaler instance when issuing a Nitro request through a MAS proxy.
|
|
name
-
|
The name of the resource we are operating on.
It is required for the following
operation values:
update ,
get ,
delete .
|
|
nitro_auth_token
-
|
The authentication token provided by the
mas_login operation. It is required when issuing Nitro API calls through a MAS proxy.
|
|
nitro_pass
- /
required
|
The password with which to authenticate to the Netscaler node.
|
|
nitro_protocol
-
|
|
Which protocol to use when accessing the Nitro API objects.
|
nitro_user
- /
required
|
The username with which to authenticate to the Netscaler node.
|
|
nsip
-
|
The IP address of the Netscaler or MAS instance where the Nitro API calls will be made.
The port can be specified with the colon
: . E.g.
192.168.1.1:555 .
|
|
operation
-
|
|
Define the Nitro operation that we want to perform.
|
resource
-
|
The type of resource we are operating on.
It is required for all
operation values except
mas_login and
save_config .
|
|
validate_certs
boolean
|
|
If
no , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
|
Examples
- name: Add a server delegate_to: localhost netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: add resource: server name: test-server-1 attributes: name: test-server-1 ipaddress: 192.168.1.1 - name: Update server delegate_to: localhost netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: update resource: server name: test-server-1 attributes: name: test-server-1 ipaddress: 192.168.1.2 - name: Get server delegate_to: localhost register: result netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: get resource: server name: test-server-1 - name: Delete server delegate_to: localhost register: result netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: delete resource: server name: test-server-1 - name: Rename server delegate_to: localhost netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: action action: rename resource: server attributes: name: test-server-1 newname: test-server-2 - name: Get server by args delegate_to: localhost register: result netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: get_by_args resource: server args: name: test-server-1 - name: Get server by filter delegate_to: localhost register: result netscaler_nitro_request: nsip: "{{ nsip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: get_filtered resource: server filter: ipaddress: 192.168.1.2 # Doing a NITRO request through MAS. # Requires to have an authentication token from the mas_login and used as the nitro_auth_token parameter # Also nsip is the MAS address and the target Netscaler IP must be defined with instance_ip # The rest of the task arguments remain the same as when issuing the NITRO request directly to a Netscaler instance. - name: Do mas login delegate_to: localhost register: login_result netscaler_nitro_request: nsip: "{{ mas_ip }}" nitro_user: "{{ nitro_user }}" nitro_pass: "{{ nitro_pass }}" operation: mas_login - name: Add resource through MAS proxy delegate_to: localhost netscaler_nitro_request: nsip: "{{ mas_ip }}" nitro_auth_token: "{{ login_result.nitro_auth_token }}" instance_ip: "{{ nsip }}" operation: add resource: server name: test-server-1 attributes: name: test-server-1 ipaddress: 192.168.1.7
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
http_response_body
string
|
always |
A string with the actual HTTP response body content if existent. If there is no HTTP response body it is an empty string.
Sample:
{ errorcode: 0, message: Done, severity: NONE }
|
http_response_data
dictionary
|
always |
A dictionary that contains all the HTTP response's data.
Sample:
status: 200
|
nitro_auth_token
string
|
when applicable |
The token returned by the
mas_login operation when successful.
Sample:
##E8D7D74DDBD907EE579E8BB8FF4529655F22227C1C82A34BFC93C9539D66
|
nitro_errorcode
integer
|
always |
A numeric value containing the return code of the NITRO operation. When 0 the operation is successful. Any non zero value indicates an error.
|
nitro_message
string
|
always |
A string containing a human readable explanation for the NITRO operation result.
Sample:
Success
|
nitro_object
list
|
when applicable |
The object returned from the NITRO operation. This is applicable to the various get operations which return an object.
Sample:
[{'ipaddress': '192.168.1.8', 'ipv6address': 'NO', 'maxbandwidth': '0', 'name': 'test-server-1', 'port': 0, 'sp': 'OFF', 'state': 'ENABLED'}]
|
nitro_severity
string
|
always |
A string describing the severity of the NITRO operation error or NONE.
Sample:
NONE
|
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.
© 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/netscaler_nitro_request_module.html