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 | <Double> | Read-write | Time interval during which requests are tracked to check if they cross the given rate.
Minimum value = 1000 Maximum value = 10000000 |
rate | <Double> | Read-write | Maximum number of requests that are allowed in this session in the given period time.
Minimum value = 1000 Maximum value = 10000000 |
cookiename | <String> | Read-write | Cookie name which is used to identify the session for session rate-limiting. |
bot_rate_limit_enabled | <String> | Read-write | Enable or disable rate-limit binding.
Default value: OFF Possible values = ON, OFF |
bot_rate_limit_type | <String> | 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.
Possible values = SESSION, SOURCE_IP, URL |
name | <String> | 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 or RESET action.
Default value: NONE Possible values = NONE, LOG, DROP, REDIRECT, RESET |
bot_bind_comment | <String> | Read-write | Any comments about this binding.
Minimum length = 1 |
bot_ratelimit | <Boolean> | Read-write | Rate-limit binding. Maximum 30 bindings can be configured per profile for rate-limit detection. For SESSION and IP_BASED types, only one binding can be configured. For these types, if a binding exists and another binding is configured then the previous binding information is removed. For URL type, only one binding is allowed per URL. Also, for URL type, previous binding information is removed if another binding is configured for the same URL. |
logmessage | <String> | Read-write | Message to be logged for this binding.
Minimum length = 1 |
bot_rate_limit_url | <String> | Read-write | URL for the resource based rate-limiting. |
__count | <Double> | 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>,
"rate":<Double_value>,
"timeslice":<Double_value>,
"bot_rate_limit_action":<String[]_value>,
"bot_rate_limit_enabled":<String_value>,
"logmessage":<String_value>,
"bot_bind_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
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>
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>,
"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>,
"bot_rate_limit_url":<String_value>
}]}
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>,
"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>,
"bot_rate_limit_url":<String_value>
}]}
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"} ] }