On this page
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.8/modules/netscaler_nitro_request_module.html