getVpcEndpointService

The VPC Endpoint Service data source details about a specific service that can be specified when creating a VPC endpoint within the region configured in the provider.

Example Usage

AWS Service

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Declare the data source
const s3 = aws.ec2.getVpcEndpointService({
service: "s3",
serviceType: "Gateway",
});
// Create a VPC
const foo = new aws.ec2.Vpc("foo", {cidrBlock: "10.0.0.0/16"});
// Create a VPC endpoint
const ep = new aws.ec2.VpcEndpoint("ep", {
vpcId: foo.id,
serviceName: s3.then(s3 => s3.serviceName),
});
import pulumi
import pulumi_aws as aws
# Declare the data source
s3 = aws.ec2.get_vpc_endpoint_service(service="s3",
service_type="Gateway")
# Create a VPC
foo = aws.ec2.Vpc("foo", cidr_block="10.0.0.0/16")
# Create a VPC endpoint
ep = aws.ec2.VpcEndpoint("ep",
vpc_id=foo.id,
service_name=s3.service_name)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// Declare the data source
var s3 = Aws.Ec2.GetVpcEndpointService.Invoke(new()
{
Service = "s3",
ServiceType = "Gateway",
});
// Create a VPC
var foo = new Aws.Ec2.Vpc("foo", new()
{
CidrBlock = "10.0.0.0/16",
});
// Create a VPC endpoint
var ep = new Aws.Ec2.VpcEndpoint("ep", new()
{
VpcId = foo.Id,
ServiceName = s3.Apply(getVpcEndpointServiceResult => getVpcEndpointServiceResult.ServiceName),
});
});
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 {
// Declare the data source
s3, err := ec2.LookupVpcEndpointService(ctx, &ec2.LookupVpcEndpointServiceArgs{
Service: pulumi.StringRef("s3"),
ServiceType: pulumi.StringRef("Gateway"),
}, nil)
if err != nil {
return err
}
// Create a VPC
foo, err := ec2.NewVpc(ctx, "foo", &ec2.VpcArgs{
CidrBlock: pulumi.String("10.0.0.0/16"),
})
if err != nil {
return err
}
// Create a VPC endpoint
_, err = ec2.NewVpcEndpoint(ctx, "ep", &ec2.VpcEndpointArgs{
VpcId: foo.ID(),
ServiceName: pulumi.String(s3.ServiceName),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;
import com.pulumi.aws.ec2.Vpc;
import com.pulumi.aws.ec2.VpcArgs;
import com.pulumi.aws.ec2.VpcEndpoint;
import com.pulumi.aws.ec2.VpcEndpointArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Declare the data source
final var s3 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()
.service("s3")
.serviceType("Gateway")
.build());
// Create a VPC
var foo = new Vpc("foo", VpcArgs.builder()
.cidrBlock("10.0.0.0/16")
.build());
// Create a VPC endpoint
var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder()
.vpcId(foo.id())
.serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName()))
.build());
}
}
resources:
# Create a VPC
foo:
type: aws:ec2:Vpc
properties:
cidrBlock: 10.0.0.0/16
# Create a VPC endpoint
ep:
type: aws:ec2:VpcEndpoint
properties:
vpcId: ${foo.id}
serviceName: ${s3.serviceName}
variables:
# Declare the data source
s3:
fn::invoke:
function: aws:ec2:getVpcEndpointService
arguments:
service: s3
serviceType: Gateway

Non-AWS Service

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const custome = aws.ec2.getVpcEndpointService({
serviceName: "com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8",
});
import pulumi
import pulumi_aws as aws
custome = aws.ec2.get_vpc_endpoint_service(service_name="com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var custome = Aws.Ec2.GetVpcEndpointService.Invoke(new()
{
ServiceName = "com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8",
});
});
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.LookupVpcEndpointService(ctx, &ec2.LookupVpcEndpointServiceArgs{
ServiceName: pulumi.StringRef("com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8"),
}, nil)
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var custome = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()
.serviceName("com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8")
.build());
}
}
variables:
custome:
fn::invoke:
function: aws:ec2:getVpcEndpointService
arguments:
serviceName: com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8

Filter

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = aws.ec2.getVpcEndpointService({
filters: [{
name: "service-name",
values: ["some-service"],
}],
});
import pulumi
import pulumi_aws as aws
test = aws.ec2.get_vpc_endpoint_service(filters=[{
"name": "service-name",
"values": ["some-service"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = Aws.Ec2.GetVpcEndpointService.Invoke(new()
{
Filters = new[]
{
new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterInputArgs
{
Name = "service-name",
Values = new[]
{
"some-service",
},
},
},
});
});
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.LookupVpcEndpointService(ctx, &ec2.LookupVpcEndpointServiceArgs{
Filters: []ec2.GetVpcEndpointServiceFilter{
{
Name: "service-name",
Values: []string{
"some-service",
},
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var test = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()
.filters(GetVpcEndpointServiceFilterArgs.builder()
.name("service-name")
.values("some-service")
.build())
.build());
}
}
variables:
test:
fn::invoke:
function: aws:ec2:getVpcEndpointService
arguments:
filters:
- name: service-name
values:
- some-service

Return

A collection of values returned by getVpcEndpointService.

Parameters

argument

A collection of arguments for invoking getVpcEndpointService.


suspend fun getVpcEndpointService(filters: List<GetVpcEndpointServiceFilter>? = null, service: String? = null, serviceName: String? = null, serviceRegions: List<String>? = null, serviceType: String? = null, tags: Map<String, String>? = null): GetVpcEndpointServiceResult

Return

A collection of values returned by getVpcEndpointService.

Parameters

filters

Configuration block(s) for filtering. Detailed below.

service

Common name of an AWS service (e.g., s3).

serviceName

Service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker AI Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).

serviceRegions

AWS regions in which to look for services.

serviceType

Service type, Gateway or Interface.

tags

Map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service.

NOTE: Specifying service will not work for non-AWS services or AWS services that don't follow the standard service_name pattern of com.amazonaws.<region>.<service>.

See also


Return

A collection of values returned by getVpcEndpointService.

Parameters

argument

Builder for com.pulumi.aws.ec2.kotlin.inputs.GetVpcEndpointServicePlainArgs.

See also