import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NatGatewaySnatConfig extends cdktf.TerraformMetaArguments { /** * Description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#description NatGatewaySnat#description} */ readonly description: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#id NatGatewaySnat#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; /** * Instance ID, required when `resource_type` is NETWORKINTERFACE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#instance_id NatGatewaySnat#instance_id} */ readonly instanceId?: string; /** * Private IPs of the instance's primary ENI, required when `resource_type` is NETWORKINTERFACE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#instance_private_ip_addr NatGatewaySnat#instance_private_ip_addr} */ readonly instancePrivateIpAddr?: string; /** * NAT gateway ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#nat_gateway_id NatGatewaySnat#nat_gateway_id} */ readonly natGatewayId: string; /** * Elastic IP address pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#public_ip_addr NatGatewaySnat#public_ip_addr} */ readonly publicIpAddr: string[]; /** * Resource type. Valid values: SUBNET, NETWORKINTERFACE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#resource_type NatGatewaySnat#resource_type} */ readonly resourceType: string; /** * The IPv4 CIDR of the subnet, required when `resource_type` is SUBNET. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#subnet_cidr_block NatGatewaySnat#subnet_cidr_block} */ readonly subnetCidrBlock?: string; /** * Subnet instance ID, required when `resource_type` is SUBNET. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#subnet_id NatGatewaySnat#subnet_id} */ readonly subnetId?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat tencentcloud_nat_gateway_snat} */ export declare class NatGatewaySnat extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_nat_gateway_snat"; /** * Generates CDKTF code for importing a NatGatewaySnat 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 NatGatewaySnat to import * @param importFromId The id of the existing NatGatewaySnat that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/nat_gateway_snat#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NatGatewaySnat 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_snat tencentcloud_nat_gateway_snat} 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 NatGatewaySnatConfig */ constructor(scope: Construct, id: string, config: NatGatewaySnatConfig); get createTime(): any; private _description?; get description(): string; set description(value: string); get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); resetInstanceId(): void; get instanceIdInput(): string; private _instancePrivateIpAddr?; get instancePrivateIpAddr(): string; set instancePrivateIpAddr(value: string); resetInstancePrivateIpAddr(): void; get instancePrivateIpAddrInput(): string; private _natGatewayId?; get natGatewayId(): string; set natGatewayId(value: string); get natGatewayIdInput(): string; private _publicIpAddr?; get publicIpAddr(): string[]; set publicIpAddr(value: string[]); get publicIpAddrInput(): string[]; private _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string; get snatId(): any; private _subnetCidrBlock?; get subnetCidrBlock(): string; set subnetCidrBlock(value: string); resetSubnetCidrBlock(): void; get subnetCidrBlockInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }