VpcEndpointServiceArgs

data class VpcEndpointServiceArgs(val acceptanceRequired: Output<Boolean>? = null, val allowedPrincipals: Output<List<String>>? = null, val gatewayLoadBalancerArns: Output<List<String>>? = null, val networkLoadBalancerArns: Output<List<String>>? = null, val privateDnsName: Output<String>? = null, val supportedIpAddressTypes: Output<List<String>>? = null, val supportedRegions: Output<List<String>>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<VpcEndpointServiceArgs>

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

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.VpcEndpointService("example", {
acceptanceRequired: false,
networkLoadBalancerArns: [exampleAwsLb&#46;arn],
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.VpcEndpointService("example",
acceptance_required=False,
network_load_balancer_arns=[example_aws_lb["arn"]])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ec2.VpcEndpointService("example", new()
{
AcceptanceRequired = false,
NetworkLoadBalancerArns = new[]
{
exampleAwsLb.Arn,
},
});
});
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.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{
AcceptanceRequired: pulumi.Bool(false),
NetworkLoadBalancerArns: pulumi.StringArray{
exampleAwsLb.Arn,
},
})
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.VpcEndpointService;
import com.pulumi.aws.ec2.VpcEndpointServiceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder()
.acceptanceRequired(false)
.networkLoadBalancerArns(exampleAwsLb.arn())
.build());
}
}
resources:
example:
type: aws:ec2:VpcEndpointService
properties:
acceptanceRequired: false
networkLoadBalancerArns:
- ${exampleAwsLb.arn}

Gateway Load Balancers

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.VpcEndpointService("example", {
acceptanceRequired: false,
gatewayLoadBalancerArns: [exampleAwsLb&#46;arn],
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.VpcEndpointService("example",
acceptance_required=False,
gateway_load_balancer_arns=[example_aws_lb["arn"]])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ec2.VpcEndpointService("example", new()
{
AcceptanceRequired = false,
GatewayLoadBalancerArns = new[]
{
exampleAwsLb.Arn,
},
});
});
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.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{
AcceptanceRequired: pulumi.Bool(false),
GatewayLoadBalancerArns: pulumi.StringArray{
exampleAwsLb.Arn,
},
})
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.VpcEndpointService;
import com.pulumi.aws.ec2.VpcEndpointServiceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new VpcEndpointService("example", VpcEndpointServiceArgs.builder()
.acceptanceRequired(false)
.gatewayLoadBalancerArns(exampleAwsLb.arn())
.build());
}
}
resources:
example:
type: aws:ec2:VpcEndpointService
properties:
acceptanceRequired: false
gatewayLoadBalancerArns:
- ${exampleAwsLb.arn}

Import

Using pulumi import, import VPC Endpoint Services using the VPC endpoint service id. For example:

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

Constructors

Link copied to clipboard
constructor(acceptanceRequired: Output<Boolean>? = null, allowedPrincipals: Output<List<String>>? = null, gatewayLoadBalancerArns: Output<List<String>>? = null, networkLoadBalancerArns: Output<List<String>>? = null, privateDnsName: Output<String>? = null, supportedIpAddressTypes: Output<List<String>>? = null, supportedRegions: Output<List<String>>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val acceptanceRequired: Output<Boolean>? = null

Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.

Link copied to clipboard
val allowedPrincipals: Output<List<String>>? = null

The ARNs of one or more principals allowed to discover the endpoint service.

Link copied to clipboard
val gatewayLoadBalancerArns: Output<List<String>>? = null

Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service.

Link copied to clipboard
val networkLoadBalancerArns: Output<List<String>>? = null

Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service.

Link copied to clipboard
val privateDnsName: Output<String>? = null

The private DNS name for the service.

Link copied to clipboard
val supportedIpAddressTypes: Output<List<String>>? = null

The supported IP address types. The possible values are ipv4 and ipv6.

Link copied to clipboard
val supportedRegions: Output<List<String>>? = null

The set of regions from which service consumers can access the service.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

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.

Functions

Link copied to clipboard
open override fun toJava(): VpcEndpointServiceArgs