Product Documentation

nsvariable

Sep 07, 2016

Configuration for variable resource.

Properties (click to see Operations)

Name Data Type Permissions Description
name
<String>
Read-write
Variable name. This follows the same syntax rules as other default syntax expression entity names:
It must begin with an alpha character (A-Z or a-z) or an underscore (_).
The rest of the characters must be alpha, numeric (0-9) or underscores.
It cannot be re or xp (reserved for regular and XPath expressions).
It cannot be a default syntax expression reserved word (e.g. SYS or HTTP).
It cannot be used for an existing default syntax expression object (HTTP callout, patset, dataset, stringmap, or named expression).
Minimum length = 1
type
<String>
Read-write
Specification of the variable type; one of the following:
ulong - singleton variable with an unsigned 64-bit value.
text(value-max-size) - singleton variable with a text string value.
map(text(key-max-size),ulong,max-entries) - map of text string keys to unsigned 64-bit values.
map(text(key-max-size),text(value-max-size),max-entries) - map of text string keys to text string values.
where
value-max-size is a positive integer that is the maximum number of bytes in a text string value.
key-max-size is a positive integer that is the maximum number of bytes in a text string key.
max-entries is a positive integer that is the maximum number of entries in a map variable.
For a global singleton text variable, value-max-size <= 64000.
For a global map with ulong values, key-max-size <= 64000.
For a global map with text values, key-max-size + value-max-size <= 64000.
max-entries is a positive integer that is the maximum number of entries in a map variable. This has a theoretical maximum of 2^64-1, but in actual use will be much smaller, considering the memory available for use by the map.
Example:
map(text(10),text(20),100) specifies a map of text string keys (max size 10 bytes) to text string values (max size 20 bytes), with 100 max entries.
Minimum length = 1
scope
<String>
Read-write
Scope of the variable:
global - (default) one set of values visible across all Packet Engines and, in a cluster, all nodes
transaction - one value for each request-response transaction (singleton variables only; no expiration).
Default value: global
Possible values = global, transaction
iffull
<String>
Read-write
Action to perform if an assignment to a map exceeds its configured max-entries:
lru - (default) reuse the least recently used entry in the map.
undef - force the assignment to return an undefined (Undef) result to the policy executing the assignment.
Default value: lru
Possible values = undef, lru
ifvaluetoobig
<String>
Read-write
Action to perform if an value is assigned to a text variable that exceeds its configured max-size,
or if a key is used that exceeds its configured max-size:
truncate - (default) truncate the text string to the first max-size bytes and proceed.
undef - force the assignment or expression evaluation to return an undefined (Undef) result to the policy executing the assignment or expression.
Default value: truncate
Possible values = undef, truncate
ifnovalue
<String>
Read-write
Action to perform if on a variable reference in an expression if the variable is single-valued and uninitialized
or if the variable is a map and there is no value for the specified key:
init - (default) initialize the single-value variable, or create a map entry for the key and the initial value,
using the -init value or its default.
undef - force the expression evaluation to return an undefined (Undef) result to the policy executing the expression.
Default value: init
Possible values = undef, init
init
<String>
Read-write
Initialization value for values in this variable. Default: 0 for ulong, NULL for text.
expires
<Double>
Read-write
Value expiration in seconds. If the value is not referenced within the expiration period it will be deleted. 0 (the default) means no expiration.
Minimum value = 0
Maximum value = 31622400
comment
<String>
Read-write
Comments associated with this variable.
referencecount
<Double>
Read-only
The number of references to the variable in expressions and assignments.
__count
<Double>
Read-only
count parameter

Operations (click to see Properties)

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the "warning" query parameter as "yes". For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http://<netscaler-ip-address>/nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code "209 X-NITRO-WARNING".

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER:<username>

    X-NITRO-PASS:<password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

메모

Mandatory parameters are marked in red and placeholder content is marked in <green>.

add

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable

HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Content-Type:application/json

Request Payload:

{"nsvariable":{
      "name":<String_value>,
      "type":<String_value>,
      "scope":<String_value>,
      "iffull":<String_value>,
      "ifvaluetoobig":<String_value>,
      "ifnovalue":<String_value>,
      "init":<String_value>,
      "expires":<Double_value>,
      "comment":<String_value>
}}

Response:

HTTP Status Code on Success: 201 Created
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

update

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable

HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Content-Type:application/json

Request Payload:

{"nsvariable":{
      "name":<String_value>,
      "type":<String_value>,
      "iffull":<String_value>,
      "ifvaluetoobig":<String_value>,
      "ifnovalue":<String_value>,
      "init":<String_value>,
      "expires":<Double_value>,
      "comment":<String_value>
}}

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable?action=unset

HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Content-Type:application/json

Request Payload:

{"nsvariable":{
      "name":<String_value>,
      "iffull":true,
      "ifvaluetoobig":true,
      "ifnovalue":true,
      "init":true,
      "expires":true,
      "comment":true
}}

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

delete

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable/name_value<String>

HTTP Method: DELETE

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable

Query-parameters:

attrs

http://<netscaler-ip-address>/nitro/v1/config/nsvariable?attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

filter

http://<netscaler-ip-address>/nitro/v1/config/nsvariable?filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of nsvariable resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view

http://<netscaler-ip-address>/nitro/v1/config/nsvariable?view=summary

Note: By default, the retrieved results are displayed in detail view (?view=detail).

pagination

http://<netscaler-ip-address>/nitro/v1/config/nsvariable?pagesize=#no&pageno=#no

Use this query-parameter to get the nsvariable resources in chunks.

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Accept:application/json

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Headers:

Content-Type:application/json

Response Payload:

{ "nsvariable": [ {
      "name":<String_value>,
      "type":<String_value>,
      "scope":<String_value>,
      "iffull":<String_value>,
      "ifvaluetoobig":<String_value>,
      "ifnovalue":<String_value>,
      "expires":<Double_value>,
      "init":<String_value>,
      "comment":<String_value>,
      "referencecount":<Double_value>
}]}

get

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable/name_value<String>

Query-parameters:

attrs

http://<netscaler-ip-address>/nitro/v1/config/nsvariable/name_value<String>?attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

view

http://<netscaler-ip-address>/nitro/v1/config/nsvariable/name_value<String>?view=summary

Note: By default, the retrieved results are displayed in detail view (?view=detail).

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Accept:application/json

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Headers:

Content-Type:application/json

Response Payload:

{ "nsvariable": [ {
      "name":<String_value>,
      "type":<String_value>,
      "scope":<String_value>,
      "iffull":<String_value>,
      "ifvaluetoobig":<String_value>,
      "ifnovalue":<String_value>,
      "expires":<Double_value>,
      "init":<String_value>,
      "comment":<String_value>,
      "referencecount":<Double_value>
}]}

count

URL: http://<netscaler-ip-address>/nitro/v1/config/nsvariable?count=yes

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>
Accept:application/json

Response:

HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Headers:

Content-Type:application/json

Response Payload:

{ "nsvariable": [ { "__count": "#no"} ] }