published on Thursday, Oct 15, 2026 by Byteplus
published on Thursday, Oct 15, 2026 by Byteplus
WAF custom Bot configuration
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as bytepluscc from "@byteplus/pulumi-bytepluscc";
const example = new bytepluscc.waf.CustomBot("example", {
accurate: {
accurate_rules: [
{
httpObj: "request.header.User-Agent",
objType: 14,
opretar: 6,
property: 0,
valueString: "curl",
},
{
httpObj: "request.method",
objType: 2,
opretar: 2,
property: 0,
valueString: "GET",
},
],
logic: 1,
},
action: "js",
botType: "ccapiBotFull",
description: "ccapi custom bot full",
enable: 1,
host: "www.testwaf.com",
verificationExemptionTime: 300,
});
import pulumi
import pulumi_bytepluscc as bytepluscc
example = bytepluscc.waf.CustomBot("example",
accurate={
"accurate_rules": [
{
"httpObj": "request.header.User-Agent",
"objType": 14,
"opretar": 6,
"property": 0,
"valueString": "curl",
},
{
"httpObj": "request.method",
"objType": 2,
"opretar": 2,
"property": 0,
"valueString": "GET",
},
],
"logic": 1,
},
action="js",
bot_type="ccapiBotFull",
description="ccapi custom bot full",
enable=1,
host="www.testwaf.com",
verification_exemption_time=300)
package main
import (
"github.com/byteplus-sdk/pulumi-bytepluscc/sdk/go/bytepluscc/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := waf.NewCustomBot(ctx, "example", &waf.CustomBotArgs{
Accurate: &waf.CustomBotAccurateArgs{
Accurate_rules: []interface{}{
map[string]interface{}{
"httpObj": "request.header.User-Agent",
"objType": 14,
"opretar": 6,
"property": 0,
"valueString": "curl",
},
map[string]interface{}{
"httpObj": "request.method",
"objType": 2,
"opretar": 2,
"property": 0,
"valueString": "GET",
},
},
Logic: pulumi.Int(1),
},
Action: pulumi.String("js"),
BotType: pulumi.String("ccapiBotFull"),
Description: pulumi.String("ccapi custom bot full"),
Enable: pulumi.Int(1),
Host: pulumi.String("www.testwaf.com"),
VerificationExemptionTime: pulumi.Int(300),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Bytepluscc = Byteplus.Pulumi.Bytepluscc;
return await Deployment.RunAsync(() =>
{
var example = new Bytepluscc.Waf.CustomBot("example", new()
{
Accurate = new Bytepluscc.Waf.Inputs.CustomBotAccurateArgs
{
Accurate_rules = new[]
{
{
{ "httpObj", "request.header.User-Agent" },
{ "objType", 14 },
{ "opretar", 6 },
{ "property", 0 },
{ "valueString", "curl" },
},
{
{ "httpObj", "request.method" },
{ "objType", 2 },
{ "opretar", 2 },
{ "property", 0 },
{ "valueString", "GET" },
},
},
Logic = 1,
},
Action = "js",
BotType = "ccapiBotFull",
Description = "ccapi custom bot full",
Enable = 1,
Host = "www.testwaf.com",
VerificationExemptionTime = 300,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.byteplus.bytepluscc.waf.CustomBot;
import com.byteplus.bytepluscc.waf.CustomBotArgs;
import com.pulumi.bytepluscc.waf.inputs.CustomBotAccurateArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new CustomBot("example", CustomBotArgs.builder()
.accurate(CustomBotAccurateArgs.builder()
.accurate_rules(Arrays.asList(
Map.ofEntries(
Map.entry("httpObj", "request.header.User-Agent"),
Map.entry("objType", 14),
Map.entry("opretar", 6),
Map.entry("property", 0),
Map.entry("valueString", "curl")
),
Map.ofEntries(
Map.entry("httpObj", "request.method"),
Map.entry("objType", 2),
Map.entry("opretar", 2),
Map.entry("property", 0),
Map.entry("valueString", "GET")
)))
.logic(1)
.build())
.action("js")
.botType("ccapiBotFull")
.description("ccapi custom bot full")
.enable(1)
.host("www.testwaf.com")
.verificationExemptionTime(300)
.build());
}
}
resources:
example:
type: bytepluscc:waf:CustomBot
properties:
accurate:
accurate_rules:
- httpObj: request.header.User-Agent
objType: 14
opretar: 6
property: 0
valueString: curl
- httpObj: request.method
objType: 2
opretar: 2
property: 0
valueString: GET
logic: 1
action: js
botType: ccapiBotFull
description: ccapi custom bot full
enable: 1
host: www.testwaf.com
verificationExemptionTime: 300
pulumi {
required_providers {
bytepluscc = {
source = "pulumi/bytepluscc"
}
}
}
resource "bytepluscc_waf_custombot" "example" {
accurate = {
accurate_rules = [{
"httpObj" = "request.header.User-Agent"
"objType" = 14
"opretar" = 6
"property" = 0
"valueString" = "curl"
}, {
"httpObj" = "request.method"
"objType" = 2
"opretar" = 2
"property" = 0
"valueString" = "GET"
}]
logic = 1
}
action = "js"
bot_type = "ccapiBotFull"
description = "ccapi custom bot full"
enable = 1
host = "www.testwaf.com"
verification_exemption_time = 300
}
Create CustomBot Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CustomBot(name: string, args: CustomBotArgs, opts?: CustomResourceOptions);@overload
def CustomBot(resource_name: str,
args: CustomBotArgs,
opts: Optional[ResourceOptions] = None)
@overload
def CustomBot(resource_name: str,
opts: Optional[ResourceOptions] = None,
action: Optional[str] = None,
bot_type: Optional[str] = None,
enable: Optional[int] = None,
host: Optional[str] = None,
accurate: Optional[CustomBotAccurateArgs] = None,
description: Optional[str] = None,
verification_exemption_time: Optional[int] = None)func NewCustomBot(ctx *Context, name string, args CustomBotArgs, opts ...ResourceOption) (*CustomBot, error)public CustomBot(string name, CustomBotArgs args, CustomResourceOptions? opts = null)
public CustomBot(String name, CustomBotArgs args)
public CustomBot(String name, CustomBotArgs args, CustomResourceOptions options)
type: bytepluscc:waf:CustomBot
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "bytepluscc_waf_custom_bot" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args CustomBotArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CustomBotArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CustomBotArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CustomBotArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CustomBotArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var customBotResource = new Bytepluscc.Waf.CustomBot("customBotResource", new()
{
Action = "string",
BotType = "string",
Enable = 0,
Host = "string",
Accurate = new Bytepluscc.Waf.Inputs.CustomBotAccurateArgs
{
AccurateRules = new[]
{
new Bytepluscc.Waf.Inputs.CustomBotAccurateAccurateRuleArgs
{
HttpObj = "string",
ObjType = 0,
Opretar = 0,
Property = 0,
ValueString = "string",
},
},
Logic = 0,
},
Description = "string",
VerificationExemptionTime = 0,
});
example, err := waf.NewCustomBot(ctx, "customBotResource", &waf.CustomBotArgs{
Action: pulumi.String("string"),
BotType: pulumi.String("string"),
Enable: pulumi.Int(0),
Host: pulumi.String("string"),
Accurate: &waf.CustomBotAccurateArgs{
AccurateRules: waf.CustomBotAccurateAccurateRuleArray{
&waf.CustomBotAccurateAccurateRuleArgs{
HttpObj: pulumi.String("string"),
ObjType: pulumi.Int(0),
Opretar: pulumi.Int(0),
Property: pulumi.Int(0),
ValueString: pulumi.String("string"),
},
},
Logic: pulumi.Int(0),
},
Description: pulumi.String("string"),
VerificationExemptionTime: pulumi.Int(0),
})
resource "bytepluscc_waf_custom_bot" "customBotResource" {
lifecycle {
create_before_destroy = true
}
action = "string"
bot_type = "string"
enable = 0
host = "string"
accurate = {
accurate_rules = [{
http_obj = "string"
obj_type = 0
opretar = 0
property = 0
value_string = "string"
}]
logic = 0
}
description = "string"
verification_exemption_time = 0
}
var customBotResource = new CustomBot("customBotResource", CustomBotArgs.builder()
.action("string")
.botType("string")
.enable(0)
.host("string")
.accurate(CustomBotAccurateArgs.builder()
.accurateRules(CustomBotAccurateAccurateRuleArgs.builder()
.httpObj("string")
.objType(0)
.opretar(0)
.property(0)
.valueString("string")
.build())
.logic(0)
.build())
.description("string")
.verificationExemptionTime(0)
.build());
custom_bot_resource = bytepluscc.waf.CustomBot("customBotResource",
action="string",
bot_type="string",
enable=0,
host="string",
accurate={
"accurate_rules": [{
"http_obj": "string",
"obj_type": 0,
"opretar": 0,
"property": 0,
"value_string": "string",
}],
"logic": 0,
},
description="string",
verification_exemption_time=0)
const customBotResource = new bytepluscc.waf.CustomBot("customBotResource", {
action: "string",
botType: "string",
enable: 0,
host: "string",
accurate: {
accurateRules: [{
httpObj: "string",
objType: 0,
opretar: 0,
property: 0,
valueString: "string",
}],
logic: 0,
},
description: "string",
verificationExemptionTime: 0,
});
type: bytepluscc:waf:CustomBot
properties:
accurate:
accurateRules:
- httpObj: string
objType: 0
opretar: 0
property: 0
valueString: string
logic: 0
action: string
botType: string
description: string
enable: 0
host: string
verificationExemptionTime: 0
CustomBot Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The CustomBot resource accepts the following input properties:
- Action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- Bot
Type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- Enable int
- Enable or not. 0 means disabled, 1 means enabled
- Host string
- Domain name of the protected website for which the rule needs to be created
- Accurate
Byteplus.
Custom Bot Accurate - Advanced configuration details
- Description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- Verification
Exemption intTime - Verification exemption time
- Action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- Bot
Type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- Enable int
- Enable or not. 0 means disabled, 1 means enabled
- Host string
- Domain name of the protected website for which the rule needs to be created
- Accurate
Custom
Bot Accurate Args - Advanced configuration details
- Description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- Verification
Exemption intTime - Verification exemption time
- action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- bot_
type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- enable number
- Enable or not. 0 means disabled, 1 means enabled
- host string
- Domain name of the protected website for which the rule needs to be created
- accurate object
- Advanced configuration details
- description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- verification_
exemption_ numbertime - Verification exemption time
- action String
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- bot
Type String - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- enable Integer
- Enable or not. 0 means disabled, 1 means enabled
- host String
- Domain name of the protected website for which the rule needs to be created
- accurate
Custom
Bot Accurate - Advanced configuration details
- description String
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- verification
Exemption IntegerTime - Verification exemption time
- action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- bot
Type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- enable number
- Enable or not. 0 means disabled, 1 means enabled
- host string
- Domain name of the protected website for which the rule needs to be created
- accurate
Custom
Bot Accurate - Advanced configuration details
- description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- verification
Exemption numberTime - Verification exemption time
- action str
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- bot_
type str - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- enable int
- Enable or not. 0 means disabled, 1 means enabled
- host str
- Domain name of the protected website for which the rule needs to be created
- accurate
Custom
Bot Accurate Args - Advanced configuration details
- description str
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- verification_
exemption_ inttime - Verification exemption time
- action String
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- bot
Type String - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- enable Number
- Enable or not. 0 means disabled, 1 means enabled
- host String
- Domain name of the protected website for which the rule needs to be created
- accurate Property Map
- Advanced configuration details
- description String
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- verification
Exemption NumberTime - Verification exemption time
Outputs
All input properties are implicitly available as output properties. Additionally, the CustomBot resource produces the following output properties:
- Advanced int
- Is advanced rule
- Bot
Id string - Bot configuration ID
- Id string
- The provider-assigned unique ID for this managed resource.
- Project
Name string - Project name of the resource
- Rule
Tag string - Rule tags
- Update
Time string - Update time
- Advanced int
- Is advanced rule
- Bot
Id string - Bot configuration ID
- Id string
- The provider-assigned unique ID for this managed resource.
- Project
Name string - Project name of the resource
- Rule
Tag string - Rule tags
- Update
Time string - Update time
- advanced number
- Is advanced rule
- bot_
id string - Bot configuration ID
- id string
- The provider-assigned unique ID for this managed resource.
- project_
name string - Project name of the resource
- rule_
tag string - Rule tags
- update_
time string - Update time
- advanced Integer
- Is advanced rule
- bot
Id String - Bot configuration ID
- id String
- The provider-assigned unique ID for this managed resource.
- project
Name String - Project name of the resource
- rule
Tag String - Rule tags
- update
Time String - Update time
- advanced number
- Is advanced rule
- bot
Id string - Bot configuration ID
- id string
- The provider-assigned unique ID for this managed resource.
- project
Name string - Project name of the resource
- rule
Tag string - Rule tags
- update
Time string - Update time
- advanced int
- Is advanced rule
- bot_
id str - Bot configuration ID
- id str
- The provider-assigned unique ID for this managed resource.
- project_
name str - Project name of the resource
- rule_
tag str - Rule tags
- update_
time str - Update time
- advanced Number
- Is advanced rule
- bot
Id String - Bot configuration ID
- id String
- The provider-assigned unique ID for this managed resource.
- project
Name String - Project name of the resource
- rule
Tag String - Rule tags
- update
Time String - Update time
Look up Existing CustomBot Resource
Get an existing CustomBot resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: CustomBotState, opts?: CustomResourceOptions): CustomBot@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
accurate: Optional[CustomBotAccurateArgs] = None,
action: Optional[str] = None,
advanced: Optional[int] = None,
bot_id: Optional[str] = None,
bot_type: Optional[str] = None,
description: Optional[str] = None,
enable: Optional[int] = None,
host: Optional[str] = None,
project_name: Optional[str] = None,
rule_tag: Optional[str] = None,
update_time: Optional[str] = None,
verification_exemption_time: Optional[int] = None) -> CustomBotfunc GetCustomBot(ctx *Context, name string, id IDInput, state *CustomBotState, opts ...ResourceOption) (*CustomBot, error)public static CustomBot Get(string name, Input<string> id, CustomBotState? state, CustomResourceOptions? opts = null)public static CustomBot get(String name, Output<String> id, CustomBotState state, CustomResourceOptions options)resources: _: type: bytepluscc:waf:CustomBot get: id: ${id}import {
to = bytepluscc_waf_custom_bot.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Accurate
Byteplus.
Custom Bot Accurate - Advanced configuration details
- Action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- Advanced int
- Is advanced rule
- Bot
Id string - Bot configuration ID
- Bot
Type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- Description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- Enable int
- Enable or not. 0 means disabled, 1 means enabled
- Host string
- Domain name of the protected website for which the rule needs to be created
- Project
Name string - Project name of the resource
- Rule
Tag string - Rule tags
- Update
Time string - Update time
- Verification
Exemption intTime - Verification exemption time
- Accurate
Custom
Bot Accurate Args - Advanced configuration details
- Action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- Advanced int
- Is advanced rule
- Bot
Id string - Bot configuration ID
- Bot
Type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- Description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- Enable int
- Enable or not. 0 means disabled, 1 means enabled
- Host string
- Domain name of the protected website for which the rule needs to be created
- Project
Name string - Project name of the resource
- Rule
Tag string - Rule tags
- Update
Time string - Update time
- Verification
Exemption intTime - Verification exemption time
- accurate object
- Advanced configuration details
- action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- advanced number
- Is advanced rule
- bot_
id string - Bot configuration ID
- bot_
type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- enable number
- Enable or not. 0 means disabled, 1 means enabled
- host string
- Domain name of the protected website for which the rule needs to be created
- project_
name string - Project name of the resource
- rule_
tag string - Rule tags
- update_
time string - Update time
- verification_
exemption_ numbertime - Verification exemption time
- accurate
Custom
Bot Accurate - Advanced configuration details
- action String
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- advanced Integer
- Is advanced rule
- bot
Id String - Bot configuration ID
- bot
Type String - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- description String
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- enable Integer
- Enable or not. 0 means disabled, 1 means enabled
- host String
- Domain name of the protected website for which the rule needs to be created
- project
Name String - Project name of the resource
- rule
Tag String - Rule tags
- update
Time String - Update time
- verification
Exemption IntegerTime - Verification exemption time
- accurate
Custom
Bot Accurate - Advanced configuration details
- action string
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- advanced number
- Is advanced rule
- bot
Id string - Bot configuration ID
- bot
Type string - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- description string
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- enable number
- Enable or not. 0 means disabled, 1 means enabled
- host string
- Domain name of the protected website for which the rule needs to be created
- project
Name string - Project name of the resource
- rule
Tag string - Rule tags
- update
Time string - Update time
- verification
Exemption numberTime - Verification exemption time
- accurate
Custom
Bot Accurate Args - Advanced configuration details
- action str
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- advanced int
- Is advanced rule
- bot_
id str - Bot configuration ID
- bot_
type str - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- description str
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- enable int
- Enable or not. 0 means disabled, 1 means enabled
- host str
- Domain name of the protected website for which the rule needs to be created
- project_
name str - Project name of the resource
- rule_
tag str - Rule tags
- update_
time str - Update time
- verification_
exemption_ inttime - Verification exemption time
- accurate Property Map
- Advanced configuration details
- action String
- Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
- advanced Number
- Is advanced rule
- bot
Id String - Bot configuration ID
- bot
Type String - Bot name. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', underscore '_', and hyphen '-' are allowed. Length: 1–128 characters
- description String
- Description. Must start with a Chinese character, letter, or number. Letters, numbers, Chinese characters, period '.', space, underscore '_', hyphen '-', equal sign '=', English comma ',', Chinese comma ',', and Chinese period '。' are allowed. Length: 0–255 characters
- enable Number
- Enable or not. 0 means disabled, 1 means enabled
- host String
- Domain name of the protected website for which the rule needs to be created
- project
Name String - Project name of the resource
- rule
Tag String - Rule tags
- update
Time String - Update time
- verification
Exemption NumberTime - Verification exemption time
Supporting Types
CustomBotAccurate, CustomBotAccurateArgs
- Accurate
Rules List<Byteplus.Custom Bot Accurate Accurate Rule> - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- Logic int
- Advanced condition group logical relationship. 1: AND; 2: OR
- Accurate
Rules []CustomBot Accurate Accurate Rule - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- Logic int
- Advanced condition group logical relationship. 1: AND; 2: OR
- accurate_
rules list(object) - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- logic number
- Advanced condition group logical relationship. 1: AND; 2: OR
- accurate
Rules List<CustomBot Accurate Accurate Rule> - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- logic Integer
- Advanced condition group logical relationship. 1: AND; 2: OR
- accurate
Rules CustomBot Accurate Accurate Rule[] - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- logic number
- Advanced condition group logical relationship. 1: AND; 2: OR
- accurate_
rules Sequence[CustomBot Accurate Accurate Rule] - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- logic int
- Advanced condition group logical relationship. 1: AND; 2: OR
- accurate
Rules List<Property Map> - Advanced condition subrule list Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
- logic Number
- Advanced condition group logical relationship. 1: AND; 2: OR
CustomBotAccurateAccurateRule, CustomBotAccurateAccurateRuleArgs
- Http
Obj string - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- Obj
Type int - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- Opretar int
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- Property int
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- Value
String string - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
- Http
Obj string - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- Obj
Type int - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- Opretar int
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- Property int
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- Value
String string - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
- http_
obj string - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- obj_
type number - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- opretar number
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- property number
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- value_
string string - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
- http
Obj String - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- obj
Type Integer - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- opretar Integer
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- property Integer
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- value
String String - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
- http
Obj string - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- obj
Type number - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- opretar number
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- property number
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- value
String string - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
- http_
obj str - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- obj_
type int - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- opretar int
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- property int
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- value_
string str - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
- http
Obj String - HTTP objects. Supported match objects are as follows: request.schema: request protocol; request.uri: request URI; request.method: request method; request.path: request path; request.queryargs: request parameters; request.header: request headers; request.header.ua: request User-Agent; request.header.refer: request referer; request.header.cookie: request Cookie header; request.header.content-length: request body length; request.header.content-type: request body format; request.header.x-forwarded-for: X-Forwarded-For; request.header.clientip: client IP; request.queryargs.{Key}: custom request parameter (replace {Key} with the specific parameter name); request.header.{Key}: custom request header (replace {Key} with the specific header name); request.cookie.{Key}: custom Cookie (replace {Key} with the specific Cookie name); response.header: response headers; response.body: response body; response.code: response status code; response.header.content-type: response header content-type; response.header.{Key}: custom response header (replace {Key} with the specific header name); response.body.{Key}: response body field (replace {Key} with the specific field name); request.ja3-hash: JA3 Hash (applicable only to byteplus-global region). You cannot directly pass generalized forms such as request.queryargs., request.header., request.cookie., response.header., response.body.*; you must provide a specific Key.
- obj
Type Number - Enumeration value for the match object type, used to specify the match object type for subrules in advanced conditions. Supported values are as follows: 0: request.schema; 1: request.uri; 2: request.method; 3: request.path; 4: request.queryargs; 5: request.header; 6: request.header.ua; 7: request.header.refer; 8: request.header.cookie; 9: request.header.content-length; 10: request.header.content-type; 11: request.header.x-forwarded-for; 12: request.header.clientip; 13: request.queryargs.{Key}; 14: request.header.{Key}; 15: request.cookie.{Key}; 17: response.header; 18: response.body; 19: response.code; 20: response.header.content-type; 21: response.header.{Key}; 22: response.body.{Key}; 23: request.ja3-hash (applicable only to byteplus-global regions)
- opretar Number
- Enumeration values for match operators, used to specify how subrules are matched in advanced conditions. Supported values are as follows: 0: greater than; 1: greater than or equal to; 2: equal to; 3: less than; 4: less than or equal to; 5: not equal to; 6: contains substring; 7: does not contain substring; 8: prefix match; 9: prefix does not match; 10: suffix match; 11: suffix does not match; 12: contains all match sets; 13: does not contain all match sets; 14: belongs to match set; 15: does not belong to match set; 16: regex match; 17: recognized as IP; 18: recognized as IPv4; 19: recognized as IPv6; 20: recognized as private IP; 21: recognized as public IP; 22: reserved value; 23: belongs to IP group; 24: does not belong to IP group; 25: belongs to IP location; 26: does not belong to IP location; 27: contains IP intelligence; 28: belongs to ASN; 29: does not belong to ASN.
- property Number
- Enumeration value for the match attribute type. Default is 0 (except for special IP recognition scenarios). Supported values are as follows: 0: Value, applicable to most match object scenarios, such as request protocol, URI, method, request header, client IP, JA3 Hash, etc.; 5: IP, only used for the following IP recognition operations: 17 (recognize as IP), 18 (recognize as IPv4), 19 (recognize as IPv6), 20 (recognize as private IP), 21 (recognize as public IP)
- value
String String - Specific value corresponding to the match rule. When the match object is a generalized object such as request.header.{Key}, request.queryargs.{Key}, or request.cookie.{Key}, this field indicates the match value for the corresponding Key. Special note: When the operator (Operator) is 17, 18, 19, 20, or 21 and the match object (HttpObj) is request.header.clientip, this field does not need to be filled in; for all other operator scenarios, fill in the actual match value as required
Import
$ pulumi import bytepluscc:waf/customBot:CustomBot example "host|bot_id"
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- bytepluscc byteplus-sdk/pulumi-bytepluscc
- License
- MPL-2.0
- Notes
- This Pulumi package is based on the
byteplusccTerraform Provider.
published on Thursday, Oct 15, 2026 by Byteplus