import * as core from "@terrascript/core"; export interface AttachmentArgs extends core.SchemaArgs { attachmentId: string | core.StringOut; deviceIndex: number | core.NumberOut; instance: string | core.StringOut; } export class Attachment extends core.Schema { @core.attr(String, { computed: true }) public attachmentId!: string | core.StringOut; @core.attr(Number) public deviceIndex!: number | core.NumberOut; @core.attr(String) public instance!: string | core.StringOut; } export interface NetworkInterfaceArgs extends core.ResourceArgs { attachment?: core.Array | core.ArrayOut; description?: string | core.StringOut; interfaceType?: string | core.StringOut; ipv4PrefixCount?: number | core.NumberOut; ipv4Prefixes?: core.Array | core.ArrayOut; ipv6AddressCount?: number | core.NumberOut; ipv6AddressList?: core.Array | core.ArrayOut; ipv6AddressListEnabled?: boolean | core.BooleanOut; ipv6Addresses?: core.Array | core.ArrayOut; ipv6PrefixCount?: number | core.NumberOut; ipv6Prefixes?: core.Array | core.ArrayOut; privateIp?: string | core.StringOut; privateIpList?: core.Array | core.ArrayOut; privateIpListEnabled?: boolean | core.BooleanOut; privateIps?: core.Array | core.ArrayOut; privateIpsCount?: number | core.NumberOut; securityGroups?: core.Array | core.ArrayOut; sourceDestCheck?: boolean | core.BooleanOut; subnetId: string | core.StringOut; tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; } export class NetworkInterface extends core.Resource { @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(Attachment, { computed: true, kind: "array" }) public attachment?: core.Array | core.ArrayOut; @core.attr(String) public description?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(String, { computed: true }) public interfaceType?: string | core.StringOut; @core.attr(Number, { computed: true }) public ipv4PrefixCount?: number | core.NumberOut; @core.attr(String, { computed: true, kind: "array" }) public ipv4Prefixes?: core.Array | core.ArrayOut; @core.attr(Number, { computed: true }) public ipv6AddressCount?: number | core.NumberOut; @core.attr(String, { computed: true, kind: "array" }) public ipv6AddressList?: core.Array | core.ArrayOut; @core.attr(Boolean) public ipv6AddressListEnabled?: boolean | core.BooleanOut; @core.attr(String, { computed: true, kind: "array" }) public ipv6Addresses?: core.Array | core.ArrayOut; @core.attr(Number, { computed: true }) public ipv6PrefixCount?: number | core.NumberOut; @core.attr(String, { computed: true, kind: "array" }) public ipv6Prefixes?: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public macAddress!: string | core.StringOut; @core.attr(String, { computed: true }) public outpostArn!: string | core.StringOut; @core.attr(String, { computed: true }) public ownerId!: string | core.StringOut; @core.attr(String, { computed: true }) public privateDnsName!: string | core.StringOut; @core.attr(String, { computed: true }) public privateIp?: string | core.StringOut; @core.attr(String, { computed: true, kind: "array" }) public privateIpList?: core.Array | core.ArrayOut; @core.attr(Boolean) public privateIpListEnabled?: boolean | core.BooleanOut; @core.attr(String, { computed: true, kind: "array" }) public privateIps?: core.Array | core.ArrayOut; @core.attr(Number, { computed: true }) public privateIpsCount?: number | core.NumberOut; @core.attr(String, { computed: true, kind: "array" }) public securityGroups?: core.Array | core.ArrayOut; @core.attr(Boolean) public sourceDestCheck?: boolean | core.BooleanOut; @core.attr(String) public subnetId!: string | core.StringOut; @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: NetworkInterfaceArgs) { super(name, "aws_network_interface", args); } public override getNamespace(): string { return "aws_vpc"; } }