import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TseCngwGatewayConfig extends cdktf.TerraformMetaArguments { /** * description information, up to 120 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#description TseCngwGateway#description} */ readonly description?: string; /** * whether to enable CLS log. Default value: fasle. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#enable_cls TseCngwGateway#enable_cls} */ readonly enableCls?: boolean | cdktf.IResolvable; /** * engine region of gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#engine_region TseCngwGateway#engine_region} */ readonly engineRegion?: string; /** * product version. Reference value: `TRIAL`, `STANDARD`(default value), `PROFESSIONAL`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#feature_version TseCngwGateway#feature_version} */ readonly featureVersion?: string; /** * gateway vwersion. Reference value: `2.4.1`, `2.5.1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#gateway_version TseCngwGateway#gateway_version} */ readonly gatewayVersion: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#id TseCngwGateway#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; /** * ingress class name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#ingress_class_name TseCngwGateway#ingress_class_name} */ readonly ingressClassName?: 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_gateway#internet_max_bandwidth_out TseCngwGateway#internet_max_bandwidth_out} */ readonly internetMaxBandwidthOut?: number; /** * gateway name, supports up to 60 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#name TseCngwGateway#name} */ readonly name: string; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#tags TseCngwGateway#tags} */ readonly tags?: { [key: string]: string; }; /** * trade type. Reference value: `0`: postpaid, `1`:Prepaid (Interface does not support the creation of prepaid instances yet). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#trade_type TseCngwGateway#trade_type} */ readonly tradeType?: number; /** * gateway type,currently only supports kong. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#type TseCngwGateway#type} */ readonly type: string; /** * internet_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#internet_config TseCngwGateway#internet_config} */ readonly internetConfig?: TseCngwGatewayInternetConfig; /** * node_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#node_config TseCngwGateway#node_config} */ readonly nodeConfig: TseCngwGatewayNodeConfig; /** * vpc_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#vpc_config TseCngwGateway#vpc_config} */ readonly vpcConfig: TseCngwGatewayVpcConfig; } export interface TseCngwGatewayInstancePort { } export declare function tseCngwGatewayInstancePortToTerraform(struct?: TseCngwGatewayInstancePort): any; export declare function tseCngwGatewayInstancePortToHclTerraform(struct?: TseCngwGatewayInstancePort): any; export declare class TseCngwGatewayInstancePortOutputReference 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(): TseCngwGatewayInstancePort | undefined; set internalValue(value: TseCngwGatewayInstancePort | undefined); get httpPort(): any; get httpsPort(): any; get tcpPort(): any; get udpPort(): any; } export declare class TseCngwGatewayInstancePortList 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): TseCngwGatewayInstancePortOutputReference; } export interface TseCngwGatewayInternetConfig { /** * description of clb. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#description TseCngwGateway#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_gateway#internet_address_version TseCngwGateway#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_gateway#internet_max_bandwidth_out TseCngwGateway#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_gateway#internet_pay_mode TseCngwGateway#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_gateway#master_zone_id TseCngwGateway#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_gateway#multi_zone_flag TseCngwGateway#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_gateway#sla_type TseCngwGateway#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_gateway#slave_zone_id TseCngwGateway#slave_zone_id} */ readonly slaveZoneId?: string; } export declare function tseCngwGatewayInternetConfigToTerraform(struct?: TseCngwGatewayInternetConfigOutputReference | TseCngwGatewayInternetConfig): any; export declare function tseCngwGatewayInternetConfigToHclTerraform(struct?: TseCngwGatewayInternetConfigOutputReference | TseCngwGatewayInternetConfig): any; export declare class TseCngwGatewayInternetConfigOutputReference 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(): TseCngwGatewayInternetConfig | undefined; set internalValue(value: TseCngwGatewayInternetConfig | 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 TseCngwGatewayNodeConfig { /** * node number, 2-50. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#number TseCngwGateway#number} */ readonly number: number; /** * specification, 1c2g|2c4g|4c8g|8c16g. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#specification TseCngwGateway#specification} */ readonly specification: string; } export declare function tseCngwGatewayNodeConfigToTerraform(struct?: TseCngwGatewayNodeConfigOutputReference | TseCngwGatewayNodeConfig): any; export declare function tseCngwGatewayNodeConfigToHclTerraform(struct?: TseCngwGatewayNodeConfigOutputReference | TseCngwGatewayNodeConfig): any; export declare class TseCngwGatewayNodeConfigOutputReference 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(): TseCngwGatewayNodeConfig | undefined; set internalValue(value: TseCngwGatewayNodeConfig | 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; } export interface TseCngwGatewayVpcConfig { /** * 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_gateway#subnet_id TseCngwGateway#subnet_id} */ readonly subnetId?: string; /** * VPC ID. Assign an IP address to the engine in the VPC subnet. Reference value: vpc-conz6aix. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#vpc_id TseCngwGateway#vpc_id} */ readonly vpcId?: string; } export declare function tseCngwGatewayVpcConfigToTerraform(struct?: TseCngwGatewayVpcConfigOutputReference | TseCngwGatewayVpcConfig): any; export declare function tseCngwGatewayVpcConfigToHclTerraform(struct?: TseCngwGatewayVpcConfigOutputReference | TseCngwGatewayVpcConfig): any; export declare class TseCngwGatewayVpcConfigOutputReference 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(): TseCngwGatewayVpcConfig | undefined; set internalValue(value: TseCngwGatewayVpcConfig | undefined); private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway tencentcloud_tse_cngw_gateway} */ export declare class TseCngwGateway extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tse_cngw_gateway"; /** * Generates CDKTF code for importing a TseCngwGateway 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 TseCngwGateway to import * @param importFromId The id of the existing TseCngwGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_gateway#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TseCngwGateway 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_gateway tencentcloud_tse_cngw_gateway} 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 TseCngwGatewayConfig */ constructor(scope: Construct, id: string, config: TseCngwGatewayConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _enableCls?; get enableCls(): boolean | cdktf.IResolvable; set enableCls(value: boolean | cdktf.IResolvable); resetEnableCls(): void; get enableClsInput(): any; private _engineRegion?; get engineRegion(): string; set engineRegion(value: string); resetEngineRegion(): void; get engineRegionInput(): string; private _featureVersion?; get featureVersion(): string; set featureVersion(value: string); resetFeatureVersion(): void; get featureVersionInput(): string; private _gatewayVersion?; get gatewayVersion(): string; set gatewayVersion(value: string); get gatewayVersionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _ingressClassName?; get ingressClassName(): string; set ingressClassName(value: string); resetIngressClassName(): void; get ingressClassNameInput(): string; private _instancePort; get instancePort(): TseCngwGatewayInstancePortList; 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; get publicIpAddresses(): any; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _tradeType?; get tradeType(): number; set tradeType(value: number); resetTradeType(): void; get tradeTypeInput(): number; private _type?; get type(): string; set type(value: string); get typeInput(): string; private _internetConfig; get internetConfig(): TseCngwGatewayInternetConfigOutputReference; putInternetConfig(value: TseCngwGatewayInternetConfig): void; resetInternetConfig(): void; get internetConfigInput(): TseCngwGatewayInternetConfig; private _nodeConfig; get nodeConfig(): TseCngwGatewayNodeConfigOutputReference; putNodeConfig(value: TseCngwGatewayNodeConfig): void; get nodeConfigInput(): TseCngwGatewayNodeConfig; private _vpcConfig; get vpcConfig(): TseCngwGatewayVpcConfigOutputReference; putVpcConfig(value: TseCngwGatewayVpcConfig): void; get vpcConfigInput(): TseCngwGatewayVpcConfig; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }