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.ec2transitgateway.VpcAttachment` 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, 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; /** * ARN of the attachment. */ readonly arn: pulumi.Output; /** * Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. */ readonly dnsSupport: pulumi.Output; /** * Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. */ readonly ipv6Support: pulumi.Output; /** * 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; /** * Whether Security Group Referencing Support is enabled. Valid values: `disable`, `enable`. */ readonly securityGroupReferencingSupport: pulumi.Output; /** * Identifiers of EC2 Subnets. */ readonly subnetIds: pulumi.Output; /** * 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`. **Setting this argument to** `false` will cause Terraform to remove the default association if it exists. This argument does not simply “ignore” the association; it actively manages (adds or removes) the association in AWS to match the value in your configuration. Do not attempt to manage the same association with both this resource and `aws.ec2transitgateway.RouteTableAssociation`, as this will cause perpetual diffs and resource churn. Use conditional logic to ensure only one resource manages the association at a time. */ readonly transitGatewayDefaultRouteTableAssociation: pulumi.Output; /** * 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`. **Setting this argument to** `false` will cause Terraform to remove the default propagation if it exists. This argument does not simply “ignore” the propagation; it actively manages (adds or removes) the propagation in AWS to match the value in your configuration. Do not attempt to manage the same propagation with both this resource and `aws.ec2transitgateway.RouteTablePropagation`, as this will cause perpetual diffs and resource churn. Use conditional logic to ensure only one resource manages the propagation at a time. */ readonly transitGatewayDefaultRouteTablePropagation: pulumi.Output; /** * Identifier of EC2 Transit Gateway. */ readonly transitGatewayId: pulumi.Output; /** * Identifier of EC2 VPC. */ readonly vpcId: pulumi.Output; /** * Identifier of the AWS account that owns the EC2 VPC. */ readonly vpcOwnerId: pulumi.Output; /** * 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; /** * ARN of the attachment. */ arn?: pulumi.Input; /** * Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. */ dnsSupport?: pulumi.Input; /** * Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. */ ipv6Support?: pulumi.Input; /** * 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; /** * Whether Security Group Referencing Support is enabled. Valid values: `disable`, `enable`. */ securityGroupReferencingSupport?: pulumi.Input; /** * Identifiers of EC2 Subnets. */ subnetIds?: pulumi.Input[] | undefined>; /** * 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; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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`. **Setting this argument to** `false` will cause Terraform to remove the default association if it exists. This argument does not simply “ignore” the association; it actively manages (adds or removes) the association in AWS to match the value in your configuration. Do not attempt to manage the same association with both this resource and `aws.ec2transitgateway.RouteTableAssociation`, as this will cause perpetual diffs and resource churn. Use conditional logic to ensure only one resource manages the association at a time. */ transitGatewayDefaultRouteTableAssociation?: pulumi.Input; /** * 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`. **Setting this argument to** `false` will cause Terraform to remove the default propagation if it exists. This argument does not simply “ignore” the propagation; it actively manages (adds or removes) the propagation in AWS to match the value in your configuration. Do not attempt to manage the same propagation with both this resource and `aws.ec2transitgateway.RouteTablePropagation`, as this will cause perpetual diffs and resource churn. Use conditional logic to ensure only one resource manages the propagation at a time. */ transitGatewayDefaultRouteTablePropagation?: pulumi.Input; /** * Identifier of EC2 Transit Gateway. */ transitGatewayId?: pulumi.Input; /** * Identifier of EC2 VPC. */ vpcId?: pulumi.Input; /** * Identifier of the AWS account that owns the EC2 VPC. */ vpcOwnerId?: pulumi.Input; } /** * 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; /** * Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. */ dnsSupport?: pulumi.Input; /** * Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. */ ipv6Support?: pulumi.Input; /** * 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; /** * Whether Security Group Referencing Support is enabled. Valid values: `disable`, `enable`. */ securityGroupReferencingSupport?: pulumi.Input; /** * Identifiers of EC2 Subnets. */ subnetIds: pulumi.Input[]>; /** * 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; } | undefined>; /** * 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`. **Setting this argument to** `false` will cause Terraform to remove the default association if it exists. This argument does not simply “ignore” the association; it actively manages (adds or removes) the association in AWS to match the value in your configuration. Do not attempt to manage the same association with both this resource and `aws.ec2transitgateway.RouteTableAssociation`, as this will cause perpetual diffs and resource churn. Use conditional logic to ensure only one resource manages the association at a time. */ transitGatewayDefaultRouteTableAssociation?: pulumi.Input; /** * 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`. **Setting this argument to** `false` will cause Terraform to remove the default propagation if it exists. This argument does not simply “ignore” the propagation; it actively manages (adds or removes) the propagation in AWS to match the value in your configuration. Do not attempt to manage the same propagation with both this resource and `aws.ec2transitgateway.RouteTablePropagation`, as this will cause perpetual diffs and resource churn. Use conditional logic to ensure only one resource manages the propagation at a time. */ transitGatewayDefaultRouteTablePropagation?: pulumi.Input; /** * Identifier of EC2 Transit Gateway. */ transitGatewayId: pulumi.Input; /** * Identifier of EC2 VPC. */ vpcId: pulumi.Input; } //# sourceMappingURL=vpcAttachment.d.ts.map