UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

227 lines (226 loc) • 10.4 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages an EC2 Transit Gateway VPC Attachment. For examples of custom route table association and propagation, see the EC2 Transit Gateway Networking Examples Guide. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.ec2transitgateway.VpcAttachment("example", { * subnetIds: [exampleAwsSubnet.id], * transitGatewayId: exampleAwsEc2TransitGateway.id, * vpcId: exampleAwsVpc.id, * }); * ``` * * ## Import * * Using `pulumi import`, import `aws_ec2_transit_gateway_vpc_attachment` using the EC2 Transit Gateway Attachment identifier. For example: * * ```sh * $ pulumi import aws:ec2transitgateway/vpcAttachment:VpcAttachment example tgw-attach-12345678 * ``` */ export declare class VpcAttachment extends pulumi.CustomResource { /** * Get an existing VpcAttachment resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcAttachmentState, opts?: pulumi.CustomResourceOptions): VpcAttachment; /** * Returns true if the given object is an instance of VpcAttachment. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VpcAttachment; /** * Whether Appliance Mode support is enabled. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. Valid values: `disable`, `enable`. Default value: `disable`. */ readonly applianceModeSupport: pulumi.Output<string | undefined>; /** * ARN of the attachment. */ readonly arn: pulumi.Output<string>; /** * Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. */ readonly dnsSupport: pulumi.Output<string | undefined>; /** * Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. */ readonly ipv6Support: pulumi.Output<string | undefined>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output<string>; /** * Whether Security Group Referencing Support is enabled. Valid values: `disable`, `enable`. */ readonly securityGroupReferencingSupport: pulumi.Output<string>; /** * Identifiers of EC2 Subnets. */ readonly subnetIds: pulumi.Output<string[]>; /** * Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. */ readonly transitGatewayDefaultRouteTableAssociation: pulumi.Output<boolean>; /** * Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. */ readonly transitGatewayDefaultRouteTablePropagation: pulumi.Output<boolean>; /** * Identifier of EC2 Transit Gateway. */ readonly transitGatewayId: pulumi.Output<string>; /** * Identifier of EC2 VPC. */ readonly vpcId: pulumi.Output<string>; /** * Identifier of the AWS account that owns the EC2 VPC. */ readonly vpcOwnerId: pulumi.Output<string>; /** * Create a VpcAttachment resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VpcAttachmentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VpcAttachment resources. */ export interface VpcAttachmentState { /** * Whether Appliance Mode support is enabled. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. Valid values: `disable`, `enable`. Default value: `disable`. */ applianceModeSupport?: pulumi.Input<string>; /** * ARN of the attachment. */ arn?: pulumi.Input<string>; /** * Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. */ dnsSupport?: pulumi.Input<string>; /** * Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. */ ipv6Support?: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * Whether Security Group Referencing Support is enabled. Valid values: `disable`, `enable`. */ securityGroupReferencingSupport?: pulumi.Input<string>; /** * Identifiers of EC2 Subnets. */ subnetIds?: pulumi.Input<pulumi.Input<string>[]>; /** * Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. */ transitGatewayDefaultRouteTableAssociation?: pulumi.Input<boolean>; /** * Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. */ transitGatewayDefaultRouteTablePropagation?: pulumi.Input<boolean>; /** * Identifier of EC2 Transit Gateway. */ transitGatewayId?: pulumi.Input<string>; /** * Identifier of EC2 VPC. */ vpcId?: pulumi.Input<string>; /** * Identifier of the AWS account that owns the EC2 VPC. */ vpcOwnerId?: pulumi.Input<string>; } /** * The set of arguments for constructing a VpcAttachment resource. */ export interface VpcAttachmentArgs { /** * Whether Appliance Mode support is enabled. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. Valid values: `disable`, `enable`. Default value: `disable`. */ applianceModeSupport?: pulumi.Input<string>; /** * Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. */ dnsSupport?: pulumi.Input<string>; /** * Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. */ ipv6Support?: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * Whether Security Group Referencing Support is enabled. Valid values: `disable`, `enable`. */ securityGroupReferencingSupport?: pulumi.Input<string>; /** * Identifiers of EC2 Subnets. */ subnetIds: pulumi.Input<pulumi.Input<string>[]>; /** * Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. */ transitGatewayDefaultRouteTableAssociation?: pulumi.Input<boolean>; /** * Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. */ transitGatewayDefaultRouteTablePropagation?: pulumi.Input<boolean>; /** * Identifier of EC2 Transit Gateway. */ transitGatewayId: pulumi.Input<string>; /** * Identifier of EC2 VPC. */ vpcId: pulumi.Input<string>; }