import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DayuL4RuleV2Config extends cdktf.TerraformMetaArguments { /** * Business of the resource that the layer 4 rule works for. Valid values: `bgpip` and `net`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#business DayuL4RuleV2#business} */ readonly business: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#id DayuL4RuleV2#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; /** * Resource id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#resource_id DayuL4RuleV2#resource_id} */ readonly resourceId: string; /** * The virtual port of the layer 4 rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#virtual_port DayuL4RuleV2#virtual_port} */ readonly virtualPort: number; /** * Resource vpn. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#vpn DayuL4RuleV2#vpn} */ readonly vpn: string; /** * rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#rules DayuL4RuleV2#rules} */ readonly rules: DayuL4RuleV2Rules; } export interface DayuL4RuleV2RulesSourceListStruct { /** * Source IP or domain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#source DayuL4RuleV2#source} */ readonly source: string; /** * Weight of the source. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#weight DayuL4RuleV2#weight} */ readonly weight: number; } export declare function dayuL4RuleV2RulesSourceListStructToTerraform(struct?: DayuL4RuleV2RulesSourceListStruct | cdktf.IResolvable): any; export declare function dayuL4RuleV2RulesSourceListStructToHclTerraform(struct?: DayuL4RuleV2RulesSourceListStruct | cdktf.IResolvable): any; export declare class DayuL4RuleV2RulesSourceListStructOutputReference 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(): DayuL4RuleV2RulesSourceListStruct | cdktf.IResolvable | undefined; set internalValue(value: DayuL4RuleV2RulesSourceListStruct | cdktf.IResolvable | undefined); private _source?; get source(): string; set source(value: string); get sourceInput(): string; private _weight?; get weight(): number; set weight(value: number); get weightInput(): number; } export declare class DayuL4RuleV2RulesSourceListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DayuL4RuleV2RulesSourceListStruct[] | 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): DayuL4RuleV2RulesSourceListStructOutputReference; } export interface DayuL4RuleV2Rules { /** * session hold switch. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#keep_enable DayuL4RuleV2#keep_enable} */ readonly keepEnable: boolean | cdktf.IResolvable; /** * The keeptime of the layer 4 rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#keeptime DayuL4RuleV2#keeptime} */ readonly keeptime: number; /** * LB type of the rule, `1` for weight cycling and `2` for IP hash. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#lb_type DayuL4RuleV2#lb_type} */ readonly lbType: number; /** * Protocol of the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#protocol DayuL4RuleV2#protocol} */ readonly protocol: string; /** * Corresponding regional information. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#region DayuL4RuleV2#region} */ readonly region: number; /** * Remove the watermark state. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#remove_switch DayuL4RuleV2#remove_switch} */ readonly removeSwitch: boolean | cdktf.IResolvable; /** * Name of the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#rule_name DayuL4RuleV2#rule_name} */ readonly ruleName: string; /** * The source port of the layer 4 rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#source_port DayuL4RuleV2#source_port} */ readonly sourcePort: number; /** * Source type, `1` for source of host, `2` for source of IP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#source_type DayuL4RuleV2#source_type} */ readonly sourceType: number; /** * The virtual port of the layer 4 rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#virtual_port DayuL4RuleV2#virtual_port} */ readonly virtualPort: number; /** * source_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#source_list DayuL4RuleV2#source_list} */ readonly sourceList: DayuL4RuleV2RulesSourceListStruct[] | cdktf.IResolvable; } export declare function dayuL4RuleV2RulesToTerraform(struct?: DayuL4RuleV2RulesOutputReference | DayuL4RuleV2Rules): any; export declare function dayuL4RuleV2RulesToHclTerraform(struct?: DayuL4RuleV2RulesOutputReference | DayuL4RuleV2Rules): any; export declare class DayuL4RuleV2RulesOutputReference 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(): DayuL4RuleV2Rules | undefined; set internalValue(value: DayuL4RuleV2Rules | undefined); private _keepEnable?; get keepEnable(): boolean | cdktf.IResolvable; set keepEnable(value: boolean | cdktf.IResolvable); get keepEnableInput(): any; private _keeptime?; get keeptime(): number; set keeptime(value: number); get keeptimeInput(): number; private _lbType?; get lbType(): number; set lbType(value: number); get lbTypeInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _region?; get region(): number; set region(value: number); get regionInput(): number; private _removeSwitch?; get removeSwitch(): boolean | cdktf.IResolvable; set removeSwitch(value: boolean | cdktf.IResolvable); get removeSwitchInput(): any; private _ruleName?; get ruleName(): string; set ruleName(value: string); get ruleNameInput(): string; private _sourcePort?; get sourcePort(): number; set sourcePort(value: number); get sourcePortInput(): number; private _sourceType?; get sourceType(): number; set sourceType(value: number); get sourceTypeInput(): number; private _virtualPort?; get virtualPort(): number; set virtualPort(value: number); get virtualPortInput(): number; private _sourceList; get sourceList(): DayuL4RuleV2RulesSourceListStructList; putSourceList(value: DayuL4RuleV2RulesSourceListStruct[] | cdktf.IResolvable): void; get sourceListInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2 tencentcloud_dayu_l4_rule_v2} */ export declare class DayuL4RuleV2 extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dayu_l4_rule_v2"; /** * Generates CDKTF code for importing a DayuL4RuleV2 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 DayuL4RuleV2 to import * @param importFromId The id of the existing DayuL4RuleV2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule_v2#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DayuL4RuleV2 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/dayu_l4_rule_v2 tencentcloud_dayu_l4_rule_v2} 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 DayuL4RuleV2Config */ constructor(scope: Construct, id: string, config: DayuL4RuleV2Config); private _business?; get business(): string; set business(value: string); get businessInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _resourceId?; get resourceId(): string; set resourceId(value: string); get resourceIdInput(): string; private _virtualPort?; get virtualPort(): number; set virtualPort(value: number); get virtualPortInput(): number; private _vpn?; get vpn(): string; set vpn(value: string); get vpnInput(): string; private _rules; get rules(): DayuL4RuleV2RulesOutputReference; putRules(value: DayuL4RuleV2Rules): void; get rulesInput(): DayuL4RuleV2Rules; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }