VpcEndpointService

Provides a VPC Endpoint Service resource. Service consumers can create an Interface VPC Endpoint to connect to the service.

NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals: This provider provides both a standalone VPC Endpoint Service Allowed Principal resource and a VPC Endpoint Service resource with an allowed_principals attribute. Do not use the same principal ARN in both a VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict and will overwrite the association.

Example Usage

Network Load Balancers

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.Ec2.VpcEndpointService("example", new Aws.Ec2.VpcEndpointServiceArgs
        {
            AcceptanceRequired = false,
            NetworkLoadBalancerArns = 
            {
                aws_lb.Example.Arn,
            },
        });
    }

}

Coming soon!

import pulumi
import pulumi_aws as aws

example = aws.ec2.VpcEndpointService("example",
    acceptance_required=False,
    network_load_balancer_arns=[aws_lb["example"]["arn"]])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpcEndpointService("example", {
    acceptanceRequired: false,
    networkLoadBalancerArns: [aws_lb.example.arn],
});

Gateway Load Balancers

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.Ec2.VpcEndpointService("example", new Aws.Ec2.VpcEndpointServiceArgs
        {
            AcceptanceRequired = false,
            GatewayLoadBalancerArns = 
            {
                aws_lb.Example.Arn,
            },
        });
    }

}

Coming soon!

import pulumi
import pulumi_aws as aws

example = aws.ec2.VpcEndpointService("example",
    acceptance_required=False,
    gateway_load_balancer_arns=[aws_lb["example"]["arn"]])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpcEndpointService("example", {
    acceptanceRequired: false,
    gatewayLoadBalancerArns: [aws_lb.example.arn],
});

Create a VpcEndpointService Resource

new VpcEndpointService(name: string, args: VpcEndpointServiceArgs, opts?: CustomResourceOptions);
@overload
def VpcEndpointService(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       acceptance_required: Optional[bool] = None,
                       allowed_principals: Optional[Sequence[str]] = None,
                       gateway_load_balancer_arns: Optional[Sequence[str]] = None,
                       network_load_balancer_arns: Optional[Sequence[str]] = None,
                       private_dns_name: Optional[str] = None,
                       tags: Optional[Mapping[str, str]] = None,
                       tags_all: Optional[Mapping[str, str]] = None)
@overload
def VpcEndpointService(resource_name: str,
                       args: VpcEndpointServiceArgs,
                       opts: Optional[ResourceOptions] = None)
func NewVpcEndpointService(ctx *Context, name string, args VpcEndpointServiceArgs, opts ...ResourceOption) (*VpcEndpointService, error)
public VpcEndpointService(string name, VpcEndpointServiceArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args VpcEndpointServiceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args VpcEndpointServiceArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args VpcEndpointServiceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args VpcEndpointServiceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

VpcEndpointService Resource Properties

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

Inputs

The VpcEndpointService resource accepts the following input properties:

AcceptanceRequired bool
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
AllowedPrincipals List<string>
The ARNs of one or more principals allowed to discover the endpoint service.
GatewayLoadBalancerArns List<string>
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
NetworkLoadBalancerArns List<string>
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
PrivateDnsName string
The private DNS name for the service.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
AcceptanceRequired bool
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
AllowedPrincipals []string
The ARNs of one or more principals allowed to discover the endpoint service.
GatewayLoadBalancerArns []string
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
NetworkLoadBalancerArns []string
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
PrivateDnsName string
The private DNS name for the service.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
acceptanceRequired boolean
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
allowedPrincipals string[]
The ARNs of one or more principals allowed to discover the endpoint service.
gatewayLoadBalancerArns string[]
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
networkLoadBalancerArns string[]
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
privateDnsName string
The private DNS name for the service.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
acceptance_required bool
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
allowed_principals Sequence[str]
The ARNs of one or more principals allowed to discover the endpoint service.
gateway_load_balancer_arns Sequence[str]
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
network_load_balancer_arns Sequence[str]
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
private_dns_name str
The private DNS name for the service.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .

Outputs

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

Arn string
The Amazon Resource Name (ARN) of the VPC endpoint service.
AvailabilityZones List<string>
The Availability Zones in which the service is available.
BaseEndpointDnsNames List<string>
The DNS names for the service.
Id string
The provider-assigned unique ID for this managed resource.
ManagesVpcEndpoints bool
Whether or not the service manages its VPC endpoints - true or false.
PrivateDnsNameConfigurations List<VpcEndpointServicePrivateDnsNameConfiguration>
List of objects containing information about the endpoint service private DNS name configuration.
ServiceName string
The service name.
ServiceType string
The service type, Gateway or Interface.
State string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
Arn string
The Amazon Resource Name (ARN) of the VPC endpoint service.
AvailabilityZones []string
The Availability Zones in which the service is available.
BaseEndpointDnsNames []string
The DNS names for the service.
Id string
The provider-assigned unique ID for this managed resource.
ManagesVpcEndpoints bool
Whether or not the service manages its VPC endpoints - true or false.
PrivateDnsNameConfigurations []VpcEndpointServicePrivateDnsNameConfiguration
List of objects containing information about the endpoint service private DNS name configuration.
ServiceName string
The service name.
ServiceType string
The service type, Gateway or Interface.
State string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
arn string
The Amazon Resource Name (ARN) of the VPC endpoint service.
availabilityZones string[]
The Availability Zones in which the service is available.
baseEndpointDnsNames string[]
The DNS names for the service.
id string
The provider-assigned unique ID for this managed resource.
managesVpcEndpoints boolean
Whether or not the service manages its VPC endpoints - true or false.
privateDnsNameConfigurations VpcEndpointServicePrivateDnsNameConfiguration[]
List of objects containing information about the endpoint service private DNS name configuration.
serviceName string
The service name.
serviceType string
The service type, Gateway or Interface.
state string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
arn str
The Amazon Resource Name (ARN) of the VPC endpoint service.
availability_zones Sequence[str]
The Availability Zones in which the service is available.
base_endpoint_dns_names Sequence[str]
The DNS names for the service.
id str
The provider-assigned unique ID for this managed resource.
manages_vpc_endpoints bool
Whether or not the service manages its VPC endpoints - true or false.
private_dns_name_configurations Sequence[VpcEndpointServicePrivateDnsNameConfiguration]
List of objects containing information about the endpoint service private DNS name configuration.
service_name str
The service name.
service_type str
The service type, Gateway or Interface.
state str
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.

Look up an Existing VpcEndpointService Resource

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

public static get(name: string, id: Input<ID>, state?: VpcEndpointServiceState, opts?: CustomResourceOptions): VpcEndpointService
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        acceptance_required: Optional[bool] = None,
        allowed_principals: Optional[Sequence[str]] = None,
        arn: Optional[str] = None,
        availability_zones: Optional[Sequence[str]] = None,
        base_endpoint_dns_names: Optional[Sequence[str]] = None,
        gateway_load_balancer_arns: Optional[Sequence[str]] = None,
        manages_vpc_endpoints: Optional[bool] = None,
        network_load_balancer_arns: Optional[Sequence[str]] = None,
        private_dns_name: Optional[str] = None,
        private_dns_name_configurations: Optional[Sequence[VpcEndpointServicePrivateDnsNameConfigurationArgs]] = None,
        service_name: Optional[str] = None,
        service_type: Optional[str] = None,
        state: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> VpcEndpointService
func GetVpcEndpointService(ctx *Context, name string, id IDInput, state *VpcEndpointServiceState, opts ...ResourceOption) (*VpcEndpointService, error)
public static VpcEndpointService Get(string name, Input<string> id, VpcEndpointServiceState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AcceptanceRequired bool
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
AllowedPrincipals List<string>
The ARNs of one or more principals allowed to discover the endpoint service.
Arn string
The Amazon Resource Name (ARN) of the VPC endpoint service.
AvailabilityZones List<string>
The Availability Zones in which the service is available.
BaseEndpointDnsNames List<string>
The DNS names for the service.
GatewayLoadBalancerArns List<string>
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
ManagesVpcEndpoints bool
Whether or not the service manages its VPC endpoints - true or false.
NetworkLoadBalancerArns List<string>
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
PrivateDnsName string
The private DNS name for the service.
PrivateDnsNameConfigurations List<VpcEndpointServicePrivateDnsNameConfigurationArgs>
List of objects containing information about the endpoint service private DNS name configuration.
ServiceName string
The service name.
ServiceType string
The service type, Gateway or Interface.
State string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
AcceptanceRequired bool
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
AllowedPrincipals []string
The ARNs of one or more principals allowed to discover the endpoint service.
Arn string
The Amazon Resource Name (ARN) of the VPC endpoint service.
AvailabilityZones []string
The Availability Zones in which the service is available.
BaseEndpointDnsNames []string
The DNS names for the service.
GatewayLoadBalancerArns []string
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
ManagesVpcEndpoints bool
Whether or not the service manages its VPC endpoints - true or false.
NetworkLoadBalancerArns []string
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
PrivateDnsName string
The private DNS name for the service.
PrivateDnsNameConfigurations []VpcEndpointServicePrivateDnsNameConfiguration
List of objects containing information about the endpoint service private DNS name configuration.
ServiceName string
The service name.
ServiceType string
The service type, Gateway or Interface.
State string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
acceptanceRequired boolean
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
allowedPrincipals string[]
The ARNs of one or more principals allowed to discover the endpoint service.
arn string
The Amazon Resource Name (ARN) of the VPC endpoint service.
availabilityZones string[]
The Availability Zones in which the service is available.
baseEndpointDnsNames string[]
The DNS names for the service.
gatewayLoadBalancerArns string[]
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
managesVpcEndpoints boolean
Whether or not the service manages its VPC endpoints - true or false.
networkLoadBalancerArns string[]
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
privateDnsName string
The private DNS name for the service.
privateDnsNameConfigurations VpcEndpointServicePrivateDnsNameConfigurationArgs[]
List of objects containing information about the endpoint service private DNS name configuration.
serviceName string
The service name.
serviceType string
The service type, Gateway or Interface.
state string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
acceptance_required bool
Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.
allowed_principals Sequence[str]
The ARNs of one or more principals allowed to discover the endpoint service.
arn str
The Amazon Resource Name (ARN) of the VPC endpoint service.
availability_zones Sequence[str]
The Availability Zones in which the service is available.
base_endpoint_dns_names Sequence[str]
The DNS names for the service.
gateway_load_balancer_arns Sequence[str]
Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.
manages_vpc_endpoints bool
Whether or not the service manages its VPC endpoints - true or false.
network_load_balancer_arns Sequence[str]
Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.
private_dns_name str
The private DNS name for the service.
private_dns_name_configurations Sequence[VpcEndpointServicePrivateDnsNameConfigurationArgs]
List of objects containing information about the endpoint service private DNS name configuration.
service_name str
The service name.
service_type str
The service type, Gateway or Interface.
state str
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .

Supporting Types

VpcEndpointServicePrivateDnsNameConfiguration

Name string
Name of the record subdomain the service provider needs to create.
State string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
Type string
Endpoint service verification type, for example TXT.
Value string
Value the service provider adds to the private DNS name domain record before verification.
Name string
Name of the record subdomain the service provider needs to create.
State string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
Type string
Endpoint service verification type, for example TXT.
Value string
Value the service provider adds to the private DNS name domain record before verification.
name string
Name of the record subdomain the service provider needs to create.
state string
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
type string
Endpoint service verification type, for example TXT.
value string
Value the service provider adds to the private DNS name domain record before verification.
name str
Name of the record subdomain the service provider needs to create.
state str
Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is verified.
type str
Endpoint service verification type, for example TXT.
value str
Value the service provider adds to the private DNS name domain record before verification.

Import

VPC Endpoint Services can be imported using the VPC endpoint service id, e.g.

 $ pulumi import aws:ec2/vpcEndpointService:VpcEndpointService foo vpce-svc-0f97a19d3fa8220bc

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.