UNPKG

@volcengine/pulumi

Version:

A Pulumi package for creating and managing volcengine cloud resources.

338 lines (337 loc) 9.96 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 cc rule * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcengine from "@volcengine/pulumi"; * * const foo = new volcengine.waf.CcRule("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, * }, * ccType: 1, * countTime: 102, * cronConfs: [ * { * crontab: "* 0 * * 1,2,3,4,5,6,0", * pathThreshold: 123, * singleThreshold: 234, * }, * { * crontab: "* 3-8 * * 1,2,3,4,5,6,0", * pathThreshold: 345, * singleThreshold: 456, * }, * ], * cronEnable: 1, * effectTime: 200, * enable: 1, * exemptionTime: 0, * field: "HEADER:User-Agemnt", * host: "www.tf-test.com", * pathThreshold: 101, * rulePriority: 2, * singleThreshold: 100, * url: "/", * }); * ``` * * ## Import * * WafCcRule can be imported using the id, e.g. * * ```sh * $ pulumi import volcengine:waf/ccRule:CcRule default resource_id:Host * ``` */ export declare class CcRule extends pulumi.CustomResource { /** * Get an existing CcRule 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?: CcRuleState, opts?: pulumi.CustomResourceOptions): CcRule; /** * Returns true if the given object is an instance of CcRule. 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 CcRule; /** * Advanced conditions. */ readonly accurateGroup: pulumi.Output<outputs.waf.CcRuleAccurateGroup | undefined>; /** * Whether to enable advanced conditions. */ readonly advancedEnable: pulumi.Output<boolean | undefined>; /** * The actions performed on subsequent requests after meeting the statistical conditions. */ readonly ccType: pulumi.Output<number>; /** * The statistical period of the strategy. */ readonly countTime: pulumi.Output<number>; /** * Details of the periodic loop configuration. */ readonly cronConfs: pulumi.Output<outputs.waf.CcRuleCronConf[] | undefined>; /** * Whether to set the cycle to take effect. */ readonly cronEnable: pulumi.Output<number | undefined>; /** * Limit the duration, that is, the effective duration of the action. */ readonly effectTime: pulumi.Output<number>; /** * Whether to enable the rules. */ readonly enable: pulumi.Output<number>; /** * The total number of enabled rules within the rule group. */ readonly enableCount: pulumi.Output<number>; /** * Strategy exemption time. */ readonly exemptionTime: pulumi.Output<number | undefined>; /** * statistical object. */ readonly field: pulumi.Output<string>; /** * Website domain names that require the setting of protection rules. */ readonly host: pulumi.Output<string>; /** * The creation time of the rule group. */ readonly insertTime: pulumi.Output<string>; /** * The name of cc rule. */ readonly name: pulumi.Output<string>; /** * The threshold of the total number of times the request path is accessed. */ readonly pathThreshold: pulumi.Output<number>; /** * The Name of the affiliated project resource. */ readonly projectName: pulumi.Output<string | undefined>; /** * Details of the rule group. */ readonly ruleGroups: pulumi.Output<outputs.waf.CcRuleRuleGroup[]>; /** * Rule execution priority. */ readonly rulePriority: pulumi.Output<number>; /** * The threshold of the number of times each statistical object accesses the request path. */ readonly singleThreshold: pulumi.Output<number>; /** * The total number of rules within the rule group. */ readonly totalCount: pulumi.Output<number>; /** * The website request path that needs protection. */ readonly url: pulumi.Output<string>; /** * Create a CcRule 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: CcRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CcRule resources. */ export interface CcRuleState { /** * Advanced conditions. */ accurateGroup?: pulumi.Input<inputs.waf.CcRuleAccurateGroup>; /** * Whether to enable advanced conditions. */ advancedEnable?: pulumi.Input<boolean>; /** * The actions performed on subsequent requests after meeting the statistical conditions. */ ccType?: pulumi.Input<number>; /** * The statistical period of the strategy. */ countTime?: pulumi.Input<number>; /** * Details of the periodic loop configuration. */ cronConfs?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleCronConf>[]>; /** * Whether to set the cycle to take effect. */ cronEnable?: pulumi.Input<number>; /** * Limit the duration, that is, the effective duration of the action. */ effectTime?: pulumi.Input<number>; /** * Whether to enable the rules. */ enable?: pulumi.Input<number>; /** * The total number of enabled rules within the rule group. */ enableCount?: pulumi.Input<number>; /** * Strategy exemption time. */ exemptionTime?: pulumi.Input<number>; /** * statistical object. */ field?: pulumi.Input<string>; /** * Website domain names that require the setting of protection rules. */ host?: pulumi.Input<string>; /** * The creation time of the rule group. */ insertTime?: pulumi.Input<string>; /** * The name of cc rule. */ name?: pulumi.Input<string>; /** * The threshold of the total number of times the request path is accessed. */ 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.CcRuleRuleGroup>[]>; /** * Rule execution priority. */ rulePriority?: pulumi.Input<number>; /** * The threshold of the number of times each statistical object accesses the request path. */ singleThreshold?: pulumi.Input<number>; /** * The total number of rules within the rule group. */ totalCount?: pulumi.Input<number>; /** * The website request path that needs protection. */ url?: pulumi.Input<string>; } /** * The set of arguments for constructing a CcRule resource. */ export interface CcRuleArgs { /** * Advanced conditions. */ accurateGroup?: pulumi.Input<inputs.waf.CcRuleAccurateGroup>; /** * Whether to enable advanced conditions. */ advancedEnable?: pulumi.Input<boolean>; /** * The actions performed on subsequent requests after meeting the statistical conditions. */ ccType: pulumi.Input<number>; /** * The statistical period of the strategy. */ countTime: pulumi.Input<number>; /** * Details of the periodic loop configuration. */ cronConfs?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleCronConf>[]>; /** * Whether to set the cycle to take effect. */ cronEnable?: pulumi.Input<number>; /** * Limit the duration, that is, the effective duration of the action. */ effectTime: pulumi.Input<number>; /** * Whether to enable the rules. */ enable: pulumi.Input<number>; /** * Strategy exemption time. */ exemptionTime?: pulumi.Input<number>; /** * statistical object. */ field: pulumi.Input<string>; /** * Website domain names that require the setting of protection rules. */ host: pulumi.Input<string>; /** * The name of cc rule. */ name?: pulumi.Input<string>; /** * The threshold of the total number of times the request path is accessed. */ pathThreshold: pulumi.Input<number>; /** * The Name of the affiliated project resource. */ projectName?: pulumi.Input<string>; /** * Rule execution priority. */ rulePriority: pulumi.Input<number>; /** * The threshold of the number of times each statistical object accesses the request path. */ singleThreshold: pulumi.Input<number>; /** * The website request path that needs protection. */ url: pulumi.Input<string>; }