UNPKG

@volcengine/pulumi

Version:

A Pulumi package for creating and managing volcengine cloud resources.

321 lines (320 loc) 10.1 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides a resource to manage waf bot analyse protect rule * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcengine from "@volcengine/pulumi"; * * const foo = new volcengine.waf.BotAnalyseProtectRule("foo", { * accurateGroup: { * accurateRules: [ * { * httpObj: "request.uri", * objType: 1, * opretar: 2, * property: 0, * valueString: "tf", * }, * { * httpObj: "request.schema", * objType: 0, * opretar: 2, * property: 0, * valueString: "tf-2", * }, * ], * logic: 2, * }, * actionAfterVerification: 1, * actionType: 1, * effectTime: 1000, * enable: 1, * exemptionTime: 60, * field: "HEADER:User-Agent", * host: "www.tf-test.com", * path: "/mod", * pathThreshold: 1000, * projectName: "default", * rulePriority: 3, * singleProportion: 0.25, * singleThreshold: 100, * statisticalDuration: 50, * statisticalType: 2, * }); * ``` * * ## Import * * WafBotAnalyseProtectRule can be imported using the id, e.g. * * ```sh * $ pulumi import volcengine:waf/botAnalyseProtectRule:BotAnalyseProtectRule default resource_id:bot_space:host * ``` */ export declare class BotAnalyseProtectRule extends pulumi.CustomResource { /** * Get an existing BotAnalyseProtectRule resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BotAnalyseProtectRuleState, opts?: pulumi.CustomResourceOptions): BotAnalyseProtectRule; /** * Returns true if the given object is an instance of BotAnalyseProtectRule. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is BotAnalyseProtectRule; /** * Advanced conditions. */ readonly accurateGroup: pulumi.Output<outputs.waf.BotAnalyseProtectRuleAccurateGroup | undefined>; /** * Perform the action after verification/challenge. */ readonly actionAfterVerification: pulumi.Output<number | undefined>; /** * perform the action. */ readonly actionType: pulumi.Output<number>; /** * Limit the duration. */ readonly effectTime: pulumi.Output<number>; /** * Whether to enable the rules. */ readonly enable: pulumi.Output<number>; /** * The number of statistical protection rules enabled under the current domain name. */ readonly enableCount: pulumi.Output<number>; /** * Exemption time takes effect when the execution action is human-machine challenge /JS/ Proof of work. */ readonly exemptionTime: pulumi.Output<number | undefined>; /** * Statistical objects, with multiple objects separated by commas. */ readonly field: pulumi.Output<string>; /** * Website domain names that require the setting of protection rules. */ readonly host: pulumi.Output<string>; /** * The name of rule. */ readonly name: pulumi.Output<string>; /** * The requested path. */ readonly path: pulumi.Output<string>; /** * The path access frequency threshold is enabled when StatisticalType=1. */ readonly pathThreshold: pulumi.Output<number | undefined>; /** * The Name of the affiliated project resource. */ readonly projectName: pulumi.Output<string | undefined>; /** * Details of the rule group. */ readonly ruleGroups: pulumi.Output<outputs.waf.BotAnalyseProtectRuleRuleGroup[]>; /** * Priority of rule effectiveness. */ readonly rulePriority: pulumi.Output<number>; /** * The IP proportion of the same statistical object needs to be configured when StatisticalType=3. */ readonly singleProportion: pulumi.Output<number | undefined>; /** * The maximum number of ips of the same statistical object is enabled when StatisticalType=2. */ readonly singleThreshold: pulumi.Output<number>; /** * The duration of statistics. */ readonly statisticalDuration: pulumi.Output<number>; /** * Statistical content and methods. */ readonly statisticalType: pulumi.Output<number>; /** * The total number of statistical protection rules under the current domain name. */ readonly totalCount: pulumi.Output<number>; /** * Create a BotAnalyseProtectRule resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BotAnalyseProtectRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering BotAnalyseProtectRule resources. */ export interface BotAnalyseProtectRuleState { /** * Advanced conditions. */ accurateGroup?: pulumi.Input<inputs.waf.BotAnalyseProtectRuleAccurateGroup>; /** * Perform the action after verification/challenge. */ actionAfterVerification?: pulumi.Input<number>; /** * perform the action. */ actionType?: pulumi.Input<number>; /** * Limit the duration. */ effectTime?: pulumi.Input<number>; /** * Whether to enable the rules. */ enable?: pulumi.Input<number>; /** * The number of statistical protection rules enabled under the current domain name. */ enableCount?: pulumi.Input<number>; /** * Exemption time takes effect when the execution action is human-machine challenge /JS/ Proof of work. */ exemptionTime?: pulumi.Input<number>; /** * Statistical objects, with multiple objects separated by commas. */ field?: pulumi.Input<string>; /** * Website domain names that require the setting of protection rules. */ host?: pulumi.Input<string>; /** * The name of rule. */ name?: pulumi.Input<string>; /** * The requested path. */ path?: pulumi.Input<string>; /** * The path access frequency threshold is enabled when StatisticalType=1. */ pathThreshold?: pulumi.Input<number>; /** * The Name of the affiliated project resource. */ projectName?: pulumi.Input<string>; /** * Details of the rule group. */ ruleGroups?: pulumi.Input<pulumi.Input<inputs.waf.BotAnalyseProtectRuleRuleGroup>[]>; /** * Priority of rule effectiveness. */ rulePriority?: pulumi.Input<number>; /** * The IP proportion of the same statistical object needs to be configured when StatisticalType=3. */ singleProportion?: pulumi.Input<number>; /** * The maximum number of ips of the same statistical object is enabled when StatisticalType=2. */ singleThreshold?: pulumi.Input<number>; /** * The duration of statistics. */ statisticalDuration?: pulumi.Input<number>; /** * Statistical content and methods. */ statisticalType?: pulumi.Input<number>; /** * The total number of statistical protection rules under the current domain name. */ totalCount?: pulumi.Input<number>; } /** * The set of arguments for constructing a BotAnalyseProtectRule resource. */ export interface BotAnalyseProtectRuleArgs { /** * Advanced conditions. */ accurateGroup?: pulumi.Input<inputs.waf.BotAnalyseProtectRuleAccurateGroup>; /** * Perform the action after verification/challenge. */ actionAfterVerification?: pulumi.Input<number>; /** * perform the action. */ actionType: pulumi.Input<number>; /** * Limit the duration. */ effectTime: pulumi.Input<number>; /** * Whether to enable the rules. */ enable: pulumi.Input<number>; /** * Exemption time takes effect when the execution action is human-machine challenge /JS/ Proof of work. */ exemptionTime?: pulumi.Input<number>; /** * Statistical objects, with multiple objects separated by commas. */ field: pulumi.Input<string>; /** * Website domain names that require the setting of protection rules. */ host: pulumi.Input<string>; /** * The name of rule. */ name?: pulumi.Input<string>; /** * The requested path. */ path: pulumi.Input<string>; /** * The path access frequency threshold is enabled when StatisticalType=1. */ pathThreshold?: pulumi.Input<number>; /** * The Name of the affiliated project resource. */ projectName?: pulumi.Input<string>; /** * Priority of rule effectiveness. */ rulePriority: pulumi.Input<number>; /** * The IP proportion of the same statistical object needs to be configured when StatisticalType=3. */ singleProportion?: pulumi.Input<number>; /** * The maximum number of ips of the same statistical object is enabled when StatisticalType=2. */ singleThreshold: pulumi.Input<number>; /** * The duration of statistics. */ statisticalDuration: pulumi.Input<number>; /** * Statistical content and methods. */ statisticalType: pulumi.Input<number>; }