import * as core from "@terrascript/core"; export interface OptionsArgs extends core.SchemaArgs { ipv6Support: boolean | core.BooleanOut; } export class Options extends core.Schema { @core.attr(Boolean) public ipv6Support!: boolean | core.BooleanOut; } export interface VpcAttachmentArgs extends core.ResourceArgs { /** * (Required) The ID of a core network for the VPC attachment. */ coreNetworkId: string | core.StringOut; /** * (Optional) Options for the VPC attachment. */ options?: Options; /** * (Required) The subnet ARN of the VPC attachment. */ subnetArns: core.Array | core.ArrayOut; /** * (Optional) Key-value tags for the Global Network. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ 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; /** * (Required) The ARN of the VPC. */ vpcArn: string | core.StringOut; } export class VpcAttachment extends core.Resource { /** * The ARN of the attachment. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The policy rule number associated with the attachment. */ @core.attr(Number, { computed: true }) public attachmentPolicyRuleNumber!: number | core.NumberOut; /** * The type of attachment. */ @core.attr(String, { computed: true }) public attachmentType!: string | core.StringOut; /** * The ARN of a core network. */ @core.attr(String, { computed: true }) public coreNetworkArn!: string | core.StringOut; /** * (Required) The ID of a core network for the VPC attachment. */ @core.attr(String) public coreNetworkId!: string | core.StringOut; /** * The Region where the edge is located. */ @core.attr(String, { computed: true }) public edgeLocation!: string | core.StringOut; /** * The ID of the attachment. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Options for the VPC attachment. */ @core.attr(Options) public options?: Options; /** * The ID of the attachment account owner. */ @core.attr(String, { computed: true }) public ownerAccountId!: string | core.StringOut; /** * The attachment resource ARN. */ @core.attr(String, { computed: true }) public resourceArn!: string | core.StringOut; /** * The name of the segment attachment. */ @core.attr(String, { computed: true }) public segmentName!: string | core.StringOut; /** * The state of the attachment. */ @core.attr(String, { computed: true }) public state!: string | core.StringOut; /** * (Required) The subnet ARN of the VPC attachment. */ @core.attr(String, { kind: "array" }) public subnetArns!: core.Array | core.ArrayOut; /** * (Optional) Key-value tags for the Global Network. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ @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; /** * (Required) The ARN of the VPC. */ @core.attr(String) public vpcArn!: string | core.StringOut; constructor(name: string, args?: VpcAttachmentArgs) { super(name, "aws_networkmanager_vpc_attachment", args); } public override getNamespace(): string { return "aws_networkmanager"; } }