Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Li, Qiao <qiaoli@huawei.com> Co-committed-by: Li, Qiao <qiaoli@huawei.com>
29 KiB
Updating a Precise Protection Rule
Function
This API is used to update a precise protection rule.
URI
PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
policy_id |
Yes |
String |
Policy ID. It can be obtained by calling the API Querying Protection Policies. |
rule_id |
Yes |
String |
rule id |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
auth token |
Content-Type |
Yes |
String |
Content type Default: application/json;charset=utf8 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
time |
No |
Boolean |
Time the precise protection rule takes effect.
|
start |
No |
Long |
Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. |
terminal |
No |
Long |
Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. |
description |
No |
String |
Rule description |
conditions |
No |
Array of CustomConditions objects |
Match condition List |
action |
No |
CustomAction object |
Protective action of the precise protection rule. |
priority |
No |
Integer |
Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
category |
No |
String |
Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. |
index |
No |
String |
Subfield
|
logic_operation |
No |
String |
Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. |
contents |
No |
Array of strings |
Condition content for matching the rule |
value_list_id |
No |
String |
ID of the reference table |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
Rule ID. |
policyid |
String |
Policy ID. |
description |
String |
Rule description |
status |
Integer |
Rule status. The value can be 0 or 1.
|
conditions |
Array of conditions objects |
List of matching conditions. All conditions must be met. |
action |
CustomAction object |
Protective action of the precise protection rule. |
action_mode |
Boolean |
This parameter is reserved and can be ignored. |
priority |
Integer |
Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. |
timestamp |
Long |
Timestamp when the precise protection rule is created. |
start |
Long |
Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. |
terminal |
Long |
Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. |
Parameter |
Type |
Description |
---|---|---|
category |
String |
Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. |
index |
String |
Subfield
|
logic_operation |
String |
Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. |
contents |
Array of strings |
Content of the conditions. |
Parameter |
Type |
Description |
---|---|---|
category |
String |
Action type.
|
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Example Requests
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}? { "description": "", "action": { "category": "block" }, "priority": 50, "conditions": [ { "category": "header", "logic_operation": "contain", "index": "demo2" "content" ["demo"] } ], ], "time": false }
Example Responses
Status code: 200
Request succeeded.
{ "action" : { "category" : "block" }, "action_mode" : false, "aging_time" : 0, "conditions" : [ { "category" : "header", "index" : "demo2", "logic_operation" : "contain", "content" : [ "demo" ] } ], "description" : "", "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", "policyid" : "1f016cde588646aca3fb19f277c44d03", "priority" : 50, "status" : 1, "time" : false }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Request failed. |
401 |
The token does not have required permissions. |
500 |
Internal server error. |
Error Codes
See Error Codes.