Ready to level-up your engineering skills? Join a Pulumi Workshop. Register Now

PrivateLinkEndpointService

mongodbatlas.PrivateLinkEndpointService provides a Private Endpoint Interface Link resource. This represents a Private Endpoint Interface Link, which adds one interface endpoint to a private endpoint connection in an Atlas project.

IMPORTANT:You must have one of the following roles to successfully handle the resource: * Organization Owner * Project Owner

NOTE: Groups and projects are synonymous terms. You may find group_id in the official documentation.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;
using Mongodbatlas = Pulumi.Mongodbatlas;

class MyStack : Stack
{
    public MyStack()
    {
        var testPrivateLinkEndpoint = new Mongodbatlas.PrivateLinkEndpoint("testPrivateLinkEndpoint", new Mongodbatlas.PrivateLinkEndpointArgs
        {
            ProjectId = "<PROJECT_ID>",
            ProviderName = "AWS",
            Region = "us-east-1",
        });
        var ptfeService = new Aws.Ec2.VpcEndpoint("ptfeService", new Aws.Ec2.VpcEndpointArgs
        {
            SecurityGroupIds = 
            {
                "sg-3f238186",
            },
            ServiceName = testPrivateLinkEndpoint.EndpointServiceName,
            SubnetIds = 
            {
                "subnet-de0406d2",
            },
            VpcEndpointType = "Interface",
            VpcId = "vpc-7fc0a543",
        });
        var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("testPrivateLinkEndpointService", new Mongodbatlas.PrivateLinkEndpointServiceArgs
        {
            EndpointServiceId = ptfeService.Id,
            PrivateLinkId = testPrivateLinkEndpoint.PrivateLinkId,
            ProjectId = testPrivateLinkEndpoint.ProjectId,
            ProviderName = "AWS",
        });
    }

}
package main

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

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        testPrivateLinkEndpoint, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, "testPrivateLinkEndpoint", &mongodbatlas.PrivateLinkEndpointArgs{
            ProjectId:    pulumi.String("<PROJECT_ID>"),
            ProviderName: pulumi.String("AWS"),
            Region:       pulumi.String("us-east-1"),
        })
        if err != nil {
            return err
        }
        ptfeService, err := ec2.NewVpcEndpoint(ctx, "ptfeService", &ec2.VpcEndpointArgs{
            SecurityGroupIds: pulumi.StringArray{
                pulumi.String("sg-3f238186"),
            },
            ServiceName: testPrivateLinkEndpoint.EndpointServiceName,
            SubnetIds: pulumi.StringArray{
                pulumi.String("subnet-de0406d2"),
            },
            VpcEndpointType: pulumi.String("Interface"),
            VpcId:           pulumi.String("vpc-7fc0a543"),
        })
        if err != nil {
            return err
        }
        _, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, "testPrivateLinkEndpointService", &mongodbatlas.PrivateLinkEndpointServiceArgs{
            EndpointServiceId: ptfeService.ID(),
            PrivateLinkId:     testPrivateLinkEndpoint.PrivateLinkId,
            ProjectId:         testPrivateLinkEndpoint.ProjectId,
            ProviderName:      pulumi.String("AWS"),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws
import pulumi_mongodbatlas as mongodbatlas

test_private_link_endpoint = mongodbatlas.PrivateLinkEndpoint("testPrivateLinkEndpoint",
    project_id="<PROJECT_ID>",
    provider_name="AWS",
    region="us-east-1")
ptfe_service = aws.ec2.VpcEndpoint("ptfeService",
    security_group_ids=["sg-3f238186"],
    service_name=test_private_link_endpoint.endpoint_service_name,
    subnet_ids=["subnet-de0406d2"],
    vpc_endpoint_type="Interface",
    vpc_id="vpc-7fc0a543")
test_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("testPrivateLinkEndpointService",
    endpoint_service_id=ptfe_service.id,
    private_link_id=test_private_link_endpoint.private_link_id,
    project_id=test_private_link_endpoint.project_id,
    provider_name="AWS")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as mongodbatlas from "@pulumi/mongodbatlas";

const testPrivateLinkEndpoint = new mongodbatlas.PrivateLinkEndpoint("test", {
    projectId: "<PROJECT_ID>",
    providerName: "AWS",
    region: "us-east-1",
});
const ptfeService = new aws.ec2.VpcEndpoint("ptfe_service", {
    securityGroupIds: ["sg-3f238186"],
    serviceName: testPrivateLinkEndpoint.endpointServiceName,
    subnetIds: ["subnet-de0406d2"],
    vpcEndpointType: "Interface",
    vpcId: "vpc-7fc0a543",
});
const testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("test", {
    endpointServiceId: ptfeService.id,
    privateLinkId: testPrivateLinkEndpoint.privateLinkId,
    projectId: testPrivateLinkEndpoint.projectId,
    providerName: "AWS",
});

Create a PrivateLinkEndpointService Resource

new PrivateLinkEndpointService(name: string, args: PrivateLinkEndpointServiceArgs, opts?: CustomResourceOptions);
def PrivateLinkEndpointService(resource_name: str, opts: Optional[ResourceOptions] = None, endpoint_service_id: Optional[str] = None, private_endpoint_ip_address: Optional[str] = None, private_link_id: Optional[str] = None, project_id: Optional[str] = None, provider_name: Optional[str] = None)
func NewPrivateLinkEndpointService(ctx *Context, name string, args PrivateLinkEndpointServiceArgs, opts ...ResourceOption) (*PrivateLinkEndpointService, error)
public PrivateLinkEndpointService(string name, PrivateLinkEndpointServiceArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args PrivateLinkEndpointServiceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args PrivateLinkEndpointServiceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args PrivateLinkEndpointServiceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

PrivateLinkEndpointService Resource Properties

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

Inputs

The PrivateLinkEndpointService resource accepts the following input properties:

EndpointServiceId string

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

PrivateLinkId string

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

ProjectId string

Unique identifier for the project.

ProviderName string

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

PrivateEndpointIpAddress string

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

EndpointServiceId string

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

PrivateLinkId string

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

ProjectId string

Unique identifier for the project.

ProviderName string

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

PrivateEndpointIpAddress string

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

endpointServiceId string

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

privateLinkId string

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

projectId string

Unique identifier for the project.

providerName string

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

privateEndpointIpAddress string

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

endpoint_service_id str

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

private_link_id str

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

project_id str

Unique identifier for the project.

provider_name str

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

private_endpoint_ip_address str

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

Outputs

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

AwsConnectionStatus string

Status of the interface endpoint for AWS. Returns one of the following values:

AzureStatus string

Status of the interface endpoint for AZURE. Returns one of the following values:

DeleteRequested bool

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

ErrorMessage string

Error message pertaining to the interface endpoint. Returns null if there are no errors.

Id string
The provider-assigned unique ID for this managed resource.
InterfaceEndpointId string

Unique identifier of the interface endpoint.

PrivateEndpointConnectionName string

Name of the connection for this private endpoint that Atlas generates.

PrivateEndpointResourceId string

Unique identifier of the private endpoint.

AwsConnectionStatus string

Status of the interface endpoint for AWS. Returns one of the following values:

AzureStatus string

Status of the interface endpoint for AZURE. Returns one of the following values:

DeleteRequested bool

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

ErrorMessage string

Error message pertaining to the interface endpoint. Returns null if there are no errors.

Id string
The provider-assigned unique ID for this managed resource.
InterfaceEndpointId string

Unique identifier of the interface endpoint.

PrivateEndpointConnectionName string

Name of the connection for this private endpoint that Atlas generates.

PrivateEndpointResourceId string

Unique identifier of the private endpoint.

awsConnectionStatus string

Status of the interface endpoint for AWS. Returns one of the following values:

azureStatus string

Status of the interface endpoint for AZURE. Returns one of the following values:

deleteRequested boolean

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

errorMessage string

Error message pertaining to the interface endpoint. Returns null if there are no errors.

id string
The provider-assigned unique ID for this managed resource.
interfaceEndpointId string

Unique identifier of the interface endpoint.

privateEndpointConnectionName string

Name of the connection for this private endpoint that Atlas generates.

privateEndpointResourceId string

Unique identifier of the private endpoint.

aws_connection_status str

Status of the interface endpoint for AWS. Returns one of the following values:

azure_status str

Status of the interface endpoint for AZURE. Returns one of the following values:

delete_requested bool

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

error_message str

Error message pertaining to the interface endpoint. Returns null if there are no errors.

id str
The provider-assigned unique ID for this managed resource.
interface_endpoint_id str

Unique identifier of the interface endpoint.

private_endpoint_connection_name str

Name of the connection for this private endpoint that Atlas generates.

private_endpoint_resource_id str

Unique identifier of the private endpoint.

Look up an Existing PrivateLinkEndpointService Resource

Get an existing PrivateLinkEndpointService 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?: PrivateLinkEndpointServiceState, opts?: CustomResourceOptions): PrivateLinkEndpointService
@staticmethod
def get(resource_name: str, id: str, opts: Optional[ResourceOptions] = None, aws_connection_status: Optional[str] = None, azure_status: Optional[str] = None, delete_requested: Optional[bool] = None, endpoint_service_id: Optional[str] = None, error_message: Optional[str] = None, interface_endpoint_id: Optional[str] = None, private_endpoint_connection_name: Optional[str] = None, private_endpoint_ip_address: Optional[str] = None, private_endpoint_resource_id: Optional[str] = None, private_link_id: Optional[str] = None, project_id: Optional[str] = None, provider_name: Optional[str] = None) -> PrivateLinkEndpointService
func GetPrivateLinkEndpointService(ctx *Context, name string, id IDInput, state *PrivateLinkEndpointServiceState, opts ...ResourceOption) (*PrivateLinkEndpointService, error)
public static PrivateLinkEndpointService Get(string name, Input<string> id, PrivateLinkEndpointServiceState? 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:

AwsConnectionStatus string

Status of the interface endpoint for AWS. Returns one of the following values:

AzureStatus string

Status of the interface endpoint for AZURE. Returns one of the following values:

DeleteRequested bool

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

EndpointServiceId string

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

ErrorMessage string

Error message pertaining to the interface endpoint. Returns null if there are no errors.

InterfaceEndpointId string

Unique identifier of the interface endpoint.

PrivateEndpointConnectionName string

Name of the connection for this private endpoint that Atlas generates.

PrivateEndpointIpAddress string

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

PrivateEndpointResourceId string

Unique identifier of the private endpoint.

PrivateLinkId string

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

ProjectId string

Unique identifier for the project.

ProviderName string

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

AwsConnectionStatus string

Status of the interface endpoint for AWS. Returns one of the following values:

AzureStatus string

Status of the interface endpoint for AZURE. Returns one of the following values:

DeleteRequested bool

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

EndpointServiceId string

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

ErrorMessage string

Error message pertaining to the interface endpoint. Returns null if there are no errors.

InterfaceEndpointId string

Unique identifier of the interface endpoint.

PrivateEndpointConnectionName string

Name of the connection for this private endpoint that Atlas generates.

PrivateEndpointIpAddress string

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

PrivateEndpointResourceId string

Unique identifier of the private endpoint.

PrivateLinkId string

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

ProjectId string

Unique identifier for the project.

ProviderName string

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

awsConnectionStatus string

Status of the interface endpoint for AWS. Returns one of the following values:

azureStatus string

Status of the interface endpoint for AZURE. Returns one of the following values:

deleteRequested boolean

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

endpointServiceId string

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

errorMessage string

Error message pertaining to the interface endpoint. Returns null if there are no errors.

interfaceEndpointId string

Unique identifier of the interface endpoint.

privateEndpointConnectionName string

Name of the connection for this private endpoint that Atlas generates.

privateEndpointIpAddress string

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

privateEndpointResourceId string

Unique identifier of the private endpoint.

privateLinkId string

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

projectId string

Unique identifier for the project.

providerName string

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

aws_connection_status str

Status of the interface endpoint for AWS. Returns one of the following values:

azure_status str

Status of the interface endpoint for AZURE. Returns one of the following values:

delete_requested bool

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

endpoint_service_id str

Unique identifier of the interface endpoint you created in your VPC with the AWS or AZURE resource.

error_message str

Error message pertaining to the interface endpoint. Returns null if there are no errors.

interface_endpoint_id str

Unique identifier of the interface endpoint.

private_endpoint_connection_name str

Name of the connection for this private endpoint that Atlas generates.

private_endpoint_ip_address str

Private IP address of the private endpoint network interface you created in your Azure VNet. Only for AZURE.

private_endpoint_resource_id str

Unique identifier of the private endpoint.

private_link_id str

Unique identifier of the AWS or AZURE PrivateLink connection which is created by mongodbatlas.PrivateLinkEndpoint resource.

project_id str

Unique identifier for the project.

provider_name str

Cloud provider for which you want to create a private endpoint. Atlas accepts AWS or AZURE.

Import

Private Endpoint Link Connection can be imported using project ID and username, in the format {project_id}--{private_link_id}--{endpoint_service_id}--{provider_name}, e.g.

 $ pulumi import mongodbatlas:index/privateLinkEndpointService:PrivateLinkEndpointService test 1112222b3bf99403840e8934--3242342343112--vpce-4242342343--AWS

See detailed information for arguments and attributesMongoDB API Private Endpoint Link Connection

Package Details

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