import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NatGatewayConfig extends cdktf.TerraformMetaArguments { /** * EIP IP address set bound to the gateway. The value of at least 1 and at most 10 if do not apply for a whitelist. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#assigned_eip_set NatGateway#assigned_eip_set} */ readonly assignedEipSet: string[]; /** * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#bandwidth NatGateway#bandwidth} */ readonly bandwidth?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#id NatGateway#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; /** * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#max_concurrent NatGateway#max_concurrent} */ readonly maxConcurrent?: number; /** * Name of the NAT gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#name NatGateway#name} */ readonly name: string; /** * 1: traditional NAT, 2: standard NAT, default value is 1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#nat_product_version NatGateway#nat_product_version} */ readonly natProductVersion?: number; /** * The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#stock_public_ip_addresses_bandwidth_out NatGateway#stock_public_ip_addresses_bandwidth_out} */ readonly stockPublicIpAddressesBandwidthOut?: number; /** * Subnet of NAT. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#subnet_id NatGateway#subnet_id} */ readonly subnetId?: string; /** * The available tags within this NAT gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#tags NatGateway#tags} */ readonly tags?: { [key: string]: string; }; /** * ID of the vpc. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#vpc_id NatGateway#vpc_id} */ readonly vpcId: string; /** * The availability zone, such as `ap-guangzhou-3`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#zone NatGateway#zone} */ readonly zone?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway tencentcloud_nat_gateway} */ export declare class NatGateway extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_nat_gateway"; /** * Generates CDKTF code for importing a NatGateway 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 NatGateway to import * @param importFromId The id of the existing NatGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NatGateway 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/nat_gateway tencentcloud_nat_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 NatGatewayConfig */ constructor(scope: Construct, id: string, config: NatGatewayConfig); private _assignedEipSet?; get assignedEipSet(): string[]; set assignedEipSet(value: string[]); get assignedEipSetInput(): string[]; private _bandwidth?; get bandwidth(): number; set bandwidth(value: number); resetBandwidth(): void; get bandwidthInput(): number; get createdTime(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _maxConcurrent?; get maxConcurrent(): number; set maxConcurrent(value: number); resetMaxConcurrent(): void; get maxConcurrentInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _natProductVersion?; get natProductVersion(): number; set natProductVersion(value: number); resetNatProductVersion(): void; get natProductVersionInput(): number; private _stockPublicIpAddressesBandwidthOut?; get stockPublicIpAddressesBandwidthOut(): number; set stockPublicIpAddressesBandwidthOut(value: number); resetStockPublicIpAddressesBandwidthOut(): void; get stockPublicIpAddressesBandwidthOutInput(): number; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }