import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TseCngwCanaryRuleConfig extends cdktf.TerraformMetaArguments { /** * gateway ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#gateway_id TseCngwCanaryRule#gateway_id} */ readonly gatewayId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#id TseCngwCanaryRule#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; /** * service ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#service_id TseCngwCanaryRule#service_id} */ readonly serviceId: string; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#tags TseCngwCanaryRule#tags} */ readonly tags?: { [key: string]: string; }; /** * canary_rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#canary_rule TseCngwCanaryRule#canary_rule} */ readonly canaryRule: TseCngwCanaryRuleCanaryRule; } export interface TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct { /** * percent, 10 is 10%, valid values:0 to 100. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#percent TseCngwCanaryRule#percent} */ readonly percent?: number; /** * service ID, required when used as an input parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#service_id TseCngwCanaryRule#service_id} */ readonly serviceId?: string; /** * service name, meaningless when used as an input parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#service_name TseCngwCanaryRule#service_name} */ readonly serviceName?: string; } export declare function tseCngwCanaryRuleCanaryRuleBalancedServiceListStructToTerraform(struct?: TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct | cdktf.IResolvable): any; export declare function tseCngwCanaryRuleCanaryRuleBalancedServiceListStructToHclTerraform(struct?: TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct | cdktf.IResolvable): any; export declare class TseCngwCanaryRuleCanaryRuleBalancedServiceListStructOutputReference 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(): TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct | cdktf.IResolvable | undefined; set internalValue(value: TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct | cdktf.IResolvable | undefined); private _percent?; get percent(): number; set percent(value: number); resetPercent(): void; get percentInput(): number; private _serviceId?; get serviceId(): string; set serviceId(value: string); resetServiceId(): void; get serviceIdInput(): string; private _serviceName?; get serviceName(): string; set serviceName(value: string); resetServiceName(): void; get serviceNameInput(): string; get upstreamName(): any; } export declare class TseCngwCanaryRuleCanaryRuleBalancedServiceListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct[] | 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): TseCngwCanaryRuleCanaryRuleBalancedServiceListStructOutputReference; } export interface TseCngwCanaryRuleCanaryRuleConditionListStruct { /** * delimiter. valid when operator is in or not in, reference value:`,`, `;`,`\n`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#delimiter TseCngwCanaryRule#delimiter} */ readonly delimiter?: string; /** * global configuration ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#global_config_id TseCngwCanaryRule#global_config_id} */ readonly globalConfigId?: string; /** * global configuration name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#global_config_name TseCngwCanaryRule#global_config_name} */ readonly globalConfigName?: string; /** * parameter name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#key TseCngwCanaryRule#key} */ readonly key?: string; /** * operator.Reference value:`le`,`eq`,`lt`,`ne`,`ge`,`gt`,`regex`,`exists`,`in`,`not in`,`prefix`,`exact`,`regex`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#operator TseCngwCanaryRule#operator} */ readonly operator?: string; /** * type.Reference value:`path`,`method`,`query`,`header`,`cookie`,`body`,`system`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#type TseCngwCanaryRule#type} */ readonly type: string; /** * parameter value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#value TseCngwCanaryRule#value} */ readonly value?: string; } export declare function tseCngwCanaryRuleCanaryRuleConditionListStructToTerraform(struct?: TseCngwCanaryRuleCanaryRuleConditionListStruct | cdktf.IResolvable): any; export declare function tseCngwCanaryRuleCanaryRuleConditionListStructToHclTerraform(struct?: TseCngwCanaryRuleCanaryRuleConditionListStruct | cdktf.IResolvable): any; export declare class TseCngwCanaryRuleCanaryRuleConditionListStructOutputReference 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(): TseCngwCanaryRuleCanaryRuleConditionListStruct | cdktf.IResolvable | undefined; set internalValue(value: TseCngwCanaryRuleCanaryRuleConditionListStruct | cdktf.IResolvable | undefined); private _delimiter?; get delimiter(): string; set delimiter(value: string); resetDelimiter(): void; get delimiterInput(): string; private _globalConfigId?; get globalConfigId(): string; set globalConfigId(value: string); resetGlobalConfigId(): void; get globalConfigIdInput(): string; private _globalConfigName?; get globalConfigName(): string; set globalConfigName(value: string); resetGlobalConfigName(): void; get globalConfigNameInput(): string; private _key?; get key(): string; set key(value: string); resetKey(): void; get keyInput(): string; private _operator?; get operator(): string; set operator(value: string); resetOperator(): void; get operatorInput(): string; private _type?; get type(): string; set type(value: string); get typeInput(): string; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string; } export declare class TseCngwCanaryRuleCanaryRuleConditionListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TseCngwCanaryRuleCanaryRuleConditionListStruct[] | 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): TseCngwCanaryRuleCanaryRuleConditionListStructOutputReference; } export interface TseCngwCanaryRuleCanaryRule { /** * the status of canary rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#enabled TseCngwCanaryRule#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * priority. The value ranges from 0 to 100; the larger the value, the higher the priority; the priority cannot be repeated between different rules. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#priority TseCngwCanaryRule#priority} */ readonly priority: number; /** * service ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#service_id TseCngwCanaryRule#service_id} */ readonly serviceId?: string; /** * service name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#service_name TseCngwCanaryRule#service_name} */ readonly serviceName?: string; /** * balanced_service_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#balanced_service_list TseCngwCanaryRule#balanced_service_list} */ readonly balancedServiceList?: TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct[] | cdktf.IResolvable; /** * condition_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#condition_list TseCngwCanaryRule#condition_list} */ readonly conditionList?: TseCngwCanaryRuleCanaryRuleConditionListStruct[] | cdktf.IResolvable; } export declare function tseCngwCanaryRuleCanaryRuleToTerraform(struct?: TseCngwCanaryRuleCanaryRuleOutputReference | TseCngwCanaryRuleCanaryRule): any; export declare function tseCngwCanaryRuleCanaryRuleToHclTerraform(struct?: TseCngwCanaryRuleCanaryRuleOutputReference | TseCngwCanaryRuleCanaryRule): any; export declare class TseCngwCanaryRuleCanaryRuleOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): TseCngwCanaryRuleCanaryRule | undefined; set internalValue(value: TseCngwCanaryRuleCanaryRule | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _priority?; get priority(): number; set priority(value: number); get priorityInput(): number; private _serviceId?; get serviceId(): string; set serviceId(value: string); resetServiceId(): void; get serviceIdInput(): string; private _serviceName?; get serviceName(): string; set serviceName(value: string); resetServiceName(): void; get serviceNameInput(): string; private _balancedServiceList; get balancedServiceList(): TseCngwCanaryRuleCanaryRuleBalancedServiceListStructList; putBalancedServiceList(value: TseCngwCanaryRuleCanaryRuleBalancedServiceListStruct[] | cdktf.IResolvable): void; resetBalancedServiceList(): void; get balancedServiceListInput(): any; private _conditionList; get conditionList(): TseCngwCanaryRuleCanaryRuleConditionListStructList; putConditionList(value: TseCngwCanaryRuleCanaryRuleConditionListStruct[] | cdktf.IResolvable): void; resetConditionList(): void; get conditionListInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule tencentcloud_tse_cngw_canary_rule} */ export declare class TseCngwCanaryRule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tse_cngw_canary_rule"; /** * Generates CDKTF code for importing a TseCngwCanaryRule 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 TseCngwCanaryRule to import * @param importFromId The id of the existing TseCngwCanaryRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_canary_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TseCngwCanaryRule 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/tse_cngw_canary_rule tencentcloud_tse_cngw_canary_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 TseCngwCanaryRuleConfig */ constructor(scope: Construct, id: string, config: TseCngwCanaryRuleConfig); private _gatewayId?; get gatewayId(): string; set gatewayId(value: string); get gatewayIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _serviceId?; get serviceId(): string; set serviceId(value: string); get serviceIdInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _canaryRule; get canaryRule(): TseCngwCanaryRuleCanaryRuleOutputReference; putCanaryRule(value: TseCngwCanaryRuleCanaryRule): void; get canaryRuleInput(): TseCngwCanaryRuleCanaryRule; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }