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 AssociationArgs extends core.SchemaArgs { allocationId: string | core.StringOut; associationId: string | core.StringOut; carrierIp: string | core.StringOut; customerOwnedIp: string | core.StringOut; ipOwnerId: string | core.StringOut; publicDnsName: string | core.StringOut; publicIp: string | core.StringOut; } export class Association extends core.Schema { @core.attr(String, { computed: true }) public allocationId!: string | core.StringOut; @core.attr(String, { computed: true }) public associationId!: string | core.StringOut; @core.attr(String, { computed: true }) public carrierIp!: string | core.StringOut; @core.attr(String, { computed: true }) public customerOwnedIp!: string | core.StringOut; @core.attr(String, { computed: true }) public ipOwnerId!: string | core.StringOut; @core.attr(String, { computed: true }) public publicDnsName!: string | core.StringOut; @core.attr(String, { computed: true }) public publicIp!: string | core.StringOut; } export interface AttachmentArgs extends core.SchemaArgs { attachmentId: string | core.StringOut; deviceIndex: number | core.NumberOut; instanceId: string | core.StringOut; instanceOwnerId: string | core.StringOut; } export class Attachment extends core.Schema { @core.attr(String, { computed: true }) public attachmentId!: string | core.StringOut; @core.attr(Number, { computed: true }) public deviceIndex!: number | core.NumberOut; @core.attr(String, { computed: true }) public instanceId!: string | core.StringOut; @core.attr(String, { computed: true }) public instanceOwnerId!: string | core.StringOut; } export interface DsNetworkInterfaceArgs { filter?: core.Array | core.ArrayOut; id?: string | core.StringOut; /** * Any tags assigned to the network interface. */ tags?: core.Map | core.MapOut; } export class DsNetworkInterface extends core.Data { /** * The ARN of the network interface. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The association information for an Elastic IP address (IPv4) associated with the network interface. * See supported fields below. */ @core.attr(Association, { computed: true, kind: "array" }) public association!: core.Array | core.ArrayOut; @core.attr(Attachment, { computed: true, kind: "array" }) public attachment!: core.Array | core.ArrayOut; /** * The Availability Zone. */ @core.attr(String, { computed: true }) public availabilityZone!: string | core.StringOut; /** * Description of the network interface. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public id?: string | core.StringOut; /** * The type of interface. */ @core.attr(String, { computed: true }) public interfaceType!: string | core.StringOut; /** * List of IPv6 addresses to assign to the ENI. */ @core.attr(String, { computed: true, kind: "array" }) public ipv6Addresses!: core.Array | core.ArrayOut; /** * The MAC address. */ @core.attr(String, { computed: true }) public macAddress!: string | core.StringOut; /** * The Amazon Resource Name (ARN) of the Outpost. */ @core.attr(String, { computed: true }) public outpostArn!: string | core.StringOut; /** * The AWS account ID of the owner of the network interface. */ @core.attr(String, { computed: true }) public ownerId!: string | core.StringOut; /** * The private DNS name. */ @core.attr(String, { computed: true }) public privateDnsName!: string | core.StringOut; /** * The private IPv4 address of the network interface within the subnet. */ @core.attr(String, { computed: true }) public privateIp!: string | core.StringOut; /** * The private IPv4 addresses associated with the network interface. */ @core.attr(String, { computed: true, kind: "array" }) public privateIps!: core.Array | core.ArrayOut; /** * The ID of the entity that launched the instance on your behalf. */ @core.attr(String, { computed: true }) public requesterId!: string | core.StringOut; /** * The list of security groups for the network interface. */ @core.attr(String, { computed: true, kind: "array" }) public securityGroups!: core.Array | core.ArrayOut; /** * The ID of the subnet. */ @core.attr(String, { computed: true }) public subnetId!: string | core.StringOut; /** * Any tags assigned to the network interface. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; /** * The ID of the VPC. */ @core.attr(String, { computed: true }) public vpcId!: string | core.StringOut; constructor(name: string, args?: DsNetworkInterfaceArgs) { super(name, "aws_network_interface", args); } public override getNamespace(): string { return "aws_vpc"; } }