Download full document:

Before you Begin

This section covers the prerequisites for using the NITRO APIs, NITRO changes across releases, and limitations.

Prerequisites

To use NITRO, you must have a basic understanding of the NetScaler appliance and you must make sure that the client application has one of the following:

  • Access to a NetScaler appliance.

  • To use REST APIs through HTTP, you must have a system to generate HTTP or HTTPS requests (payload in JSON format) to the NetScaler appliance. You can use any programming language or tool.

  • For Java clients, you must have a system where Java Development Kit (JDK) 1.5 or later is available. The JDK can be downloaded from http://www.oracle.com/technetwork/java/javase/downloads/index.html.

    The NITRO library (available in <NITRO_SDK_HOME>/lib) must be installed on the client path. For installation instructions, read the <NITRO_SDK_HOME>/README.txt file.

  • For .NET clients, you must have a system with .NET framework 3.5 or later installed. The .NET framework can be downloaded from http://www.microsoft.com/downloads/en/default.aspx.

    The NITRO library (available in <NITRO_SDK_HOME>/lib) must be installed on the client path. For installation instructions, read the <NITRO_SDK_HOME>/README.txt file.

  • For Python clients, you must have a system with Python 2.7 or above version.

    The Python SDK is available from NetScaler 10.5 onwards. The NITRO library (available in <NITRO_SDK_HOME>/lib) must be installed on the client path. For installation instructions, read the <NITRO_SDK_HOME>/README.txt file.

Obtaining the NITRO SDK Package

The NITRO package is available as a tar file on the Downloads page of the configuration utility of the NetScaler appliance. You must download and untar the file to a folder on your local system. This folder is referred to as \<NITRO_SDK_HOME> in this documentation.

The folder contains the NITRO libraries in the lib subfolder. The libraries must be added to the client application classpath to access NITRO functionality. The \<NITRO_SDK_HOME> folder also provides samples and documentation that can help you understand the NITRO SDK.

NITRO Changes Across Releases

Some NITRO API have changed across releases. This topic details information which can help you avoid compatibility issues in your application. The changes are categorized as:

Changes Made from 11.1-53.3 -> 12.0-48.x

Changes across NITRO flavors

The NITRO changes that were made in NetScaler 12.0-48.x when compared with NetScaler 11.1-53.3.

Type of change

Resource

Method

Attribute

Resource removed

vpath, vpathparam

ALL

All resources and parameters related to vpath feature.

Attribute removed

l3param

-

Icmperrgenerate

This attribute is related to vpath for which the support is removed in 12.0. 

Attribute removed

qos_stats

-

ipcpe2qosfailedrate

Note: Some of the counters under this resource are removed. For new definitions, see http://docs.citrix.com/en-us/netscaler/12/nitro-api/nitro-rest/api-reference/statistics/qos/qos.html 

Attribute removed

vrid_interface_binding

-

trackifnum

New resources (vrid_trackifnum_binding and vrid6_trackifnum_binding) are introduced to deal with track interfaces.

Attribute removed

vrid_interface_binding

-

ifaces is replaced with ifnum.

Previously, ifaces parameter was used in the response and ifnum was used in the input. Now both POST and GET are consistent and use the same attribute name.

Attribute removed

sslprofile_sslciphersuite_binding

-

cipheraliasname

cipheraliasname is a redundant parameter. The required information is provided by ciphername parameter.

Attribute removed

nslicense

-

Ispooledlicensing

Ispooledlicensing Is replaced with a new parameter licensingmode which returns if the license of "Local"/"Pooled"/"CICO" type.

Attribute removed

lbmonitor_sslcertkey_binding

DELETE

crlcheck

Changes specific to NITRO SDKs

The SDK-specific changes that were made in NetScaler 12.0-48.x when compared with NetScaler 11.1-53.3.

Type of change

Class

Method/Attribute

Remarks

Attribute type changed 

pcpmap

pcpprotocol

Datatype changed from double to string.

Class removed

mediaclassification_stats

-

-

Method removed

vxlan_iptunnel_binding

add(vxlan_iptunnel_binding obj, nitro_service session)

delete(vxlan_iptunnel_binding obj, nitro_service session)

Feature is deprecated, use bridgetable with broadcast mac option.

Method removed

inatsession_stats

get(inatsession obj, nitro_service session)

-

Changes Made from 10.5 57.x -> 11.0

All NITRO Flavors - Changes from 10.5 57.x to 11.0

The NITRO changes that were made in NetScaler 11.0 when compared with NetScaler 10.5 Build 57.x.

Type of Change

Resource

Attribute

Attribute removed

nstrace

doruntimemerge

Attribute removed

nstrace

tcpdump

Attribute removed

cacheobject

force

NITRO SDKs - Changes from 10.5 57.x to 11.0

The SDK-specific changes that were made in NetScaler 11.0 when compared with NetScaler 10.5 Build 57.x.

Type of Change

Class

Method

Replace with

Attribute missing in method

cacheobject

(base_response) flush(cacheobject obj, nitro_service session)

'force' attribute missing in this method.

-

Method missing

clustersync

(base_response) Force(clustersync obj, nitro_service session)

(base_response) Force(nitro_service session)

Method missing

shutdown

(base_response) Shutdown(shutdown obj, nitro_service session)

(base_response) Shutdown(nitro_service session)

Method missing

systemfile

(systemfile) get(systemfile obj, nitro_service session)

-

Method missing

sslfips

(base_response) reset(sslfips obj, nitro_service session)

(base_response) reset(nitro_service session)

Changes made from 9.3 -> 10.1/10.5

Note. No changes are introduced from NetScaler 10.1 to NetScaler 10.5. Therefore, you should not face any compatibility issues when migrating from NetScaler 10.1 to 10.5.

All NITRO Flavors - Changes from 9.3 to 10.1/10.5

The NITRO changes that were made in NetScaler 10.1/10.5 when compared with NetScaler 9.3.

Type of Change

Resource

Method

Attribute

Resource removed

lbmonitor_lbmetrictable_binding

Replaced with the resource 'lbmonitor_metric_binding'.

-

-

Method removed

vserver

GET

Perform the GET operation on specific virtual server types such as lb/cr/cs.

-

Method removed

filterpolicy

POST with 'action=unset'

This method is removed as unsetting the attributes('action') of a policy makes it invalid.

-

Method removed

auditsyslogpolicy

POST with 'action=unset'

This method is removed as unsetting the attributes('action') of a policy makes it invalid.

-

Method removed

auditnslogpolicy

POST with 'action=unset'

This method is removed as unsetting the attributes('action') of a policy makes it invalid.

-

Method removed

authorizationpolicy

POST with 'action=unset'

This method is removed as unsetting the attributes('action') of a policy makes it invalid.

-

Return-type changed

snmpengineid

GET

Return type changed to an array.

-

Return-type changed

nshostname

GET

Return type changed to an array.

-

Attribute-type changed

appfwpolicy_lbvserver_binding

-

activepolicy

Data type changed from Boolean to Integer.

Attribute-type changed

appfwpolicy_appfwglobal_binding

-

activepolicy

Data type changed from Boolean to Integer.

Attribute-type changed

vlan

-

portbitmap

Data type changed from uint to ulong.

Attribute-type changed

vlan

-

tagbitmap

Data type changed from uint to ulong.

Attribute removed

policypatset_pattern_binding

-

indextype

This attribute is moved to 'policypatset' resource as this attribute is applicable at patset level.

Attribute removed

system_stats

-

powersupply1failure

Replaced with 'powersupply1status'.

Note: Change is applicable from NetScaler 9.3 Build 65.8.

Attribute removed

system_stats

-

powersupply2failure

Replaced with 'powersupply2status'.

Note: Change is applicable from NetScaler 9.3 Build 65.8.

Attribute removed

server_servicegroup_binding

-

servicetype

Replaced with 'svctype'.

Attribute removed

server_service_binding

-

servicetype

Replaced with 'svctype'.

Attribute removed

crvserver

-

hits

Hits are calculated per policy binding hence moved this parameter to binding resources.

Attribute removed

crvserver

-

dstvsvr

Replaced with 'destinationvserver'.

Attribute removed

crvserver

-

destvserver

Replaced with 'domain'.

Attribute removed

crvserver

-

dnsvserver

Replaced with 'dnsvservername'.

Attribute removed

appflowpolicylabel

-

type

Replaced with 'policylabeltype'.

Attribute removed

sslcipher

-

ciphgrpals

Replaced with 'ciphergroupname'.

Attribute removed

csvserver_cspolicy_binding

-

targetvserver

Replaced with 'targetlbvserver'.

Note: This change is applicable for the 'sslcipher_*_binding' resources also.

Attribute removed

csvserver_cspolicy_binding

-

targetvserver

Replaced with 'targetlbvserver'.

Attribute removed

rewriteaction

-

allow_unsafe_pi1, allow_unsafe_pi

Replaced with 'bypassSafetyCheck'.

Attribute removed

nsconfig

-

nwfwmode

Marked as a hidden attribute.

NITRO SDKs - Changes from 9.3 to 10.1/10.5

The SDK-specific changes that were made in NetScaler 10.1/10.5 when compared with NetScaler 9.3.

Type of Change

Class

Method

Replace with

Class removed

Routerbgp

-

This class is removed as all router configurations are deprecated in 9.2.

Method signature changed

dnsptrrec

get(dnsptrrec obj, nitro_service session)

get(nitro_service session, String reversedomain)

Method signature changed

dnsaddrec

get(dnsaddrec obj, nitro_service session)

get(nitro_service session, String hostname)

Method signature changed

dnsnsrec

get(dnsnsrec obj, nitro_service session)

get(nitro_service session, String domain)

Method signature changed

snmpengineid

unset(nitro_service session, String[] args)

unset(nitro_service session, snmpengineid resource, String[] args)

Method signature changed

arp

arp.get(nitro_service session, String ipaddress)

arp.get(nitro_service session, arp resource)

Method signature changed

nsip

get(nitro_service session, String ipaddress)

get(nitro_service client, nsip resource)

Method signature changed

nsip6

get(nitro_service session, String ipv6address)

get(nitro_service session, nsip6 resource)

Method signature changed

dnsmxrec

dnsmxrec.get(dnsmxrec obj, nitro_service session)

dnsmxrec[] get(nitro_service service, dnsmxrec_args args)

Method Missing

authenticationnegotiatepolicy

(base_response) unset(nitro_service session, String[] args, String name)' is missing in 

-

Method missing

authenticationnegotiatepolicy

(base_response) unset(authenticationnegotiatepolicy obj, nitro_service session, String[] args)

-

Attribute missing in method

nsconfig

(base_response) update(nsconfig obj, nitro_service session)

'nwfwmode' attribute is missing in this method.

-

Limitations

The section lists the NetScaler operations that cannot be performed by using NITRO API.

Note: These operations can be performed on the NetScaler CLI or the GUI.

  • install API (supported from NetScaler 11.1 onwards) diff API on nsconfig resource (supported from NetScaler 10.5 onwards)
  • UI-internal APIs (update, unset, and get)
  • show ns info
  • shutdown
  • Application firewall API
  • importwsdl
  • importcustom
  • importxmlschema
  • importxmlerrorpage
  • importhtmlerrorpage
  • rmcustom
  • rmxmlschema
  • rmxmlerrorpage
  • rmhtmlerrorpage
  • CLI-specific API
  • start nstrace/stop nstrace/show nstrace
  • scp
  • configaudit
  • show defaults
  • show permission
  • batch
  • source