@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
321 lines (320 loc) • 10.1 kB
TypeScript
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>;
}