import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GwlbTargetGroupConfig extends cdktf.TerraformMetaArguments { /** * Whether "All Dead, All Alive" is supported. It is supported by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#all_dead_to_alive GwlbTargetGroup#all_dead_to_alive} */ readonly allDeadToAlive?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#id GwlbTargetGroup#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; /** * Default port of the target group, which can be used when servers are added later. Either 'Port' or 'TargetGroupInstances.N.port' must be filled in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#port GwlbTargetGroup#port} */ readonly port?: number; /** * GWLB target group protocol. * - TENCENT_GENEVE: GENEVE standard protocol; * - AWS_GENEVE: GENEVE compatibility protocol (a ticket is required for allowlisting). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#protocol GwlbTargetGroup#protocol} */ readonly protocol?: string; /** * Load balancing algorithm. * - IP_HASH_3_ELASTIC: elastic hashing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#schedule_algorithm GwlbTargetGroup#schedule_algorithm} */ readonly scheduleAlgorithm?: string; /** * Target group name, limited to 60 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#target_group_name GwlbTargetGroup#target_group_name} */ readonly targetGroupName?: string; /** * VPCID attribute of target group. If this parameter is left blank, the default VPC will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#vpc_id GwlbTargetGroup#vpc_id} */ readonly vpcId?: string; /** * health_check block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#health_check GwlbTargetGroup#health_check} */ readonly healthCheck?: GwlbTargetGroupHealthCheck; } export interface GwlbTargetGroupTargetGroupInstances { } export declare function gwlbTargetGroupTargetGroupInstancesToTerraform(struct?: GwlbTargetGroupTargetGroupInstances): any; export declare function gwlbTargetGroupTargetGroupInstancesToHclTerraform(struct?: GwlbTargetGroupTargetGroupInstances): any; export declare class GwlbTargetGroupTargetGroupInstancesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): GwlbTargetGroupTargetGroupInstances | undefined; set internalValue(value: GwlbTargetGroupTargetGroupInstances | undefined); get bindIp(): any; get port(): any; get weight(): any; } export declare class GwlbTargetGroupTargetGroupInstancesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): GwlbTargetGroupTargetGroupInstancesOutputReference; } export interface GwlbTargetGroupHealthCheck { /** * Health detection threshold. The default is 3 times. Value range: 2-10 times. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#health_num GwlbTargetGroup#health_num} */ readonly healthNum?: number; /** * Whether to enable the health check. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#health_switch GwlbTargetGroup#health_switch} */ readonly healthSwitch: boolean | cdktf.IResolvable; /** * Detection interval time. The default is 5 seconds. Value range: 2-300 seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#interval_time GwlbTargetGroup#interval_time} */ readonly intervalTime?: number; /** * Health check port, which is required when the probe protocol is TCP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#port GwlbTargetGroup#port} */ readonly port?: number; /** * Protocol used for health check, which supports PING and TCP and is PING by default. * - PING: icmp; * - TCP: tcp. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#protocol GwlbTargetGroup#protocol} */ readonly protocol?: string; /** * Health check timeout. The default is 2 seconds. Value range: 2-30 seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#timeout GwlbTargetGroup#timeout} */ readonly timeout?: number; /** * Unhealth detection threshold. The default is 3 times. Value range: 2-10 times. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#un_health_num GwlbTargetGroup#un_health_num} */ readonly unHealthNum?: number; } export declare function gwlbTargetGroupHealthCheckToTerraform(struct?: GwlbTargetGroupHealthCheckOutputReference | GwlbTargetGroupHealthCheck): any; export declare function gwlbTargetGroupHealthCheckToHclTerraform(struct?: GwlbTargetGroupHealthCheckOutputReference | GwlbTargetGroupHealthCheck): any; export declare class GwlbTargetGroupHealthCheckOutputReference 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(): GwlbTargetGroupHealthCheck | undefined; set internalValue(value: GwlbTargetGroupHealthCheck | undefined); private _healthNum?; get healthNum(): number; set healthNum(value: number); resetHealthNum(): void; get healthNumInput(): number; private _healthSwitch?; get healthSwitch(): boolean | cdktf.IResolvable; set healthSwitch(value: boolean | cdktf.IResolvable); get healthSwitchInput(): any; private _intervalTime?; get intervalTime(): number; set intervalTime(value: number); resetIntervalTime(): void; get intervalTimeInput(): number; private _port?; get port(): number; set port(value: number); resetPort(): void; get portInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; private _timeout?; get timeout(): number; set timeout(value: number); resetTimeout(): void; get timeoutInput(): number; private _unHealthNum?; get unHealthNum(): number; set unHealthNum(value: number); resetUnHealthNum(): void; get unHealthNumInput(): number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group tencentcloud_gwlb_target_group} */ export declare class GwlbTargetGroup extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_gwlb_target_group"; /** * Generates CDKTF code for importing a GwlbTargetGroup 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 GwlbTargetGroup to import * @param importFromId The id of the existing GwlbTargetGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/gwlb_target_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the GwlbTargetGroup 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/gwlb_target_group tencentcloud_gwlb_target_group} 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 GwlbTargetGroupConfig = {} */ constructor(scope: Construct, id: string, config?: GwlbTargetGroupConfig); private _allDeadToAlive?; get allDeadToAlive(): boolean | cdktf.IResolvable; set allDeadToAlive(value: boolean | cdktf.IResolvable); resetAllDeadToAlive(): void; get allDeadToAliveInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _port?; get port(): number; set port(value: number); resetPort(): void; get portInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; private _scheduleAlgorithm?; get scheduleAlgorithm(): string; set scheduleAlgorithm(value: string); resetScheduleAlgorithm(): void; get scheduleAlgorithmInput(): string; private _targetGroupInstances; get targetGroupInstances(): GwlbTargetGroupTargetGroupInstancesList; private _targetGroupName?; get targetGroupName(): string; set targetGroupName(value: string); resetTargetGroupName(): void; get targetGroupNameInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; private _healthCheck; get healthCheck(): GwlbTargetGroupHealthCheckOutputReference; putHealthCheck(value: GwlbTargetGroupHealthCheck): void; resetHealthCheck(): void; get healthCheckInput(): GwlbTargetGroupHealthCheck; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }