ADC NITRO APIs

botprofile_ratelimit_binding

Binding object showing the ratelimit that can be bound to botprofile.

Properties

(click to see Operations )

Name Data Type Permissions Description
timeslice Read-write Time interval during which requests are tracked to check if they cross the given rate.

Default value: 1000

Minimum value = 10
rate Read-write Maximum number of requests that are allowed in this session in the given period time.

Default value: 1

Minimum value = 1
cookiename Read-write Cookie name which is used to identify the session for session rate-limiting.
limittype Read-write Rate-Limiting traffic Type.

Default value: BURSTY

Possible values = BURSTY, SMOOTH
bot_rate_limit_enabled Read-write Enable or disable rate-limit binding.

Default value: OFF

Possible values = ON, OFF
bot_rate_limit_type Read-write Rate-limiting type Following rate-limiting types are allowed *SOURCE_IP - Rate-limiting based on the client IP. *SESSION - Rate-limiting based on the configured cookie name. *URL - Rate-limiting based on the configured URL. *GEOLOCATION - Rate-limiting based on the configured country name. Possible values = SESSION, SOURCE_IP, URL, GEOLOCATION, JA3_FINGERPRINT
name Read-write Name for the profile. Must begin with a letter, number, or the underscore character (), and must contain only letters, numbers, and the hyphen (-), period (.), pound (#), space ( ), at (@), equals (=), colon (:), and underscore () characters. Cannot be changed after the profile is added.The following requirement applies only to the Citrix ADC CLI If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, “my profile” or ‘my profile’). Minimum length = 1 Maximum length = 31
bot_rate_limit_action <String[]> Read-write One or more actions to be taken when the current rate becomes more than the configured rate. Only LOG action can be combined with DROP, REDIRECT, RESPOND_STATUS_TOO_MANY_REQUESTS or RESET action.

Default value: NONE

Possible values = NONE, LOG, DROP, REDIRECT, RESET, RESPOND_STATUS_TOO_MANY_REQUESTS
bot_bind_comment Read-write Any comments about this binding.

Minimum length = 1
bot_ratelimit Read-write Rate-limit binding. Maximum 30 bindings can be configured per profile for rate-limit detection. For SOURCE_IP type, only one binding can be configured, and for URL type, only one binding is allowed per URL, and for SESSION type, only one binding is allowed for a cookie name. To update the values of an existing binding, user has to first unbind that binding, and then needs to bind again with new values.
logmessage Read-write Message to be logged for this binding.

Minimum length = 1
countrycode Read-write Country name which is used for geolocation rate-limiting.

Possible values = AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, XK, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, KP, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, SZA, GS, KR, SS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW
bot_rate_limit_url Read-write URL for the resource based rate-limiting.
condition Read-write Expression to be used in a rate-limiting condition. This expression result must be a boolean value.
__count Read-write count parameter

Operations

(click to see Properties )

  • ADD
  • DELETE
  • GET
  • GET (ALL)
  • 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/botprofile_ratelimit_binding HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{
"botprofile_ratelimit_binding":{
<b>"name":<String_value>,
</b>"bot_ratelimit":<Boolean_value>,
"bot_rate_limit_type":<String_value>,
"bot_rate_limit_url":<String_value>,
"cookiename":<String_value>,
"countrycode":<String_value>,
"rate":<Double_value>,
"timeslice":<Double_value>,
"limittype":<String_value>,
"condition":<String_value>,
"bot_rate_limit_action":<String[]_value>,
"bot_rate_limit_enabled":<String_value>,
"logmessage":<String_value>,
"bot_bind_comment":<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/botprofile_ratelimit_binding/ name_value<String> Query-parameters: args http:// <netscaler-ip-address> /nitro/v1/config/botprofile_ratelimit_binding/ name_value<String> ? args=bot_ratelimit: <Boolean_value> ,bot_rate_limit_type: <String_value> ,bot_rate_limit_url: <String_value> ,cookiename: <String_value> ,countrycode: <String_value> ,condition: <String_value>

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

URL: http:// <netscaler-ip-address> /nitro/v1/config/botprofile_ratelimit_binding/ name_value<String> Query-parameters: filter http:// <netscaler-ip-address> /nitro/v1/config/botprofile_ratelimit_binding/ name_value<String> ? filter=property-name1:property-value1,property-name2:property-value2

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

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

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

{  "botprofile_ratelimit_binding": [ {
"timeslice":<Double_value>,
"rate":<Double_value>,
"cookiename":<String_value>,
"limittype":<String_value>,
"bot_rate_limit_enabled":<String_value>,
"bot_rate_limit_type":<String_value>,
"name":<String_value>,
"bot_rate_limit_action":<String[]_value>,
"bot_bind_comment":<String_value>,
"bot_ratelimit":<Boolean_value>,
"logmessage":<String_value>,
"countrycode":<String_value>,
"bot_rate_limit_url":<String_value>,
"condition":<String_value>
}]}

<!--NeedCopy-->

get (all)

URL: http:// <netscaler-ip-address> /nitro/v1/config/botprofile_ratelimit_binding HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Query-parameters: bulkbindings http:// <netscaler-ip-address> /nitro/v1/config/botprofile_ratelimit_binding? bulkbindings=yes

NITRO allows you to fetch bindings in bulk.

Note: get (all) method can be used only in conjuction with bulkbindings query parameter.

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:

{  "botprofile_ratelimit_binding": [ {
"timeslice":<Double_value>,
"rate":<Double_value>,
"cookiename":<String_value>,
"limittype":<String_value>,
"bot_rate_limit_enabled":<String_value>,
"bot_rate_limit_type":<String_value>,
"name":<String_value>,
"bot_rate_limit_action":<String[]_value>,
"bot_bind_comment":<String_value>,
"bot_ratelimit":<Boolean_value>,
"logmessage":<String_value>,
"countrycode":<String_value>,
"bot_rate_limit_url":<String_value>,
"condition":<String_value>
}]}

<!--NeedCopy-->

count

URL: http:// <netscaler-ip-address> /nitro/v1/config/botprofile_ratelimit_binding/ name_value<String> ? 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:

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

<!--NeedCopy-->
botprofile_ratelimit_binding