1. Packages
  2. MongoDB Atlas
  3. API Docs
  4. PrivateLinkEndpointService
MongoDB Atlas v3.16.2 published on Friday, Jun 21, 2024 by Pulumi

mongodbatlas.PrivateLinkEndpointService

Explore with Pulumi AI

mongodbatlas logo
MongoDB Atlas v3.16.2 published on Friday, Jun 21, 2024 by Pulumi

    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.

    NOTE: Create and delete wait for all clusters on the project to IDLE in order for their operations to complete. This ensures the latest connection strings can be retrieved following creation or deletion of this resource. Default timeout is 2hrs.

    Example with AWS

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    
    const test = new mongodbatlas.PrivateLinkEndpoint("test", {
        projectId: "<PROJECT_ID>",
        providerName: "AWS",
        region: "US_EAST_1",
    });
    const ptfeService = new aws.index.VpcEndpoint("ptfe_service", {
        vpcId: "vpc-7fc0a543",
        serviceName: test.endpointServiceName,
        vpcEndpointType: "Interface",
        subnetIds: ["subnet-de0406d2"],
        securityGroupIds: ["sg-3f238186"],
    });
    const testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("test", {
        projectId: test.projectId,
        privateLinkId: test.privateLinkId,
        endpointServiceId: ptfeService.id,
        providerName: "AWS",
    });
    
    import pulumi
    import pulumi_aws as aws
    import pulumi_mongodbatlas as mongodbatlas
    
    test = mongodbatlas.PrivateLinkEndpoint("test",
        project_id="<PROJECT_ID>",
        provider_name="AWS",
        region="US_EAST_1")
    ptfe_service = aws.index.VpcEndpoint("ptfe_service",
        vpc_id=vpc-7fc0a543,
        service_name=test.endpoint_service_name,
        vpc_endpoint_type=Interface,
        subnet_ids=[subnet-de0406d2],
        security_group_ids=[sg-3f238186])
    test_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("test",
        project_id=test.project_id,
        private_link_id=test.private_link_id,
        endpoint_service_id=ptfe_service["id"],
        provider_name="AWS")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws"
    	"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		test, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, "test", &mongodbatlas.PrivateLinkEndpointArgs{
    			ProjectId:    pulumi.String("<PROJECT_ID>"),
    			ProviderName: pulumi.String("AWS"),
    			Region:       pulumi.String("US_EAST_1"),
    		})
    		if err != nil {
    			return err
    		}
    		ptfeService, err := aws.NewVpcEndpoint(ctx, "ptfe_service", &aws.VpcEndpointArgs{
    			VpcId:           "vpc-7fc0a543",
    			ServiceName:     test.EndpointServiceName,
    			VpcEndpointType: "Interface",
    			SubnetIds: []string{
    				"subnet-de0406d2",
    			},
    			SecurityGroupIds: []string{
    				"sg-3f238186",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, "test", &mongodbatlas.PrivateLinkEndpointServiceArgs{
    			ProjectId:         test.ProjectId,
    			PrivateLinkId:     test.PrivateLinkId,
    			EndpointServiceId: ptfeService.Id,
    			ProviderName:      pulumi.String("AWS"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Mongodbatlas.PrivateLinkEndpoint("test", new()
        {
            ProjectId = "<PROJECT_ID>",
            ProviderName = "AWS",
            Region = "US_EAST_1",
        });
    
        var ptfeService = new Aws.Index.VpcEndpoint("ptfe_service", new()
        {
            VpcId = "vpc-7fc0a543",
            ServiceName = test.EndpointServiceName,
            VpcEndpointType = "Interface",
            SubnetIds = new[]
            {
                "subnet-de0406d2",
            },
            SecurityGroupIds = new[]
            {
                "sg-3f238186",
            },
        });
    
        var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("test", new()
        {
            ProjectId = test.ProjectId,
            PrivateLinkId = test.PrivateLinkId,
            EndpointServiceId = ptfeService.Id,
            ProviderName = "AWS",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.mongodbatlas.PrivateLinkEndpoint;
    import com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;
    import com.pulumi.aws.vpcEndpoint;
    import com.pulumi.aws.VpcEndpointArgs;
    import com.pulumi.mongodbatlas.PrivateLinkEndpointService;
    import com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;
    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 test = new PrivateLinkEndpoint("test", PrivateLinkEndpointArgs.builder()
                .projectId("<PROJECT_ID>")
                .providerName("AWS")
                .region("US_EAST_1")
                .build());
    
            var ptfeService = new VpcEndpoint("ptfeService", VpcEndpointArgs.builder()
                .vpcId("vpc-7fc0a543")
                .serviceName(test.endpointServiceName())
                .vpcEndpointType("Interface")
                .subnetIds("subnet-de0406d2")
                .securityGroupIds("sg-3f238186")
                .build());
    
            var testPrivateLinkEndpointService = new PrivateLinkEndpointService("testPrivateLinkEndpointService", PrivateLinkEndpointServiceArgs.builder()
                .projectId(test.projectId())
                .privateLinkId(test.privateLinkId())
                .endpointServiceId(ptfeService.id())
                .providerName("AWS")
                .build());
    
        }
    }
    
    resources:
      test:
        type: mongodbatlas:PrivateLinkEndpoint
        properties:
          projectId: <PROJECT_ID>
          providerName: AWS
          region: US_EAST_1
      ptfeService:
        type: aws:vpcEndpoint
        name: ptfe_service
        properties:
          vpcId: vpc-7fc0a543
          serviceName: ${test.endpointServiceName}
          vpcEndpointType: Interface
          subnetIds:
            - subnet-de0406d2
          securityGroupIds:
            - sg-3f238186
      testPrivateLinkEndpointService:
        type: mongodbatlas:PrivateLinkEndpointService
        name: test
        properties:
          projectId: ${test.projectId}
          privateLinkId: ${test.privateLinkId}
          endpointServiceId: ${ptfeService.id}
          providerName: AWS
    

    Example with Azure

    import * as pulumi from "@pulumi/pulumi";
    import * as azurerm from "@pulumi/azurerm";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    
    const test = new mongodbatlas.PrivateLinkEndpoint("test", {
        projectId: projectId,
        providerName: "AZURE",
        region: "eastus2",
    });
    const testPrivateEndpoint = new azurerm.index.PrivateEndpoint("test", {
        name: "endpoint-test",
        location: testAzurermResourceGroup.location,
        resourceGroupName: resourceGroupName,
        subnetId: testAzurermSubnet.id,
        privateServiceConnection: [{
            name: test.privateLinkServiceName,
            privateConnectionResourceId: test.privateLinkServiceResourceId,
            isManualConnection: true,
            requestMessage: "Azure Private Link test",
        }],
    });
    const testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("test", {
        projectId: test.projectId,
        privateLinkId: test.privateLinkId,
        endpointServiceId: testPrivateEndpoint.id,
        privateEndpointIpAddress: testPrivateEndpoint.privateServiceConnection[0].privateIpAddress,
        providerName: "AZURE",
    });
    
    import pulumi
    import pulumi_azurerm as azurerm
    import pulumi_mongodbatlas as mongodbatlas
    
    test = mongodbatlas.PrivateLinkEndpoint("test",
        project_id=project_id,
        provider_name="AZURE",
        region="eastus2")
    test_private_endpoint = azurerm.index.PrivateEndpoint("test",
        name=endpoint-test,
        location=test_azurerm_resource_group.location,
        resource_group_name=resource_group_name,
        subnet_id=test_azurerm_subnet.id,
        private_service_connection=[{
            name: test.private_link_service_name,
            privateConnectionResourceId: test.private_link_service_resource_id,
            isManualConnection: True,
            requestMessage: Azure Private Link test,
        }])
    test_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("test",
        project_id=test.project_id,
        private_link_id=test.private_link_id,
        endpoint_service_id=test_private_endpoint["id"],
        private_endpoint_ip_address=test_private_endpoint["privateServiceConnection"][0]["privateIpAddress"],
        provider_name="AZURE")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azurerm/sdk/v1/go/azurerm"
    	"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		test, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, "test", &mongodbatlas.PrivateLinkEndpointArgs{
    			ProjectId:    pulumi.Any(projectId),
    			ProviderName: pulumi.String("AZURE"),
    			Region:       pulumi.String("eastus2"),
    		})
    		if err != nil {
    			return err
    		}
    		testPrivateEndpoint, err := index.NewPrivateEndpoint(ctx, "test", &index.PrivateEndpointArgs{
    			Name:              "endpoint-test",
    			Location:          testAzurermResourceGroup.Location,
    			ResourceGroupName: resourceGroupName,
    			SubnetId:          testAzurermSubnet.Id,
    			PrivateServiceConnection: []map[string]interface{}{
    				map[string]interface{}{
    					"name":                        test.PrivateLinkServiceName,
    					"privateConnectionResourceId": test.PrivateLinkServiceResourceId,
    					"isManualConnection":          true,
    					"requestMessage":              "Azure Private Link test",
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, "test", &mongodbatlas.PrivateLinkEndpointServiceArgs{
    			ProjectId:                test.ProjectId,
    			PrivateLinkId:            test.PrivateLinkId,
    			EndpointServiceId:        testPrivateEndpoint.Id,
    			PrivateEndpointIpAddress: testPrivateEndpoint.PrivateServiceConnection[0].PrivateIpAddress,
    			ProviderName:             pulumi.String("AZURE"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azurerm = Pulumi.Azurerm;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Mongodbatlas.PrivateLinkEndpoint("test", new()
        {
            ProjectId = projectId,
            ProviderName = "AZURE",
            Region = "eastus2",
        });
    
        var testPrivateEndpoint = new Azurerm.Index.PrivateEndpoint("test", new()
        {
            Name = "endpoint-test",
            Location = testAzurermResourceGroup.Location,
            ResourceGroupName = resourceGroupName,
            SubnetId = testAzurermSubnet.Id,
            PrivateServiceConnection = new[]
            {
                
                {
                    { "name", test.PrivateLinkServiceName },
                    { "privateConnectionResourceId", test.PrivateLinkServiceResourceId },
                    { "isManualConnection", true },
                    { "requestMessage", "Azure Private Link test" },
                },
            },
        });
    
        var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("test", new()
        {
            ProjectId = test.ProjectId,
            PrivateLinkId = test.PrivateLinkId,
            EndpointServiceId = testPrivateEndpoint.Id,
            PrivateEndpointIpAddress = testPrivateEndpoint.PrivateServiceConnection[0].PrivateIpAddress,
            ProviderName = "AZURE",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.mongodbatlas.PrivateLinkEndpoint;
    import com.pulumi.mongodbatlas.PrivateLinkEndpointArgs;
    import com.pulumi.azurerm.privateEndpoint;
    import com.pulumi.azurerm.PrivateEndpointArgs;
    import com.pulumi.mongodbatlas.PrivateLinkEndpointService;
    import com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;
    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 test = new PrivateLinkEndpoint("test", PrivateLinkEndpointArgs.builder()
                .projectId(projectId)
                .providerName("AZURE")
                .region("eastus2")
                .build());
    
            var testPrivateEndpoint = new PrivateEndpoint("testPrivateEndpoint", PrivateEndpointArgs.builder()
                .name("endpoint-test")
                .location(testAzurermResourceGroup.location())
                .resourceGroupName(resourceGroupName)
                .subnetId(testAzurermSubnet.id())
                .privateServiceConnection(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .build());
    
            var testPrivateLinkEndpointService = new PrivateLinkEndpointService("testPrivateLinkEndpointService", PrivateLinkEndpointServiceArgs.builder()
                .projectId(test.projectId())
                .privateLinkId(test.privateLinkId())
                .endpointServiceId(testPrivateEndpoint.id())
                .privateEndpointIpAddress(testPrivateEndpoint.privateServiceConnection()[0].privateIpAddress())
                .providerName("AZURE")
                .build());
    
        }
    }
    
    resources:
      test:
        type: mongodbatlas:PrivateLinkEndpoint
        properties:
          projectId: ${projectId}
          providerName: AZURE
          region: eastus2
      testPrivateEndpoint:
        type: azurerm:privateEndpoint
        name: test
        properties:
          name: endpoint-test
          location: ${testAzurermResourceGroup.location}
          resourceGroupName: ${resourceGroupName}
          subnetId: ${testAzurermSubnet.id}
          privateServiceConnection:
            - name: ${test.privateLinkServiceName}
              privateConnectionResourceId: ${test.privateLinkServiceResourceId}
              isManualConnection: true
              requestMessage: Azure Private Link test
      testPrivateLinkEndpointService:
        type: mongodbatlas:PrivateLinkEndpointService
        name: test
        properties:
          projectId: ${test.projectId}
          privateLinkId: ${test.privateLinkId}
          endpointServiceId: ${testPrivateEndpoint.id}
          privateEndpointIpAddress: ${testPrivateEndpoint.privateServiceConnection[0].privateIpAddress}
          providerName: AZURE
    

    Example with GCP

    import * as pulumi from "@pulumi/pulumi";
    import * as google from "@pulumi/google";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    
    const test = new mongodbatlas.PrivateLinkEndpoint("test", {
        projectId: projectId,
        providerName: "GCP",
        region: gcpRegion,
    });
    // Create a Google Network
    const _default = new google.index.ComputeNetwork("default", {
        project: gcpProject,
        name: "my-network",
    });
    // Create a Google Sub Network
    const defaultComputeSubnetwork = new google.index.ComputeSubnetwork("default", {
        project: _default.project,
        name: "my-subnet",
        ipCidrRange: "10.0.0.0/16",
        region: gcpRegion,
        network: _default.id,
    });
    // Create Google 50 Addresses
    const defaultComputeAddress: google.index.ComputeAddress[] = [];
    for (const range = {value: 0}; range.value < 50; range.value++) {
        defaultComputeAddress.push(new google.index.ComputeAddress(`default-${range.value}`, {
            project: defaultComputeSubnetwork.project,
            name: `tf-test${range.value}`,
            subnetwork: defaultComputeSubnetwork.id,
            addressType: "INTERNAL",
            address: `10.0.42.${range.value}`,
            region: gcpRegion,
        }, {
        dependsOn: [test],
    }));
    }
    // Create 50 Forwarding rules
    const defaultComputeForwardingRule: google.index.ComputeForwardingRule[] = [];
    for (const range = {value: 0}; range.value < 50; range.value++) {
        defaultComputeForwardingRule.push(new google.index.ComputeForwardingRule(`default-${range.value}`, {
            target: test.serviceAttachmentNames[range.value],
            project: defaultComputeAddress[range.value].project,
            region: defaultComputeAddress[range.value].region,
            name: defaultComputeAddress[range.value].name,
            ipAddress: defaultComputeAddress[range.value].id,
            network: _default.id,
            loadBalancingScheme: "",
        }));
    }
    const testPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("test", {
        endpoints: defaultComputeAddress.map((v, k) => ({key: k, value: v})).map(entry => ({
            ipAddress: entry.value.address,
            endpointName: defaultComputeForwardingRule[entry.key].name,
        })),
        projectId: test.projectId,
        privateLinkId: test.privateLinkId,
        providerName: "GCP",
        endpointServiceId: _default.name,
        gcpProjectId: gcpProject,
    }, {
        dependsOn: [defaultComputeForwardingRule],
    });
    
    import pulumi
    import pulumi_google as google
    import pulumi_mongodbatlas as mongodbatlas
    
    test = mongodbatlas.PrivateLinkEndpoint("test",
        project_id=project_id,
        provider_name="GCP",
        region=gcp_region)
    # Create a Google Network
    default = google.index.ComputeNetwork("default",
        project=gcp_project,
        name=my-network)
    # Create a Google Sub Network
    default_compute_subnetwork = google.index.ComputeSubnetwork("default",
        project=default.project,
        name=my-subnet,
        ip_cidr_range=10.0.0.0/16,
        region=gcp_region,
        network=default.id)
    # Create Google 50 Addresses
    default_compute_address = []
    for range in [{"value": i} for i in range(0, 50)]:
        default_compute_address.append(google.index.ComputeAddress(f"default-{range['value']}",
            project=default_compute_subnetwork.project,
            name=ftf-test{range.value},
            subnetwork=default_compute_subnetwork.id,
            address_type=INTERNAL,
            address=f10.0.42.{range.value},
            region=gcp_region,
            opts=pulumi.ResourceOptions(depends_on=[test])))
    # Create 50 Forwarding rules
    default_compute_forwarding_rule = []
    for range in [{"value": i} for i in range(0, 50)]:
        default_compute_forwarding_rule.append(google.index.ComputeForwardingRule(f"default-{range['value']}",
            target=test.service_attachment_names[range.value],
            project=default_compute_address[range.value].project,
            region=default_compute_address[range.value].region,
            name=default_compute_address[range.value].name,
            ip_address=default_compute_address[range.value].id,
            network=default.id,
            load_balancing_scheme=))
    test_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("test",
        endpoints=[mongodbatlas.PrivateLinkEndpointServiceEndpointArgs(
            ip_address=entry["value"]["address"],
            endpoint_name=default_compute_forwarding_rule[entry["key"]]["name"],
        ) for entry in [{"key": k, "value": v} for k, v in default_compute_address]],
        project_id=test.project_id,
        private_link_id=test.private_link_id,
        provider_name="GCP",
        endpoint_service_id=default["name"],
        gcp_project_id=gcp_project,
        opts=pulumi.ResourceOptions(depends_on=[default_compute_forwarding_rule]))
    
    Coming soon!
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Google = Pulumi.Google;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Mongodbatlas.PrivateLinkEndpoint("test", new()
        {
            ProjectId = projectId,
            ProviderName = "GCP",
            Region = gcpRegion,
        });
    
        // Create a Google Network
        var @default = new Google.Index.ComputeNetwork("default", new()
        {
            Project = gcpProject,
            Name = "my-network",
        });
    
        // Create a Google Sub Network
        var defaultComputeSubnetwork = new Google.Index.ComputeSubnetwork("default", new()
        {
            Project = @default.Project,
            Name = "my-subnet",
            IpCidrRange = "10.0.0.0/16",
            Region = gcpRegion,
            Network = @default.Id,
        });
    
        // Create Google 50 Addresses
        var defaultComputeAddress = new List<Google.Index.ComputeAddress>();
        for (var rangeIndex = 0; rangeIndex < 50; rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            defaultComputeAddress.Add(new Google.Index.ComputeAddress($"default-{range.Value}", new()
            {
                Project = defaultComputeSubnetwork.Project,
                Name = $"tf-test{range.Value}",
                Subnetwork = defaultComputeSubnetwork.Id,
                AddressType = "INTERNAL",
                Address = $"10.0.42.{range.Value}",
                Region = gcpRegion,
            }, new CustomResourceOptions
            {
                DependsOn =
                {
                    test,
                },
            }));
        }
        // Create 50 Forwarding rules
        var defaultComputeForwardingRule = new List<Google.Index.ComputeForwardingRule>();
        for (var rangeIndex = 0; rangeIndex < 50; rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            defaultComputeForwardingRule.Add(new Google.Index.ComputeForwardingRule($"default-{range.Value}", new()
            {
                Target = test.ServiceAttachmentNames[range.Value],
                Project = defaultComputeAddress[range.Value].Project,
                Region = defaultComputeAddress[range.Value].Region,
                Name = defaultComputeAddress[range.Value].Name,
                IpAddress = defaultComputeAddress[range.Value].Id,
                Network = @default.Id,
                LoadBalancingScheme = "",
            }));
        }
        var testPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("test", new()
        {
            Endpoints = defaultComputeAddress.Select((v, k) => new { Key = k, Value = v }).Select(entry => 
            {
                return new Mongodbatlas.Inputs.PrivateLinkEndpointServiceEndpointArgs
                {
                    IpAddress = entry.Value.Address,
                    EndpointName = defaultComputeForwardingRule[entry.Key].Name,
                };
            }).ToList(),
            ProjectId = test.ProjectId,
            PrivateLinkId = test.PrivateLinkId,
            ProviderName = "GCP",
            EndpointServiceId = @default.Name,
            GcpProjectId = gcpProject,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                defaultComputeForwardingRule,
            },
        });
    
    });
    
    Coming soon!
    
    Coming soon!
    

    Available complete examples

    • Setup private connection to a MongoDB Atlas Cluster with AWS VPC

    Create PrivateLinkEndpointService Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PrivateLinkEndpointService(name: string, args: PrivateLinkEndpointServiceArgs, opts?: CustomResourceOptions);
    @overload
    def PrivateLinkEndpointService(resource_name: str,
                                   args: PrivateLinkEndpointServiceArgs,
                                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def PrivateLinkEndpointService(resource_name: str,
                                   opts: Optional[ResourceOptions] = None,
                                   endpoint_service_id: Optional[str] = None,
                                   private_link_id: Optional[str] = None,
                                   project_id: Optional[str] = None,
                                   provider_name: Optional[str] = None,
                                   endpoints: Optional[Sequence[PrivateLinkEndpointServiceEndpointArgs]] = None,
                                   gcp_project_id: Optional[str] = None,
                                   private_endpoint_ip_address: Optional[str] = None)
    func NewPrivateLinkEndpointService(ctx *Context, name string, args PrivateLinkEndpointServiceArgs, opts ...ResourceOption) (*PrivateLinkEndpointService, error)
    public PrivateLinkEndpointService(string name, PrivateLinkEndpointServiceArgs args, CustomResourceOptions? opts = null)
    public PrivateLinkEndpointService(String name, PrivateLinkEndpointServiceArgs args)
    public PrivateLinkEndpointService(String name, PrivateLinkEndpointServiceArgs args, CustomResourceOptions options)
    
    type: mongodbatlas:PrivateLinkEndpointService
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    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.
    args PrivateLinkEndpointServiceArgs
    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 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.
    name String
    The unique name of the resource.
    args PrivateLinkEndpointServiceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var privateLinkEndpointServiceResource = new Mongodbatlas.PrivateLinkEndpointService("privateLinkEndpointServiceResource", new()
    {
        EndpointServiceId = "string",
        PrivateLinkId = "string",
        ProjectId = "string",
        ProviderName = "string",
        Endpoints = new[]
        {
            new Mongodbatlas.Inputs.PrivateLinkEndpointServiceEndpointArgs
            {
                EndpointName = "string",
                IpAddress = "string",
                Status = "string",
            },
        },
        GcpProjectId = "string",
        PrivateEndpointIpAddress = "string",
    });
    
    example, err := mongodbatlas.NewPrivateLinkEndpointService(ctx, "privateLinkEndpointServiceResource", &mongodbatlas.PrivateLinkEndpointServiceArgs{
    	EndpointServiceId: pulumi.String("string"),
    	PrivateLinkId:     pulumi.String("string"),
    	ProjectId:         pulumi.String("string"),
    	ProviderName:      pulumi.String("string"),
    	Endpoints: mongodbatlas.PrivateLinkEndpointServiceEndpointArray{
    		&mongodbatlas.PrivateLinkEndpointServiceEndpointArgs{
    			EndpointName: pulumi.String("string"),
    			IpAddress:    pulumi.String("string"),
    			Status:       pulumi.String("string"),
    		},
    	},
    	GcpProjectId:             pulumi.String("string"),
    	PrivateEndpointIpAddress: pulumi.String("string"),
    })
    
    var privateLinkEndpointServiceResource = new PrivateLinkEndpointService("privateLinkEndpointServiceResource", PrivateLinkEndpointServiceArgs.builder()
        .endpointServiceId("string")
        .privateLinkId("string")
        .projectId("string")
        .providerName("string")
        .endpoints(PrivateLinkEndpointServiceEndpointArgs.builder()
            .endpointName("string")
            .ipAddress("string")
            .status("string")
            .build())
        .gcpProjectId("string")
        .privateEndpointIpAddress("string")
        .build());
    
    private_link_endpoint_service_resource = mongodbatlas.PrivateLinkEndpointService("privateLinkEndpointServiceResource",
        endpoint_service_id="string",
        private_link_id="string",
        project_id="string",
        provider_name="string",
        endpoints=[mongodbatlas.PrivateLinkEndpointServiceEndpointArgs(
            endpoint_name="string",
            ip_address="string",
            status="string",
        )],
        gcp_project_id="string",
        private_endpoint_ip_address="string")
    
    const privateLinkEndpointServiceResource = new mongodbatlas.PrivateLinkEndpointService("privateLinkEndpointServiceResource", {
        endpointServiceId: "string",
        privateLinkId: "string",
        projectId: "string",
        providerName: "string",
        endpoints: [{
            endpointName: "string",
            ipAddress: "string",
            status: "string",
        }],
        gcpProjectId: "string",
        privateEndpointIpAddress: "string",
    });
    
    type: mongodbatlas:PrivateLinkEndpointService
    properties:
        endpointServiceId: string
        endpoints:
            - endpointName: string
              ipAddress: string
              status: string
        gcpProjectId: string
        privateEndpointIpAddress: string
        privateLinkId: string
        projectId: string
        providerName: string
    

    PrivateLinkEndpointService Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts 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, AZURE or GCP 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, AZURE or GCP.
    Endpoints List<PrivateLinkEndpointServiceEndpoint>
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    GcpProjectId string
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    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, AZURE or GCP 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, AZURE or GCP.
    Endpoints []PrivateLinkEndpointServiceEndpointArgs
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    GcpProjectId string
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    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, AZURE or GCP 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, AZURE or GCP.
    endpoints List<PrivateLinkEndpointServiceEndpoint>
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    gcpProjectId String
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    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, AZURE or GCP 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, AZURE or GCP.
    endpoints PrivateLinkEndpointServiceEndpoint[]
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    gcpProjectId string
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    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, AZURE or GCP 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, AZURE or GCP.
    endpoints Sequence[PrivateLinkEndpointServiceEndpointArgs]
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    gcp_project_id str
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    private_endpoint_ip_address str
    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, AZURE or GCP 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, AZURE or GCP.
    endpoints List<Property Map>
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    gcpProjectId String
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    privateEndpointIpAddress String
    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:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    AzureStatus string
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    DeleteRequested bool
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    EndpointGroupName string
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    ErrorMessage string
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    GcpStatus string
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    AzureStatus string
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    DeleteRequested bool
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    EndpointGroupName string
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    ErrorMessage string
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    GcpStatus string
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azureStatus String
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    deleteRequested Boolean
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpointGroupName String
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    errorMessage String
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcpStatus String
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azureStatus string
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    deleteRequested boolean
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpointGroupName string
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    errorMessage string
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcpStatus string
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azure_status str
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    delete_requested bool
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpoint_group_name str
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    error_message str
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcp_status str
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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.
    awsConnectionStatus String
    Status of the interface endpoint for AWS. Returns one of the following values:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azureStatus String
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    deleteRequested Boolean
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpointGroupName String
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    errorMessage String
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcpStatus String
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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.

    Look up 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_group_name: Optional[str] = None,
            endpoint_service_id: Optional[str] = None,
            endpoints: Optional[Sequence[PrivateLinkEndpointServiceEndpointArgs]] = None,
            error_message: Optional[str] = None,
            gcp_project_id: Optional[str] = None,
            gcp_status: 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)
    public static PrivateLinkEndpointService get(String name, Output<String> id, PrivateLinkEndpointServiceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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.
    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:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    AzureStatus string
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    DeleteRequested bool
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    EndpointGroupName string
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    EndpointServiceId string
    Unique identifier of the interface endpoint you created in your VPC with the AWS, AZURE or GCP resource.
    Endpoints List<PrivateLinkEndpointServiceEndpoint>
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    ErrorMessage string
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    GcpProjectId string
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    GcpStatus string
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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, AZURE or GCP.
    AwsConnectionStatus string
    Status of the interface endpoint for AWS. Returns one of the following values:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    AzureStatus string
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    DeleteRequested bool
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    EndpointGroupName string
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    EndpointServiceId string
    Unique identifier of the interface endpoint you created in your VPC with the AWS, AZURE or GCP resource.
    Endpoints []PrivateLinkEndpointServiceEndpointArgs
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    ErrorMessage string
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    GcpProjectId string
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    GcpStatus string
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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, AZURE or GCP.
    awsConnectionStatus String
    Status of the interface endpoint for AWS. Returns one of the following values:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azureStatus String
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    deleteRequested Boolean
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpointGroupName String
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    endpointServiceId String
    Unique identifier of the interface endpoint you created in your VPC with the AWS, AZURE or GCP resource.
    endpoints List<PrivateLinkEndpointServiceEndpoint>
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    errorMessage String
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcpProjectId String
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    gcpStatus String
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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, AZURE or GCP.
    awsConnectionStatus string
    Status of the interface endpoint for AWS. Returns one of the following values:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azureStatus string
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    deleteRequested boolean
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpointGroupName string
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    endpointServiceId string
    Unique identifier of the interface endpoint you created in your VPC with the AWS, AZURE or GCP resource.
    endpoints PrivateLinkEndpointServiceEndpoint[]
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    errorMessage string
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcpProjectId string
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    gcpStatus string
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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, AZURE or GCP.
    aws_connection_status str
    Status of the interface endpoint for AWS. Returns one of the following values:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azure_status str
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    delete_requested bool
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpoint_group_name str
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    endpoint_service_id str
    Unique identifier of the interface endpoint you created in your VPC with the AWS, AZURE or GCP resource.
    endpoints Sequence[PrivateLinkEndpointServiceEndpointArgs]
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    error_message str
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcp_project_id str
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    gcp_status str
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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, AZURE or GCP.
    awsConnectionStatus String
    Status of the interface endpoint for AWS. Returns one of the following values:

    • NONE - Atlas created the network load balancer and VPC endpoint service, but AWS hasn’t yet created the VPC endpoint.
    • PENDING_ACCEPTANCE - AWS has received the connection request from your VPC endpoint to the Atlas VPC endpoint service.
    • PENDING - AWS is establishing the connection between your VPC endpoint and the Atlas VPC endpoint service.
    • AVAILABLE - Atlas VPC resources are connected to the VPC endpoint in your VPC. You can connect to Atlas clusters in this region using AWS PrivateLink.
    • REJECTED - AWS failed to establish a connection between Atlas VPC resources to the VPC endpoint in your VPC.
    • DELETING - Atlas is removing the interface endpoint from the private endpoint connection.
    azureStatus String
    Status of the interface endpoint for AZURE. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    deleteRequested Boolean
    Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
    endpointGroupName String
    (Optional) Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in GCP.
    endpointServiceId String
    Unique identifier of the interface endpoint you created in your VPC with the AWS, AZURE or GCP resource.
    endpoints List<Property Map>
    Collection of individual private endpoints that comprise your endpoint group. Only for GCP. See below.
    errorMessage String
    Error message pertaining to the interface endpoint. Returns null if there are no errors.
    gcpProjectId String
    Unique identifier of the GCP project in which you created your endpoints. Only for GCP.
    gcpStatus String
    Status of the interface endpoint for GCP. Returns one of the following values:

    • INITIATING - Atlas has not yet accepted the connection to your private endpoint.
    • AVAILABLE - Atlas approved the connection to your private endpoint.
    • FAILED - Atlas failed to accept the connection your private endpoint.
    • DELETING - Atlas is removing the connection to your private endpoint from the Private Link service.
    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, AZURE or GCP.

    Supporting Types

    PrivateLinkEndpointServiceEndpoint, PrivateLinkEndpointServiceEndpointArgs

    EndpointName string
    Forwarding rule that corresponds to the endpoint you created in GCP.
    IpAddress string
    Private IP address of the endpoint you created in GCP.
    ServiceAttachmentName string
    Unique alphanumeric and special character strings that identify the service attachment associated with the endpoint.

    Deprecated: This parameter is deprecated and will be removed in version 1.18.0.

    Status string
    Status of the endpoint. Atlas returns one of the values shown above.
    EndpointName string
    Forwarding rule that corresponds to the endpoint you created in GCP.
    IpAddress string
    Private IP address of the endpoint you created in GCP.
    ServiceAttachmentName string
    Unique alphanumeric and special character strings that identify the service attachment associated with the endpoint.

    Deprecated: This parameter is deprecated and will be removed in version 1.18.0.

    Status string
    Status of the endpoint. Atlas returns one of the values shown above.
    endpointName String
    Forwarding rule that corresponds to the endpoint you created in GCP.
    ipAddress String
    Private IP address of the endpoint you created in GCP.
    serviceAttachmentName String
    Unique alphanumeric and special character strings that identify the service attachment associated with the endpoint.

    Deprecated: This parameter is deprecated and will be removed in version 1.18.0.

    status String
    Status of the endpoint. Atlas returns one of the values shown above.
    endpointName string
    Forwarding rule that corresponds to the endpoint you created in GCP.
    ipAddress string
    Private IP address of the endpoint you created in GCP.
    serviceAttachmentName string
    Unique alphanumeric and special character strings that identify the service attachment associated with the endpoint.

    Deprecated: This parameter is deprecated and will be removed in version 1.18.0.

    status string
    Status of the endpoint. Atlas returns one of the values shown above.
    endpoint_name str
    Forwarding rule that corresponds to the endpoint you created in GCP.
    ip_address str
    Private IP address of the endpoint you created in GCP.
    service_attachment_name str
    Unique alphanumeric and special character strings that identify the service attachment associated with the endpoint.

    Deprecated: This parameter is deprecated and will be removed in version 1.18.0.

    status str
    Status of the endpoint. Atlas returns one of the values shown above.
    endpointName String
    Forwarding rule that corresponds to the endpoint you created in GCP.
    ipAddress String
    Private IP address of the endpoint you created in GCP.
    serviceAttachmentName String
    Unique alphanumeric and special character strings that identify the service attachment associated with the endpoint.

    Deprecated: This parameter is deprecated and will be removed in version 1.18.0.

    status String
    Status of the endpoint. Atlas returns one of the values shown above.

    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 attributes: MongoDB API Private Endpoint Link Connection

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    MongoDB Atlas pulumi/pulumi-mongodbatlas
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the mongodbatlas Terraform Provider.
    mongodbatlas logo
    MongoDB Atlas v3.16.2 published on Friday, Jun 21, 2024 by Pulumi