Documentation ¶
Index ¶
- Constants
- type DefaultVpc
- type DefaultVpcArgs
- type DefaultVpcArray
- type DefaultVpcArrayInput
- type DefaultVpcArrayOutput
- func (DefaultVpcArrayOutput) ElementType() reflect.Type
- func (o DefaultVpcArrayOutput) Index(i pulumi.IntInput) DefaultVpcOutput
- func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput
- func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput
- type DefaultVpcInput
- type DefaultVpcMap
- type DefaultVpcMapInput
- type DefaultVpcMapOutput
- func (DefaultVpcMapOutput) ElementType() reflect.Type
- func (o DefaultVpcMapOutput) MapIndex(k pulumi.StringInput) DefaultVpcOutput
- func (o DefaultVpcMapOutput) ToDefaultVpcMapOutput() DefaultVpcMapOutput
- func (o DefaultVpcMapOutput) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput
- type DefaultVpcOutput
- func (DefaultVpcOutput) ElementType() reflect.Type
- func (o DefaultVpcOutput) PrivateSubnetIds() pulumi.StringArrayOutput
- func (o DefaultVpcOutput) PublicSubnetIds() pulumi.StringArrayOutput
- func (o DefaultVpcOutput) ToDefaultVpcOutput() DefaultVpcOutput
- func (o DefaultVpcOutput) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput
- func (o DefaultVpcOutput) VpcId() pulumi.StringOutput
- type GetDefaultVpcArgs
- type GetDefaultVpcOutputArgs
- type GetDefaultVpcResult
- type GetDefaultVpcResultOutput
- func (GetDefaultVpcResultOutput) ElementType() reflect.Type
- func (o GetDefaultVpcResultOutput) PrivateSubnetIds() pulumi.StringArrayOutput
- func (o GetDefaultVpcResultOutput) PublicSubnetIds() pulumi.StringArrayOutput
- func (o GetDefaultVpcResultOutput) ToGetDefaultVpcResultOutput() GetDefaultVpcResultOutput
- func (o GetDefaultVpcResultOutput) ToGetDefaultVpcResultOutputWithContext(ctx context.Context) GetDefaultVpcResultOutput
- func (o GetDefaultVpcResultOutput) VpcId() pulumi.StringOutput
- type NatGatewayConfiguration
- type NatGatewayConfigurationArgs
- func (NatGatewayConfigurationArgs) ElementType() reflect.Type
- func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationOutput() NatGatewayConfigurationOutput
- func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationOutputWithContext(ctx context.Context) NatGatewayConfigurationOutput
- func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput
- func (i NatGatewayConfigurationArgs) ToNatGatewayConfigurationPtrOutputWithContext(ctx context.Context) NatGatewayConfigurationPtrOutput
- type NatGatewayConfigurationInput
- type NatGatewayConfigurationOutput
- func (o NatGatewayConfigurationOutput) ElasticIpAllocationIds() pulumi.StringArrayOutput
- func (NatGatewayConfigurationOutput) ElementType() reflect.Type
- func (o NatGatewayConfigurationOutput) Strategy() NatGatewayStrategyOutput
- func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationOutput() NatGatewayConfigurationOutput
- func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationOutputWithContext(ctx context.Context) NatGatewayConfigurationOutput
- func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput
- func (o NatGatewayConfigurationOutput) ToNatGatewayConfigurationPtrOutputWithContext(ctx context.Context) NatGatewayConfigurationPtrOutput
- type NatGatewayConfigurationPtrInput
- type NatGatewayConfigurationPtrOutput
- func (o NatGatewayConfigurationPtrOutput) ElasticIpAllocationIds() pulumi.StringArrayOutput
- func (o NatGatewayConfigurationPtrOutput) Elem() NatGatewayConfigurationOutput
- func (NatGatewayConfigurationPtrOutput) ElementType() reflect.Type
- func (o NatGatewayConfigurationPtrOutput) Strategy() NatGatewayStrategyPtrOutput
- func (o NatGatewayConfigurationPtrOutput) ToNatGatewayConfigurationPtrOutput() NatGatewayConfigurationPtrOutput
- func (o NatGatewayConfigurationPtrOutput) ToNatGatewayConfigurationPtrOutputWithContext(ctx context.Context) NatGatewayConfigurationPtrOutput
- type NatGatewayStrategy
- func (NatGatewayStrategy) ElementType() reflect.Type
- func (e NatGatewayStrategy) ToNatGatewayStrategyOutput() NatGatewayStrategyOutput
- func (e NatGatewayStrategy) ToNatGatewayStrategyOutputWithContext(ctx context.Context) NatGatewayStrategyOutput
- func (e NatGatewayStrategy) ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput
- func (e NatGatewayStrategy) ToNatGatewayStrategyPtrOutputWithContext(ctx context.Context) NatGatewayStrategyPtrOutput
- func (e NatGatewayStrategy) ToStringOutput() pulumi.StringOutput
- func (e NatGatewayStrategy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
- func (e NatGatewayStrategy) ToStringPtrOutput() pulumi.StringPtrOutput
- func (e NatGatewayStrategy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- type NatGatewayStrategyInput
- type NatGatewayStrategyOutput
- func (NatGatewayStrategyOutput) ElementType() reflect.Type
- func (o NatGatewayStrategyOutput) ToNatGatewayStrategyOutput() NatGatewayStrategyOutput
- func (o NatGatewayStrategyOutput) ToNatGatewayStrategyOutputWithContext(ctx context.Context) NatGatewayStrategyOutput
- func (o NatGatewayStrategyOutput) ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput
- func (o NatGatewayStrategyOutput) ToNatGatewayStrategyPtrOutputWithContext(ctx context.Context) NatGatewayStrategyPtrOutput
- func (o NatGatewayStrategyOutput) ToStringOutput() pulumi.StringOutput
- func (o NatGatewayStrategyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
- func (o NatGatewayStrategyOutput) ToStringPtrOutput() pulumi.StringPtrOutput
- func (o NatGatewayStrategyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- type NatGatewayStrategyPtrInput
- type NatGatewayStrategyPtrOutput
- func (o NatGatewayStrategyPtrOutput) Elem() NatGatewayStrategyOutput
- func (NatGatewayStrategyPtrOutput) ElementType() reflect.Type
- func (o NatGatewayStrategyPtrOutput) ToNatGatewayStrategyPtrOutput() NatGatewayStrategyPtrOutput
- func (o NatGatewayStrategyPtrOutput) ToNatGatewayStrategyPtrOutputWithContext(ctx context.Context) NatGatewayStrategyPtrOutput
- func (o NatGatewayStrategyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput
- func (o NatGatewayStrategyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- type ResolvedSubnetSpec
- type ResolvedSubnetSpecArrayOutput
- func (ResolvedSubnetSpecArrayOutput) ElementType() reflect.Type
- func (o ResolvedSubnetSpecArrayOutput) Index(i pulumi.IntInput) ResolvedSubnetSpecOutput
- func (o ResolvedSubnetSpecArrayOutput) ToResolvedSubnetSpecArrayOutput() ResolvedSubnetSpecArrayOutput
- func (o ResolvedSubnetSpecArrayOutput) ToResolvedSubnetSpecArrayOutputWithContext(ctx context.Context) ResolvedSubnetSpecArrayOutput
- type ResolvedSubnetSpecOutput
- func (o ResolvedSubnetSpecOutput) CidrBlocks() pulumi.StringArrayOutput
- func (o ResolvedSubnetSpecOutput) CidrMask() pulumi.IntPtrOutput
- func (ResolvedSubnetSpecOutput) ElementType() reflect.Type
- func (o ResolvedSubnetSpecOutput) Name() pulumi.StringPtrOutput
- func (o ResolvedSubnetSpecOutput) Size() pulumi.IntPtrOutput
- func (o ResolvedSubnetSpecOutput) ToResolvedSubnetSpecOutput() ResolvedSubnetSpecOutput
- func (o ResolvedSubnetSpecOutput) ToResolvedSubnetSpecOutputWithContext(ctx context.Context) ResolvedSubnetSpecOutput
- func (o ResolvedSubnetSpecOutput) Type() SubnetTypeOutput
- type SubnetAllocationStrategy
- func (SubnetAllocationStrategy) ElementType() reflect.Type
- func (e SubnetAllocationStrategy) ToStringOutput() pulumi.StringOutput
- func (e SubnetAllocationStrategy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
- func (e SubnetAllocationStrategy) ToStringPtrOutput() pulumi.StringPtrOutput
- func (e SubnetAllocationStrategy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyOutput() SubnetAllocationStrategyOutput
- func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyOutputWithContext(ctx context.Context) SubnetAllocationStrategyOutput
- func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput
- func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyPtrOutputWithContext(ctx context.Context) SubnetAllocationStrategyPtrOutput
- type SubnetAllocationStrategyInput
- type SubnetAllocationStrategyOutput
- func (SubnetAllocationStrategyOutput) ElementType() reflect.Type
- func (o SubnetAllocationStrategyOutput) ToStringOutput() pulumi.StringOutput
- func (o SubnetAllocationStrategyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
- func (o SubnetAllocationStrategyOutput) ToStringPtrOutput() pulumi.StringPtrOutput
- func (o SubnetAllocationStrategyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyOutput() SubnetAllocationStrategyOutput
- func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyOutputWithContext(ctx context.Context) SubnetAllocationStrategyOutput
- func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput
- func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyPtrOutputWithContext(ctx context.Context) SubnetAllocationStrategyPtrOutput
- type SubnetAllocationStrategyPtrInput
- type SubnetAllocationStrategyPtrOutput
- func (o SubnetAllocationStrategyPtrOutput) Elem() SubnetAllocationStrategyOutput
- func (SubnetAllocationStrategyPtrOutput) ElementType() reflect.Type
- func (o SubnetAllocationStrategyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput
- func (o SubnetAllocationStrategyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- func (o SubnetAllocationStrategyPtrOutput) ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput
- func (o SubnetAllocationStrategyPtrOutput) ToSubnetAllocationStrategyPtrOutputWithContext(ctx context.Context) SubnetAllocationStrategyPtrOutput
- type SubnetSpec
- type SubnetSpecArgs
- type SubnetSpecArray
- type SubnetSpecArrayInput
- type SubnetSpecArrayOutput
- func (SubnetSpecArrayOutput) ElementType() reflect.Type
- func (o SubnetSpecArrayOutput) Index(i pulumi.IntInput) SubnetSpecOutput
- func (o SubnetSpecArrayOutput) ToSubnetSpecArrayOutput() SubnetSpecArrayOutput
- func (o SubnetSpecArrayOutput) ToSubnetSpecArrayOutputWithContext(ctx context.Context) SubnetSpecArrayOutput
- type SubnetSpecInput
- type SubnetSpecOutput
- func (o SubnetSpecOutput) CidrBlocks() pulumi.StringArrayOutput
- func (o SubnetSpecOutput) CidrMask() pulumi.IntPtrOutput
- func (SubnetSpecOutput) ElementType() reflect.Type
- func (o SubnetSpecOutput) Name() pulumi.StringPtrOutput
- func (o SubnetSpecOutput) Size() pulumi.IntPtrOutput
- func (o SubnetSpecOutput) Tags() pulumi.StringMapOutput
- func (o SubnetSpecOutput) ToSubnetSpecOutput() SubnetSpecOutput
- func (o SubnetSpecOutput) ToSubnetSpecOutputWithContext(ctx context.Context) SubnetSpecOutput
- func (o SubnetSpecOutput) Type() SubnetTypeOutput
- type SubnetType
- func (SubnetType) ElementType() reflect.Type
- func (e SubnetType) ToStringOutput() pulumi.StringOutput
- func (e SubnetType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
- func (e SubnetType) ToStringPtrOutput() pulumi.StringPtrOutput
- func (e SubnetType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- func (e SubnetType) ToSubnetTypeOutput() SubnetTypeOutput
- func (e SubnetType) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput
- func (e SubnetType) ToSubnetTypePtrOutput() SubnetTypePtrOutput
- func (e SubnetType) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput
- type SubnetTypeInput
- type SubnetTypeOutput
- func (SubnetTypeOutput) ElementType() reflect.Type
- func (o SubnetTypeOutput) ToStringOutput() pulumi.StringOutput
- func (o SubnetTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
- func (o SubnetTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput
- func (o SubnetTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- func (o SubnetTypeOutput) ToSubnetTypeOutput() SubnetTypeOutput
- func (o SubnetTypeOutput) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput
- func (o SubnetTypeOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput
- func (o SubnetTypeOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput
- type SubnetTypePtrInput
- type SubnetTypePtrOutput
- func (o SubnetTypePtrOutput) Elem() SubnetTypeOutput
- func (SubnetTypePtrOutput) ElementType() reflect.Type
- func (o SubnetTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput
- func (o SubnetTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
- func (o SubnetTypePtrOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput
- func (o SubnetTypePtrOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput
- type Vpc
- type VpcArgs
- type VpcArray
- type VpcArrayInput
- type VpcArrayOutput
- type VpcEndpointSpec
- type VpcEndpointSpecArgs
- type VpcEndpointSpecArray
- type VpcEndpointSpecArrayInput
- type VpcEndpointSpecArrayOutput
- func (VpcEndpointSpecArrayOutput) ElementType() reflect.Type
- func (o VpcEndpointSpecArrayOutput) Index(i pulumi.IntInput) VpcEndpointSpecOutput
- func (o VpcEndpointSpecArrayOutput) ToVpcEndpointSpecArrayOutput() VpcEndpointSpecArrayOutput
- func (o VpcEndpointSpecArrayOutput) ToVpcEndpointSpecArrayOutputWithContext(ctx context.Context) VpcEndpointSpecArrayOutput
- type VpcEndpointSpecInput
- type VpcEndpointSpecOutput
- func (o VpcEndpointSpecOutput) AutoAccept() pulumi.BoolPtrOutput
- func (o VpcEndpointSpecOutput) DnsOptions() ec2.VpcEndpointDnsOptionsPtrOutput
- func (VpcEndpointSpecOutput) ElementType() reflect.Type
- func (o VpcEndpointSpecOutput) IpAddressType() pulumi.StringPtrOutput
- func (o VpcEndpointSpecOutput) Policy() pulumi.StringPtrOutput
- func (o VpcEndpointSpecOutput) PrivateDnsEnabled() pulumi.BoolPtrOutput
- func (o VpcEndpointSpecOutput) RouteTableIds() pulumi.StringArrayOutput
- func (o VpcEndpointSpecOutput) SecurityGroupIds() pulumi.StringArrayOutput
- func (o VpcEndpointSpecOutput) ServiceName() pulumi.StringOutput
- func (o VpcEndpointSpecOutput) SubnetConfigurations() ec2.VpcEndpointSubnetConfigurationArrayOutput
- func (o VpcEndpointSpecOutput) SubnetIds() pulumi.StringArrayOutput
- func (o VpcEndpointSpecOutput) Tags() pulumi.StringMapOutput
- func (o VpcEndpointSpecOutput) ToVpcEndpointSpecOutput() VpcEndpointSpecOutput
- func (o VpcEndpointSpecOutput) ToVpcEndpointSpecOutputWithContext(ctx context.Context) VpcEndpointSpecOutput
- func (o VpcEndpointSpecOutput) VpcEndpointType() pulumi.StringPtrOutput
- type VpcInput
- type VpcMap
- type VpcMapInput
- type VpcMapOutput
- type VpcOutput
- func (o VpcOutput) Eips() ec2.EipArrayOutput
- func (VpcOutput) ElementType() reflect.Type
- func (o VpcOutput) InternetGateway() ec2.InternetGatewayOutput
- func (o VpcOutput) IsolatedSubnetIds() pulumi.StringArrayOutput
- func (o VpcOutput) NatGateways() ec2.NatGatewayArrayOutput
- func (o VpcOutput) PrivateSubnetIds() pulumi.StringArrayOutput
- func (o VpcOutput) PublicSubnetIds() pulumi.StringArrayOutput
- func (o VpcOutput) RouteTableAssociations() ec2.RouteTableAssociationArrayOutput
- func (o VpcOutput) RouteTables() ec2.RouteTableArrayOutput
- func (o VpcOutput) Routes() ec2.RouteArrayOutput
- func (o VpcOutput) SubnetLayout() ResolvedSubnetSpecArrayOutput
- func (o VpcOutput) Subnets() ec2.SubnetArrayOutput
- func (o VpcOutput) ToVpcOutput() VpcOutput
- func (o VpcOutput) ToVpcOutputWithContext(ctx context.Context) VpcOutput
- func (o VpcOutput) Vpc() ec2.VpcOutput
- func (o VpcOutput) VpcEndpoints() ec2.VpcEndpointArrayOutput
- func (o VpcOutput) VpcId() pulumi.StringOutput
Constants ¶
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") )
const ( // Group private subnets first, followed by public subnets, followed by isolated subnets. SubnetAllocationStrategyLegacy = SubnetAllocationStrategy("Legacy") // Order remains as specified by specs, allowing gaps where required. SubnetAllocationStrategyAuto = SubnetAllocationStrategy("Auto") // Whole range of VPC must be accounted for, using "Unused" spec types for deliberate gaps. SubnetAllocationStrategyExact = SubnetAllocationStrategy("Exact") )
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") // A subnet range which is reserved, but no subnet will be created. SubnetTypeUnused = SubnetType("Unused") )
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 (o DefaultVpcArrayOutput) Index(i pulumi.IntInput) DefaultVpcOutput
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 (o DefaultVpcMapOutput) MapIndex(k pulumi.StringInput) DefaultVpcOutput
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 ¶
func (o DefaultVpcOutput) VpcId() pulumi.StringOutput
The VPC ID for the default VPC
type GetDefaultVpcOutputArgs ¶ added in v2.1.0
type GetDefaultVpcOutputArgs struct { }
Arguments for getting the default VPC
func (GetDefaultVpcOutputArgs) ElementType ¶ added in v2.1.0
func (GetDefaultVpcOutputArgs) ElementType() reflect.Type
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 GetDefaultVpcResultOutput ¶ added in v2.1.0
type GetDefaultVpcResultOutput struct{ *pulumi.OutputState }
Outputs from the default VPC configuration
func GetDefaultVpcOutput ¶ added in v2.1.0
func GetDefaultVpcOutput(ctx *pulumi.Context, args GetDefaultVpcOutputArgs, opts ...pulumi.InvokeOption) GetDefaultVpcResultOutput
func (GetDefaultVpcResultOutput) ElementType ¶ added in v2.1.0
func (GetDefaultVpcResultOutput) ElementType() reflect.Type
func (GetDefaultVpcResultOutput) PrivateSubnetIds ¶ added in v2.1.0
func (o GetDefaultVpcResultOutput) PrivateSubnetIds() pulumi.StringArrayOutput
func (GetDefaultVpcResultOutput) PublicSubnetIds ¶ added in v2.1.0
func (o GetDefaultVpcResultOutput) PublicSubnetIds() pulumi.StringArrayOutput
func (GetDefaultVpcResultOutput) ToGetDefaultVpcResultOutput ¶ added in v2.1.0
func (o GetDefaultVpcResultOutput) ToGetDefaultVpcResultOutput() GetDefaultVpcResultOutput
func (GetDefaultVpcResultOutput) ToGetDefaultVpcResultOutputWithContext ¶ added in v2.1.0
func (o GetDefaultVpcResultOutput) ToGetDefaultVpcResultOutputWithContext(ctx context.Context) GetDefaultVpcResultOutput
func (GetDefaultVpcResultOutput) VpcId ¶ added in v2.1.0
func (o GetDefaultVpcResultOutput) VpcId() pulumi.StringOutput
The VPC ID for the default VPC
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) ElementType() reflect.Type
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) ElementType() reflect.Type
func (NatGatewayConfigurationOutput) Strategy ¶
func (o NatGatewayConfigurationOutput) Strategy() NatGatewayStrategyOutput
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
func NatGatewayConfigurationPtr ¶
func NatGatewayConfigurationPtr(v *NatGatewayConfigurationArgs) NatGatewayConfigurationPtrInput
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 (o NatGatewayConfigurationPtrOutput) Elem() NatGatewayConfigurationOutput
func (NatGatewayConfigurationPtrOutput) ElementType ¶
func (NatGatewayConfigurationPtrOutput) ElementType() reflect.Type
func (NatGatewayConfigurationPtrOutput) Strategy ¶
func (o NatGatewayConfigurationPtrOutput) Strategy() NatGatewayStrategyPtrOutput
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 values of the NatGatewayStrategy enum A concrete instance of `NatGatewayStrategyInput` can be one of the following:
NatGatewayStrategyNone NatGatewayStrategySingle NatGatewayStrategyOnePerAz
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 (o NatGatewayStrategyPtrOutput) Elem() NatGatewayStrategyOutput
func (NatGatewayStrategyPtrOutput) ElementType ¶
func (NatGatewayStrategyPtrOutput) ElementType() reflect.Type
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 ResolvedSubnetSpec ¶ added in v2.2.0
type ResolvedSubnetSpec struct { // 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. CidrBlocks []string `pulumi:"cidrBlocks"` // 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. CidrMask *int `pulumi:"cidrMask"` // The subnet's name. Will be templated upon creation. Name *string `pulumi:"name"` // 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. Size *int `pulumi:"size"` // The type of subnet. Type SubnetType `pulumi:"type"` }
Configuration for a VPC subnet spec.
type ResolvedSubnetSpecArrayOutput ¶ added in v2.2.0
type ResolvedSubnetSpecArrayOutput struct{ *pulumi.OutputState }
func (ResolvedSubnetSpecArrayOutput) ElementType ¶ added in v2.2.0
func (ResolvedSubnetSpecArrayOutput) ElementType() reflect.Type
func (ResolvedSubnetSpecArrayOutput) Index ¶ added in v2.2.0
func (o ResolvedSubnetSpecArrayOutput) Index(i pulumi.IntInput) ResolvedSubnetSpecOutput
func (ResolvedSubnetSpecArrayOutput) ToResolvedSubnetSpecArrayOutput ¶ added in v2.2.0
func (o ResolvedSubnetSpecArrayOutput) ToResolvedSubnetSpecArrayOutput() ResolvedSubnetSpecArrayOutput
func (ResolvedSubnetSpecArrayOutput) ToResolvedSubnetSpecArrayOutputWithContext ¶ added in v2.2.0
func (o ResolvedSubnetSpecArrayOutput) ToResolvedSubnetSpecArrayOutputWithContext(ctx context.Context) ResolvedSubnetSpecArrayOutput
type ResolvedSubnetSpecOutput ¶ added in v2.2.0
type ResolvedSubnetSpecOutput struct{ *pulumi.OutputState }
Configuration for a VPC subnet spec.
func (ResolvedSubnetSpecOutput) CidrBlocks ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) CidrBlocks() pulumi.StringArrayOutput
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.
func (ResolvedSubnetSpecOutput) CidrMask ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) CidrMask() pulumi.IntPtrOutput
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.
func (ResolvedSubnetSpecOutput) ElementType ¶ added in v2.2.0
func (ResolvedSubnetSpecOutput) ElementType() reflect.Type
func (ResolvedSubnetSpecOutput) Name ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) Name() pulumi.StringPtrOutput
The subnet's name. Will be templated upon creation.
func (ResolvedSubnetSpecOutput) Size ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) Size() pulumi.IntPtrOutput
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.
func (ResolvedSubnetSpecOutput) ToResolvedSubnetSpecOutput ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) ToResolvedSubnetSpecOutput() ResolvedSubnetSpecOutput
func (ResolvedSubnetSpecOutput) ToResolvedSubnetSpecOutputWithContext ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) ToResolvedSubnetSpecOutputWithContext(ctx context.Context) ResolvedSubnetSpecOutput
func (ResolvedSubnetSpecOutput) Type ¶ added in v2.2.0
func (o ResolvedSubnetSpecOutput) Type() SubnetTypeOutput
The type of subnet.
type SubnetAllocationStrategy ¶ added in v2.2.0
type SubnetAllocationStrategy string
Strategy for calculating subnet ranges from the subnet specifications.
func (SubnetAllocationStrategy) ElementType ¶ added in v2.2.0
func (SubnetAllocationStrategy) ElementType() reflect.Type
func (SubnetAllocationStrategy) ToStringOutput ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToStringOutput() pulumi.StringOutput
func (SubnetAllocationStrategy) ToStringOutputWithContext ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
func (SubnetAllocationStrategy) ToStringPtrOutput ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToStringPtrOutput() pulumi.StringPtrOutput
func (SubnetAllocationStrategy) ToStringPtrOutputWithContext ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
func (SubnetAllocationStrategy) ToSubnetAllocationStrategyOutput ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyOutput() SubnetAllocationStrategyOutput
func (SubnetAllocationStrategy) ToSubnetAllocationStrategyOutputWithContext ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyOutputWithContext(ctx context.Context) SubnetAllocationStrategyOutput
func (SubnetAllocationStrategy) ToSubnetAllocationStrategyPtrOutput ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput
func (SubnetAllocationStrategy) ToSubnetAllocationStrategyPtrOutputWithContext ¶ added in v2.2.0
func (e SubnetAllocationStrategy) ToSubnetAllocationStrategyPtrOutputWithContext(ctx context.Context) SubnetAllocationStrategyPtrOutput
type SubnetAllocationStrategyInput ¶ added in v2.2.0
type SubnetAllocationStrategyInput interface { pulumi.Input ToSubnetAllocationStrategyOutput() SubnetAllocationStrategyOutput ToSubnetAllocationStrategyOutputWithContext(context.Context) SubnetAllocationStrategyOutput }
SubnetAllocationStrategyInput is an input type that accepts values of the SubnetAllocationStrategy enum A concrete instance of `SubnetAllocationStrategyInput` can be one of the following:
SubnetAllocationStrategyLegacy SubnetAllocationStrategyAuto SubnetAllocationStrategyExact
type SubnetAllocationStrategyOutput ¶ added in v2.2.0
type SubnetAllocationStrategyOutput struct{ *pulumi.OutputState }
func (SubnetAllocationStrategyOutput) ElementType ¶ added in v2.2.0
func (SubnetAllocationStrategyOutput) ElementType() reflect.Type
func (SubnetAllocationStrategyOutput) ToStringOutput ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToStringOutput() pulumi.StringOutput
func (SubnetAllocationStrategyOutput) ToStringOutputWithContext ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput
func (SubnetAllocationStrategyOutput) ToStringPtrOutput ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToStringPtrOutput() pulumi.StringPtrOutput
func (SubnetAllocationStrategyOutput) ToStringPtrOutputWithContext ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
func (SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyOutput ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyOutput() SubnetAllocationStrategyOutput
func (SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyOutputWithContext ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyOutputWithContext(ctx context.Context) SubnetAllocationStrategyOutput
func (SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyPtrOutput ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput
func (SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyPtrOutputWithContext ¶ added in v2.2.0
func (o SubnetAllocationStrategyOutput) ToSubnetAllocationStrategyPtrOutputWithContext(ctx context.Context) SubnetAllocationStrategyPtrOutput
type SubnetAllocationStrategyPtrInput ¶ added in v2.2.0
type SubnetAllocationStrategyPtrInput interface { pulumi.Input ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput ToSubnetAllocationStrategyPtrOutputWithContext(context.Context) SubnetAllocationStrategyPtrOutput }
func SubnetAllocationStrategyPtr ¶ added in v2.2.0
func SubnetAllocationStrategyPtr(v string) SubnetAllocationStrategyPtrInput
type SubnetAllocationStrategyPtrOutput ¶ added in v2.2.0
type SubnetAllocationStrategyPtrOutput struct{ *pulumi.OutputState }
func (SubnetAllocationStrategyPtrOutput) Elem ¶ added in v2.2.0
func (o SubnetAllocationStrategyPtrOutput) Elem() SubnetAllocationStrategyOutput
func (SubnetAllocationStrategyPtrOutput) ElementType ¶ added in v2.2.0
func (SubnetAllocationStrategyPtrOutput) ElementType() reflect.Type
func (SubnetAllocationStrategyPtrOutput) ToStringPtrOutput ¶ added in v2.2.0
func (o SubnetAllocationStrategyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput
func (SubnetAllocationStrategyPtrOutput) ToStringPtrOutputWithContext ¶ added in v2.2.0
func (o SubnetAllocationStrategyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput
func (SubnetAllocationStrategyPtrOutput) ToSubnetAllocationStrategyPtrOutput ¶ added in v2.2.0
func (o SubnetAllocationStrategyPtrOutput) ToSubnetAllocationStrategyPtrOutput() SubnetAllocationStrategyPtrOutput
func (SubnetAllocationStrategyPtrOutput) ToSubnetAllocationStrategyPtrOutputWithContext ¶ added in v2.2.0
func (o SubnetAllocationStrategyPtrOutput) ToSubnetAllocationStrategyPtrOutputWithContext(ctx context.Context) SubnetAllocationStrategyPtrOutput
type SubnetSpec ¶
type SubnetSpec struct { // 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. CidrBlocks []string `pulumi:"cidrBlocks"` // 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. CidrMask *int `pulumi:"cidrMask"` // The subnet's name. Will be templated upon creation. Name *string `pulumi:"name"` // 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. Size *int `pulumi:"size"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` // The type of subnet. Type SubnetType `pulumi:"type"` }
Configuration for a VPC subnet.
type SubnetSpecArgs ¶
type SubnetSpecArgs struct { // 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. CidrBlocks []string `pulumi:"cidrBlocks"` // 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. CidrMask *int `pulumi:"cidrMask"` // The subnet's name. Will be templated upon creation. Name *string `pulumi:"name"` // 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. Size *int `pulumi:"size"` // A map of tags to assign to the resource. Tags pulumi.StringMapInput `pulumi:"tags"` // 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 (o SubnetSpecArrayOutput) Index(i pulumi.IntInput) SubnetSpecOutput
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) CidrBlocks ¶ added in v2.2.0
func (o SubnetSpecOutput) CidrBlocks() pulumi.StringArrayOutput
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.
func (SubnetSpecOutput) CidrMask ¶
func (o SubnetSpecOutput) CidrMask() pulumi.IntPtrOutput
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.
func (SubnetSpecOutput) ElementType ¶
func (SubnetSpecOutput) ElementType() reflect.Type
func (SubnetSpecOutput) Name ¶
func (o SubnetSpecOutput) Name() pulumi.StringPtrOutput
The subnet's name. Will be templated upon creation.
func (SubnetSpecOutput) Size ¶ added in v2.2.0
func (o SubnetSpecOutput) Size() pulumi.IntPtrOutput
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.
func (SubnetSpecOutput) Tags ¶
func (o SubnetSpecOutput) Tags() pulumi.StringMapOutput
A map of tags to assign to the resource.
func (SubnetSpecOutput) ToSubnetSpecOutput ¶
func (o SubnetSpecOutput) ToSubnetSpecOutput() SubnetSpecOutput
func (SubnetSpecOutput) ToSubnetSpecOutputWithContext ¶
func (o SubnetSpecOutput) ToSubnetSpecOutputWithContext(ctx context.Context) SubnetSpecOutput
func (SubnetSpecOutput) Type ¶
func (o SubnetSpecOutput) Type() SubnetTypeOutput
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 values of the SubnetType enum A concrete instance of `SubnetTypeInput` can be one of the following:
SubnetTypePublic SubnetTypePrivate SubnetTypeIsolated SubnetTypeUnused
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 (o SubnetTypePtrOutput) Elem() SubnetTypeOutput
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 resolved subnet specs layout deployed to each availability zone. SubnetLayout ResolvedSubnetSpecArrayOutput `pulumi:"subnetLayout"` // 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"` }
The VPC component provides a VPC with configured subnets and NAT gateways.
## Example Usage
Basic usage:
```go 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 }) }
```
## 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.
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) ToVpcOutput ¶
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 // 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. AvailabilityZoneCidrMask *int // 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 DNS hostnames in the VPC. Defaults false. EnableDnsHostnames pulumi.BoolPtrInput // A boolean flag to enable/disable DNS support in the VPC. Defaults to true. EnableDnsSupport pulumi.BoolPtrInput // Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. EnableNetworkAddressUsageMetrics 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 are from `44` to `60` in increments of 4. 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. Private subnets are allocated CIDR block ranges first, followed by Public subnets, and Isolated subnets are allocated last. SubnetSpecs []SubnetSpecArgs // The strategy to use when allocating subnets for the VPC. Optional. Defaults to `Legacy`. SubnetStrategy *SubnetAllocationStrategy // 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 ¶
type VpcArray ¶
type VpcArray []VpcInput
func (VpcArray) ElementType ¶
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) 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"` // The DNS options for the endpoint. See dns_options below. DnsOptions *ec2.VpcEndpointDnsOptions `pulumi:"dnsOptions"` // The IP address type for the endpoint. Valid values are `ipv4`, `dualstack`, and `ipv6`. IpAddressType *string `pulumi:"ipAddressType"` // 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"` // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. SubnetConfigurations []ec2.VpcEndpointSubnetConfiguration `pulumi:"subnetConfigurations"` // 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. 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"` }
Provides a VPC Endpoint resource.
> **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for Route Tables - (an association between a VPC endpoint and a single `route_table_id`), Security Groups - (an association between a VPC endpoint and a single `security_group_id`), and Subnets - (an association between a VPC endpoint and a single `subnet_id`) and a VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes. Do not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource. Doing so will cause a conflict of associations and will overwrite the association.
## Example Usage
### Basic
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(main.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Basic w/ Tags
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(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 }) }
``` <!--End PulumiCodeChooser -->
### Interface Endpoint Type
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(main.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), VpcEndpointType: pulumi.String("Interface"), SecurityGroupIds: pulumi.StringArray{ sg1.Id, }, PrivateDnsEnabled: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Interface Endpoint Type with User-Defined IP Address
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(example.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), VpcEndpointType: pulumi.String("Interface"), SubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{ &ec2.VpcEndpointSubnetConfigurationArgs{ Ipv4: pulumi.String("10.0.1.10"), SubnetId: pulumi.Any(example1.Id), }, &ec2.VpcEndpointSubnetConfigurationArgs{ Ipv4: pulumi.String("10.0.2.10"), SubnetId: pulumi.Any(example2.Id), }, }, SubnetIds: pulumi.StringArray{ example1.Id, example2.Id, }, }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Gateway Load Balancer Endpoint Type
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws" "github.com/pulumi/pulumi-aws/sdk/v6/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, &aws.GetCallerIdentityArgs{}, nil) if err != nil { return err } example, err := ec2.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{ AcceptanceRequired: pulumi.Bool(false), AllowedPrincipals: pulumi.StringArray{ pulumi.String(current.Arn), }, GatewayLoadBalancerArns: pulumi.StringArray{ exampleAwsLb.Arn, }, }) if err != nil { return err } _, err = ec2.NewVpcEndpoint(ctx, "example", &ec2.VpcEndpointArgs{ ServiceName: example.ServiceName, SubnetIds: pulumi.StringArray{ exampleAwsSubnet.Id, }, VpcEndpointType: example.ServiceType, VpcId: pulumi.Any(exampleAwsVpc.Id), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
## Import
Using `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:
```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"` // The DNS options for the endpoint. See dns_options below. DnsOptions ec2.VpcEndpointDnsOptionsPtrInput `pulumi:"dnsOptions"` // The IP address type for the endpoint. Valid values are `ipv4`, `dualstack`, and `ipv6`. IpAddressType pulumi.StringPtrInput `pulumi:"ipAddressType"` // 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"` // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. SubnetConfigurations ec2.VpcEndpointSubnetConfigurationArrayInput `pulumi:"subnetConfigurations"` // 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. 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"` }
Provides a VPC Endpoint resource.
> **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for Route Tables - (an association between a VPC endpoint and a single `route_table_id`), Security Groups - (an association between a VPC endpoint and a single `security_group_id`), and Subnets - (an association between a VPC endpoint and a single `subnet_id`) and a VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes. Do not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource. Doing so will cause a conflict of associations and will overwrite the association.
## Example Usage
### Basic
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(main.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Basic w/ Tags
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(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 }) }
``` <!--End PulumiCodeChooser -->
### Interface Endpoint Type
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(main.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), VpcEndpointType: pulumi.String("Interface"), SecurityGroupIds: pulumi.StringArray{ sg1.Id, }, PrivateDnsEnabled: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Interface Endpoint Type with User-Defined IP Address
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(example.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), VpcEndpointType: pulumi.String("Interface"), SubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{ &ec2.VpcEndpointSubnetConfigurationArgs{ Ipv4: pulumi.String("10.0.1.10"), SubnetId: pulumi.Any(example1.Id), }, &ec2.VpcEndpointSubnetConfigurationArgs{ Ipv4: pulumi.String("10.0.2.10"), SubnetId: pulumi.Any(example2.Id), }, }, SubnetIds: pulumi.StringArray{ example1.Id, example2.Id, }, }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Gateway Load Balancer Endpoint Type
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws" "github.com/pulumi/pulumi-aws/sdk/v6/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, &aws.GetCallerIdentityArgs{}, nil) if err != nil { return err } example, err := ec2.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{ AcceptanceRequired: pulumi.Bool(false), AllowedPrincipals: pulumi.StringArray{ pulumi.String(current.Arn), }, GatewayLoadBalancerArns: pulumi.StringArray{ exampleAwsLb.Arn, }, }) if err != nil { return err } _, err = ec2.NewVpcEndpoint(ctx, "example", &ec2.VpcEndpointArgs{ ServiceName: example.ServiceName, SubnetIds: pulumi.StringArray{ exampleAwsSubnet.Id, }, VpcEndpointType: example.ServiceType, VpcId: pulumi.Any(exampleAwsVpc.Id), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
## Import
Using `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:
```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 (o VpcEndpointSpecArrayOutput) Index(i pulumi.IntInput) VpcEndpointSpecOutput
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 }
Provides a VPC Endpoint resource.
> **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for Route Tables - (an association between a VPC endpoint and a single `route_table_id`), Security Groups - (an association between a VPC endpoint and a single `security_group_id`), and Subnets - (an association between a VPC endpoint and a single `subnet_id`) and a VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes. Do not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource. Doing so will cause a conflict of associations and will overwrite the association.
## Example Usage
### Basic
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(main.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.s3"), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Basic w/ Tags
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(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 }) }
``` <!--End PulumiCodeChooser -->
### Interface Endpoint Type
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(main.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), VpcEndpointType: pulumi.String("Interface"), SecurityGroupIds: pulumi.StringArray{ sg1.Id, }, PrivateDnsEnabled: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Interface Endpoint Type with User-Defined IP Address
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/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(example.Id), ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), VpcEndpointType: pulumi.String("Interface"), SubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{ &ec2.VpcEndpointSubnetConfigurationArgs{ Ipv4: pulumi.String("10.0.1.10"), SubnetId: pulumi.Any(example1.Id), }, &ec2.VpcEndpointSubnetConfigurationArgs{ Ipv4: pulumi.String("10.0.2.10"), SubnetId: pulumi.Any(example2.Id), }, }, SubnetIds: pulumi.StringArray{ example1.Id, example2.Id, }, }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
### Gateway Load Balancer Endpoint Type
<!--Start PulumiCodeChooser --> ```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws" "github.com/pulumi/pulumi-aws/sdk/v6/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, &aws.GetCallerIdentityArgs{}, nil) if err != nil { return err } example, err := ec2.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{ AcceptanceRequired: pulumi.Bool(false), AllowedPrincipals: pulumi.StringArray{ pulumi.String(current.Arn), }, GatewayLoadBalancerArns: pulumi.StringArray{ exampleAwsLb.Arn, }, }) if err != nil { return err } _, err = ec2.NewVpcEndpoint(ctx, "example", &ec2.VpcEndpointArgs{ ServiceName: example.ServiceName, SubnetIds: pulumi.StringArray{ exampleAwsSubnet.Id, }, VpcEndpointType: example.ServiceType, VpcId: pulumi.Any(exampleAwsVpc.Id), }) if err != nil { return err } return nil }) }
``` <!--End PulumiCodeChooser -->
## Import
Using `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:
```sh $ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57 ```
func (VpcEndpointSpecOutput) AutoAccept ¶
func (o VpcEndpointSpecOutput) AutoAccept() pulumi.BoolPtrOutput
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
func (VpcEndpointSpecOutput) DnsOptions ¶
func (o VpcEndpointSpecOutput) DnsOptions() ec2.VpcEndpointDnsOptionsPtrOutput
The DNS options for the endpoint. See dns_options below.
func (VpcEndpointSpecOutput) ElementType ¶
func (VpcEndpointSpecOutput) ElementType() reflect.Type
func (VpcEndpointSpecOutput) IpAddressType ¶
func (o VpcEndpointSpecOutput) IpAddressType() pulumi.StringPtrOutput
The IP address type for the endpoint. Valid values are `ipv4`, `dualstack`, and `ipv6`.
func (VpcEndpointSpecOutput) Policy ¶
func (o VpcEndpointSpecOutput) Policy() pulumi.StringPtrOutput
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 ¶
func (o VpcEndpointSpecOutput) RouteTableIds() pulumi.StringArrayOutput
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) SubnetConfigurations ¶ added in v2.14.0
func (o VpcEndpointSpecOutput) SubnetConfigurations() ec2.VpcEndpointSubnetConfigurationArrayOutput
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
func (VpcEndpointSpecOutput) SubnetIds ¶
func (o VpcEndpointSpecOutput) SubnetIds() pulumi.StringArrayOutput
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.
func (VpcEndpointSpecOutput) Tags ¶
func (o VpcEndpointSpecOutput) Tags() pulumi.StringMapOutput
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 VpcMap ¶
func (VpcMap) ElementType ¶
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) 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) SubnetLayout ¶ added in v2.2.0
func (o VpcOutput) SubnetLayout() ResolvedSubnetSpecArrayOutput
The resolved subnet specs layout deployed to each availability zone.
func (VpcOutput) ToVpcOutput ¶
func (VpcOutput) ToVpcOutputWithContext ¶
func (VpcOutput) VpcEndpoints ¶
func (o VpcOutput) VpcEndpoints() ec2.VpcEndpointArrayOutput
The VPC Endpoints that are enabled
func (VpcOutput) VpcId ¶
func (o VpcOutput) VpcId() pulumi.StringOutput