1. Registry
  2. Packages
  3. Bytepluscc Provider
  4. API Docs
  5. waf
  6. CustomBot
Viewing docs for bytepluscc v0.0.55
published on Thursday, Oct 15, 2026 by Byteplus
bytepluscc logo bytepluscc
Viewing docs for bytepluscc v0.0.55
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
    BotType 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.CustomBotAccurate
    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
    VerificationExemptionTime int
    Verification exemption time
    Action string
    Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
    BotType 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 CustomBotAccurateArgs
    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
    VerificationExemptionTime int
    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_time number
    Verification exemption time
    action String
    Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
    botType 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 CustomBotAccurate
    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
    verificationExemptionTime Integer
    Verification exemption time
    action string
    Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
    botType 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 CustomBotAccurate
    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
    verificationExemptionTime number
    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 CustomBotAccurateArgs
    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_time int
    Verification exemption time
    action String
    Action. observe: Observe; block: Block; js: JS challenge; captcha: CAPTCHA; pow: Proof of Work; permit: Allow
    botType 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
    verificationExemptionTime Number
    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
    BotId string
    Bot configuration ID
    Id string
    The provider-assigned unique ID for this managed resource.
    ProjectName string
    Project name of the resource
    RuleTag string
    Rule tags
    UpdateTime string
    Update time
    Advanced int
    Is advanced rule
    BotId string
    Bot configuration ID
    Id string
    The provider-assigned unique ID for this managed resource.
    ProjectName string
    Project name of the resource
    RuleTag string
    Rule tags
    UpdateTime 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
    botId String
    Bot configuration ID
    id String
    The provider-assigned unique ID for this managed resource.
    projectName String
    Project name of the resource
    ruleTag String
    Rule tags
    updateTime String
    Update time
    advanced number
    Is advanced rule
    botId string
    Bot configuration ID
    id string
    The provider-assigned unique ID for this managed resource.
    projectName string
    Project name of the resource
    ruleTag string
    Rule tags
    updateTime 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
    botId String
    Bot configuration ID
    id String
    The provider-assigned unique ID for this managed resource.
    projectName String
    Project name of the resource
    ruleTag String
    Rule tags
    updateTime 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) -> CustomBot
    func 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.
    The following state arguments are supported:
    Accurate Byteplus.CustomBotAccurate
    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
    BotId string
    Bot configuration ID
    BotType 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
    ProjectName string
    Project name of the resource
    RuleTag string
    Rule tags
    UpdateTime string
    Update time
    VerificationExemptionTime int
    Verification exemption time
    Accurate CustomBotAccurateArgs
    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
    BotId string
    Bot configuration ID
    BotType 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
    ProjectName string
    Project name of the resource
    RuleTag string
    Rule tags
    UpdateTime string
    Update time
    VerificationExemptionTime int
    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_time number
    Verification exemption time
    accurate CustomBotAccurate
    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
    botId String
    Bot configuration ID
    botType 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
    projectName String
    Project name of the resource
    ruleTag String
    Rule tags
    updateTime String
    Update time
    verificationExemptionTime Integer
    Verification exemption time
    accurate CustomBotAccurate
    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
    botId string
    Bot configuration ID
    botType 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
    projectName string
    Project name of the resource
    ruleTag string
    Rule tags
    updateTime string
    Update time
    verificationExemptionTime number
    Verification exemption time
    accurate CustomBotAccurateArgs
    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_time int
    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
    botId String
    Bot configuration ID
    botType 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
    projectName String
    Project name of the resource
    ruleTag String
    Rule tags
    updateTime String
    Update time
    verificationExemptionTime Number
    Verification exemption time

    Supporting Types

    CustomBotAccurate, CustomBotAccurateArgs

    AccurateRules List<Byteplus.CustomBotAccurateAccurateRule>
    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
    AccurateRules []CustomBotAccurateAccurateRule
    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
    accurateRules List<CustomBotAccurateAccurateRule>
    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
    accurateRules CustomBotAccurateAccurateRule[]
    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[CustomBotAccurateAccurateRule]
    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
    accurateRules 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

    HttpObj 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.
    ObjType 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)
    ValueString 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
    HttpObj 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.
    ObjType 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)
    ValueString 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
    httpObj 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.
    objType 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)
    valueString 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
    httpObj 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.
    objType 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)
    valueString 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
    httpObj 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.
    objType 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)
    valueString 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 bytepluscc Terraform Provider.
    bytepluscc logo bytepluscc
    Viewing docs for bytepluscc v0.0.55
    published on Thursday, Oct 15, 2026 by Byteplus

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial