import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoFunctionRuleConfig extends cdktf.TerraformMetaArguments { /** * ID of the Function. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#function_id TeoFunctionRule#function_id} */ readonly functionId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#id TeoFunctionRule#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; /** * Rule description, maximum support of 60 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#remark TeoFunctionRule#remark} */ readonly remark?: string; /** * ID of the site. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#zone_id TeoFunctionRule#zone_id} */ readonly zoneId: string; /** * function_rule_conditions block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#function_rule_conditions TeoFunctionRule#function_rule_conditions} */ readonly functionRuleConditions: TeoFunctionRuleFunctionRuleConditions[] | cdktf.IResolvable; } export interface TeoFunctionRuleFunctionRuleConditionsRuleConditions { /** * Whether the parameter value is case insensitive. Default value: false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#ignore_case TeoFunctionRule#ignore_case} */ readonly ignoreCase?: boolean | cdktf.IResolvable; /** * The parameter name of the match type. This field is required only when `Target=query_string/request_header`. * - `query_string`: Name of the query string, such as "lang" and "version" in "lang=cn&version=1". * - `request_header`: Name of the HTTP request header, such as "Accept-Language" in the "Accept-Language:zh-CN,zh;q=0.9" header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#name TeoFunctionRule#name} */ readonly name?: string; /** * Operator. Valid values: * - `equals`: Equals. * - `notEquals`: Does not equal. * - `exist`: Exists. * - `notexist`: Does not exist. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#operator TeoFunctionRule#operator} */ readonly operator: string; /** * The match type. Values: * - `filename`: File name. * - `extension`: File extension. * - `host`: Host. * - `full_url`: Full URL, which indicates the complete URL path under the current site and must contain the HTTP protocol, host, and path. * - `url`: Partial URL under the current site. * - `client_country`: Country/Region of the client. * - `query_string`: Query string in the request URL. * - `request_header`: HTTP request header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#target TeoFunctionRule#target} */ readonly target: string; /** * The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. * - When `Target=extension`, enter the file extension, such as "jpg" and "txt". * - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". * - When `Target=all`, it indicates any site request. * - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". * - When `Target=url`, enter the partial URL path under the current site, such as "/example". * - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". * - When `Target=client_country`, enter the ISO-3166 country/region code. * - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". * - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#values TeoFunctionRule#values} */ readonly values?: string[]; } export declare function teoFunctionRuleFunctionRuleConditionsRuleConditionsToTerraform(struct?: TeoFunctionRuleFunctionRuleConditionsRuleConditions | cdktf.IResolvable): any; export declare function teoFunctionRuleFunctionRuleConditionsRuleConditionsToHclTerraform(struct?: TeoFunctionRuleFunctionRuleConditionsRuleConditions | cdktf.IResolvable): any; export declare class TeoFunctionRuleFunctionRuleConditionsRuleConditionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): TeoFunctionRuleFunctionRuleConditionsRuleConditions | cdktf.IResolvable | undefined; set internalValue(value: TeoFunctionRuleFunctionRuleConditionsRuleConditions | cdktf.IResolvable | undefined); private _ignoreCase?; get ignoreCase(): boolean | cdktf.IResolvable; set ignoreCase(value: boolean | cdktf.IResolvable); resetIgnoreCase(): void; get ignoreCaseInput(): any; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _operator?; get operator(): string; set operator(value: string); get operatorInput(): string; private _target?; get target(): string; set target(value: string); get targetInput(): string; private _values?; get values(): string[]; set values(value: string[]); resetValues(): void; get valuesInput(): string[]; } export declare class TeoFunctionRuleFunctionRuleConditionsRuleConditionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoFunctionRuleFunctionRuleConditionsRuleConditions[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): TeoFunctionRuleFunctionRuleConditionsRuleConditionsOutputReference; } export interface TeoFunctionRuleFunctionRuleConditions { /** * rule_conditions block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#rule_conditions TeoFunctionRule#rule_conditions} */ readonly ruleConditions: TeoFunctionRuleFunctionRuleConditionsRuleConditions[] | cdktf.IResolvable; } export declare function teoFunctionRuleFunctionRuleConditionsToTerraform(struct?: TeoFunctionRuleFunctionRuleConditions | cdktf.IResolvable): any; export declare function teoFunctionRuleFunctionRuleConditionsToHclTerraform(struct?: TeoFunctionRuleFunctionRuleConditions | cdktf.IResolvable): any; export declare class TeoFunctionRuleFunctionRuleConditionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): TeoFunctionRuleFunctionRuleConditions | cdktf.IResolvable | undefined; set internalValue(value: TeoFunctionRuleFunctionRuleConditions | cdktf.IResolvable | undefined); private _ruleConditions; get ruleConditions(): TeoFunctionRuleFunctionRuleConditionsRuleConditionsList; putRuleConditions(value: TeoFunctionRuleFunctionRuleConditionsRuleConditions[] | cdktf.IResolvable): void; get ruleConditionsInput(): any; } export declare class TeoFunctionRuleFunctionRuleConditionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoFunctionRuleFunctionRuleConditions[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): TeoFunctionRuleFunctionRuleConditionsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule tencentcloud_teo_function_rule} */ export declare class TeoFunctionRule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_function_rule"; /** * Generates CDKTF code for importing a TeoFunctionRule 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 TeoFunctionRule to import * @param importFromId The id of the existing TeoFunctionRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_function_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoFunctionRule 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/teo_function_rule tencentcloud_teo_function_rule} 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 TeoFunctionRuleConfig */ constructor(scope: Construct, id: string, config: TeoFunctionRuleConfig); private _functionId?; get functionId(): string; set functionId(value: string); get functionIdInput(): string; get functionName(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get priority(): any; private _remark?; get remark(): string; set remark(value: string); resetRemark(): void; get remarkInput(): string; get ruleId(): any; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _functionRuleConditions; get functionRuleConditions(): TeoFunctionRuleFunctionRuleConditionsList; putFunctionRuleConditions(value: TeoFunctionRuleFunctionRuleConditions[] | cdktf.IResolvable): void; get functionRuleConditionsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }