import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DayuL4RuleConfig extends cdktf.TerraformMetaArguments { /** * The destination port of the L4 rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#d_port DayuL4Rule#d_port} */ readonly dPort: number; /** * Health threshold of health check, and the default is 3. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is 2-10. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#health_check_health_num DayuL4Rule#health_check_health_num} */ readonly healthCheckHealthNum?: number; /** * Interval time of health check. The value range is 10-60 sec, and the default is 15 sec. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#health_check_interval DayuL4Rule#health_check_interval} */ readonly healthCheckInterval?: number; /** * Indicates whether health check is enabled. The default is `false`. Only valid when source list has more than one source item. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#health_check_switch DayuL4Rule#health_check_switch} */ readonly healthCheckSwitch?: boolean | cdktf.IResolvable; /** * HTTP Status Code. The default is 26 and value range is 2-60. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#health_check_timeout DayuL4Rule#health_check_timeout} */ readonly healthCheckTimeout?: number; /** * Unhealthy threshold of health check, and the default is 3. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. The value range is 2-10. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#health_check_unhealth_num DayuL4Rule#health_check_unhealth_num} */ readonly healthCheckUnhealthNum?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#id DayuL4Rule#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; /** * Name of the rule. When the `resource_type` is `net`, this field should be set with valid domain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#name DayuL4Rule#name} */ readonly name: string; /** * Protocol of the rule. Valid values: `http`, `https`. When `source_type` is 1(host source), the value of this field can only set with `tcp`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#protocol DayuL4Rule#protocol} */ readonly protocol: string; /** * ID of the resource that the layer 4 rule works for. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#resource_id DayuL4Rule#resource_id} */ readonly resourceId: string; /** * Type 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#resource_type DayuL4Rule#resource_type} */ readonly resourceType: string; /** * The source port of the L4 rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#s_port DayuL4Rule#s_port} */ readonly sPort: number; /** * Indicate that the session will keep or not, and default value is `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#session_switch DayuL4Rule#session_switch} */ readonly sessionSwitch?: boolean | cdktf.IResolvable; /** * Session keep time, only valid when `session_switch` is true, the available value ranges from 1 to 300 and unit is second. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#session_time DayuL4Rule#session_time} */ readonly sessionTime?: 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#source_type DayuL4Rule#source_type} */ readonly sourceType: number; /** * source_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#source_list DayuL4Rule#source_list} */ readonly sourceList: DayuL4RuleSourceListStruct[] | cdktf.IResolvable; } export interface DayuL4RuleSourceListStruct { /** * Source IP or domain, valid format of ip is like `1.1.1.1` and valid format of host source is like `abc.com`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#source DayuL4Rule#source} */ readonly source: string; /** * Weight of the source, the valid value ranges from 0 to 100. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#weight DayuL4Rule#weight} */ readonly weight: number; } export declare function dayuL4RuleSourceListStructToTerraform(struct?: DayuL4RuleSourceListStruct | cdktf.IResolvable): any; export declare function dayuL4RuleSourceListStructToHclTerraform(struct?: DayuL4RuleSourceListStruct | cdktf.IResolvable): any; export declare class DayuL4RuleSourceListStructOutputReference 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(): DayuL4RuleSourceListStruct | cdktf.IResolvable | undefined; set internalValue(value: DayuL4RuleSourceListStruct | 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 DayuL4RuleSourceListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DayuL4RuleSourceListStruct[] | 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): DayuL4RuleSourceListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule tencentcloud_dayu_l4_rule} */ export declare class DayuL4Rule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dayu_l4_rule"; /** * Generates CDKTF code for importing a DayuL4Rule 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 DayuL4Rule to import * @param importFromId The id of the existing DayuL4Rule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dayu_l4_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DayuL4Rule 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 tencentcloud_dayu_l4_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 DayuL4RuleConfig */ constructor(scope: Construct, id: string, config: DayuL4RuleConfig); private _dPort?; get dPort(): number; set dPort(value: number); get dPortInput(): number; private _healthCheckHealthNum?; get healthCheckHealthNum(): number; set healthCheckHealthNum(value: number); resetHealthCheckHealthNum(): void; get healthCheckHealthNumInput(): number; private _healthCheckInterval?; get healthCheckInterval(): number; set healthCheckInterval(value: number); resetHealthCheckInterval(): void; get healthCheckIntervalInput(): number; private _healthCheckSwitch?; get healthCheckSwitch(): boolean | cdktf.IResolvable; set healthCheckSwitch(value: boolean | cdktf.IResolvable); resetHealthCheckSwitch(): void; get healthCheckSwitchInput(): any; private _healthCheckTimeout?; get healthCheckTimeout(): number; set healthCheckTimeout(value: number); resetHealthCheckTimeout(): void; get healthCheckTimeoutInput(): number; private _healthCheckUnhealthNum?; get healthCheckUnhealthNum(): number; set healthCheckUnhealthNum(value: number); resetHealthCheckUnhealthNum(): void; get healthCheckUnhealthNumInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get lbType(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _resourceId?; get resourceId(): string; set resourceId(value: string); get resourceIdInput(): string; private _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string; get ruleId(): any; private _sPort?; get sPort(): number; set sPort(value: number); get sPortInput(): number; private _sessionSwitch?; get sessionSwitch(): boolean | cdktf.IResolvable; set sessionSwitch(value: boolean | cdktf.IResolvable); resetSessionSwitch(): void; get sessionSwitchInput(): any; private _sessionTime?; get sessionTime(): number; set sessionTime(value: number); resetSessionTime(): void; get sessionTimeInput(): number; private _sourceType?; get sourceType(): number; set sourceType(value: number); get sourceTypeInput(): number; private _sourceList; get sourceList(): DayuL4RuleSourceListStructList; putSourceList(value: DayuL4RuleSourceListStruct[] | cdktf.IResolvable): void; get sourceListInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }