1. Packages
  2. AWSx (Pulumi Crosswalk for AWS)
  3. API Docs
  4. ec2
  5. Vpc
AWSx (Pulumi Crosswalk for AWS) v2.21.1 published on Monday, Mar 10, 2025 by Pulumi

awsx.ec2.Vpc

Explore with Pulumi AI

The VPC component provides a VPC with configured subnets and NAT gateways.

Subnet Layout Strategies

If no subnet arguments are passed, then a public and private subnet will be created in each AZ with default sizing. The layout of these subnets can be customised by specifying additional arguments.

All strategies are designed to help build a uniform layout of subnets each each availability zone.

If no strategy is specified, “Legacy” will be used for backward compatibility reasons. In the next major version this will change to defaulting to “Auto”.

Auto

The “Auto” strategy divides the VPC space evenly between the availability zones. Within each availability zone it allocates each subnet in the order they were specified. If a CIDR mask or size was not specified it will default to an even division of the availability zone range. If subnets have different sizes, spaces will be automatically added to ensure subnets don’t overlap (e.g. where a previous subnet is smaller than the next).

Exact

The “Exact” strategy is the same as “Auto” with the additional requirement to explicitly specify what the whole of each zone’s range will be used for. Where you expect to have a gap between or after subnets, these must be passed using the subnet specification type “Unused” to show all space has been properly accounted for.

Explicit CIDR Blocks

If you prefer to do your CIDR block calculations yourself, you can specify a list of CIDR blocks for each subnet spec which it will be allocated for in each availability zone. If using explicit layouts, all subnet specs must be declared with explicit CIDR blocks. Each list of CIDR blocks must have the same length as the number of availability zones for the VPC.

Legacy

The “Legacy” works similarly to the “Auto” strategy except that within each availability zone it allocates the private subnet first, followed by the public subnets, and lastly the isolated subnets. The order of subnet specifications of the same type can be changed, but the ordering of private, public, isolated is not overridable. For more flexibility we recommend moving to the “Auto” strategy. The output property subnetLayout shows the configuration required if specifying the “Auto” strategy to maintain the current layout.

Example Usage

Basic usage

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Awsx = Pulumi.Awsx;

return await Deployment.RunAsync(() => 
{
    var vpc = new Awsx.Ec2.Vpc("vpc");

    return new Dictionary<string, object?>
    {
        ["vpcId"] = vpc.VpcId,
        ["vpcPrivateSubnetIds"] = vpc.PrivateSubnetIds,
        ["vpcPublicSubnetIds"] = vpc.PublicSubnetIds,
    };
});
Copy
package main

import (
	"github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := ec2.NewVpc(ctx, "vpc", nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcId", vpc.VpcId)
		ctx.Export("vpcPrivateSubnetIds", vpc.PrivateSubnetIds)
		ctx.Export("vpcPublicSubnetIds", vpc.PublicSubnetIds)
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.awsx.ec2.Vpc;
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 vpc = new Vpc("vpc");

        ctx.export("vpcId", vpc.vpcId());
        ctx.export("vpcPrivateSubnetIds", vpc.privateSubnetIds());
        ctx.export("vpcPublicSubnetIds", vpc.publicSubnetIds());
    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as awsx from "@pulumi/awsx";

const vpc = new awsx.ec2.Vpc("vpc", {});
export const vpcId = vpc.vpcId;
export const vpcPrivateSubnetIds = vpc.privateSubnetIds;
export const vpcPublicSubnetIds = vpc.publicSubnetIds;
Copy
import pulumi
import pulumi_awsx as awsx

vpc = awsx.ec2.Vpc("vpc")
pulumi.export("vpcId", vpc.vpc_id)
pulumi.export("vpcPrivateSubnetIds", vpc.private_subnet_ids)
pulumi.export("vpcPublicSubnetIds", vpc.public_subnet_ids)
Copy
resources:
  vpc:
    type: awsx:ec2:Vpc
outputs:
  vpcId: ${vpc.vpcId}
  vpcPrivateSubnetIds: ${vpc.privateSubnetIds}
  vpcPublicSubnetIds: ${vpc.publicSubnetIds}
Copy

Create Vpc Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Vpc(name: string, args?: VpcArgs, opts?: ComponentResourceOptions);
@overload
def Vpc(resource_name: str,
        args: Optional[VpcArgs] = None,
        opts: Optional[ResourceOptions] = None)

@overload
def Vpc(resource_name: str,
        opts: Optional[ResourceOptions] = None,
        assign_generated_ipv6_cidr_block: Optional[bool] = None,
        availability_zone_cidr_mask: Optional[int] = None,
        availability_zone_names: Optional[Sequence[str]] = None,
        cidr_block: Optional[str] = None,
        enable_dns_hostnames: Optional[bool] = None,
        enable_dns_support: Optional[bool] = None,
        enable_network_address_usage_metrics: Optional[bool] = None,
        instance_tenancy: Optional[str] = None,
        ipv4_ipam_pool_id: Optional[str] = None,
        ipv4_netmask_length: Optional[int] = 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,
        nat_gateways: Optional[NatGatewayConfigurationArgs] = None,
        number_of_availability_zones: Optional[int] = None,
        subnet_specs: Optional[Sequence[SubnetSpecArgs]] = None,
        subnet_strategy: Optional[SubnetAllocationStrategy] = None,
        tags: Optional[Mapping[str, str]] = None,
        vpc_endpoint_specs: Optional[Sequence[VpcEndpointSpecArgs]] = None)
func NewVpc(ctx *Context, name string, args *VpcArgs, opts ...ResourceOption) (*Vpc, error)
public Vpc(string name, VpcArgs? args = null, ComponentResourceOptions? opts = null)
public Vpc(String name, VpcArgs args)
public Vpc(String name, VpcArgs args, ComponentResourceOptions options)
type: awsx:ec2:Vpc
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args VpcArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args VpcArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args VpcArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args VpcArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. VpcArgs
The arguments to resource properties.
options ComponentResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var vpcResource = new Awsx.Ec2.Vpc("vpcResource", new()
{
    AssignGeneratedIpv6CidrBlock = false,
    AvailabilityZoneCidrMask = 0,
    AvailabilityZoneNames = new()
    {
        "string",
    },
    CidrBlock = "string",
    EnableDnsHostnames = false,
    EnableDnsSupport = false,
    EnableNetworkAddressUsageMetrics = false,
    InstanceTenancy = "string",
    Ipv4IpamPoolId = "string",
    Ipv4NetmaskLength = 0,
    Ipv6CidrBlock = "string",
    Ipv6CidrBlockNetworkBorderGroup = "string",
    Ipv6IpamPoolId = "string",
    Ipv6NetmaskLength = 0,
    NatGateways = new Awsx.Ec2.Inputs.NatGatewayConfigurationArgs
    {
        Strategy = Awsx.Ec2.NatGatewayStrategy.None,
        ElasticIpAllocationIds = new()
        {
            "string",
        },
    },
    NumberOfAvailabilityZones = 0,
    SubnetSpecs = new()
    {
        new Awsx.Ec2.Inputs.SubnetSpecArgs
        {
            Type = Awsx.Ec2.SubnetType.Public,
            CidrBlocks = new()
            {
                "string",
            },
            CidrMask = 0,
            Name = "string",
            Size = 0,
            Tags = 
            {
                { "string", "string" },
            },
        },
    },
    SubnetStrategy = Awsx.Ec2.SubnetAllocationStrategy.Legacy,
    Tags = 
    {
        { "string", "string" },
    },
    VpcEndpointSpecs = new()
    {
        new Awsx.Ec2.Inputs.VpcEndpointSpecArgs
        {
            ServiceName = "string",
            SecurityGroupIds = new()
            {
                "string",
            },
            IpAddressType = "string",
            Policy = "string",
            PrivateDnsEnabled = false,
            RouteTableIds = new()
            {
                "string",
            },
            AutoAccept = false,
            DnsOptions = new Aws.Ec2.Inputs.VpcEndpointDnsOptionsArgs
            {
                DnsRecordIpType = "string",
                PrivateDnsOnlyForInboundResolverEndpoint = false,
            },
            ServiceRegion = "string",
            SubnetConfigurations = new()
            {
                new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs
                {
                    Ipv4 = "string",
                    Ipv6 = "string",
                    SubnetId = "string",
                },
            },
            SubnetIds = new()
            {
                "string",
            },
            Tags = 
            {
                { "string", "string" },
            },
            VpcEndpointType = "string",
        },
    },
});
Copy
example, err := ec2.NewVpc(ctx, "vpcResource", &ec2.VpcArgs{
	AssignGeneratedIpv6CidrBlock: pulumi.Bool(false),
	AvailabilityZoneCidrMask:     0,
	AvailabilityZoneNames: []string{
		"string",
	},
	CidrBlock:                        "string",
	EnableDnsHostnames:               pulumi.Bool(false),
	EnableDnsSupport:                 pulumi.Bool(false),
	EnableNetworkAddressUsageMetrics: pulumi.Bool(false),
	InstanceTenancy:                  pulumi.String("string"),
	Ipv4IpamPoolId:                   pulumi.String("string"),
	Ipv4NetmaskLength:                pulumi.Int(0),
	Ipv6CidrBlock:                    pulumi.String("string"),
	Ipv6CidrBlockNetworkBorderGroup:  pulumi.String("string"),
	Ipv6IpamPoolId:                   pulumi.String("string"),
	Ipv6NetmaskLength:                pulumi.Int(0),
	NatGateways: &ec2.NatGatewayConfigurationArgs{
		Strategy: ec2.NatGatewayStrategyNone,
		ElasticIpAllocationIds: []pulumi.String{
			pulumi.String("string"),
		},
	},
	NumberOfAvailabilityZones: 0,
	SubnetSpecs: []ec2.SubnetSpecArgs{
		{
			Type: ec2.SubnetTypePublic,
			CidrBlocks: []string{
				"string",
			},
			CidrMask: 0,
			Name:     "string",
			Size:     0,
			Tags: {
				"string": pulumi.String("string"),
			},
		},
	},
	SubnetStrategy: ec2.SubnetAllocationStrategyLegacy,
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	VpcEndpointSpecs: []ec2.VpcEndpointSpecArgs{
		{
			ServiceName: "string",
			SecurityGroupIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			IpAddressType:     pulumi.String("string"),
			Policy:            pulumi.String("string"),
			PrivateDnsEnabled: false,
			RouteTableIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			AutoAccept: false,
			DnsOptions: {
				DnsRecordIpType:                          pulumi.String("string"),
				PrivateDnsOnlyForInboundResolverEndpoint: pulumi.Bool(false),
			},
			ServiceRegion: pulumi.String("string"),
			SubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{
				{
					Ipv4:     pulumi.String("string"),
					Ipv6:     pulumi.String("string"),
					SubnetId: pulumi.String("string"),
				},
			},
			SubnetIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			Tags: {
				"string": pulumi.String("string"),
			},
			VpcEndpointType: pulumi.String("string"),
		},
	},
})
Copy
var vpcResource = new Vpc("vpcResource", VpcArgs.builder()
    .assignGeneratedIpv6CidrBlock(false)
    .availabilityZoneCidrMask(0)
    .availabilityZoneNames("string")
    .cidrBlock("string")
    .enableDnsHostnames(false)
    .enableDnsSupport(false)
    .enableNetworkAddressUsageMetrics(false)
    .instanceTenancy("string")
    .ipv4IpamPoolId("string")
    .ipv4NetmaskLength(0)
    .ipv6CidrBlock("string")
    .ipv6CidrBlockNetworkBorderGroup("string")
    .ipv6IpamPoolId("string")
    .ipv6NetmaskLength(0)
    .natGateways(NatGatewayConfigurationArgs.builder()
        .strategy("None")
        .elasticIpAllocationIds("string")
        .build())
    .numberOfAvailabilityZones(0)
    .subnetSpecs(SubnetSpecArgs.builder()
        .type("Public")
        .cidrBlocks("string")
        .cidrMask(0)
        .name("string")
        .size(0)
        .tags(Map.of("string", "string"))
        .build())
    .subnetStrategy("Legacy")
    .tags(Map.of("string", "string"))
    .vpcEndpointSpecs(VpcEndpointSpecArgs.builder()
        .serviceName("string")
        .securityGroupIds("string")
        .ipAddressType("string")
        .policy("string")
        .privateDnsEnabled(false)
        .routeTableIds("string")
        .autoAccept(false)
        .dnsOptions(VpcEndpointDnsOptionsArgs.builder()
            .dnsRecordIpType("string")
            .privateDnsOnlyForInboundResolverEndpoint(false)
            .build())
        .serviceRegion("string")
        .subnetConfigurations(VpcEndpointSubnetConfigurationArgs.builder()
            .ipv4("string")
            .ipv6("string")
            .subnetId("string")
            .build())
        .subnetIds("string")
        .tags(Map.of("string", "string"))
        .vpcEndpointType("string")
        .build())
    .build());
Copy
vpc_resource = awsx.ec2.Vpc("vpcResource",
    assign_generated_ipv6_cidr_block=False,
    availability_zone_cidr_mask=0,
    availability_zone_names=["string"],
    cidr_block="string",
    enable_dns_hostnames=False,
    enable_dns_support=False,
    enable_network_address_usage_metrics=False,
    instance_tenancy="string",
    ipv4_ipam_pool_id="string",
    ipv4_netmask_length=0,
    ipv6_cidr_block="string",
    ipv6_cidr_block_network_border_group="string",
    ipv6_ipam_pool_id="string",
    ipv6_netmask_length=0,
    nat_gateways={
        "strategy": awsx.ec2.NatGatewayStrategy.NONE,
        "elastic_ip_allocation_ids": ["string"],
    },
    number_of_availability_zones=0,
    subnet_specs=[{
        "type": awsx.ec2.SubnetType.PUBLIC,
        "cidr_blocks": ["string"],
        "cidr_mask": 0,
        "name": "string",
        "size": 0,
        "tags": {
            "string": "string",
        },
    }],
    subnet_strategy=awsx.ec2.SubnetAllocationStrategy.LEGACY,
    tags={
        "string": "string",
    },
    vpc_endpoint_specs=[{
        "service_name": "string",
        "security_group_ids": ["string"],
        "ip_address_type": "string",
        "policy": "string",
        "private_dns_enabled": False,
        "route_table_ids": ["string"],
        "auto_accept": False,
        "dns_options": {
            "dns_record_ip_type": "string",
            "private_dns_only_for_inbound_resolver_endpoint": False,
        },
        "service_region": "string",
        "subnet_configurations": [{
            "ipv4": "string",
            "ipv6": "string",
            "subnet_id": "string",
        }],
        "subnet_ids": ["string"],
        "tags": {
            "string": "string",
        },
        "vpc_endpoint_type": "string",
    }])
Copy
const vpcResource = new awsx.ec2.Vpc("vpcResource", {
    assignGeneratedIpv6CidrBlock: false,
    availabilityZoneCidrMask: 0,
    availabilityZoneNames: ["string"],
    cidrBlock: "string",
    enableDnsHostnames: false,
    enableDnsSupport: false,
    enableNetworkAddressUsageMetrics: false,
    instanceTenancy: "string",
    ipv4IpamPoolId: "string",
    ipv4NetmaskLength: 0,
    ipv6CidrBlock: "string",
    ipv6CidrBlockNetworkBorderGroup: "string",
    ipv6IpamPoolId: "string",
    ipv6NetmaskLength: 0,
    natGateways: {
        strategy: awsx.ec2.NatGatewayStrategy.None,
        elasticIpAllocationIds: ["string"],
    },
    numberOfAvailabilityZones: 0,
    subnetSpecs: [{
        type: awsx.ec2.SubnetType.Public,
        cidrBlocks: ["string"],
        cidrMask: 0,
        name: "string",
        size: 0,
        tags: {
            string: "string",
        },
    }],
    subnetStrategy: awsx.ec2.SubnetAllocationStrategy.Legacy,
    tags: {
        string: "string",
    },
    vpcEndpointSpecs: [{
        serviceName: "string",
        securityGroupIds: ["string"],
        ipAddressType: "string",
        policy: "string",
        privateDnsEnabled: false,
        routeTableIds: ["string"],
        autoAccept: false,
        dnsOptions: {
            dnsRecordIpType: "string",
            privateDnsOnlyForInboundResolverEndpoint: false,
        },
        serviceRegion: "string",
        subnetConfigurations: [{
            ipv4: "string",
            ipv6: "string",
            subnetId: "string",
        }],
        subnetIds: ["string"],
        tags: {
            string: "string",
        },
        vpcEndpointType: "string",
    }],
});
Copy
type: awsx:ec2:Vpc
properties:
    assignGeneratedIpv6CidrBlock: false
    availabilityZoneCidrMask: 0
    availabilityZoneNames:
        - string
    cidrBlock: string
    enableDnsHostnames: false
    enableDnsSupport: false
    enableNetworkAddressUsageMetrics: false
    instanceTenancy: string
    ipv4IpamPoolId: string
    ipv4NetmaskLength: 0
    ipv6CidrBlock: string
    ipv6CidrBlockNetworkBorderGroup: string
    ipv6IpamPoolId: string
    ipv6NetmaskLength: 0
    natGateways:
        elasticIpAllocationIds:
            - string
        strategy: None
    numberOfAvailabilityZones: 0
    subnetSpecs:
        - cidrBlocks:
            - string
          cidrMask: 0
          name: string
          size: 0
          tags:
            string: string
          type: Public
    subnetStrategy: Legacy
    tags:
        string: string
    vpcEndpointSpecs:
        - autoAccept: false
          dnsOptions:
            dnsRecordIpType: string
            privateDnsOnlyForInboundResolverEndpoint: false
          ipAddressType: string
          policy: string
          privateDnsEnabled: false
          routeTableIds:
            - string
          securityGroupIds:
            - string
          serviceName: string
          serviceRegion: string
          subnetConfigurations:
            - ipv4: string
              ipv6: string
              subnetId: string
          subnetIds:
            - string
          tags:
            string: string
          vpcEndpointType: string
Copy

Vpc Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Vpc resource accepts the following input properties:

AssignGeneratedIpv6CidrBlock bool
Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false. Conflicts with ipv6_ipam_pool_id
AvailabilityZoneCidrMask int
The netmask for each available zone to be aligned to. This is optional, the default value is inferred based on an even distribution of available space from the VPC's CIDR block after being divided evenly by the number of availability zones.
AvailabilityZoneNames List<string>
A list of availability zone names to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
CidrBlock string
The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
EnableDnsHostnames bool
A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
EnableDnsSupport bool
A boolean flag to enable/disable DNS support in the VPC. Defaults to true.
EnableNetworkAddressUsageMetrics bool
Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.
InstanceTenancy string
A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee.
Ipv4IpamPoolId Changes to this property will trigger replacement. string
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization.
Ipv4NetmaskLength Changes to this property will trigger replacement. int
The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id.
Ipv6CidrBlock string
IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using ipv6_netmask_length.
Ipv6CidrBlockNetworkBorderGroup string
By default when an IPv6 CIDR is assigned to a VPC a default ipv6_cidr_block_network_border_group will be set to the region of the VPC. This can be changed to restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.
Ipv6IpamPoolId string
IPAM Pool ID for a IPv6 pool. Conflicts with assign_generated_ipv6_cidr_block.
Ipv6NetmaskLength int
Netmask length to request from IPAM Pool. Conflicts with ipv6_cidr_block. This can be omitted if IPAM pool as a allocation_default_netmask_length set. Valid values are from 44 to 60 in increments of 4.
NatGateways NatGatewayConfiguration
Configuration for NAT Gateways. Optional. If private and public subnets are both specified, defaults to one gateway per availability zone. Otherwise, no gateways will be created.
NumberOfAvailabilityZones int
A number of availability zones to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
SubnetSpecs List<SubnetSpec>
A list of subnet specs that should be deployed to each AZ specified in availabilityZoneNames. Optional. Defaults to a (smaller) public subnet and a (larger) private subnet based on the size of the CIDR block for the VPC. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last.
SubnetStrategy Pulumi.Awsx.Ec2.SubnetAllocationStrategy
The strategy to use when allocating subnets for the VPC. Optional. Defaults to Legacy.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
VpcEndpointSpecs List<VpcEndpointSpec>
A list of VPC Endpoints specs to be deployed as part of the VPC
AssignGeneratedIpv6CidrBlock bool
Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false. Conflicts with ipv6_ipam_pool_id
AvailabilityZoneCidrMask int
The netmask for each available zone to be aligned to. This is optional, the default value is inferred based on an even distribution of available space from the VPC's CIDR block after being divided evenly by the number of availability zones.
AvailabilityZoneNames []string
A list of availability zone names to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
CidrBlock string
The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
EnableDnsHostnames bool
A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
EnableDnsSupport bool
A boolean flag to enable/disable DNS support in the VPC. Defaults to true.
EnableNetworkAddressUsageMetrics bool
Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.
InstanceTenancy string
A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee.
Ipv4IpamPoolId Changes to this property will trigger replacement. string
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization.
Ipv4NetmaskLength Changes to this property will trigger replacement. int
The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id.
Ipv6CidrBlock string
IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using ipv6_netmask_length.
Ipv6CidrBlockNetworkBorderGroup string
By default when an IPv6 CIDR is assigned to a VPC a default ipv6_cidr_block_network_border_group will be set to the region of the VPC. This can be changed to restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.
Ipv6IpamPoolId string
IPAM Pool ID for a IPv6 pool. Conflicts with assign_generated_ipv6_cidr_block.
Ipv6NetmaskLength int
Netmask length to request from IPAM Pool. Conflicts with ipv6_cidr_block. This can be omitted if IPAM pool as a allocation_default_netmask_length set. Valid values are from 44 to 60 in increments of 4.
NatGateways NatGatewayConfigurationArgs
Configuration for NAT Gateways. Optional. If private and public subnets are both specified, defaults to one gateway per availability zone. Otherwise, no gateways will be created.
NumberOfAvailabilityZones int
A number of availability zones to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
SubnetSpecs []SubnetSpecArgs
A list of subnet specs that should be deployed to each AZ specified in availabilityZoneNames. Optional. Defaults to a (smaller) public subnet and a (larger) private subnet based on the size of the CIDR block for the VPC. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last.
SubnetStrategy SubnetAllocationStrategy
The strategy to use when allocating subnets for the VPC. Optional. Defaults to Legacy.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
VpcEndpointSpecs []VpcEndpointSpecArgs
A list of VPC Endpoints specs to be deployed as part of the VPC
assignGeneratedIpv6CidrBlock Boolean
Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false. Conflicts with ipv6_ipam_pool_id
availabilityZoneCidrMask Integer
The netmask for each available zone to be aligned to. This is optional, the default value is inferred based on an even distribution of available space from the VPC's CIDR block after being divided evenly by the number of availability zones.
availabilityZoneNames List<String>
A list of availability zone names to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
cidrBlock String
The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
enableDnsHostnames Boolean
A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
enableDnsSupport Boolean
A boolean flag to enable/disable DNS support in the VPC. Defaults to true.
enableNetworkAddressUsageMetrics Boolean
Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.
instanceTenancy String
A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee.
ipv4IpamPoolId Changes to this property will trigger replacement. String
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization.
ipv4NetmaskLength Changes to this property will trigger replacement. Integer
The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id.
ipv6CidrBlock String
IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using ipv6_netmask_length.
ipv6CidrBlockNetworkBorderGroup String
By default when an IPv6 CIDR is assigned to a VPC a default ipv6_cidr_block_network_border_group will be set to the region of the VPC. This can be changed to restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.
ipv6IpamPoolId String
IPAM Pool ID for a IPv6 pool. Conflicts with assign_generated_ipv6_cidr_block.
ipv6NetmaskLength Integer
Netmask length to request from IPAM Pool. Conflicts with ipv6_cidr_block. This can be omitted if IPAM pool as a allocation_default_netmask_length set. Valid values are from 44 to 60 in increments of 4.
natGateways NatGatewayConfiguration
Configuration for NAT Gateways. Optional. If private and public subnets are both specified, defaults to one gateway per availability zone. Otherwise, no gateways will be created.
numberOfAvailabilityZones Integer
A number of availability zones to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
subnetSpecs List<SubnetSpec>
A list of subnet specs that should be deployed to each AZ specified in availabilityZoneNames. Optional. Defaults to a (smaller) public subnet and a (larger) private subnet based on the size of the CIDR block for the VPC. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last.
subnetStrategy SubnetAllocationStrategy
The strategy to use when allocating subnets for the VPC. Optional. Defaults to Legacy.
tags Map<String,String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpcEndpointSpecs List<VpcEndpointSpec>
A list of VPC Endpoints specs to be deployed as part of the VPC
assignGeneratedIpv6CidrBlock boolean
Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false. Conflicts with ipv6_ipam_pool_id
availabilityZoneCidrMask number
The netmask for each available zone to be aligned to. This is optional, the default value is inferred based on an even distribution of available space from the VPC's CIDR block after being divided evenly by the number of availability zones.
availabilityZoneNames string[]
A list of availability zone names to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
cidrBlock string
The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
enableDnsHostnames boolean
A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
enableDnsSupport boolean
A boolean flag to enable/disable DNS support in the VPC. Defaults to true.
enableNetworkAddressUsageMetrics boolean
Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.
instanceTenancy string
A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee.
ipv4IpamPoolId Changes to this property will trigger replacement. string
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization.
ipv4NetmaskLength Changes to this property will trigger replacement. number
The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id.
ipv6CidrBlock string
IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using ipv6_netmask_length.
ipv6CidrBlockNetworkBorderGroup string
By default when an IPv6 CIDR is assigned to a VPC a default ipv6_cidr_block_network_border_group will be set to the region of the VPC. This can be changed to restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.
ipv6IpamPoolId string
IPAM Pool ID for a IPv6 pool. Conflicts with assign_generated_ipv6_cidr_block.
ipv6NetmaskLength number
Netmask length to request from IPAM Pool. Conflicts with ipv6_cidr_block. This can be omitted if IPAM pool as a allocation_default_netmask_length set. Valid values are from 44 to 60 in increments of 4.
natGateways NatGatewayConfiguration
Configuration for NAT Gateways. Optional. If private and public subnets are both specified, defaults to one gateway per availability zone. Otherwise, no gateways will be created.
numberOfAvailabilityZones number
A number of availability zones to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
subnetSpecs SubnetSpec[]
A list of subnet specs that should be deployed to each AZ specified in availabilityZoneNames. Optional. Defaults to a (smaller) public subnet and a (larger) private subnet based on the size of the CIDR block for the VPC. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last.
subnetStrategy SubnetAllocationStrategy
The strategy to use when allocating subnets for the VPC. Optional. Defaults to Legacy.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpcEndpointSpecs VpcEndpointSpec[]
A list of VPC Endpoints specs to be deployed as part of the VPC
assign_generated_ipv6_cidr_block bool
Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false. Conflicts with ipv6_ipam_pool_id
availability_zone_cidr_mask int
The netmask for each available zone to be aligned to. This is optional, the default value is inferred based on an even distribution of available space from the VPC's CIDR block after being divided evenly by the number of availability zones.
availability_zone_names Sequence[str]
A list of availability zone names to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
cidr_block str
The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
enable_dns_hostnames bool
A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
enable_dns_support bool
A boolean flag to enable/disable DNS support in the VPC. Defaults to true.
enable_network_address_usage_metrics bool
Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.
instance_tenancy str
A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee.
ipv4_ipam_pool_id Changes to this property will trigger replacement. str
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization.
ipv4_netmask_length Changes to this property will trigger replacement. int
The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id.
ipv6_cidr_block str
IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using ipv6_netmask_length.
ipv6_cidr_block_network_border_group str
By default when an IPv6 CIDR is assigned to a VPC a default ipv6_cidr_block_network_border_group will be set to the region of the VPC. This can be changed to restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.
ipv6_ipam_pool_id str
IPAM Pool ID for a IPv6 pool. Conflicts with assign_generated_ipv6_cidr_block.
ipv6_netmask_length int
Netmask length to request from IPAM Pool. Conflicts with ipv6_cidr_block. This can be omitted if IPAM pool as a allocation_default_netmask_length set. Valid values are from 44 to 60 in increments of 4.
nat_gateways NatGatewayConfigurationArgs
Configuration for NAT Gateways. Optional. If private and public subnets are both specified, defaults to one gateway per availability zone. Otherwise, no gateways will be created.
number_of_availability_zones int
A number of availability zones to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
subnet_specs Sequence[SubnetSpecArgs]
A list of subnet specs that should be deployed to each AZ specified in availabilityZoneNames. Optional. Defaults to a (smaller) public subnet and a (larger) private subnet based on the size of the CIDR block for the VPC. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last.
subnet_strategy SubnetAllocationStrategy
The strategy to use when allocating subnets for the VPC. Optional. Defaults to Legacy.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpc_endpoint_specs Sequence[VpcEndpointSpecArgs]
A list of VPC Endpoints specs to be deployed as part of the VPC
assignGeneratedIpv6CidrBlock Boolean
Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Default is false. Conflicts with ipv6_ipam_pool_id
availabilityZoneCidrMask Number
The netmask for each available zone to be aligned to. This is optional, the default value is inferred based on an even distribution of available space from the VPC's CIDR block after being divided evenly by the number of availability zones.
availabilityZoneNames List<String>
A list of availability zone names to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
cidrBlock String
The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
enableDnsHostnames Boolean
A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
enableDnsSupport Boolean
A boolean flag to enable/disable DNS support in the VPC. Defaults to true.
enableNetworkAddressUsageMetrics Boolean
Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.
instanceTenancy String
A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee.
ipv4IpamPoolId Changes to this property will trigger replacement. String
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization.
ipv4NetmaskLength Changes to this property will trigger replacement. Number
The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id.
ipv6CidrBlock String
IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using ipv6_netmask_length.
ipv6CidrBlockNetworkBorderGroup String
By default when an IPv6 CIDR is assigned to a VPC a default ipv6_cidr_block_network_border_group will be set to the region of the VPC. This can be changed to restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.
ipv6IpamPoolId String
IPAM Pool ID for a IPv6 pool. Conflicts with assign_generated_ipv6_cidr_block.
ipv6NetmaskLength Number
Netmask length to request from IPAM Pool. Conflicts with ipv6_cidr_block. This can be omitted if IPAM pool as a allocation_default_netmask_length set. Valid values are from 44 to 60 in increments of 4.
natGateways Property Map
Configuration for NAT Gateways. Optional. If private and public subnets are both specified, defaults to one gateway per availability zone. Otherwise, no gateways will be created.
numberOfAvailabilityZones Number
A number of availability zones to which the subnets defined in subnetSpecs will be deployed. Optional, defaults to the first 3 AZs in the current region.
subnetSpecs List<Property Map>
A list of subnet specs that should be deployed to each AZ specified in availabilityZoneNames. Optional. Defaults to a (smaller) public subnet and a (larger) private subnet based on the size of the CIDR block for the VPC. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last.
subnetStrategy "Legacy" | "Auto" | "Exact"
The strategy to use when allocating subnets for the VPC. Optional. Defaults to Legacy.
tags Map<String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpcEndpointSpecs List<Property Map>
A list of VPC Endpoints specs to be deployed as part of the VPC

Outputs

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

AwsVpc Pulumi.Aws.Ec2.Vpc
The VPC. This type is defined in the AWS Classic package.
Eips List<Pulumi.Aws.Ec2.Eip>
The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
InternetGateway Pulumi.Aws.Ec2.InternetGateway
The Internet Gateway for the VPC. This type is defined in the AWS Classic package.
IsolatedSubnetIds List<string>
PrivateSubnetIds List<string>
PublicSubnetIds List<string>
RouteTableAssociations List<Pulumi.Aws.Ec2.RouteTableAssociation>
The Route Table Associations for the VPC.
RouteTables List<Pulumi.Aws.Ec2.RouteTable>
The Route Tables for the VPC.
Routes List<Pulumi.Aws.Ec2.Route>
The Routes for the VPC.
SubnetLayout List<ResolvedSubnetSpec>
The resolved subnet specs layout deployed to each availability zone.
Subnets List<Pulumi.Aws.Ec2.Subnet>
The VPC's subnets.
VpcEndpoints List<Pulumi.Aws.Ec2.VpcEndpoint>
The VPC Endpoints that are enabled
VpcId string
Eips Eip
The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
InternetGateway InternetGateway
The Internet Gateway for the VPC. This type is defined in the AWS Classic package.
IsolatedSubnetIds []string
PrivateSubnetIds []string
PublicSubnetIds []string
RouteTableAssociations RouteTableAssociation
The Route Table Associations for the VPC.
RouteTables RouteTable
The Route Tables for the VPC.
Routes Route
The Routes for the VPC.
SubnetLayout []ResolvedSubnetSpec
The resolved subnet specs layout deployed to each availability zone.
Subnets Subnet
The VPC's subnets.
Vpc Vpc
The VPC. This type is defined in the AWS Classic package.
VpcEndpoints VpcEndpoint
The VPC Endpoints that are enabled
VpcId string
eips List<Eip>
The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
internetGateway InternetGateway
The Internet Gateway for the VPC. This type is defined in the AWS Classic package.
isolatedSubnetIds List<String>
privateSubnetIds List<String>
publicSubnetIds List<String>
routeTableAssociations List<RouteTableAssociation>
The Route Table Associations for the VPC.
routeTables List<RouteTable>
The Route Tables for the VPC.
routes List<Route>
The Routes for the VPC.
subnetLayout List<ResolvedSubnetSpec>
The resolved subnet specs layout deployed to each availability zone.
subnets List<Subnet>
The VPC's subnets.
vpc Vpc
The VPC. This type is defined in the AWS Classic package.
vpcEndpoints List<VpcEndpoint>
The VPC Endpoints that are enabled
vpcId String
eips pulumiAws.Eip[]
The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
internetGateway pulumiAws.InternetGateway
The Internet Gateway for the VPC. This type is defined in the AWS Classic package.
isolatedSubnetIds string[]
privateSubnetIds string[]
publicSubnetIds string[]
routeTableAssociations pulumiAws.RouteTableAssociation[]
The Route Table Associations for the VPC.
routeTables pulumiAws.RouteTable[]
The Route Tables for the VPC.
routes pulumiAws.Route[]
The Routes for the VPC.
subnetLayout ResolvedSubnetSpec[]
The resolved subnet specs layout deployed to each availability zone.
subnets pulumiAws.Subnet[]
The VPC's subnets.
vpc pulumiAws.Vpc
The VPC. This type is defined in the AWS Classic package.
vpcEndpoints pulumiAws.VpcEndpoint[]
The VPC Endpoints that are enabled
vpcId string
eips Sequence[pulumi_aws.ec2.Eip]
The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
internet_gateway pulumi_aws.ec2.InternetGateway
The Internet Gateway for the VPC. This type is defined in the AWS Classic package.
isolated_subnet_ids Sequence[str]
private_subnet_ids Sequence[str]
public_subnet_ids Sequence[str]
route_table_associations Sequence[pulumi_aws.ec2.RouteTableAssociation]
The Route Table Associations for the VPC.
route_tables Sequence[pulumi_aws.ec2.RouteTable]
The Route Tables for the VPC.
routes Sequence[pulumi_aws.ec2.Route]
The Routes for the VPC.
subnet_layout Sequence[ResolvedSubnetSpec]
The resolved subnet specs layout deployed to each availability zone.
subnets Sequence[pulumi_aws.ec2.Subnet]
The VPC's subnets.
vpc pulumi_aws.ec2.Vpc
The VPC. This type is defined in the AWS Classic package.
vpc_endpoints Sequence[pulumi_aws.ec2.VpcEndpoint]
The VPC Endpoints that are enabled
vpc_id str
eips List<aws::Eip>
The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
internetGateway aws::InternetGateway
The Internet Gateway for the VPC. This type is defined in the AWS Classic package.
isolatedSubnetIds List<String>
privateSubnetIds List<String>
publicSubnetIds List<String>
routeTableAssociations List<aws::RouteTableAssociation>
The Route Table Associations for the VPC.
routeTables List<aws::RouteTable>
The Route Tables for the VPC.
routes List<aws::Route>
The Routes for the VPC.
subnetLayout List<Property Map>
The resolved subnet specs layout deployed to each availability zone.
subnets List<aws::Subnet>
The VPC's subnets.
vpc aws::Vpc
The VPC. This type is defined in the AWS Classic package.
vpcEndpoints List<aws::VpcEndpoint>
The VPC Endpoints that are enabled
vpcId String

Supporting Types

NatGatewayConfiguration
, NatGatewayConfigurationArgs

Strategy This property is required. Pulumi.Awsx.Ec2.NatGatewayStrategy
The strategy for deploying NAT Gateways.
ElasticIpAllocationIds List<string>
A list of EIP allocation IDs to assign to the NAT Gateways. Optional. If specified, the number of supplied values must match the chosen strategy (either one, or the number of availability zones).
Strategy This property is required. NatGatewayStrategy
The strategy for deploying NAT Gateways.
ElasticIpAllocationIds []string
A list of EIP allocation IDs to assign to the NAT Gateways. Optional. If specified, the number of supplied values must match the chosen strategy (either one, or the number of availability zones).
strategy This property is required. NatGatewayStrategy
The strategy for deploying NAT Gateways.
elasticIpAllocationIds List<String>
A list of EIP allocation IDs to assign to the NAT Gateways. Optional. If specified, the number of supplied values must match the chosen strategy (either one, or the number of availability zones).
strategy This property is required. NatGatewayStrategy
The strategy for deploying NAT Gateways.
elasticIpAllocationIds string[]
A list of EIP allocation IDs to assign to the NAT Gateways. Optional. If specified, the number of supplied values must match the chosen strategy (either one, or the number of availability zones).
strategy This property is required. NatGatewayStrategy
The strategy for deploying NAT Gateways.
elastic_ip_allocation_ids Sequence[str]
A list of EIP allocation IDs to assign to the NAT Gateways. Optional. If specified, the number of supplied values must match the chosen strategy (either one, or the number of availability zones).
strategy This property is required. "None" | "Single" | "OnePerAz"
The strategy for deploying NAT Gateways.
elasticIpAllocationIds List<String>
A list of EIP allocation IDs to assign to the NAT Gateways. Optional. If specified, the number of supplied values must match the chosen strategy (either one, or the number of availability zones).

NatGatewayStrategy
, NatGatewayStrategyArgs

None
NoneDo not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
Single
SingleCreate a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
OnePerAz
OnePerAzCreate a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.
NatGatewayStrategyNone
NoneDo not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
NatGatewayStrategySingle
SingleCreate a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
NatGatewayStrategyOnePerAz
OnePerAzCreate a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.
None
NoneDo not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
Single
SingleCreate a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
OnePerAz
OnePerAzCreate a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.
None
NoneDo not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
Single
SingleCreate a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
OnePerAz
OnePerAzCreate a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.
NONE
NoneDo not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
SINGLE
SingleCreate a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
ONE_PER_AZ
OnePerAzCreate a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.
"None"
NoneDo not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
"Single"
SingleCreate a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
"OnePerAz"
OnePerAzCreate a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.

ResolvedSubnetSpec
, ResolvedSubnetSpecArgs

Type This property is required. Pulumi.Awsx.Ec2.SubnetType
The type of subnet.
CidrBlocks List<string>
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
CidrMask int
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Name string
The subnet's name. Will be templated upon creation.
Size int
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Type This property is required. SubnetType
The type of subnet.
CidrBlocks []string
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
CidrMask int
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Name string
The subnet's name. Will be templated upon creation.
Size int
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
type This property is required. SubnetType
The type of subnet.
cidrBlocks List<String>
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidrMask Integer
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name String
The subnet's name. Will be templated upon creation.
size Integer
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
type This property is required. SubnetType
The type of subnet.
cidrBlocks string[]
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidrMask number
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name string
The subnet's name. Will be templated upon creation.
size number
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
type This property is required. SubnetType
The type of subnet.
cidr_blocks Sequence[str]
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidr_mask int
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name str
The subnet's name. Will be templated upon creation.
size int
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
type This property is required. "Public" | "Private" | "Isolated" | "Unused"
The type of subnet.
cidrBlocks List<String>
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidrMask Number
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name String
The subnet's name. Will be templated upon creation.
size Number
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.

SubnetAllocationStrategy
, SubnetAllocationStrategyArgs

Legacy
LegacyGroup private subnets first, followed by public subnets, followed by isolated subnets.
Auto
AutoOrder remains as specified by specs, allowing gaps where required.
Exact
ExactWhole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps.
SubnetAllocationStrategyLegacy
LegacyGroup private subnets first, followed by public subnets, followed by isolated subnets.
SubnetAllocationStrategyAuto
AutoOrder remains as specified by specs, allowing gaps where required.
SubnetAllocationStrategyExact
ExactWhole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps.
Legacy
LegacyGroup private subnets first, followed by public subnets, followed by isolated subnets.
Auto
AutoOrder remains as specified by specs, allowing gaps where required.
Exact
ExactWhole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps.
Legacy
LegacyGroup private subnets first, followed by public subnets, followed by isolated subnets.
Auto
AutoOrder remains as specified by specs, allowing gaps where required.
Exact
ExactWhole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps.
LEGACY
LegacyGroup private subnets first, followed by public subnets, followed by isolated subnets.
AUTO
AutoOrder remains as specified by specs, allowing gaps where required.
EXACT
ExactWhole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps.
"Legacy"
LegacyGroup private subnets first, followed by public subnets, followed by isolated subnets.
"Auto"
AutoOrder remains as specified by specs, allowing gaps where required.
"Exact"
ExactWhole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps.

SubnetSpec
, SubnetSpecArgs

Type This property is required. Pulumi.Awsx.Ec2.SubnetType
The type of subnet.
CidrBlocks List<string>
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
CidrMask int
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Name string
The subnet's name. Will be templated upon creation.
Size int
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Tags Dictionary<string, string>
A map of tags to assign to the resource.
Type This property is required. SubnetType
The type of subnet.
CidrBlocks []string
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
CidrMask int
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Name string
The subnet's name. Will be templated upon creation.
Size int
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
Tags map[string]string
A map of tags to assign to the resource.
type This property is required. SubnetType
The type of subnet.
cidrBlocks List<String>
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidrMask Integer
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name String
The subnet's name. Will be templated upon creation.
size Integer
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
tags Map<String,String>
A map of tags to assign to the resource.
type This property is required. SubnetType
The type of subnet.
cidrBlocks string[]
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidrMask number
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name string
The subnet's name. Will be templated upon creation.
size number
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
tags {[key: string]: string}
A map of tags to assign to the resource.
type This property is required. SubnetType
The type of subnet.
cidr_blocks Sequence[str]
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidr_mask int
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name str
The subnet's name. Will be templated upon creation.
size int
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
tags Mapping[str, str]
A map of tags to assign to the resource.
type This property is required. "Public" | "Private" | "Isolated" | "Unused"
The type of subnet.
cidrBlocks List<String>
An optional list of CIDR blocks to assign to the subnet spec for each AZ. If specified, the count must match the number of AZs being used for the VPC, and must also be specified for all other subnet specs.
cidrMask Number
The netmask for the subnet's CIDR block. This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
name String
The subnet's name. Will be templated upon creation.
size Number
Optional size of the subnet's CIDR block - the number of hosts. This value must be a power of 2 (e.g. 256, 512, 1024, etc.). This is optional, the default value is inferred from the cidrMask, cidrBlocks or based on an even distribution of available space from the VPC's CIDR block after being divided evenly by availability zone.
tags Map<String>
A map of tags to assign to the resource.

SubnetType
, SubnetTypeArgs

Public
PublicA subnet whose hosts can directly communicate with the internet.
Private
PrivateA subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
Isolated
IsolatedA subnet whose hosts have no connectivity with the internet.
Unused
UnusedA subnet range which is reserved, but no subnet will be created.
SubnetTypePublic
PublicA subnet whose hosts can directly communicate with the internet.
SubnetTypePrivate
PrivateA subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
SubnetTypeIsolated
IsolatedA subnet whose hosts have no connectivity with the internet.
SubnetTypeUnused
UnusedA subnet range which is reserved, but no subnet will be created.
Public
PublicA subnet whose hosts can directly communicate with the internet.
Private
PrivateA subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
Isolated
IsolatedA subnet whose hosts have no connectivity with the internet.
Unused
UnusedA subnet range which is reserved, but no subnet will be created.
Public
PublicA subnet whose hosts can directly communicate with the internet.
Private
PrivateA subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
Isolated
IsolatedA subnet whose hosts have no connectivity with the internet.
Unused
UnusedA subnet range which is reserved, but no subnet will be created.
PUBLIC
PublicA subnet whose hosts can directly communicate with the internet.
PRIVATE
PrivateA subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
ISOLATED
IsolatedA subnet whose hosts have no connectivity with the internet.
UNUSED
UnusedA subnet range which is reserved, but no subnet will be created.
"Public"
PublicA subnet whose hosts can directly communicate with the internet.
"Private"
PrivateA subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
"Isolated"
IsolatedA subnet whose hosts have no connectivity with the internet.
"Unused"
UnusedA subnet range which is reserved, but no subnet will be created.

VpcEndpointSpec
, VpcEndpointSpecArgs

ServiceName This property is required. string
The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
AutoAccept bool
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
DnsOptions Pulumi.Aws.Ec2.Inputs.VpcEndpointDnsOptions

The DNS options for the endpoint. See dns_options below.

This type is defined in the AWS Classic package.

IpAddressType string
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
Policy string
A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
PrivateDnsEnabled bool
Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.
RouteTableIds List<string>
One or more route table IDs. Applicable for endpoints of type Gateway.
SecurityGroupIds List<string>
The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface. If no security groups are specified, the VPC's default security group is associated with the endpoint.
ServiceRegion Changes to this property will trigger replacement. string
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
SubnetConfigurations List<Pulumi.Aws.Ec2.Inputs.VpcEndpointSubnetConfiguration>
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
SubnetIds List<string>
The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
VpcEndpointType Changes to this property will trigger replacement. string
The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
ServiceName This property is required. string
The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
AutoAccept bool
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
DnsOptions VpcEndpointDnsOptions

The DNS options for the endpoint. See dns_options below.

This type is defined in the AWS Classic package.

IpAddressType string
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
Policy string
A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
PrivateDnsEnabled bool
Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.
RouteTableIds []string
One or more route table IDs. Applicable for endpoints of type Gateway.
SecurityGroupIds []string
The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface. If no security groups are specified, the VPC's default security group is associated with the endpoint.
ServiceRegion Changes to this property will trigger replacement. string
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
SubnetConfigurations VpcEndpointSubnetConfiguration
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
SubnetIds []string
The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
VpcEndpointType Changes to this property will trigger replacement. string
The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
serviceName This property is required. String
The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
autoAccept Boolean
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
dnsOptions VpcEndpointDnsOptions

The DNS options for the endpoint. See dns_options below.

This type is defined in the AWS Classic package.

ipAddressType String
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
policy String
A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
privateDnsEnabled Boolean
Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.
routeTableIds List<String>
One or more route table IDs. Applicable for endpoints of type Gateway.
securityGroupIds List<String>
The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface. If no security groups are specified, the VPC's default security group is associated with the endpoint.
serviceRegion Changes to this property will trigger replacement. String
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
subnetConfigurations List<VpcEndpointSubnetConfiguration>
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
subnetIds List<String>
The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
tags Map<String,String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpcEndpointType Changes to this property will trigger replacement. String
The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
serviceName This property is required. string
The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
autoAccept boolean
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
dnsOptions pulumiAws.types.input.VpcEndpointDnsOptions

The DNS options for the endpoint. See dns_options below.

This type is defined in the AWS Classic package.

ipAddressType string
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
policy string
A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
privateDnsEnabled boolean
Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.
routeTableIds string[]
One or more route table IDs. Applicable for endpoints of type Gateway.
securityGroupIds string[]
The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface. If no security groups are specified, the VPC's default security group is associated with the endpoint.
serviceRegion Changes to this property will trigger replacement. string
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
subnetConfigurations pulumiAws.types.input.VpcEndpointSubnetConfiguration[]
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
subnetIds string[]
The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpcEndpointType Changes to this property will trigger replacement. string
The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
service_name This property is required. str
The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
auto_accept bool
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
dns_options pulumi_aws.ec2.VpcEndpointDnsOptionsArgs

The DNS options for the endpoint. See dns_options below.

This type is defined in the AWS Classic package.

ip_address_type str
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
policy str
A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
private_dns_enabled bool
Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.
route_table_ids Sequence[str]
One or more route table IDs. Applicable for endpoints of type Gateway.
security_group_ids Sequence[str]
The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface. If no security groups are specified, the VPC's default security group is associated with the endpoint.
service_region Changes to this property will trigger replacement. str
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
subnet_configurations Sequence[pulumi_aws.ec2.VpcEndpointSubnetConfigurationArgs]
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
subnet_ids Sequence[str]
The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpc_endpoint_type Changes to this property will trigger replacement. str
The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
serviceName This property is required. String
The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
autoAccept Boolean
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
dnsOptions Property Map

The DNS options for the endpoint. See dns_options below.

This type is defined in the AWS Classic package.

ipAddressType String
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
policy String
A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
privateDnsEnabled Boolean
Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to false.
routeTableIds List<String>
One or more route table IDs. Applicable for endpoints of type Gateway.
securityGroupIds List<String>
The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface. If no security groups are specified, the VPC's default security group is associated with the endpoint.
serviceRegion Changes to this property will trigger replacement. String
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
subnetConfigurations List<Property Map>
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
subnetIds List<String>
The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
tags Map<String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
vpcEndpointType Changes to this property will trigger replacement. String
The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.

Package Details

Repository
AWSx (Pulumi Crosswalk for AWS) pulumi/pulumi-awsx
License
Apache-2.0