import * as core from "@terrascript/core"; export interface NatGatewayArgs extends core.ResourceArgs { /** * (Optional) The Allocation ID of the Elastic IP address for the gateway. Required for `connectivity_t * ype` of `public`. */ allocationId?: string | core.StringOut; /** * (Optional) Connectivity type for the gateway. Valid values are `private` and `public`. Defaults to ` * public`. */ connectivityType?: string | core.StringOut; /** * (Required) The Subnet ID of the subnet in which to place the gateway. */ subnetId: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class NatGateway extends core.Resource { /** * (Optional) The Allocation ID of the Elastic IP address for the gateway. Required for `connectivity_t * ype` of `public`. */ @core.attr(String) public allocationId?: string | core.StringOut; /** * (Optional) Connectivity type for the gateway. Valid values are `private` and `public`. Defaults to ` * public`. */ @core.attr(String) public connectivityType?: string | core.StringOut; /** * The ID of the NAT Gateway. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The ENI ID of the network interface created by the NAT gateway. */ @core.attr(String, { computed: true }) public networkInterfaceId!: string | core.StringOut; /** * The private IP address of the NAT Gateway. */ @core.attr(String, { computed: true }) public privateIp!: string | core.StringOut; /** * The public IP address of the NAT Gateway. */ @core.attr(String, { computed: true }) public publicIp!: string | core.StringOut; /** * (Required) The Subnet ID of the subnet in which to place the gateway. */ @core.attr(String) public subnetId!: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: NatGatewayArgs) { super(name, "aws_nat_gateway", args); } public override getNamespace(): string { return "aws_vpc"; } }