import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface WafCcConfig extends cdktf.TerraformMetaArguments { /** * Rule Action, 20 means observation, 21 means human-machine identification, 22 means interception, 23 means precise interception, 26 means precise human-machine identification, and 27 means JS verification. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#action_type WafCc#action_type} */ readonly actionType: string; /** * Advanced mode (whether to use session detection). 0(disabled) 1(enabled). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#advance WafCc#advance} */ readonly advance: string; /** * Cel expression. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#cel_rule WafCc#cel_rule} */ readonly celRule?: string; /** * Domain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#domain WafCc#domain} */ readonly domain: string; /** * WAF edition. clb-waf means clb-waf, sparta-waf means saas-waf. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#edition WafCc#edition} */ readonly edition: string; /** * Event ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#event_id WafCc#event_id} */ readonly eventId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#id WafCc#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * CC detection cycle. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#interval WafCc#interval} */ readonly interval: string; /** * CC detection threshold. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#limit WafCc#limit} */ readonly limit: string; /** * Frequency limiting method. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#limit_method WafCc#limit_method} */ readonly limitMethod?: string; /** * Logical operator of configuration mode, and/or. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#logical_op WafCc#logical_op} */ readonly logicalOp?: string; /** * Match method, 0(equal), 1(prefix), 2(contains), 3(not equal), 6(suffix), 7(not contains). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#match_func WafCc#match_func} */ readonly matchFunc: number; /** * Rule Name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#name WafCc#name} */ readonly name: string; /** * CC matching conditions JSON serialized string, example: [{"key":"Method","args":["=R0VU"],"match":"0","encodeflag":true}] * * Available key values: Method, Post, Referer, Cookie, User-Agent, CustomHeader, CaptchaRisk, CaptchaDeviceRisk, CaptchaScore * * Available match values: * - When Key is Method: 0 (equal to), 3 (not equal to) * - When Key is Post: 0 (equal to), 3 (not equal to) * - When Key is Cookie: 0 (equal to), 2 (contains), 3 (not equal to), 7 (does not contain) * - When Key is Referer: 0 (equal to), 3 (not equal to), 1 (prefix match), 6 (suffix match), 2 (contains), 7 (does not contain), 12 (exists), 5 (does not exist), 4 (content is empty) * - When Key is Cookie: 0 (equal to), 3 (not equal to), 2 (contains), 7 (does not contain), 12 (exists), 5 (does not exist), 4 (content is empty) * - When Key is User-Agent: 0 (equal to), 3 (not equal to), 1 (prefix match), 6 (suffix match), 2 (contains), 7 (does not contain), 12 (exists), 5 (does not exist), 4 (content is empty) * - When Key is CustomHeader: 0 (equal to), 3 (not equal to), 2 (contains), 7 (does not contain), 12 (exists), 5 (does not exist), 4 (content is empty) * - When Key is IPLocation: 13 (belongs to), 14 (does not belong to) * - When Key is CaptchaRisk: 0 (equal to), 3 (not equal to), 13 (belongs to), 14 (does not belong to), 12 (exists), 5 (does not exist) * - When Key is CaptchaDeviceRisk: 0 (equal to), 3 (not equal to), 13 (belongs to), 14 (does not belong to), 12 (exists), 5 (does not exist) * - When Key is CaptchaScore: 15 (numerically equal to), 16 (numerically not equal to), 17 (numerically greater than), 18 (numerically less than), 19 (numerically greater than or equal to), 20 (numerically less than or equal to), 12 (exists), 5 (does not exist) * * The args parameter represents matching content and requires encodeflag to be set to true. When Key is Post, Cookie, or CustomHeader, use equals sign = to concatenate Key and Value separately, and encode both with Base64, similar to YWJj=YWJj. When Key is Referer or User-Agent, use equals sign = to concatenate Value, similar to =YWJj. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#options_arr WafCc#options_arr} */ readonly optionsArr?: string; /** * Rule Priority. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#priority WafCc#priority} */ readonly priority: number; /** * Session ID that needs to be enabled for the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#session_applied WafCc#session_applied} */ readonly sessionApplied?: number[]; /** * Rule Status, 0 rule close, 1 rule open. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#status WafCc#status} */ readonly status: number; /** * Operate Type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#type WafCc#type} */ readonly type?: number; /** * Detection URL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#url WafCc#url} */ readonly url: string; /** * Action ValidTime, minute unit. Min: 60, Max: 604800. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#valid_time WafCc#valid_time} */ readonly validTime: number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc tencentcloud_waf_cc} */ export declare class WafCc extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_waf_cc"; /** * Generates CDKTF code for importing a WafCc resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the WafCc to import * @param importFromId The id of the existing WafCc that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the WafCc to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/waf_cc tencentcloud_waf_cc} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options WafCcConfig */ constructor(scope: Construct, id: string, config: WafCcConfig); private _actionType?; get actionType(): string; set actionType(value: string); get actionTypeInput(): string; private _advance?; get advance(): string; set advance(value: string); get advanceInput(): string; private _celRule?; get celRule(): string; set celRule(value: string); resetCelRule(): void; get celRuleInput(): string; private _domain?; get domain(): string; set domain(value: string); get domainInput(): string; private _edition?; get edition(): string; set edition(value: string); get editionInput(): string; private _eventId?; get eventId(): string; set eventId(value: string); resetEventId(): void; get eventIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _interval?; get interval(): string; set interval(value: string); get intervalInput(): string; private _limit?; get limit(): string; set limit(value: string); get limitInput(): string; private _limitMethod?; get limitMethod(): string; set limitMethod(value: string); resetLimitMethod(): void; get limitMethodInput(): string; private _logicalOp?; get logicalOp(): string; set logicalOp(value: string); resetLogicalOp(): void; get logicalOpInput(): string; private _matchFunc?; get matchFunc(): number; set matchFunc(value: number); get matchFuncInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _optionsArr?; get optionsArr(): string; set optionsArr(value: string); resetOptionsArr(): void; get optionsArrInput(): string; private _priority?; get priority(): number; set priority(value: number); get priorityInput(): number; get ruleId(): any; private _sessionApplied?; get sessionApplied(): number[]; set sessionApplied(value: number[]); resetSessionApplied(): void; get sessionAppliedInput(): number[]; private _status?; get status(): number; set status(value: number); get statusInput(): number; private _type?; get type(): number; set type(value: number); resetType(): void; get typeInput(): number; private _url?; get url(): string; set url(value: string); get urlInput(): string; private _validTime?; get validTime(): number; set validTime(value: number); get validTimeInput(): number; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }