import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TseCngwGroupConfig extends cdktf.TerraformMetaArguments { /** * description information of group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#description TseCngwGroup#description} */ readonly description?: string; /** * gateway IDonly postpaid gateway supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#gateway_id TseCngwGroup#gateway_id} */ readonly gatewayId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#id TseCngwGroup#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; /** * public network outbound traffic bandwidth,[1,2048]Mbps. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#internet_max_bandwidth_out TseCngwGroup#internet_max_bandwidth_out} */ readonly internetMaxBandwidthOut?: number; /** * gateway group name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#name TseCngwGroup#name} */ readonly name: string; /** * subnet ID. Assign an IP address to the engine in the VPC subnet. Reference value:- subnet-ahde9me9. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#subnet_id TseCngwGroup#subnet_id} */ readonly subnetId: string; /** * internet_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#internet_config TseCngwGroup#internet_config} */ readonly internetConfig?: TseCngwGroupInternetConfig; /** * node_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#node_config TseCngwGroup#node_config} */ readonly nodeConfig: TseCngwGroupNodeConfig; } export interface TseCngwGroupInternetConfig { /** * description of clb. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#description TseCngwGroup#description} */ readonly description?: string; /** * internet type. Reference value:- IPV4 (default value)- IPV6. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#internet_address_version TseCngwGroup#internet_address_version} */ readonly internetAddressVersion?: string; /** * public network bandwidth. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#internet_max_bandwidth_out TseCngwGroup#internet_max_bandwidth_out} */ readonly internetMaxBandwidthOut?: number; /** * trade type of internet. Reference value:- BANDWIDTH- TRAFFIC (default value). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#internet_pay_mode TseCngwGroup#internet_pay_mode} */ readonly internetPayMode?: string; /** * primary availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#master_zone_id TseCngwGroup#master_zone_id} */ readonly masterZoneId?: string; /** * Whether load balancing has multiple availability zones. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#multi_zone_flag TseCngwGroup#multi_zone_flag} */ readonly multiZoneFlag?: boolean | cdktf.IResolvable; /** * specification type of clb. Default shared type when this parameter is empty. Reference value:- SLA LCU-supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#sla_type TseCngwGroup#sla_type} */ readonly slaType?: string; /** * alternate availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#slave_zone_id TseCngwGroup#slave_zone_id} */ readonly slaveZoneId?: string; } export declare function tseCngwGroupInternetConfigToTerraform(struct?: TseCngwGroupInternetConfigOutputReference | TseCngwGroupInternetConfig): any; export declare function tseCngwGroupInternetConfigToHclTerraform(struct?: TseCngwGroupInternetConfigOutputReference | TseCngwGroupInternetConfig): any; export declare class TseCngwGroupInternetConfigOutputReference 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(): TseCngwGroupInternetConfig | undefined; set internalValue(value: TseCngwGroupInternetConfig | undefined); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _internetAddressVersion?; get internetAddressVersion(): string; set internetAddressVersion(value: string); resetInternetAddressVersion(): void; get internetAddressVersionInput(): string; private _internetMaxBandwidthOut?; get internetMaxBandwidthOut(): number; set internetMaxBandwidthOut(value: number); resetInternetMaxBandwidthOut(): void; get internetMaxBandwidthOutInput(): number; private _internetPayMode?; get internetPayMode(): string; set internetPayMode(value: string); resetInternetPayMode(): void; get internetPayModeInput(): string; private _masterZoneId?; get masterZoneId(): string; set masterZoneId(value: string); resetMasterZoneId(): void; get masterZoneIdInput(): string; private _multiZoneFlag?; get multiZoneFlag(): boolean | cdktf.IResolvable; set multiZoneFlag(value: boolean | cdktf.IResolvable); resetMultiZoneFlag(): void; get multiZoneFlagInput(): any; private _slaType?; get slaType(): string; set slaType(value: string); resetSlaType(): void; get slaTypeInput(): string; private _slaveZoneId?; get slaveZoneId(): string; set slaveZoneId(value: string); resetSlaveZoneId(): void; get slaveZoneIdInput(): string; } export interface TseCngwGroupNodeConfig { /** * group node number, 2-50. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#number TseCngwGroup#number} */ readonly number: number; /** * group specification, 1c2g|2c4g|4c8g|8c16g. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#specification TseCngwGroup#specification} */ readonly specification: string; } export declare function tseCngwGroupNodeConfigToTerraform(struct?: TseCngwGroupNodeConfigOutputReference | TseCngwGroupNodeConfig): any; export declare function tseCngwGroupNodeConfigToHclTerraform(struct?: TseCngwGroupNodeConfigOutputReference | TseCngwGroupNodeConfig): any; export declare class TseCngwGroupNodeConfigOutputReference 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(): TseCngwGroupNodeConfig | undefined; set internalValue(value: TseCngwGroupNodeConfig | undefined); private _number?; get number(): number; set number(value: number); get numberInput(): number; private _specification?; get specification(): string; set specification(value: string); get specificationInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group tencentcloud_tse_cngw_group} */ export declare class TseCngwGroup extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tse_cngw_group"; /** * Generates CDKTF code for importing a TseCngwGroup 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 TseCngwGroup to import * @param importFromId The id of the existing TseCngwGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TseCngwGroup 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_group tencentcloud_tse_cngw_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 TseCngwGroupConfig */ constructor(scope: Construct, id: string, config: TseCngwGroupConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _gatewayId?; get gatewayId(): string; set gatewayId(value: string); get gatewayIdInput(): string; get groupId(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _internetMaxBandwidthOut?; get internetMaxBandwidthOut(): number; set internetMaxBandwidthOut(value: number); resetInternetMaxBandwidthOut(): void; get internetMaxBandwidthOutInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _internetConfig; get internetConfig(): TseCngwGroupInternetConfigOutputReference; putInternetConfig(value: TseCngwGroupInternetConfig): void; resetInternetConfig(): void; get internetConfigInput(): TseCngwGroupInternetConfig; private _nodeConfig; get nodeConfig(): TseCngwGroupNodeConfigOutputReference; putNodeConfig(value: TseCngwGroupNodeConfig): void; get nodeConfigInput(): TseCngwGroupNodeConfig; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }