» aws_default_vpc

Provides a resource to manage the default AWS VPC in the current region.

For AWS accounts created after 2013-12-04, each region comes with a Default VPC. This is an advanced resource, and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.

The aws_default_vpc behaves differently from normal resources, in that Terraform does not create this resource, but instead "adopts" it into management.

» Example Usage

Basic usage with tags:

resource "aws_default_vpc" "default" {
  tags = {
    Name = "Default VPC"

» Argument Reference

The arguments of an aws_default_vpc differ slightly from aws_vpc resources. Namely, the cidr_block, instance_tenancy and assign_generated_ipv6_cidr_block arguments are computed. The following arguments are still supported:

  • enable_dns_support - (Optional) A boolean flag to enable/disable DNS support in the VPC. Defaults true.
  • enable_dns_hostnames - (Optional) A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
  • enable_classiclink - (Optional) A boolean flag to enable/disable ClassicLink for the VPC. Only valid in regions and accounts that support EC2 Classic. See the ClassicLink documentation for more information. Defaults false.
  • tags - (Optional) A mapping of tags to assign to the resource.

» Removing aws_default_vpc from your configuration

The aws_default_vpc resource allows you to manage a region's default VPC, but Terraform cannot destroy it. Removing this resource from your configuration will remove it from your statefile and management, but will not destroy the VPC. You can resume managing the VPC via the AWS Console.

» Attributes Reference

In addition to all arguments above, the following attributes are exported:

» Import

Default VPCs can be imported using the vpc id, e.g.

$ terraform import aws_default_vpc.default vpc-a01106c2