Reviewed-by: Belejkanic, Lukas <lukas.belejkanic@t-systems.com> Co-authored-by: qinweiwei <qinweiwei@huawei.com> Co-committed-by: qinweiwei <qinweiwei@huawei.com>
50 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 ListPolicy API. |
rule_id |
Yes |
String |
ID of the precise protection rule. It can be obtained by calling the ListCustomeRules API. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
X-Auth-Token |
Yes |
String |
auth token |
Content-Type |
Yes |
String |
Content type |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
time |
Yes |
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 |
Yes |
CustomAction object |
Protective action of the precise protection rule. |
priority |
Yes |
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. |
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. |
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. |
action_mode |
Boolean |
This parameter is reserved and can be ignored currently. |
aging_time |
Integer |
Rule aging time. This parameter is reserved and can be ignored currently. |
producer |
Integer |
Rule creation object. This parameter is reserved and can be ignored currently. |
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. |
contents |
Array of strings |
Content of the conditions. |
value_list_id |
String |
Reference table ID. It can be obtained by calling the API Querying the Reference Table List. This parameter is available only when a reference table is used when a protection rule is created. |
Parameter |
Type |
Description |
|---|---|---|
category |
String |
Operation type |
followed_action_id |
String |
ID of a known attack source rule. This parameter can be configured only when category is set to block. |
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}?
{
"action" : {
"category" : "block"
},
"time" : false,
"priority" : 50,
"description" : "",
"conditions" : [ {
"category" : "url",
"logic_operation" : "contain",
"index" : null,
"contents" : [ "test" ]
} ]
}
Example Responses
Status code: 200
Request succeeded.
{
"id" : "88e8bf4158324b2d9a233e7ffb95516d",
"policyid" : "dde63c25e8394b21b16a2a49a99e659b",
"timestamp" : 1678799936830,
"description" : "",
"status" : 1,
"time" : false,
"priority" : 50,
"action_mode" : false,
"conditions" : [ {
"category" : "url",
"contents" : [ "test" ],
"logic_operation" : "contain"
} ],
"action" : {
"category" : "block"
},
"producer" : 1,
"aging_time" : 0
}
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.