VpcEndpointConnectionAccepter class

Provides a resource to accept a pending VPC Endpoint Connection accept request to VPC Endpoint Service.

Example Usage

Accept cross-account request

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.VpcEndpointService("example", {
    acceptanceRequired: false,
    networkLoadBalancerArns: [exampleAwsLb.arn],
});
const exampleVpcEndpoint = new aws.ec2.VpcEndpoint("example", {
    vpcId: testAlternate.id,
    serviceName: test.serviceName,
    vpcEndpointType: "Interface",
    privateDnsEnabled: false,
    securityGroupIds: [testAwsSecurityGroup.id],
});
const exampleVpcEndpointConnectionAccepter = new aws.ec2.VpcEndpointConnectionAccepter("example", {
    vpcEndpointServiceId: example.id,
    vpcEndpointId: exampleVpcEndpoint.id,
});
import pulumi
import pulumi_aws as aws

example = aws.ec2.VpcEndpointService("example",
    acceptance_required=False,
    network_load_balancer_arns=[example_aws_lb["arn"]])
example_vpc_endpoint = aws.ec2.VpcEndpoint("example",
    vpc_id=test_alternate["id"],
    service_name=test["serviceName"],
    vpc_endpoint_type="Interface",
    private_dns_enabled=False,
    security_group_ids=[test_aws_security_group["id"]])
example_vpc_endpoint_connection_accepter = aws.ec2.VpcEndpointConnectionAccepter("example",
    vpc_endpoint_service_id=example.id,
    vpc_endpoint_id=example_vpc_endpoint.id)
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,
        },
    });

    var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint("example", new()
    {
        VpcId = testAlternate.Id,
        ServiceName = test.ServiceName,
        VpcEndpointType = "Interface",
        PrivateDnsEnabled = false,
        SecurityGroupIds = new[]
        {
            testAwsSecurityGroup.Id,
        },
    });

    var exampleVpcEndpointConnectionAccepter = new Aws.Ec2.VpcEndpointConnectionAccepter("example", new()
    {
        VpcEndpointServiceId = example.Id,
        VpcEndpointId = exampleVpcEndpoint.Id,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ec2.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{
			AcceptanceRequired: pulumi.Bool(false),
			NetworkLoadBalancerArns: pulumi.StringArray{
				exampleAwsLb.Arn,
			},
		})
		if err != nil {
			return err
		}
		exampleVpcEndpoint, err := ec2.NewVpcEndpoint(ctx, "example", &ec2.VpcEndpointArgs{
			VpcId:             pulumi.Any(testAlternate.Id),
			ServiceName:       pulumi.Any(test.ServiceName),
			VpcEndpointType:   pulumi.String("Interface"),
			PrivateDnsEnabled: pulumi.Bool(false),
			SecurityGroupIds: pulumi.StringArray{
				testAwsSecurityGroup.Id,
			},
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewVpcEndpointConnectionAccepter(ctx, "example", &ec2.VpcEndpointConnectionAccepterArgs{
			VpcEndpointServiceId: example.ID().ToIDOutput().ToStringOutput(),
			VpcEndpointId:        exampleVpcEndpoint.ID().ToIDOutput().ToStringOutput(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_ec2_vpcendpointservice" "example" {
  acceptance_required        = false
  network_load_balancer_arns = [exampleAwsLb.arn]
}
resource "aws_ec2_vpcendpoint" "example" {
  vpc_id              = testAlternate.id
  service_name        = test.serviceName
  vpc_endpoint_type   = "Interface"
  private_dns_enabled = false
  security_group_ids  = [testAwsSecurityGroup.id]
}
resource "aws_ec2_vpcendpointconnectionaccepter" "example" {
  vpc_endpoint_service_id = aws_ec2_vpcendpointservice.example.id
  vpc_endpoint_id         = aws_ec2_vpcendpoint.example.id
}
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 com.pulumi.aws.ec2.VpcEndpoint;
import com.pulumi.aws.ec2.VpcEndpointArgs;
import com.pulumi.aws.ec2.VpcEndpointConnectionAccepter;
import com.pulumi.aws.ec2.VpcEndpointConnectionAccepterArgs;
import java.util.ArrayList;
import java.util.Arrays;
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());

        var exampleVpcEndpoint = new VpcEndpoint("exampleVpcEndpoint", VpcEndpointArgs.builder()
            .vpcId(testAlternate.id())
            .serviceName(test.serviceName())
            .vpcEndpointType("Interface")
            .privateDnsEnabled(false)
            .securityGroupIds(testAwsSecurityGroup.id())
            .build());

        var exampleVpcEndpointConnectionAccepter = new VpcEndpointConnectionAccepter("exampleVpcEndpointConnectionAccepter", VpcEndpointConnectionAccepterArgs.builder()
            .vpcEndpointServiceId(example.id())
            .vpcEndpointId(exampleVpcEndpoint.id())
            .build());

    }
}
resources:
  example:
    type: aws:ec2:VpcEndpointService
    properties:
      acceptanceRequired: false
      networkLoadBalancerArns:
        - ${exampleAwsLb.arn}
  exampleVpcEndpoint:
    type: aws:ec2:VpcEndpoint
    name: example
    properties:
      vpcId: ${testAlternate.id}
      serviceName: ${test.serviceName}
      vpcEndpointType: Interface
      privateDnsEnabled: false
      securityGroupIds:
        - ${testAwsSecurityGroup.id}
  exampleVpcEndpointConnectionAccepter:
    type: aws:ec2:VpcEndpointConnectionAccepter
    name: example
    properties:
      vpcEndpointServiceId: ${example.id}
      vpcEndpointId: ${exampleVpcEndpoint.id}

Import

Using pulumi import, import VPC Endpoint Services using ID of the connection, which is the VPC Endpoint Service ID and VPC Endpoint ID separated by underscore (_).. For example:

$ pulumi import aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter foo vpce-svc-0f97a19d3fa8220bc_vpce-010601a6db371e263

Constructors

VpcEndpointConnectionAccepter(String name, {VpcEndpointConnectionAccepterArgs? args, CustomResourceOptions? options})
Creates a new VpcEndpointConnectionAccepter. name The Pulumi resource name. args Arguments used to configure this VpcEndpointConnectionAccepter. The set of arguments for VpcEndpointConnectionAccepter. options Resource options controlling this resource's behavior.
VpcEndpointConnectionAccepter.reference(String urn)
Creates a typed reference to an existing VpcEndpointConnectionAccepter resource.

Properties

childResources Set<Resource>
finalinherited
completionSources Map<String, IOutputCompletionSource>
latefinalinherited
hashCode int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
isCustom bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference bool
Whether this instance represents a resource value returned over RPC.
finalinherited
region ↔ Output<String>
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
resourceTransforms List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
transformations List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited
vpcEndpointId ↔ Output<String>
AWS VPC Endpoint ID.
latefinal
vpcEndpointServiceId ↔ Output<String>
AWS VPC Endpoint Service ID.
latefinal
vpcEndpointState ↔ Output<String>
State of the VPC Endpoint.
latefinal

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() String
Returns this resource's logical name.
inherited
getResourceType() String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {VpcEndpointConnectionAccepterState? state, CustomResourceOptions? options}) VpcEndpointConnectionAccepter
Gets an existing VpcEndpointConnectionAccepter resource's state with the given name and id.