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 DsEipArgs { /** * (Optional) One or more name/value pairs to use as filters. There are several valid keys, for a full * reference, check out the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ * API_DescribeAddresses.html). */ filter?: core.Array | core.ArrayOut; /** * (Optional) The allocation id of the specific VPC EIP to retrieve. If a classic EIP is required, do N * OT set `id`, only set `public_ip` */ id?: string | core.StringOut; /** * (Optional) The public IP of the specific EIP to retrieve. */ publicIp?: string | core.StringOut; /** * (Optional) A map of tags, each pair of which must exactly match a pair on the desired Elastic IP */ tags?: core.Map | core.MapOut; } export class DsEip extends core.Data { /** * The ID representing the association of the address with an instance in a VPC. */ @core.attr(String, { computed: true }) public associationId!: string | core.StringOut; /** * The carrier IP address. */ @core.attr(String, { computed: true }) public carrierIp!: string | core.StringOut; /** * Customer Owned IP. */ @core.attr(String, { computed: true }) public customerOwnedIp!: string | core.StringOut; /** * The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out [Customer-owne * d IP addresses guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-comp * onents.html#ip-addressing) */ @core.attr(String, { computed: true }) public customerOwnedIpv4Pool!: string | core.StringOut; /** * Indicates whether the address is for use in EC2-Classic (standard) or in a VPC (vpc). */ @core.attr(String, { computed: true }) public domain!: string | core.StringOut; /** * (Optional) One or more name/value pairs to use as filters. There are several valid keys, for a full * reference, check out the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ * API_DescribeAddresses.html). */ @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; /** * (Optional) The allocation id of the specific VPC EIP to retrieve. If a classic EIP is required, do N * OT set `id`, only set `public_ip` */ @core.attr(String, { computed: true }) public id?: string | core.StringOut; /** * The ID of the instance that the address is associated with (if any). */ @core.attr(String, { computed: true }) public instanceId!: string | core.StringOut; /** * The ID of the network interface. */ @core.attr(String, { computed: true }) public networkInterfaceId!: string | core.StringOut; /** * The ID of the AWS account that owns the network interface. */ @core.attr(String, { computed: true }) public networkInterfaceOwnerId!: string | core.StringOut; /** * The Private DNS associated with the Elastic IP address. */ @core.attr(String, { computed: true }) public privateDns!: string | core.StringOut; /** * The private IP address associated with the Elastic IP address. */ @core.attr(String, { computed: true }) public privateIp!: string | core.StringOut; /** * Public DNS associated with the Elastic IP address. */ @core.attr(String, { computed: true }) public publicDns!: string | core.StringOut; /** * (Optional) The public IP of the specific EIP to retrieve. */ @core.attr(String, { computed: true }) public publicIp?: string | core.StringOut; /** * The ID of an address pool. */ @core.attr(String, { computed: true }) public publicIpv4Pool!: string | core.StringOut; /** * (Optional) A map of tags, each pair of which must exactly match a pair on the desired Elastic IP */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; constructor(name: string, args?: DsEipArgs) { super(name, "aws_eip", args); } public override getNamespace(): string { return "aws_ec2"; } }