ec2

package
v0.0.0-...-aedec29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2022 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// Do not create any NAT Gateways. Resources in private subnets will not be able to access the internet.
	NatGatewayStrategyNone = NatGatewayStrategy("None")
	// Create a single NAT Gateway for the entire VPC. This configuration is not recommended for production infrastructure as it creates a single point of failure.
	NatGatewayStrategySingle = NatGatewayStrategy("Single")
	// Create a NAT Gateway in each availability zone. This is the recommended configuration for production infrastructure.
	NatGatewayStrategyOnePerAz = NatGatewayStrategy("OnePerAz")
)
View Source
const (
	// A subnet whose hosts can directly communicate with the internet.
	SubnetTypePublic = SubnetType("Public")
	// A subnet whose hosts can not directly communicate with the internet, but can initiate outbound network traffic via a NAT Gateway.
	SubnetTypePrivate = SubnetType("Private")
	// A subnet whose hosts have no connectivity with the internet.
	SubnetTypeIsolated = SubnetType("Isolated")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultVpc

type DefaultVpc struct {
	pulumi.ResourceState

	PrivateSubnetIds pulumi.StringArrayOutput `pulumi:"privateSubnetIds"`
	PublicSubnetIds  pulumi.StringArrayOutput `pulumi:"publicSubnetIds"`
	// The VPC ID for the default VPC
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Pseudo resource representing the default VPC and associated subnets for an account and region. This does not create any resources. This will be replaced with `getDefaultVpc` in the future.

func NewDefaultVpc

func NewDefaultVpc(ctx *pulumi.Context,
	name string, args *DefaultVpcArgs, opts ...pulumi.ResourceOption) (*DefaultVpc, error)

NewDefaultVpc registers a new resource with the given unique name, arguments, and options.

func (*DefaultVpc) ElementType

func (*DefaultVpc) ElementType() reflect.Type

func (*DefaultVpc) ToDefaultVpcOutput

func (i *DefaultVpc) ToDefaultVpcOutput() DefaultVpcOutput

func (*DefaultVpc) ToDefaultVpcOutputWithContext

func (i *DefaultVpc) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput

type DefaultVpcArgs

type DefaultVpcArgs struct {
}

The set of arguments for constructing a DefaultVpc resource.

func (DefaultVpcArgs) ElementType

func (DefaultVpcArgs) ElementType() reflect.Type

type DefaultVpcArray

type DefaultVpcArray []DefaultVpcInput

func (DefaultVpcArray) ElementType

func (DefaultVpcArray) ElementType() reflect.Type

func (DefaultVpcArray) ToDefaultVpcArrayOutput

func (i DefaultVpcArray) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput

func (DefaultVpcArray) ToDefaultVpcArrayOutputWithContext

func (i DefaultVpcArray) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput

type DefaultVpcArrayInput

type DefaultVpcArrayInput interface {
	pulumi.Input

	ToDefaultVpcArrayOutput() DefaultVpcArrayOutput
	ToDefaultVpcArrayOutputWithContext(context.Context) DefaultVpcArrayOutput
}

DefaultVpcArrayInput is an input type that accepts DefaultVpcArray and DefaultVpcArrayOutput values. You can construct a concrete instance of `DefaultVpcArrayInput` via:

DefaultVpcArray{ DefaultVpcArgs{...} }

type DefaultVpcArrayOutput

type DefaultVpcArrayOutput struct{ *pulumi.OutputState }

func (DefaultVpcArrayOutput) ElementType

func (DefaultVpcArrayOutput) ElementType() reflect.Type

func (DefaultVpcArrayOutput) Index

func (DefaultVpcArrayOutput) ToDefaultVpcArrayOutput

func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput

func (DefaultVpcArrayOutput) ToDefaultVpcArrayOutputWithContext

func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput

type DefaultVpcInput

type DefaultVpcInput interface {
	pulumi.Input

	ToDefaultVpcOutput() DefaultVpcOutput
	ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput
}

type DefaultVpcMap

type DefaultVpcMap map[string]DefaultVpcInput

func (DefaultVpcMap) ElementType

func (DefaultVpcMap) ElementType() reflect.Type

func (DefaultVpcMap) ToDefaultVpcMapOutput

func (i DefaultVpcMap) ToDefaultVpcMapOutput() DefaultVpcMapOutput

func (DefaultVpcMap) ToDefaultVpcMapOutputWithContext

func (i DefaultVpcMap) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput

type DefaultVpcMapInput

type DefaultVpcMapInput interface {
	pulumi.Input

	ToDefaultVpcMapOutput() DefaultVpcMapOutput
	ToDefaultVpcMapOutputWithContext(context.Context) DefaultVpcMapOutput
}

DefaultVpcMapInput is an input type that accepts DefaultVpcMap and DefaultVpcMapOutput values. You can construct a concrete instance of `DefaultVpcMapInput` via:

DefaultVpcMap{ "key": DefaultVpcArgs{...} }

type DefaultVpcMapOutput

type DefaultVpcMapOutput struct{ *pulumi.OutputState }

func (DefaultVpcMapOutput) ElementType

func (DefaultVpcMapOutput) ElementType() reflect.Type

func (DefaultVpcMapOutput) MapIndex

func (DefaultVpcMapOutput) ToDefaultVpcMapOutput

func (o DefaultVpcMapOutput) ToDefaultVpcMapOutput() DefaultVpcMapOutput

func (DefaultVpcMapOutput) ToDefaultVpcMapOutputWithContext

func (o DefaultVpcMapOutput) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput

type DefaultVpcOutput

type DefaultVpcOutput struct{ *pulumi.OutputState }

func (DefaultVpcOutput) ElementType

func (DefaultVpcOutput) ElementType() reflect.Type

func (DefaultVpcOutput) PrivateSubnetIds

func (o DefaultVpcOutput) PrivateSubnetIds() pulumi.StringArrayOutput

func (DefaultVpcOutput) PublicSubnetIds

func (o DefaultVpcOutput) PublicSubnetIds() pulumi.StringArrayOutput

func (DefaultVpcOutput) ToDefaultVpcOutput

func (o DefaultVpcOutput) ToDefaultVpcOutput() DefaultVpcOutput

func (DefaultVpcOutput) ToDefaultVpcOutputWithContext

func (o DefaultVpcOutput) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput

func (DefaultVpcOutput) VpcId

The VPC ID for the default VPC

type GetDefaultVpcArgs

type GetDefaultVpcArgs struct {
}

Arguments for getting the default VPC

type GetDefaultVpcResult

type GetDefaultVpcResult struct {
	PrivateSubnetIds []string `pulumi:"privateSubnetIds"`
	PublicSubnetIds  []string `pulumi:"publicSubnetIds"`
	// The VPC ID for the default VPC
	VpcId string `pulumi:"vpcId"`
}

Outputs from the default VPC configuration

func GetDefaultVpc deprecated

func GetDefaultVpc(ctx *pulumi.Context, args *GetDefaultVpcArgs, opts ...pulumi.InvokeOption) (*GetDefaultVpcResult, error)

[NOT YET IMPLEMENTED] Get the Default VPC for a region.

Deprecated: Waiting for https://github.com/pulumi/pulumi/issues/7583. Use the DefaultVpc resource until resolved.

type NatGatewayConfiguration

type NatGatewayConfiguration struct {
	// 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).
	ElasticIpAllocationIds []string `pulumi:"elasticIpAllocationIds"`
	// The strategy for deploying NAT Gateways.
	Strategy NatGatewayStrategy `pulumi:"strategy"`
}

Configuration for NAT Gateways.

type NatGatewayConfigurationArgs

type NatGatewayConfigurationArgs struct {
	// 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).
	ElasticIpAllocationIds []pulumi.StringInput `pulumi:"elasticIpAllocationIds"`
	// The strategy for deploying NAT Gateways.
	Strategy NatGatewayStrategy `pulumi:"strategy"`
}

Configuration for NAT Gateways.

func (NatGatewayConfigurationArgs) ElementType

func (NatGatewayConfigurationArgs) ToNatGatewayConfigurationOutput

func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationOutput() NatGatewayConfigurationOutput

func (NatGatewayConfigurationArgs) ToNatGatewayConfigurationOutputWithContext

func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationOutputWithContext(ctx context.Context) NatGatewayConfigurationOutput

func (NatGatewayConfigurationArgs) ToNatGatewayConfigurationPtrOutput

func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput

func (NatGatewayConfigurationArgs) ToNatGatewayConfigurationPtrOutputWithContext

func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationPtrOutputWithContext(ctx context.Context) NatGatewayConfigurationPtrOutput

type NatGatewayConfigurationInput

type NatGatewayConfigurationInput interface {
	pulumi.Input

	ToNatGatewayConfigurationOutput() NatGatewayConfigurationOutput
	ToNatGatewayConfigurationOutputWithContext(context.Context) NatGatewayConfigurationOutput
}

NatGatewayConfigurationInput is an input type that accepts NatGatewayConfigurationArgs and NatGatewayConfigurationOutput values. You can construct a concrete instance of `NatGatewayConfigurationInput` via:

NatGatewayConfigurationArgs{...}

type NatGatewayConfigurationOutput

type NatGatewayConfigurationOutput struct{ *pulumi.OutputState }

Configuration for NAT Gateways.

func (NatGatewayConfigurationOutput) ElasticIpAllocationIds

func (o NatGatewayConfigurationOutput) ElasticIpAllocationIds() pulumi.StringArrayOutput

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).

func (NatGatewayConfigurationOutput) ElementType

func (NatGatewayConfigurationOutput) Strategy

The strategy for deploying NAT Gateways.

func (NatGatewayConfigurationOutput) ToNatGatewayConfigurationOutput

func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationOutput() NatGatewayConfigurationOutput

func (NatGatewayConfigurationOutput) ToNatGatewayConfigurationOutputWithContext

func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationOutputWithContext(ctx context.Context) NatGatewayConfigurationOutput

func (NatGatewayConfigurationOutput) ToNatGatewayConfigurationPtrOutput

func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput

func (NatGatewayConfigurationOutput) ToNatGatewayConfigurationPtrOutputWithContext

func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationPtrOutputWithContext(ctx context.Context) NatGatewayConfigurationPtrOutput

type NatGatewayConfigurationPtrInput

type NatGatewayConfigurationPtrInput interface {
	pulumi.Input

	ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput
	ToNatGatewayConfigurationPtrOutputWithContext(context.Context) NatGatewayConfigurationPtrOutput
}

NatGatewayConfigurationPtrInput is an input type that accepts NatGatewayConfigurationArgs, NatGatewayConfigurationPtr and NatGatewayConfigurationPtrOutput values. You can construct a concrete instance of `NatGatewayConfigurationPtrInput` via:

        NatGatewayConfigurationArgs{...}

or:

        nil

type NatGatewayConfigurationPtrOutput

type NatGatewayConfigurationPtrOutput struct{ *pulumi.OutputState }

func (NatGatewayConfigurationPtrOutput) ElasticIpAllocationIds

func (o NatGatewayConfigurationPtrOutput) ElasticIpAllocationIds() pulumi.StringArrayOutput

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).

func (NatGatewayConfigurationPtrOutput) Elem

func (NatGatewayConfigurationPtrOutput) ElementType

func (NatGatewayConfigurationPtrOutput) Strategy

The strategy for deploying NAT Gateways.

func (NatGatewayConfigurationPtrOutput) ToNatGatewayConfigurationPtrOutput

func (o NatGatewayConfigurationPtrOutput) ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput

func (NatGatewayConfigurationPtrOutput) ToNatGatewayConfigurationPtrOutputWithContext

func (o NatGatewayConfigurationPtrOutput) ToNatGatewayConfigurationPtrOutputWithContext(ctx context.Context) NatGatewayConfigurationPtrOutput

type NatGatewayStrategy

type NatGatewayStrategy string

A strategy for creating NAT Gateways for private subnets within a VPC.

func (NatGatewayStrategy) ElementType

func (NatGatewayStrategy) ElementType() reflect.Type

func (NatGatewayStrategy) ToNatGatewayStrategyOutput

func (e NatGatewayStrategy) ToNatGatewayStrategyOutput() NatGatewayStrategyOutput

func (NatGatewayStrategy) ToNatGatewayStrategyOutputWithContext

func (e NatGatewayStrategy) ToNatGatewayStrategyOutputWithContext(ctx context.Context) NatGatewayStrategyOutput

func (NatGatewayStrategy) ToNatGatewayStrategyPtrOutput

func (e NatGatewayStrategy) ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput

func (NatGatewayStrategy) ToNatGatewayStrategyPtrOutputWithContext

func (e NatGatewayStrategy) ToNatGatewayStrategyPtrOutputWithContext(ctx context.Context) NatGatewayStrategyPtrOutput

func (NatGatewayStrategy) ToStringOutput

func (e NatGatewayStrategy) ToStringOutput() pulumi.StringOutput

func (NatGatewayStrategy) ToStringOutputWithContext

func (e NatGatewayStrategy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (NatGatewayStrategy) ToStringPtrOutput

func (e NatGatewayStrategy) ToStringPtrOutput() pulumi.StringPtrOutput

func (NatGatewayStrategy) ToStringPtrOutputWithContext

func (e NatGatewayStrategy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type NatGatewayStrategyInput

type NatGatewayStrategyInput interface {
	pulumi.Input

	ToNatGatewayStrategyOutput() NatGatewayStrategyOutput
	ToNatGatewayStrategyOutputWithContext(context.Context) NatGatewayStrategyOutput
}

NatGatewayStrategyInput is an input type that accepts NatGatewayStrategyArgs and NatGatewayStrategyOutput values. You can construct a concrete instance of `NatGatewayStrategyInput` via:

NatGatewayStrategyArgs{...}

type NatGatewayStrategyOutput

type NatGatewayStrategyOutput struct{ *pulumi.OutputState }

func (NatGatewayStrategyOutput) ElementType

func (NatGatewayStrategyOutput) ElementType() reflect.Type

func (NatGatewayStrategyOutput) ToNatGatewayStrategyOutput

func (o NatGatewayStrategyOutput) ToNatGatewayStrategyOutput() NatGatewayStrategyOutput

func (NatGatewayStrategyOutput) ToNatGatewayStrategyOutputWithContext

func (o NatGatewayStrategyOutput) ToNatGatewayStrategyOutputWithContext(ctx context.Context) NatGatewayStrategyOutput

func (NatGatewayStrategyOutput) ToNatGatewayStrategyPtrOutput

func (o NatGatewayStrategyOutput) ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput

func (NatGatewayStrategyOutput) ToNatGatewayStrategyPtrOutputWithContext

func (o NatGatewayStrategyOutput) ToNatGatewayStrategyPtrOutputWithContext(ctx context.Context) NatGatewayStrategyPtrOutput

func (NatGatewayStrategyOutput) ToStringOutput

func (o NatGatewayStrategyOutput) ToStringOutput() pulumi.StringOutput

func (NatGatewayStrategyOutput) ToStringOutputWithContext

func (o NatGatewayStrategyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (NatGatewayStrategyOutput) ToStringPtrOutput

func (o NatGatewayStrategyOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (NatGatewayStrategyOutput) ToStringPtrOutputWithContext

func (o NatGatewayStrategyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type NatGatewayStrategyPtrInput

type NatGatewayStrategyPtrInput interface {
	pulumi.Input

	ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput
	ToNatGatewayStrategyPtrOutputWithContext(context.Context) NatGatewayStrategyPtrOutput
}

func NatGatewayStrategyPtr

func NatGatewayStrategyPtr(v string) NatGatewayStrategyPtrInput

type NatGatewayStrategyPtrOutput

type NatGatewayStrategyPtrOutput struct{ *pulumi.OutputState }

func (NatGatewayStrategyPtrOutput) Elem

func (NatGatewayStrategyPtrOutput) ElementType

func (NatGatewayStrategyPtrOutput) ToNatGatewayStrategyPtrOutput

func (o NatGatewayStrategyPtrOutput) ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput

func (NatGatewayStrategyPtrOutput) ToNatGatewayStrategyPtrOutputWithContext

func (o NatGatewayStrategyPtrOutput) ToNatGatewayStrategyPtrOutputWithContext(ctx context.Context) NatGatewayStrategyPtrOutput

func (NatGatewayStrategyPtrOutput) ToStringPtrOutput

func (o NatGatewayStrategyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (NatGatewayStrategyPtrOutput) ToStringPtrOutputWithContext

func (o NatGatewayStrategyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type SubnetSpec

type SubnetSpec struct {
	// The bitmask for the subnet's CIDR block.
	CidrMask int `pulumi:"cidrMask"`
	// The subnet's name. Will be templated upon creation.
	Name *string `pulumi:"name"`
	// The type of subnet.
	Type SubnetType `pulumi:"type"`
}

Configuration for a VPC subnet.

type SubnetSpecArgs

type SubnetSpecArgs struct {
	// The bitmask for the subnet's CIDR block.
	CidrMask int `pulumi:"cidrMask"`
	// The subnet's name. Will be templated upon creation.
	Name *string `pulumi:"name"`
	// The type of subnet.
	Type SubnetType `pulumi:"type"`
}

Configuration for a VPC subnet.

func (SubnetSpecArgs) ElementType

func (SubnetSpecArgs) ElementType() reflect.Type

func (SubnetSpecArgs) ToSubnetSpecOutput

func (i SubnetSpecArgs) ToSubnetSpecOutput() SubnetSpecOutput

func (SubnetSpecArgs) ToSubnetSpecOutputWithContext

func (i SubnetSpecArgs) ToSubnetSpecOutputWithContext(ctx context.Context) SubnetSpecOutput

type SubnetSpecArray

type SubnetSpecArray []SubnetSpecInput

func (SubnetSpecArray) ElementType

func (SubnetSpecArray) ElementType() reflect.Type

func (SubnetSpecArray) ToSubnetSpecArrayOutput

func (i SubnetSpecArray) ToSubnetSpecArrayOutput() SubnetSpecArrayOutput

func (SubnetSpecArray) ToSubnetSpecArrayOutputWithContext

func (i SubnetSpecArray) ToSubnetSpecArrayOutputWithContext(ctx context.Context) SubnetSpecArrayOutput

type SubnetSpecArrayInput

type SubnetSpecArrayInput interface {
	pulumi.Input

	ToSubnetSpecArrayOutput() SubnetSpecArrayOutput
	ToSubnetSpecArrayOutputWithContext(context.Context) SubnetSpecArrayOutput
}

SubnetSpecArrayInput is an input type that accepts SubnetSpecArray and SubnetSpecArrayOutput values. You can construct a concrete instance of `SubnetSpecArrayInput` via:

SubnetSpecArray{ SubnetSpecArgs{...} }

type SubnetSpecArrayOutput

type SubnetSpecArrayOutput struct{ *pulumi.OutputState }

func (SubnetSpecArrayOutput) ElementType

func (SubnetSpecArrayOutput) ElementType() reflect.Type

func (SubnetSpecArrayOutput) Index

func (SubnetSpecArrayOutput) ToSubnetSpecArrayOutput

func (o SubnetSpecArrayOutput) ToSubnetSpecArrayOutput() SubnetSpecArrayOutput

func (SubnetSpecArrayOutput) ToSubnetSpecArrayOutputWithContext

func (o SubnetSpecArrayOutput) ToSubnetSpecArrayOutputWithContext(ctx context.Context) SubnetSpecArrayOutput

type SubnetSpecInput

type SubnetSpecInput interface {
	pulumi.Input

	ToSubnetSpecOutput() SubnetSpecOutput
	ToSubnetSpecOutputWithContext(context.Context) SubnetSpecOutput
}

SubnetSpecInput is an input type that accepts SubnetSpecArgs and SubnetSpecOutput values. You can construct a concrete instance of `SubnetSpecInput` via:

SubnetSpecArgs{...}

type SubnetSpecOutput

type SubnetSpecOutput struct{ *pulumi.OutputState }

Configuration for a VPC subnet.

func (SubnetSpecOutput) CidrMask

func (o SubnetSpecOutput) CidrMask() pulumi.IntOutput

The bitmask for the subnet's CIDR block.

func (SubnetSpecOutput) ElementType

func (SubnetSpecOutput) ElementType() reflect.Type

func (SubnetSpecOutput) Name

The subnet's name. Will be templated upon creation.

func (SubnetSpecOutput) ToSubnetSpecOutput

func (o SubnetSpecOutput) ToSubnetSpecOutput() SubnetSpecOutput

func (SubnetSpecOutput) ToSubnetSpecOutputWithContext

func (o SubnetSpecOutput) ToSubnetSpecOutputWithContext(ctx context.Context) SubnetSpecOutput

func (SubnetSpecOutput) Type

The type of subnet.

type SubnetType

type SubnetType string

A type of subnet within a VPC.

func (SubnetType) ElementType

func (SubnetType) ElementType() reflect.Type

func (SubnetType) ToStringOutput

func (e SubnetType) ToStringOutput() pulumi.StringOutput

func (SubnetType) ToStringOutputWithContext

func (e SubnetType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (SubnetType) ToStringPtrOutput

func (e SubnetType) ToStringPtrOutput() pulumi.StringPtrOutput

func (SubnetType) ToStringPtrOutputWithContext

func (e SubnetType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

func (SubnetType) ToSubnetTypeOutput

func (e SubnetType) ToSubnetTypeOutput() SubnetTypeOutput

func (SubnetType) ToSubnetTypeOutputWithContext

func (e SubnetType) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput

func (SubnetType) ToSubnetTypePtrOutput

func (e SubnetType) ToSubnetTypePtrOutput() SubnetTypePtrOutput

func (SubnetType) ToSubnetTypePtrOutputWithContext

func (e SubnetType) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput

type SubnetTypeInput

type SubnetTypeInput interface {
	pulumi.Input

	ToSubnetTypeOutput() SubnetTypeOutput
	ToSubnetTypeOutputWithContext(context.Context) SubnetTypeOutput
}

SubnetTypeInput is an input type that accepts SubnetTypeArgs and SubnetTypeOutput values. You can construct a concrete instance of `SubnetTypeInput` via:

SubnetTypeArgs{...}

type SubnetTypeOutput

type SubnetTypeOutput struct{ *pulumi.OutputState }

func (SubnetTypeOutput) ElementType

func (SubnetTypeOutput) ElementType() reflect.Type

func (SubnetTypeOutput) ToStringOutput

func (o SubnetTypeOutput) ToStringOutput() pulumi.StringOutput

func (SubnetTypeOutput) ToStringOutputWithContext

func (o SubnetTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (SubnetTypeOutput) ToStringPtrOutput

func (o SubnetTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (SubnetTypeOutput) ToStringPtrOutputWithContext

func (o SubnetTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

func (SubnetTypeOutput) ToSubnetTypeOutput

func (o SubnetTypeOutput) ToSubnetTypeOutput() SubnetTypeOutput

func (SubnetTypeOutput) ToSubnetTypeOutputWithContext

func (o SubnetTypeOutput) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput

func (SubnetTypeOutput) ToSubnetTypePtrOutput

func (o SubnetTypeOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput

func (SubnetTypeOutput) ToSubnetTypePtrOutputWithContext

func (o SubnetTypeOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput

type SubnetTypePtrInput

type SubnetTypePtrInput interface {
	pulumi.Input

	ToSubnetTypePtrOutput() SubnetTypePtrOutput
	ToSubnetTypePtrOutputWithContext(context.Context) SubnetTypePtrOutput
}

func SubnetTypePtr

func SubnetTypePtr(v string) SubnetTypePtrInput

type SubnetTypePtrOutput

type SubnetTypePtrOutput struct{ *pulumi.OutputState }

func (SubnetTypePtrOutput) Elem

func (SubnetTypePtrOutput) ElementType

func (SubnetTypePtrOutput) ElementType() reflect.Type

func (SubnetTypePtrOutput) ToStringPtrOutput

func (o SubnetTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (SubnetTypePtrOutput) ToStringPtrOutputWithContext

func (o SubnetTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

func (SubnetTypePtrOutput) ToSubnetTypePtrOutput

func (o SubnetTypePtrOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput

func (SubnetTypePtrOutput) ToSubnetTypePtrOutputWithContext

func (o SubnetTypePtrOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput

type Vpc

type Vpc struct {
	pulumi.ResourceState

	// The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
	Eips ec2.EipArrayOutput `pulumi:"eips"`
	// The Internet Gateway for the VPC.
	InternetGateway   ec2.InternetGatewayOutput `pulumi:"internetGateway"`
	IsolatedSubnetIds pulumi.StringArrayOutput  `pulumi:"isolatedSubnetIds"`
	// The NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.
	NatGateways      ec2.NatGatewayArrayOutput `pulumi:"natGateways"`
	PrivateSubnetIds pulumi.StringArrayOutput  `pulumi:"privateSubnetIds"`
	PublicSubnetIds  pulumi.StringArrayOutput  `pulumi:"publicSubnetIds"`
	// The Route Table Associations for the VPC.
	RouteTableAssociations ec2.RouteTableAssociationArrayOutput `pulumi:"routeTableAssociations"`
	// The Route Tables for the VPC.
	RouteTables ec2.RouteTableArrayOutput `pulumi:"routeTables"`
	// The Routes for the VPC.
	Routes ec2.RouteArrayOutput `pulumi:"routes"`
	// The VPC's subnets.
	Subnets ec2.SubnetArrayOutput `pulumi:"subnets"`
	// The VPC.
	Vpc ec2.VpcOutput `pulumi:"vpc"`
	// The VPC Endpoints that are enabled
	VpcEndpoints ec2.VpcEndpointArrayOutput `pulumi:"vpcEndpoints"`
	VpcId        pulumi.StringOutput        `pulumi:"vpcId"`
}

func NewVpc

func NewVpc(ctx *pulumi.Context,
	name string, args *VpcArgs, opts ...pulumi.ResourceOption) (*Vpc, error)

NewVpc registers a new resource with the given unique name, arguments, and options.

func (*Vpc) ElementType

func (*Vpc) ElementType() reflect.Type

func (*Vpc) ToVpcOutput

func (i *Vpc) ToVpcOutput() VpcOutput

func (*Vpc) ToVpcOutputWithContext

func (i *Vpc) ToVpcOutputWithContext(ctx context.Context) VpcOutput

type VpcArgs

type VpcArgs struct {
	// 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`
	AssignGeneratedIpv6CidrBlock pulumi.BoolPtrInput
	// 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.
	AvailabilityZoneNames []string
	// The CIDR block for the VPC. Optional. Defaults to 10.0.0.0/16.
	CidrBlock *string
	// A boolean flag to enable/disable ClassicLink
	// for the VPC. Only valid in regions and accounts that support EC2 Classic.
	// See the [ClassicLink documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) for more information. Defaults false.
	EnableClassiclink pulumi.BoolPtrInput
	// A boolean flag to enable/disable ClassicLink DNS Support for the VPC.
	// Only valid in regions and accounts that support EC2 Classic.
	EnableClassiclinkDnsSupport pulumi.BoolPtrInput
	// A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
	EnableDnsHostnames pulumi.BoolPtrInput
	// A boolean flag to enable/disable DNS support in the VPC. Defaults true.
	EnableDnsSupport pulumi.BoolPtrInput
	// 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.
	InstanceTenancy pulumi.StringPtrInput
	// 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.
	Ipv4IpamPoolId pulumi.StringPtrInput
	// The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a `ipv4_ipam_pool_id`.
	Ipv4NetmaskLength pulumi.IntPtrInput
	// IPv6 CIDR block to request from an IPAM Pool. Can be set explicitly or derived from IPAM using `ipv6_netmask_length`.
	Ipv6CidrBlock pulumi.StringPtrInput
	// 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.
	Ipv6CidrBlockNetworkBorderGroup pulumi.StringPtrInput
	// IPAM Pool ID for a IPv6 pool. Conflicts with `assign_generated_ipv6_cidr_block`.
	Ipv6IpamPoolId pulumi.StringPtrInput
	// 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: `56`.
	Ipv6NetmaskLength pulumi.IntPtrInput
	// 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.
	NatGateways *NatGatewayConfigurationArgs
	// 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.
	NumberOfAvailabilityZones *int
	// 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.
	SubnetSpecs []SubnetSpecArgs
	// 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.
	Tags pulumi.StringMapInput
	// A list of VPC Endpoints specs to be deployed as part of the VPC
	VpcEndpointSpecs []VpcEndpointSpecArgs
}

The set of arguments for constructing a Vpc resource.

func (VpcArgs) ElementType

func (VpcArgs) ElementType() reflect.Type

type VpcArray

type VpcArray []VpcInput

func (VpcArray) ElementType

func (VpcArray) ElementType() reflect.Type

func (VpcArray) ToVpcArrayOutput

func (i VpcArray) ToVpcArrayOutput() VpcArrayOutput

func (VpcArray) ToVpcArrayOutputWithContext

func (i VpcArray) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput

type VpcArrayInput

type VpcArrayInput interface {
	pulumi.Input

	ToVpcArrayOutput() VpcArrayOutput
	ToVpcArrayOutputWithContext(context.Context) VpcArrayOutput
}

VpcArrayInput is an input type that accepts VpcArray and VpcArrayOutput values. You can construct a concrete instance of `VpcArrayInput` via:

VpcArray{ VpcArgs{...} }

type VpcArrayOutput

type VpcArrayOutput struct{ *pulumi.OutputState }

func (VpcArrayOutput) ElementType

func (VpcArrayOutput) ElementType() reflect.Type

func (VpcArrayOutput) Index

func (VpcArrayOutput) ToVpcArrayOutput

func (o VpcArrayOutput) ToVpcArrayOutput() VpcArrayOutput

func (VpcArrayOutput) ToVpcArrayOutputWithContext

func (o VpcArrayOutput) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput

type VpcEndpointSpec

type VpcEndpointSpec struct {
	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	AutoAccept *bool `pulumi:"autoAccept"`
	// 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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) for more details.
	Policy *string `pulumi:"policy"`
	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to `false`.
	PrivateDnsEnabled *bool `pulumi:"privateDnsEnabled"`
	// One or more route table IDs. Applicable for endpoints of type `Gateway`.
	RouteTableIds []string `pulumi:"routeTableIds"`
	// 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](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// 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`).
	ServiceName string `pulumi:"serviceName"`
	// 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`.
	SubnetIds []string `pulumi:"subnetIds"`
	// 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.
	Tags map[string]string `pulumi:"tags"`
	// The VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gateway`.
	VpcEndpointType *string `pulumi:"vpcEndpointType"`
}

## Example Usage ### Basic ```go 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.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{
			VpcId:       pulumi.Any(aws_vpc.Main.Id),
			ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Basic w/ Tags ```go 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.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{
			VpcId:       pulumi.Any(aws_vpc.Main.Id),
			ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"),
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Interface Endpoint Type ```go 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.NewVpcEndpoint(ctx, "ec2", &ec2.VpcEndpointArgs{
			VpcId:           pulumi.Any(aws_vpc.Main.Id),
			ServiceName:     pulumi.String("com.amazonaws.us-west-2.ec2"),
			VpcEndpointType: pulumi.String("Interface"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Sg1.Id),
			},
			PrivateDnsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gateway Load Balancer Endpoint Type ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"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 {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleVpcEndpointService, err := ec2.NewVpcEndpointService(ctx, "exampleVpcEndpointService", &ec2.VpcEndpointServiceArgs{
			AcceptanceRequired: pulumi.Bool(false),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String(current.Arn),
			},
			GatewayLoadBalancerArns: pulumi.StringArray{
				pulumi.Any(aws_lb.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewVpcEndpoint(ctx, "exampleVpcEndpoint", &ec2.VpcEndpointArgs{
			ServiceName: exampleVpcEndpointService.ServiceName,
			SubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example.Id),
			},
			VpcEndpointType: exampleVpcEndpointService.ServiceType,
			VpcId:           pulumi.Any(aws_vpc.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Endpoints can be imported using the `vpc endpoint id`, e.g.,

```sh

$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57

```

type VpcEndpointSpecArgs

type VpcEndpointSpecArgs struct {
	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	AutoAccept *bool `pulumi:"autoAccept"`
	// 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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) for more details.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to `false`.
	PrivateDnsEnabled *bool `pulumi:"privateDnsEnabled"`
	// One or more route table IDs. Applicable for endpoints of type `Gateway`.
	RouteTableIds pulumi.StringArrayInput `pulumi:"routeTableIds"`
	// 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](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// 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`).
	ServiceName string `pulumi:"serviceName"`
	// 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`.
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
	// 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.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// The VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gateway`.
	VpcEndpointType pulumi.StringPtrInput `pulumi:"vpcEndpointType"`
}

## Example Usage ### Basic ```go 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.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{
			VpcId:       pulumi.Any(aws_vpc.Main.Id),
			ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Basic w/ Tags ```go 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.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{
			VpcId:       pulumi.Any(aws_vpc.Main.Id),
			ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"),
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Interface Endpoint Type ```go 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.NewVpcEndpoint(ctx, "ec2", &ec2.VpcEndpointArgs{
			VpcId:           pulumi.Any(aws_vpc.Main.Id),
			ServiceName:     pulumi.String("com.amazonaws.us-west-2.ec2"),
			VpcEndpointType: pulumi.String("Interface"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Sg1.Id),
			},
			PrivateDnsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gateway Load Balancer Endpoint Type ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"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 {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleVpcEndpointService, err := ec2.NewVpcEndpointService(ctx, "exampleVpcEndpointService", &ec2.VpcEndpointServiceArgs{
			AcceptanceRequired: pulumi.Bool(false),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String(current.Arn),
			},
			GatewayLoadBalancerArns: pulumi.StringArray{
				pulumi.Any(aws_lb.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewVpcEndpoint(ctx, "exampleVpcEndpoint", &ec2.VpcEndpointArgs{
			ServiceName: exampleVpcEndpointService.ServiceName,
			SubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example.Id),
			},
			VpcEndpointType: exampleVpcEndpointService.ServiceType,
			VpcId:           pulumi.Any(aws_vpc.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Endpoints can be imported using the `vpc endpoint id`, e.g.,

```sh

$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57

```

func (VpcEndpointSpecArgs) ElementType

func (VpcEndpointSpecArgs) ElementType() reflect.Type

func (VpcEndpointSpecArgs) ToVpcEndpointSpecOutput

func (i VpcEndpointSpecArgs) ToVpcEndpointSpecOutput() VpcEndpointSpecOutput

func (VpcEndpointSpecArgs) ToVpcEndpointSpecOutputWithContext

func (i VpcEndpointSpecArgs) ToVpcEndpointSpecOutputWithContext(ctx context.Context) VpcEndpointSpecOutput

type VpcEndpointSpecArray

type VpcEndpointSpecArray []VpcEndpointSpecInput

func (VpcEndpointSpecArray) ElementType

func (VpcEndpointSpecArray) ElementType() reflect.Type

func (VpcEndpointSpecArray) ToVpcEndpointSpecArrayOutput

func (i VpcEndpointSpecArray) ToVpcEndpointSpecArrayOutput() VpcEndpointSpecArrayOutput

func (VpcEndpointSpecArray) ToVpcEndpointSpecArrayOutputWithContext

func (i VpcEndpointSpecArray) ToVpcEndpointSpecArrayOutputWithContext(ctx context.Context) VpcEndpointSpecArrayOutput

type VpcEndpointSpecArrayInput

type VpcEndpointSpecArrayInput interface {
	pulumi.Input

	ToVpcEndpointSpecArrayOutput() VpcEndpointSpecArrayOutput
	ToVpcEndpointSpecArrayOutputWithContext(context.Context) VpcEndpointSpecArrayOutput
}

VpcEndpointSpecArrayInput is an input type that accepts VpcEndpointSpecArray and VpcEndpointSpecArrayOutput values. You can construct a concrete instance of `VpcEndpointSpecArrayInput` via:

VpcEndpointSpecArray{ VpcEndpointSpecArgs{...} }

type VpcEndpointSpecArrayOutput

type VpcEndpointSpecArrayOutput struct{ *pulumi.OutputState }

func (VpcEndpointSpecArrayOutput) ElementType

func (VpcEndpointSpecArrayOutput) ElementType() reflect.Type

func (VpcEndpointSpecArrayOutput) Index

func (VpcEndpointSpecArrayOutput) ToVpcEndpointSpecArrayOutput

func (o VpcEndpointSpecArrayOutput) ToVpcEndpointSpecArrayOutput() VpcEndpointSpecArrayOutput

func (VpcEndpointSpecArrayOutput) ToVpcEndpointSpecArrayOutputWithContext

func (o VpcEndpointSpecArrayOutput) ToVpcEndpointSpecArrayOutputWithContext(ctx context.Context) VpcEndpointSpecArrayOutput

type VpcEndpointSpecInput

type VpcEndpointSpecInput interface {
	pulumi.Input

	ToVpcEndpointSpecOutput() VpcEndpointSpecOutput
	ToVpcEndpointSpecOutputWithContext(context.Context) VpcEndpointSpecOutput
}

VpcEndpointSpecInput is an input type that accepts VpcEndpointSpecArgs and VpcEndpointSpecOutput values. You can construct a concrete instance of `VpcEndpointSpecInput` via:

VpcEndpointSpecArgs{...}

type VpcEndpointSpecOutput

type VpcEndpointSpecOutput struct{ *pulumi.OutputState }

## Example Usage ### Basic ```go 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.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{
			VpcId:       pulumi.Any(aws_vpc.Main.Id),
			ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Basic w/ Tags ```go 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.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{
			VpcId:       pulumi.Any(aws_vpc.Main.Id),
			ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"),
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Interface Endpoint Type ```go 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.NewVpcEndpoint(ctx, "ec2", &ec2.VpcEndpointArgs{
			VpcId:           pulumi.Any(aws_vpc.Main.Id),
			ServiceName:     pulumi.String("com.amazonaws.us-west-2.ec2"),
			VpcEndpointType: pulumi.String("Interface"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Sg1.Id),
			},
			PrivateDnsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gateway Load Balancer Endpoint Type ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"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 {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleVpcEndpointService, err := ec2.NewVpcEndpointService(ctx, "exampleVpcEndpointService", &ec2.VpcEndpointServiceArgs{
			AcceptanceRequired: pulumi.Bool(false),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String(current.Arn),
			},
			GatewayLoadBalancerArns: pulumi.StringArray{
				pulumi.Any(aws_lb.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewVpcEndpoint(ctx, "exampleVpcEndpoint", &ec2.VpcEndpointArgs{
			ServiceName: exampleVpcEndpointService.ServiceName,
			SubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example.Id),
			},
			VpcEndpointType: exampleVpcEndpointService.ServiceType,
			VpcId:           pulumi.Any(aws_vpc.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Endpoints can be imported using the `vpc endpoint id`, e.g.,

```sh

$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57

```

func (VpcEndpointSpecOutput) AutoAccept

Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).

func (VpcEndpointSpecOutput) ElementType

func (VpcEndpointSpecOutput) ElementType() reflect.Type

func (VpcEndpointSpecOutput) Policy

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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) for more details.

func (VpcEndpointSpecOutput) PrivateDnsEnabled

func (o VpcEndpointSpecOutput) PrivateDnsEnabled() pulumi.BoolPtrOutput

Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Defaults to `false`.

func (VpcEndpointSpecOutput) RouteTableIds

One or more route table IDs. Applicable for endpoints of type `Gateway`.

func (VpcEndpointSpecOutput) SecurityGroupIds

func (o VpcEndpointSpecOutput) SecurityGroupIds() pulumi.StringArrayOutput

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](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint.

func (VpcEndpointSpecOutput) ServiceName

func (o VpcEndpointSpecOutput) ServiceName() pulumi.StringOutput

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`).

func (VpcEndpointSpecOutput) SubnetIds

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`.

func (VpcEndpointSpecOutput) Tags

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.

func (VpcEndpointSpecOutput) ToVpcEndpointSpecOutput

func (o VpcEndpointSpecOutput) ToVpcEndpointSpecOutput() VpcEndpointSpecOutput

func (VpcEndpointSpecOutput) ToVpcEndpointSpecOutputWithContext

func (o VpcEndpointSpecOutput) ToVpcEndpointSpecOutputWithContext(ctx context.Context) VpcEndpointSpecOutput

func (VpcEndpointSpecOutput) VpcEndpointType

func (o VpcEndpointSpecOutput) VpcEndpointType() pulumi.StringPtrOutput

The VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gateway`.

type VpcInput

type VpcInput interface {
	pulumi.Input

	ToVpcOutput() VpcOutput
	ToVpcOutputWithContext(ctx context.Context) VpcOutput
}

type VpcMap

type VpcMap map[string]VpcInput

func (VpcMap) ElementType

func (VpcMap) ElementType() reflect.Type

func (VpcMap) ToVpcMapOutput

func (i VpcMap) ToVpcMapOutput() VpcMapOutput

func (VpcMap) ToVpcMapOutputWithContext

func (i VpcMap) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput

type VpcMapInput

type VpcMapInput interface {
	pulumi.Input

	ToVpcMapOutput() VpcMapOutput
	ToVpcMapOutputWithContext(context.Context) VpcMapOutput
}

VpcMapInput is an input type that accepts VpcMap and VpcMapOutput values. You can construct a concrete instance of `VpcMapInput` via:

VpcMap{ "key": VpcArgs{...} }

type VpcMapOutput

type VpcMapOutput struct{ *pulumi.OutputState }

func (VpcMapOutput) ElementType

func (VpcMapOutput) ElementType() reflect.Type

func (VpcMapOutput) MapIndex

func (o VpcMapOutput) MapIndex(k pulumi.StringInput) VpcOutput

func (VpcMapOutput) ToVpcMapOutput

func (o VpcMapOutput) ToVpcMapOutput() VpcMapOutput

func (VpcMapOutput) ToVpcMapOutputWithContext

func (o VpcMapOutput) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput

type VpcOutput

type VpcOutput struct{ *pulumi.OutputState }

func (VpcOutput) Eips

func (o VpcOutput) Eips() ec2.EipArrayOutput

The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.

func (VpcOutput) ElementType

func (VpcOutput) ElementType() reflect.Type

func (VpcOutput) InternetGateway

func (o VpcOutput) InternetGateway() ec2.InternetGatewayOutput

The Internet Gateway for the VPC.

func (VpcOutput) IsolatedSubnetIds

func (o VpcOutput) IsolatedSubnetIds() pulumi.StringArrayOutput

func (VpcOutput) NatGateways

func (o VpcOutput) NatGateways() ec2.NatGatewayArrayOutput

The NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list.

func (VpcOutput) PrivateSubnetIds

func (o VpcOutput) PrivateSubnetIds() pulumi.StringArrayOutput

func (VpcOutput) PublicSubnetIds

func (o VpcOutput) PublicSubnetIds() pulumi.StringArrayOutput

func (VpcOutput) RouteTableAssociations

func (o VpcOutput) RouteTableAssociations() ec2.RouteTableAssociationArrayOutput

The Route Table Associations for the VPC.

func (VpcOutput) RouteTables

func (o VpcOutput) RouteTables() ec2.RouteTableArrayOutput

The Route Tables for the VPC.

func (VpcOutput) Routes

func (o VpcOutput) Routes() ec2.RouteArrayOutput

The Routes for the VPC.

func (VpcOutput) Subnets

func (o VpcOutput) Subnets() ec2.SubnetArrayOutput

The VPC's subnets.

func (VpcOutput) ToVpcOutput

func (o VpcOutput) ToVpcOutput() VpcOutput

func (VpcOutput) ToVpcOutputWithContext

func (o VpcOutput) ToVpcOutputWithContext(ctx context.Context) VpcOutput

func (VpcOutput) Vpc

func (o VpcOutput) Vpc() ec2.VpcOutput

The VPC.

func (VpcOutput) VpcEndpoints

func (o VpcOutput) VpcEndpoints() ec2.VpcEndpointArrayOutput

The VPC Endpoints that are enabled

func (VpcOutput) VpcId

func (o VpcOutput) VpcId() pulumi.StringOutput

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL