import * as core from "@terrascript/core"; export interface FilterArgs extends core.SchemaArgs { name: string | core.StringOut; values: core.Array | core.ArrayOut; } export class Filter extends core.Schema { @core.attr(String) public name!: string | core.StringOut; @core.attr(String, { kind: "array" }) public values!: core.Array | core.ArrayOut; } export interface DsNatGatewayArgs { /** * (Optional) Custom filter block as described below. */ filter?: core.Array | core.ArrayOut; /** * (Optional) The id of the specific Nat Gateway to retrieve. */ id?: string | core.StringOut; /** * (Optional) The state of the NAT gateway (pending | failed | available | deleting | deleted ). */ state?: string | core.StringOut; /** * (Optional) The id of subnet that the Nat Gateway resides in. */ subnetId?: string | core.StringOut; /** * (Optional) A map of tags, each pair of which must exactly match */ tags?: core.Map | core.MapOut; /** * (Optional) The id of the VPC that the Nat Gateway resides in. */ vpcId?: string | core.StringOut; } export class DsNatGateway extends core.Data { /** * The Id of the EIP allocated to the selected Nat Gateway. */ @core.attr(String, { computed: true }) public allocationId!: string | core.StringOut; /** * The connectivity type of the NAT Gateway. */ @core.attr(String, { computed: true }) public connectivityType!: string | core.StringOut; /** * (Optional) Custom filter block as described below. */ @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; /** * (Optional) The id of the specific Nat Gateway to retrieve. */ @core.attr(String, { computed: true }) public id?: string | core.StringOut; /** * The Id of the ENI allocated to the selected Nat Gateway. */ @core.attr(String, { computed: true }) public networkInterfaceId!: string | core.StringOut; /** * The private Ip address of the selected Nat Gateway. */ @core.attr(String, { computed: true }) public privateIp!: string | core.StringOut; /** * The public Ip (EIP) address of the selected Nat Gateway. */ @core.attr(String, { computed: true }) public publicIp!: string | core.StringOut; /** * (Optional) The state of the NAT gateway (pending | failed | available | deleting | deleted ). */ @core.attr(String, { computed: true }) public state?: string | core.StringOut; /** * (Optional) The id of subnet that the Nat Gateway resides in. */ @core.attr(String, { computed: true }) public subnetId?: string | core.StringOut; /** * (Optional) A map of tags, each pair of which must exactly match */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; /** * (Optional) The id of the VPC that the Nat Gateway resides in. */ @core.attr(String, { computed: true }) public vpcId?: string | core.StringOut; constructor(name: string, args?: DsNatGatewayArgs) { super(name, "aws_nat_gateway", args); } public override getNamespace(): string { return "aws_vpc"; } }