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.
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.
__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>
}}

<!--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>
}}

<!--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
}}

<!--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>
}]}

<!--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>
}]}

<!--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