aws logo
AWS Classic v5.32.0, Mar 17 23

aws.ec2.DefaultVpc

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

If you created your AWS account after 2013-12-04 you have a default VPC in each AWS Region.

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.ec2.DefaultVpc resource behaves differently from normal resources in that if a default VPC exists, this provider does not create this resource, but instead “adopts” it into management. If no default VPC exists, the provider creates a new default VPC, which leads to the implicit creation of other resources. By default, pulumi destroy does not delete the default VPC but does remove the resource from the state. Set the force_destroy argument to true to delete the default VPC.

Example Usage

Basic usage with tags

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var @default = new Aws.Ec2.DefaultVpc("default", new()
    {
        Tags = 
        {
            { "Name", "Default VPC" },
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewDefaultVpc(ctx, "default", &ec2.DefaultVpcArgs{
			Tags: pulumi.StringMap{
				"Name": pulumi.String("Default VPC"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.DefaultVpc;
import com.pulumi.aws.ec2.DefaultVpcArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var default_ = new DefaultVpc("default", DefaultVpcArgs.builder()        
            .tags(Map.of("Name", "Default VPC"))
            .build());

    }
}
import pulumi
import pulumi_aws as aws

default = aws.ec2.DefaultVpc("default", tags={
    "Name": "Default VPC",
})
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const _default = new aws.ec2.DefaultVpc("default", {tags: {
    Name: "Default VPC",
}});
resources:
  default:
    type: aws:ec2:DefaultVpc
    properties:
      tags:
        Name: Default VPC

Create DefaultVpc Resource

new DefaultVpc(name: string, args?: DefaultVpcArgs, opts?: CustomResourceOptions);
@overload
def DefaultVpc(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               assign_generated_ipv6_cidr_block: Optional[bool] = None,
               enable_classiclink: Optional[bool] = None,
               enable_classiclink_dns_support: Optional[bool] = None,
               enable_dns_hostnames: Optional[bool] = None,
               enable_dns_support: Optional[bool] = None,
               enable_network_address_usage_metrics: Optional[bool] = None,
               force_destroy: Optional[bool] = None,
               ipv6_cidr_block: Optional[str] = None,
               ipv6_cidr_block_network_border_group: Optional[str] = None,
               ipv6_ipam_pool_id: Optional[str] = None,
               ipv6_netmask_length: Optional[int] = None,
               tags: Optional[Mapping[str, str]] = None)
@overload
def DefaultVpc(resource_name: str,
               args: Optional[DefaultVpcArgs] = None,
               opts: Optional[ResourceOptions] = None)
func NewDefaultVpc(ctx *Context, name string, args *DefaultVpcArgs, opts ...ResourceOption) (*DefaultVpc, error)
public DefaultVpc(string name, DefaultVpcArgs? args = null, CustomResourceOptions? opts = null)
public DefaultVpc(String name, DefaultVpcArgs args)
public DefaultVpc(String name, DefaultVpcArgs args, CustomResourceOptions options)
type: aws:ec2:DefaultVpc
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args DefaultVpcArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args DefaultVpcArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args DefaultVpcArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args DefaultVpcArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args DefaultVpcArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

DefaultVpc Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The DefaultVpc resource accepts the following input properties:

AssignGeneratedIpv6CidrBlock bool
EnableClassiclink bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

EnableClassiclinkDnsSupport bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

EnableDnsHostnames bool
EnableDnsSupport bool
EnableNetworkAddressUsageMetrics bool
ForceDestroy bool

Whether destroying the resource deletes the default VPC. Default: false

Ipv6CidrBlock string
Ipv6CidrBlockNetworkBorderGroup string
Ipv6IpamPoolId string
Ipv6NetmaskLength int
Tags Dictionary<string, string>
AssignGeneratedIpv6CidrBlock bool
EnableClassiclink bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

EnableClassiclinkDnsSupport bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

EnableDnsHostnames bool
EnableDnsSupport bool
EnableNetworkAddressUsageMetrics bool
ForceDestroy bool

Whether destroying the resource deletes the default VPC. Default: false

Ipv6CidrBlock string
Ipv6CidrBlockNetworkBorderGroup string
Ipv6IpamPoolId string
Ipv6NetmaskLength int
Tags map[string]string
assignGeneratedIpv6CidrBlock Boolean
enableClassiclink Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enableClassiclinkDnsSupport Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enableDnsHostnames Boolean
enableDnsSupport Boolean
enableNetworkAddressUsageMetrics Boolean
forceDestroy Boolean

Whether destroying the resource deletes the default VPC. Default: false

ipv6CidrBlock String
ipv6CidrBlockNetworkBorderGroup String
ipv6IpamPoolId String
ipv6NetmaskLength Integer
tags Map<String,String>
assignGeneratedIpv6CidrBlock boolean
enableClassiclink boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enableClassiclinkDnsSupport boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enableDnsHostnames boolean
enableDnsSupport boolean
enableNetworkAddressUsageMetrics boolean
forceDestroy boolean

Whether destroying the resource deletes the default VPC. Default: false

ipv6CidrBlock string
ipv6CidrBlockNetworkBorderGroup string
ipv6IpamPoolId string
ipv6NetmaskLength number
tags {[key: string]: string}
assign_generated_ipv6_cidr_block bool
enable_classiclink bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enable_classiclink_dns_support bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enable_dns_hostnames bool
enable_dns_support bool
enable_network_address_usage_metrics bool
force_destroy bool

Whether destroying the resource deletes the default VPC. Default: false

ipv6_cidr_block str
ipv6_cidr_block_network_border_group str
ipv6_ipam_pool_id str
ipv6_netmask_length int
tags Mapping[str, str]
assignGeneratedIpv6CidrBlock Boolean
enableClassiclink Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enableClassiclinkDnsSupport Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enableDnsHostnames Boolean
enableDnsSupport Boolean
enableNetworkAddressUsageMetrics Boolean
forceDestroy Boolean

Whether destroying the resource deletes the default VPC. Default: false

ipv6CidrBlock String
ipv6CidrBlockNetworkBorderGroup String
ipv6IpamPoolId String
ipv6NetmaskLength Number
tags Map<String>

Outputs

All input properties are implicitly available as output properties. Additionally, the DefaultVpc resource produces the following output properties:

Arn string
CidrBlock string

The primary IPv4 CIDR block for the VPC

DefaultNetworkAclId string
DefaultRouteTableId string
DefaultSecurityGroupId string
DhcpOptionsId string
ExistingDefaultVpc bool
Id string

The provider-assigned unique ID for this managed resource.

InstanceTenancy string

The allowed tenancy of instances launched into the VPC

Ipv6AssociationId string
MainRouteTableId string
OwnerId string
TagsAll Dictionary<string, string>
Arn string
CidrBlock string

The primary IPv4 CIDR block for the VPC

DefaultNetworkAclId string
DefaultRouteTableId string
DefaultSecurityGroupId string
DhcpOptionsId string
ExistingDefaultVpc bool
Id string

The provider-assigned unique ID for this managed resource.

InstanceTenancy string

The allowed tenancy of instances launched into the VPC

Ipv6AssociationId string
MainRouteTableId string
OwnerId string
TagsAll map[string]string
arn String
cidrBlock String

The primary IPv4 CIDR block for the VPC

defaultNetworkAclId String
defaultRouteTableId String
defaultSecurityGroupId String
dhcpOptionsId String
existingDefaultVpc Boolean
id String

The provider-assigned unique ID for this managed resource.

instanceTenancy String

The allowed tenancy of instances launched into the VPC

ipv6AssociationId String
mainRouteTableId String
ownerId String
tagsAll Map<String,String>
arn string
cidrBlock string

The primary IPv4 CIDR block for the VPC

defaultNetworkAclId string
defaultRouteTableId string
defaultSecurityGroupId string
dhcpOptionsId string
existingDefaultVpc boolean
id string

The provider-assigned unique ID for this managed resource.

instanceTenancy string

The allowed tenancy of instances launched into the VPC

ipv6AssociationId string
mainRouteTableId string
ownerId string
tagsAll {[key: string]: string}
arn str
cidr_block str

The primary IPv4 CIDR block for the VPC

default_network_acl_id str
default_route_table_id str
default_security_group_id str
dhcp_options_id str
existing_default_vpc bool
id str

The provider-assigned unique ID for this managed resource.

instance_tenancy str

The allowed tenancy of instances launched into the VPC

ipv6_association_id str
main_route_table_id str
owner_id str
tags_all Mapping[str, str]
arn String
cidrBlock String

The primary IPv4 CIDR block for the VPC

defaultNetworkAclId String
defaultRouteTableId String
defaultSecurityGroupId String
dhcpOptionsId String
existingDefaultVpc Boolean
id String

The provider-assigned unique ID for this managed resource.

instanceTenancy String

The allowed tenancy of instances launched into the VPC

ipv6AssociationId String
mainRouteTableId String
ownerId String
tagsAll Map<String>

Look up Existing DefaultVpc Resource

Get an existing DefaultVpc resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DefaultVpcState, opts?: CustomResourceOptions): DefaultVpc
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        assign_generated_ipv6_cidr_block: Optional[bool] = None,
        cidr_block: Optional[str] = None,
        default_network_acl_id: Optional[str] = None,
        default_route_table_id: Optional[str] = None,
        default_security_group_id: Optional[str] = None,
        dhcp_options_id: Optional[str] = None,
        enable_classiclink: Optional[bool] = None,
        enable_classiclink_dns_support: Optional[bool] = None,
        enable_dns_hostnames: Optional[bool] = None,
        enable_dns_support: Optional[bool] = None,
        enable_network_address_usage_metrics: Optional[bool] = None,
        existing_default_vpc: Optional[bool] = None,
        force_destroy: Optional[bool] = None,
        instance_tenancy: Optional[str] = None,
        ipv6_association_id: Optional[str] = None,
        ipv6_cidr_block: Optional[str] = None,
        ipv6_cidr_block_network_border_group: Optional[str] = None,
        ipv6_ipam_pool_id: Optional[str] = None,
        ipv6_netmask_length: Optional[int] = None,
        main_route_table_id: Optional[str] = None,
        owner_id: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> DefaultVpc
func GetDefaultVpc(ctx *Context, name string, id IDInput, state *DefaultVpcState, opts ...ResourceOption) (*DefaultVpc, error)
public static DefaultVpc Get(string name, Input<string> id, DefaultVpcState? state, CustomResourceOptions? opts = null)
public static DefaultVpc get(String name, Output<String> id, DefaultVpcState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Arn string
AssignGeneratedIpv6CidrBlock bool
CidrBlock string

The primary IPv4 CIDR block for the VPC

DefaultNetworkAclId string
DefaultRouteTableId string
DefaultSecurityGroupId string
DhcpOptionsId string
EnableClassiclink bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

EnableClassiclinkDnsSupport bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

EnableDnsHostnames bool
EnableDnsSupport bool
EnableNetworkAddressUsageMetrics bool
ExistingDefaultVpc bool
ForceDestroy bool

Whether destroying the resource deletes the default VPC. Default: false

InstanceTenancy string

The allowed tenancy of instances launched into the VPC

Ipv6AssociationId string
Ipv6CidrBlock string
Ipv6CidrBlockNetworkBorderGroup string
Ipv6IpamPoolId string
Ipv6NetmaskLength int
MainRouteTableId string
OwnerId string
Tags Dictionary<string, string>
TagsAll Dictionary<string, string>
Arn string
AssignGeneratedIpv6CidrBlock bool
CidrBlock string

The primary IPv4 CIDR block for the VPC

DefaultNetworkAclId string
DefaultRouteTableId string
DefaultSecurityGroupId string
DhcpOptionsId string
EnableClassiclink bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

EnableClassiclinkDnsSupport bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

EnableDnsHostnames bool
EnableDnsSupport bool
EnableNetworkAddressUsageMetrics bool
ExistingDefaultVpc bool
ForceDestroy bool

Whether destroying the resource deletes the default VPC. Default: false

InstanceTenancy string

The allowed tenancy of instances launched into the VPC

Ipv6AssociationId string
Ipv6CidrBlock string
Ipv6CidrBlockNetworkBorderGroup string
Ipv6IpamPoolId string
Ipv6NetmaskLength int
MainRouteTableId string
OwnerId string
Tags map[string]string
TagsAll map[string]string
arn String
assignGeneratedIpv6CidrBlock Boolean
cidrBlock String

The primary IPv4 CIDR block for the VPC

defaultNetworkAclId String
defaultRouteTableId String
defaultSecurityGroupId String
dhcpOptionsId String
enableClassiclink Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enableClassiclinkDnsSupport Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enableDnsHostnames Boolean
enableDnsSupport Boolean
enableNetworkAddressUsageMetrics Boolean
existingDefaultVpc Boolean
forceDestroy Boolean

Whether destroying the resource deletes the default VPC. Default: false

instanceTenancy String

The allowed tenancy of instances launched into the VPC

ipv6AssociationId String
ipv6CidrBlock String
ipv6CidrBlockNetworkBorderGroup String
ipv6IpamPoolId String
ipv6NetmaskLength Integer
mainRouteTableId String
ownerId String
tags Map<String,String>
tagsAll Map<String,String>
arn string
assignGeneratedIpv6CidrBlock boolean
cidrBlock string

The primary IPv4 CIDR block for the VPC

defaultNetworkAclId string
defaultRouteTableId string
defaultSecurityGroupId string
dhcpOptionsId string
enableClassiclink boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enableClassiclinkDnsSupport boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enableDnsHostnames boolean
enableDnsSupport boolean
enableNetworkAddressUsageMetrics boolean
existingDefaultVpc boolean
forceDestroy boolean

Whether destroying the resource deletes the default VPC. Default: false

instanceTenancy string

The allowed tenancy of instances launched into the VPC

ipv6AssociationId string
ipv6CidrBlock string
ipv6CidrBlockNetworkBorderGroup string
ipv6IpamPoolId string
ipv6NetmaskLength number
mainRouteTableId string
ownerId string
tags {[key: string]: string}
tagsAll {[key: string]: string}
arn str
assign_generated_ipv6_cidr_block bool
cidr_block str

The primary IPv4 CIDR block for the VPC

default_network_acl_id str
default_route_table_id str
default_security_group_id str
dhcp_options_id str
enable_classiclink bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enable_classiclink_dns_support bool

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enable_dns_hostnames bool
enable_dns_support bool
enable_network_address_usage_metrics bool
existing_default_vpc bool
force_destroy bool

Whether destroying the resource deletes the default VPC. Default: false

instance_tenancy str

The allowed tenancy of instances launched into the VPC

ipv6_association_id str
ipv6_cidr_block str
ipv6_cidr_block_network_border_group str
ipv6_ipam_pool_id str
ipv6_netmask_length int
main_route_table_id str
owner_id str
tags Mapping[str, str]
tags_all Mapping[str, str]
arn String
assignGeneratedIpv6CidrBlock Boolean
cidrBlock String

The primary IPv4 CIDR block for the VPC

defaultNetworkAclId String
defaultRouteTableId String
defaultSecurityGroupId String
dhcpOptionsId String
enableClassiclink Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version.

enableClassiclinkDnsSupport Boolean

Deprecated:

With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version.

enableDnsHostnames Boolean
enableDnsSupport Boolean
enableNetworkAddressUsageMetrics Boolean
existingDefaultVpc Boolean
forceDestroy Boolean

Whether destroying the resource deletes the default VPC. Default: false

instanceTenancy String

The allowed tenancy of instances launched into the VPC

ipv6AssociationId String
ipv6CidrBlock String
ipv6CidrBlockNetworkBorderGroup String
ipv6IpamPoolId String
ipv6NetmaskLength Number
mainRouteTableId String
ownerId String
tags Map<String>
tagsAll Map<String>

Import

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

 $ pulumi import aws:ec2/defaultVpc:DefaultVpc default vpc-a01106c2

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.