ADC NITRO APIs

lbprofile

Configuration for LB profile resource.

Properties

(click to see Operations )

Name Data Type Permissions Description
lbprofilename <String> Read-write Name of the LB profile.

Minimum length = 1
dbslb <String> Read-write Enable database specific load balancing for MySQL and MSSQL service types.

Default value: DISABLED

Possible values = ENABLED, DISABLED
processlocal <String> Read-write By turning on this option packets destined to a vserver in a cluster will not under go any steering. Turn this option for single pa

cket request response mode or when the upstream device is performing a proper RSS for connection based distribution.

Default value: DISABLED

Possible values = ENABLED, DISABLED
httponlycookieflag <String> Read-write Include the HttpOnly attribute in persistence cookies. The HttpOnly attribute limits the scope of a cookie to HTTP requests and helps mitigate the risk of cross-site scripting attacks.

Default value: ENABLED

Possible values = ENABLED, DISABLED
cookiepassphrase <String> Read-write Use this parameter to specify the passphrase used to generate secured persistence cookie value. It specifies the passphrase with a maximum of 31 characters.
usesecuredpersistencecookie <String> Read-write Encode persistence cookie values using SHA2 hash.

Default value: DISABLED

Possible values = ENABLED, DISABLED
useencryptedpersistencecookie <String> Read-write Encode persistence cookie values using SHA2 hash.

Default value: DISABLED

Possible values = ENABLED, DISABLED
literaladccookieattribute <String> Read-write String configured as LiteralADCCookieAttribute will be appended as attribute for Citrix ADC cookie (for example: LB cookie persistence , GSLB site persistence, CS cookie persistence, LB group cookie persistence).



Sample usage -

add lb profile lbprof -LiteralADCCookieAttribute ";SameSite=None".
computedadccookieattribute <String> Read-write ComputedADCCookieAttribute accepts ns variable as input in form of string starting with $ (to understand how to configure ns variable, please check man add ns variable). policies can be configured to modify this variable for every transaction and the final value of the variable after policy evaluation will be appended as attribute to Citrix ADC cookie (for example: LB cookie persistence , GSLB sitepersistence, CS cookie persistence, LB group cookie persistence). Only one of ComputedADCCookieAttribute, LiteralADCCookieAttribute can be set.



Sample usage -

add ns variable lbvar -type TEXT(100) -scope Transaction

add ns assignment lbassign -variable $lbvar -set "\\";SameSite=Strict\\""

add rewrite policy lbpol <valid policy expression> lbassign

bind rewrite global lbpol 100 next -type RES_OVERRIDE

add lb profile lbprof -ComputedADCCookieAttribute "$lbvar"

For incoming client request, if above policy evaluates TRUE, then SameSite=Strict will be appended to ADC generated cookie.
storemqttclientidandusername <String> Read-write This option allows to store the MQTT clientid and username in transactional logs.

Default value: NO

Possible values = YES, NO
lbhashalgorithm <String> Read-write This option dictates the hashing algorithm used for hash based LB methods (URLHASH, DOMAINHASH, SOURCEIPHASH, DESTINATIONIPHASH, SRCIPDESTIPHASH, SRCIPSRCPORTHASH, TOKEN, USER_TOKEN, CALLIDHASH).

Default value: DEFAULT

Possible values = DEFAULT, PRAC, JARH
lbhashfingers <Double> Read-write This option is used to specify the number of fingers to be used in PRAC and JARH algorithms for hash based LB methods. Increasing the number of fingers might give better distribution of traffic at the expense of additional memory.

Default value: 256

Minimum value = 1

Maximum value = 1024
proximityfromself <String> Read-write Use the ADC location instead of client IP for static proximity LB or GSLB decision.

Default value: NO

Possible values = YES, NO
vsvrcount <Double> Read-only Total number of vservers , the profile is bound to.
adccookieattributewarningmsg <String> Read-only Used to describe any configuration issue with respect to ns variable configured as part of add/set lb profile.
lbhashalgowinsize <Double> Read-only This options allows to increase window size used in LB hashing algorithm(DEFAULT).

Default value: 16
__count <Double> Read-only count parameter

Operations

(click to see Properties )

  • ADD
  • DELETE
  • UPDATE
  • UNSET
  • GET (ALL)
  • GET
  • COUNT

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>

*Note: * Mandatory parameters are marked in red and placeholder content is marked in green

add

URL: http:// <netscaler-ip-address> /nitro/v1/config/lbprofile HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"lbprofile":{
<b>"lbprofilename":<String_value>,
</b>"dbslb":<String_value>,
"processlocal":<String_value>,
"httponlycookieflag":<String_value>,
"cookiepassphrase":<String_value>,
"usesecuredpersistencecookie":<String_value>,
"useencryptedpersistencecookie":<String_value>,
"literaladccookieattribute":<String_value>,
"computedadccookieattribute":<String_value>,
"storemqttclientidandusername":<String_value>,
"lbhashalgorithm":<String_value>,
"lbhashfingers":<Double_value>,
"proximityfromself":<String_value>
}}

<!--NeedCopy-->

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

delete

URL: http:// <netscaler-ip-address> /nitro/v1/config/lbprofile/ lbprofilename_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

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/lbprofile HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"lbprofile":{
<b>"lbprofilename":<String_value>,
</b>"dbslb":<String_value>,
"processlocal":<String_value>,
"httponlycookieflag":<String_value>,
"cookiepassphrase":<String_value>,
"usesecuredpersistencecookie":<String_value>,
"useencryptedpersistencecookie":<String_value>,
"literaladccookieattribute":<String_value>,
"computedadccookieattribute":<String_value>,
"storemqttclientidandusername":<String_value>,
"lbhashalgorithm":<String_value>,
"lbhashfingers":<Double_value>,
"proximityfromself":<String_value>
}}

<!--NeedCopy-->

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/lbprofile? action=unset HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"lbprofile":{
<b>"lbprofilename":<String_value>,
</b>"dbslb":true,
"processlocal":true,
"httponlycookieflag":true,
"cookiepassphrase":true,
"usesecuredpersistencecookie":true,
"useencryptedpersistencecookie":true,
"literaladccookieattribute":true,
"computedadccookieattribute":true,
"storemqttclientidandusername":true,
"lbhashalgorithm":true,
"lbhashfingers":true,
"proximityfromself":true
}}

<!--NeedCopy-->

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/lbprofile Query-parameters: attrs http:// <netscaler-ip-address> /nitro/v1/config/lbprofile? 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/lbprofile? filter=property-name1:property-val1,property-name2:property-val2

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

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

Use this query-parameter to get the summary output of lbprofile resources configured on NetScaler.

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

pagination http:// <netscaler-ip-address> /nitro/v1/config/lbprofile? pagesize=#no;pageno=#no

Use this query-parameter to get the lbprofile 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 Header:

Content-Type:application/json

Response Payload:

{ "lbprofile": [ {
"lbprofilename":<String_value>,
"dbslb":<String_value>,
"processlocal":<String_value>,
"httponlycookieflag":<String_value>,
"cookiepassphrase":<String_value>,
"usesecuredpersistencecookie":<String_value>,
"useencryptedpersistencecookie":<String_value>,
"vsvrcount":<Double_value>,
"literaladccookieattribute":<String_value>,
"computedadccookieattribute":<String_value>,
"adccookieattributewarningmsg":<String_value>,
"storemqttclientidandusername":<String_value>,
"lbhashalgowinsize":<Double_value>,
"lbhashalgorithm":<String_value>,
"lbhashfingers":<Double_value>,
"proximityfromself":<String_value>
}]}

<!--NeedCopy-->

get

URL: http:// <netscaler-ip-address> /nitro/v1/config/lbprofile/ lbprofilename_value<String> Query-parameters: attrs http:// <netscaler-ip-address> /nitro/v1/config/lbprofile/ lbprofilename_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/lbprofile/ lbprofilename_value<String> ? view=summary

Use this query-parameter to get the summary output of lbprofile resources configured on NetScaler.

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 Header:

Content-Type:application/json

Response Payload:

{  "lbprofile": [ {
"lbprofilename":<String_value>,
"dbslb":<String_value>,
"processlocal":<String_value>,
"httponlycookieflag":<String_value>,
"cookiepassphrase":<String_value>,
"usesecuredpersistencecookie":<String_value>,
"useencryptedpersistencecookie":<String_value>,
"vsvrcount":<Double_value>,
"literaladccookieattribute":<String_value>,
"computedadccookieattribute":<String_value>,
"adccookieattributewarningmsg":<String_value>,
"storemqttclientidandusername":<String_value>,
"lbhashalgowinsize":<Double_value>,
"lbhashalgorithm":<String_value>,
"lbhashfingers":<Double_value>,
"proximityfromself":<String_value>
}]}

<!--NeedCopy-->

count

URL: http:// <netscaler-ip-address> /nitro/v1/config/lbprofile? 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 Header:

Content-Type:application/json

Response Payload:

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

<!--NeedCopy-->
lbprofile