published on Tuesday, Mar 31, 2026 by Pulumi
published on Tuesday, Mar 31, 2026 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: This resource links your cloud provider’s Private Endpoint to the MongoDB Atlas Private Endpoint Service. It does not create the service itself (this is done by
mongodbatlas.PrivateLinkEndpoint). You first create the service in Atlas withmongodbatlas.PrivateLinkEndpoint, then the endpoint is created in your cloud provider, and you link them together with themongodbatlas.PrivateLinkEndpointServiceresource.
The private link Terraform module makes use of this resource and simplifies its use.
NOTE: You must have Organization Owner or Project Owner role. Create and delete operations wait for all clusters on the project to IDLE to ensure the latest connection strings can be retrieved (default timeout: 2hrs).
IMPORTANT: For GCP, MongoDB encourages customers to use the port-mapped architecture by setting
portMappingEnabled = trueon themongodbatlas.PrivateLinkEndpointresource. This architecture uses a single set of resources to support up to 150 nodes. The legacy architecture requires dedicated resources for each Atlas node, which can lead to IP address exhaustion. For migration guidance, see the GCP Private Service Connect to Port-Mapped Architecture.
Example with AWS
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as mongodbatlas from "@pulumi/mongodbatlas";
const _this = new mongodbatlas.PrivateLinkEndpoint("this", {
projectId: "<PROJECT_ID>",
providerName: "AWS",
region: "US_EAST_1",
});
const ptfeService = new aws.index.VpcEndpoint("ptfe_service", {
vpcId: "vpc-7fc0a543",
serviceName: _this.endpointServiceName,
vpcEndpointType: "Interface",
subnetIds: ["subnet-de0406d2"],
securityGroupIds: ["sg-3f238186"],
});
const thisPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("this", {
projectId: _this.projectId,
privateLinkId: _this.privateLinkId,
endpointServiceId: ptfeService.id,
providerName: "AWS",
});
import pulumi
import pulumi_aws as aws
import pulumi_mongodbatlas as mongodbatlas
this = mongodbatlas.PrivateLinkEndpoint("this",
project_id="<PROJECT_ID>",
provider_name="AWS",
region="US_EAST_1")
ptfe_service = aws.index.VpcEndpoint("ptfe_service",
vpc_id=vpc-7fc0a543,
service_name=this.endpoint_service_name,
vpc_endpoint_type=Interface,
subnet_ids=[subnet-de0406d2],
security_group_ids=[sg-3f238186])
this_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("this",
project_id=this.project_id,
private_link_id=this.private_link_id,
endpoint_service_id=ptfe_service["id"],
provider_name="AWS")
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-mongodbatlas/sdk/v4/go/mongodbatlas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
this, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, "this", &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: this.EndpointServiceName,
VpcEndpointType: "Interface",
SubnetIds: []string{
"subnet-de0406d2",
},
SecurityGroupIds: []string{
"sg-3f238186",
},
})
if err != nil {
return err
}
_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, "this", &mongodbatlas.PrivateLinkEndpointServiceArgs{
ProjectId: this.ProjectId,
PrivateLinkId: this.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 @this = new Mongodbatlas.PrivateLinkEndpoint("this", new()
{
ProjectId = "<PROJECT_ID>",
ProviderName = "AWS",
Region = "US_EAST_1",
});
var ptfeService = new Aws.Index.VpcEndpoint("ptfe_service", new()
{
VpcId = "vpc-7fc0a543",
ServiceName = @this.EndpointServiceName,
VpcEndpointType = "Interface",
SubnetIds = new[]
{
"subnet-de0406d2",
},
SecurityGroupIds = new[]
{
"sg-3f238186",
},
});
var thisPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("this", new()
{
ProjectId = @this.ProjectId,
PrivateLinkId = @this.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 this_ = new PrivateLinkEndpoint("this", PrivateLinkEndpointArgs.builder()
.projectId("<PROJECT_ID>")
.providerName("AWS")
.region("US_EAST_1")
.build());
var ptfeService = new VpcEndpoint("ptfeService", VpcEndpointArgs.builder()
.vpcId("vpc-7fc0a543")
.serviceName(this_.endpointServiceName())
.vpcEndpointType("Interface")
.subnetIds(List.of("subnet-de0406d2"))
.securityGroupIds(List.of("sg-3f238186"))
.build());
var thisPrivateLinkEndpointService = new PrivateLinkEndpointService("thisPrivateLinkEndpointService", PrivateLinkEndpointServiceArgs.builder()
.projectId(this_.projectId())
.privateLinkId(this_.privateLinkId())
.endpointServiceId(ptfeService.id())
.providerName("AWS")
.build());
}
}
resources:
this:
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: ${this.endpointServiceName}
vpcEndpointType: Interface
subnetIds:
- subnet-de0406d2
securityGroupIds:
- sg-3f238186
thisPrivateLinkEndpointService:
type: mongodbatlas:PrivateLinkEndpointService
name: this
properties:
projectId: ${this.projectId}
privateLinkId: ${this.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 _this = new mongodbatlas.PrivateLinkEndpoint("this", {
projectId: projectId,
providerName: "AZURE",
region: "eastus2",
});
const thisPrivateEndpoint = new azurerm.index.PrivateEndpoint("this", {
name: "endpoint-this",
location: thisAzurermResourceGroup.location,
resourceGroupName: resourceGroupName,
subnetId: thisAzurermSubnet.id,
privateServiceConnection: [{
name: _this.privateLinkServiceName,
privateConnectionResourceId: _this.privateLinkServiceResourceId,
isManualConnection: true,
requestMessage: "Azure Private Link this",
}],
});
const thisPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("this", {
projectId: _this.projectId,
privateLinkId: _this.privateLinkId,
endpointServiceId: thisPrivateEndpoint.id,
privateEndpointIpAddress: thisPrivateEndpoint.privateServiceConnection[0].privateIpAddress,
providerName: "AZURE",
});
import pulumi
import pulumi_azurerm as azurerm
import pulumi_mongodbatlas as mongodbatlas
this = mongodbatlas.PrivateLinkEndpoint("this",
project_id=project_id,
provider_name="AZURE",
region="eastus2")
this_private_endpoint = azurerm.index.PrivateEndpoint("this",
name=endpoint-this,
location=this_azurerm_resource_group.location,
resource_group_name=resource_group_name,
subnet_id=this_azurerm_subnet.id,
private_service_connection=[{
name: this.private_link_service_name,
privateConnectionResourceId: this.private_link_service_resource_id,
isManualConnection: True,
requestMessage: Azure Private Link this,
}])
this_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("this",
project_id=this.project_id,
private_link_id=this.private_link_id,
endpoint_service_id=this_private_endpoint["id"],
private_endpoint_ip_address=this_private_endpoint["privateServiceConnection"][0]["privateIpAddress"],
provider_name="AZURE")
package main
import (
"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm"
"github.com/pulumi/pulumi-mongodbatlas/sdk/v4/go/mongodbatlas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
this, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, "this", &mongodbatlas.PrivateLinkEndpointArgs{
ProjectId: pulumi.Any(projectId),
ProviderName: pulumi.String("AZURE"),
Region: pulumi.String("eastus2"),
})
if err != nil {
return err
}
thisPrivateEndpoint, err := azurerm.NewPrivateEndpoint(ctx, "this", &azurerm.PrivateEndpointArgs{
Name: "endpoint-this",
Location: thisAzurermResourceGroup.Location,
ResourceGroupName: resourceGroupName,
SubnetId: thisAzurermSubnet.Id,
PrivateServiceConnection: []map[string]interface{}{
map[string]interface{}{
"name": this.PrivateLinkServiceName,
"privateConnectionResourceId": this.PrivateLinkServiceResourceId,
"isManualConnection": true,
"requestMessage": "Azure Private Link this",
},
},
})
if err != nil {
return err
}
_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, "this", &mongodbatlas.PrivateLinkEndpointServiceArgs{
ProjectId: this.ProjectId,
PrivateLinkId: this.PrivateLinkId,
EndpointServiceId: thisPrivateEndpoint.Id,
PrivateEndpointIpAddress: thisPrivateEndpoint.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 @this = new Mongodbatlas.PrivateLinkEndpoint("this", new()
{
ProjectId = projectId,
ProviderName = "AZURE",
Region = "eastus2",
});
var thisPrivateEndpoint = new Azurerm.Index.PrivateEndpoint("this", new()
{
Name = "endpoint-this",
Location = thisAzurermResourceGroup.Location,
ResourceGroupName = resourceGroupName,
SubnetId = thisAzurermSubnet.Id,
PrivateServiceConnection = new[]
{
{
{ "name", @this.PrivateLinkServiceName },
{ "privateConnectionResourceId", @this.PrivateLinkServiceResourceId },
{ "isManualConnection", true },
{ "requestMessage", "Azure Private Link this" },
},
},
});
var thisPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("this", new()
{
ProjectId = @this.ProjectId,
PrivateLinkId = @this.PrivateLinkId,
EndpointServiceId = thisPrivateEndpoint.Id,
PrivateEndpointIpAddress = thisPrivateEndpoint.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 this_ = new PrivateLinkEndpoint("this", PrivateLinkEndpointArgs.builder()
.projectId(projectId)
.providerName("AZURE")
.region("eastus2")
.build());
var thisPrivateEndpoint = new PrivateEndpoint("thisPrivateEndpoint", PrivateEndpointArgs.builder()
.name("endpoint-this")
.location(thisAzurermResourceGroup.location())
.resourceGroupName(resourceGroupName)
.subnetId(thisAzurermSubnet.id())
.privateServiceConnection(List.of(Map.ofEntries(
Map.entry("name", this_.privateLinkServiceName()),
Map.entry("privateConnectionResourceId", this_.privateLinkServiceResourceId()),
Map.entry("isManualConnection", true),
Map.entry("requestMessage", "Azure Private Link this")
)))
.build());
var thisPrivateLinkEndpointService = new PrivateLinkEndpointService("thisPrivateLinkEndpointService", PrivateLinkEndpointServiceArgs.builder()
.projectId(this_.projectId())
.privateLinkId(this_.privateLinkId())
.endpointServiceId(thisPrivateEndpoint.id())
.privateEndpointIpAddress(thisPrivateEndpoint.privateServiceConnection()[0].privateIpAddress())
.providerName("AZURE")
.build());
}
}
resources:
this:
type: mongodbatlas:PrivateLinkEndpoint
properties:
projectId: ${projectId}
providerName: AZURE
region: eastus2
thisPrivateEndpoint:
type: azurerm:PrivateEndpoint
name: this
properties:
name: endpoint-this
location: ${thisAzurermResourceGroup.location}
resourceGroupName: ${resourceGroupName}
subnetId: ${thisAzurermSubnet.id}
privateServiceConnection:
- name: ${this.privateLinkServiceName}
privateConnectionResourceId: ${this.privateLinkServiceResourceId}
isManualConnection: true
requestMessage: Azure Private Link this
thisPrivateLinkEndpointService:
type: mongodbatlas:PrivateLinkEndpointService
name: this
properties:
projectId: ${this.projectId}
privateLinkId: ${this.privateLinkId}
endpointServiceId: ${thisPrivateEndpoint.id}
privateEndpointIpAddress: ${thisPrivateEndpoint.privateServiceConnection[0].privateIpAddress}
providerName: AZURE
Example with GCP (Legacy Architecture)
import * as pulumi from "@pulumi/pulumi";
import * as google from "@pulumi/google";
import * as mongodbatlas from "@pulumi/mongodbatlas";
const _this = new mongodbatlas.PrivateLinkEndpoint("this", {
projectId: projectId,
providerName: "GCP",
region: gcpRegion,
});
// Create a Google Network
const _default = new google.index.ComputeNetwork("default", {
project: gcpProjectId,
name: "my-network",
autoCreateSubnetworks: false,
});
// 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 (required for GCP legacy private endpoint architecture)
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-this${range.value}`,
subnetwork: defaultComputeSubnetwork.id,
addressType: "INTERNAL",
address: `10.0.42.${range.value}`,
region: gcpRegion,
}, {
dependsOn: [_this],
}));
}
// Create 50 Forwarding rules (required for GCP legacy private endpoint architecture)
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: _this.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 thisPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("this", {
endpoints: defaultComputeAddress.map((v, k) => ({key: k, value: v})).map(entry => ({
ipAddress: entry.value.address,
endpointName: defaultComputeForwardingRule[entry.key].name,
})),
projectId: _this.projectId,
privateLinkId: _this.privateLinkId,
providerName: "GCP",
endpointServiceId: _default.name,
gcpProjectId: gcpProjectId,
}, {
dependsOn: [defaultComputeForwardingRule],
});
import pulumi
import pulumi_google as google
import pulumi_mongodbatlas as mongodbatlas
this = mongodbatlas.PrivateLinkEndpoint("this",
project_id=project_id,
provider_name="GCP",
region=gcp_region)
# Create a Google Network
default = google.index.ComputeNetwork("default",
project=gcp_project_id,
name=my-network,
auto_create_subnetworks=False)
# 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 (required for GCP legacy private endpoint architecture)
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-this{range.value},
subnetwork=default_compute_subnetwork.id,
address_type=INTERNAL,
address=f10.0.42.{range.value},
region=gcp_region,
opts = pulumi.ResourceOptions(depends_on=[this])))
# Create 50 Forwarding rules (required for GCP legacy private endpoint architecture)
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=this.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=))
this_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("this",
endpoints=[{
"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.items()]],
project_id=this.project_id,
private_link_id=this.private_link_id,
provider_name="GCP",
endpoint_service_id=default["name"],
gcp_project_id=gcp_project_id,
opts = pulumi.ResourceOptions(depends_on=[default_compute_forwarding_rule]))
Example coming soon!
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Google = Pulumi.Google;
using Mongodbatlas = Pulumi.Mongodbatlas;
return await Deployment.RunAsync(() =>
{
var @this = new Mongodbatlas.PrivateLinkEndpoint("this", new()
{
ProjectId = projectId,
ProviderName = "GCP",
Region = gcpRegion,
});
// Create a Google Network
var @default = new Google.Index.ComputeNetwork("default", new()
{
Project = gcpProjectId,
Name = "my-network",
AutoCreateSubnetworks = false,
});
// 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 (required for GCP legacy private endpoint architecture)
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-this{range.Value}",
Subnetwork = defaultComputeSubnetwork.Id,
AddressType = "INTERNAL",
Address = $"10.0.42.{range.Value}",
Region = gcpRegion,
}, new CustomResourceOptions
{
DependsOn =
{
@this,
},
}));
}
// Create 50 Forwarding rules (required for GCP legacy private endpoint architecture)
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 = @this.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 thisPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("this", 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 = @this.ProjectId,
PrivateLinkId = @this.PrivateLinkId,
ProviderName = "GCP",
EndpointServiceId = @default.Name,
GcpProjectId = gcpProjectId,
}, new CustomResourceOptions
{
DependsOn =
{
defaultComputeForwardingRule,
},
});
});
Example coming soon!
Example coming soon!
Example with GCP (Port-Mapped Architecture)
The port-mapped architecture uses port mapping to reduce resource provisioning. In the GCP legacy private endpoint architecture, service attachments were mapped 1:1 with Atlas nodes (one service attachment per node). In the port-mapped architecture, regardless of cloud provider, one service attachment can be mapped to up to 150 nodes via ports designated per node, enabling direct targeting of specific nodes using only one customer IP address. Enable it by setting portMappingEnabled = true on the mongodbatlas.PrivateLinkEndpoint resource.
Important: For the port-mapped architecture, use endpointServiceId (the forwarding rule name) and privateEndpointIpAddress (the IP address). The endpoints list is no longer used for the port-mapped architecture.
import * as pulumi from "@pulumi/pulumi";
import * as google from "@pulumi/google";
import * as mongodbatlas from "@pulumi/mongodbatlas";
const _this = new mongodbatlas.PrivateLinkEndpoint("this", {
projectId: projectId,
providerName: "GCP",
region: gcpRegion,
portMappingEnabled: true,
});
// Create a Google Network
const _default = new google.index.ComputeNetwork("default", {
project: gcpProjectId,
name: "my-network",
autoCreateSubnetworks: false,
});
// 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 Address (1 address for port-mapped architecture)
const defaultComputeAddress = new google.index.ComputeAddress("default", {
project: defaultComputeSubnetwork.project,
name: "tf-this-psc-endpoint",
subnetwork: defaultComputeSubnetwork.id,
addressType: "INTERNAL",
address: "10.0.42.1",
region: defaultComputeSubnetwork.region,
}, {
dependsOn: [_this],
});
// Create Forwarding Rule (1 rule for port-mapped architecture)
const defaultComputeForwardingRule = new google.index.ComputeForwardingRule("default", {
target: _this.serviceAttachmentNames[0],
project: defaultComputeAddress.project,
region: defaultComputeAddress.region,
name: defaultComputeAddress.name,
ipAddress: defaultComputeAddress.id,
network: _default.id,
loadBalancingScheme: "",
});
const thisPrivateLinkEndpointService = new mongodbatlas.PrivateLinkEndpointService("this", {
projectId: _this.projectId,
privateLinkId: _this.privateLinkId,
providerName: "GCP",
endpointServiceId: defaultComputeForwardingRule.name,
privateEndpointIpAddress: defaultComputeAddress.address,
gcpProjectId: gcpProjectId,
}, {
dependsOn: [defaultComputeForwardingRule],
});
import pulumi
import pulumi_google as google
import pulumi_mongodbatlas as mongodbatlas
this = mongodbatlas.PrivateLinkEndpoint("this",
project_id=project_id,
provider_name="GCP",
region=gcp_region,
port_mapping_enabled=True)
# Create a Google Network
default = google.index.ComputeNetwork("default",
project=gcp_project_id,
name=my-network,
auto_create_subnetworks=False)
# 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 Address (1 address for port-mapped architecture)
default_compute_address = google.index.ComputeAddress("default",
project=default_compute_subnetwork.project,
name=tf-this-psc-endpoint,
subnetwork=default_compute_subnetwork.id,
address_type=INTERNAL,
address=10.0.42.1,
region=default_compute_subnetwork.region,
opts = pulumi.ResourceOptions(depends_on=[this]))
# Create Forwarding Rule (1 rule for port-mapped architecture)
default_compute_forwarding_rule = google.index.ComputeForwardingRule("default",
target=this.service_attachment_names[0],
project=default_compute_address.project,
region=default_compute_address.region,
name=default_compute_address.name,
ip_address=default_compute_address.id,
network=default.id,
load_balancing_scheme=)
this_private_link_endpoint_service = mongodbatlas.PrivateLinkEndpointService("this",
project_id=this.project_id,
private_link_id=this.private_link_id,
provider_name="GCP",
endpoint_service_id=default_compute_forwarding_rule["name"],
private_endpoint_ip_address=default_compute_address["address"],
gcp_project_id=gcp_project_id,
opts = pulumi.ResourceOptions(depends_on=[default_compute_forwarding_rule]))
package main
import (
"github.com/pulumi/pulumi-google/sdk/go/google"
"github.com/pulumi/pulumi-mongodbatlas/sdk/v4/go/mongodbatlas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
this, err := mongodbatlas.NewPrivateLinkEndpoint(ctx, "this", &mongodbatlas.PrivateLinkEndpointArgs{
ProjectId: pulumi.Any(projectId),
ProviderName: pulumi.String("GCP"),
Region: pulumi.Any(gcpRegion),
PortMappingEnabled: pulumi.Bool(true),
})
if err != nil {
return err
}
// Create a Google Network
_default, err := google.NewComputeNetwork(ctx, "default", &google.ComputeNetworkArgs{
Project: gcpProjectId,
Name: "my-network",
AutoCreateSubnetworks: false,
})
if err != nil {
return err
}
// Create a Google Sub Network
defaultComputeSubnetwork, err := google.NewComputeSubnetwork(ctx, "default", &google.ComputeSubnetworkArgs{
Project: _default.Project,
Name: "my-subnet",
IpCidrRange: "10.0.0.0/16",
Region: gcpRegion,
Network: _default.Id,
})
if err != nil {
return err
}
// Create Google Address (1 address for port-mapped architecture)
defaultComputeAddress, err := google.NewComputeAddress(ctx, "default", &google.ComputeAddressArgs{
Project: defaultComputeSubnetwork.Project,
Name: "tf-this-psc-endpoint",
Subnetwork: defaultComputeSubnetwork.Id,
AddressType: "INTERNAL",
Address: "10.0.42.1",
Region: defaultComputeSubnetwork.Region,
}, pulumi.DependsOn([]pulumi.Resource{
this,
}))
if err != nil {
return err
}
// Create Forwarding Rule (1 rule for port-mapped architecture)
defaultComputeForwardingRule, err := google.NewComputeForwardingRule(ctx, "default", &google.ComputeForwardingRuleArgs{
Target: this.ServiceAttachmentNames[0],
Project: defaultComputeAddress.Project,
Region: defaultComputeAddress.Region,
Name: defaultComputeAddress.Name,
IpAddress: defaultComputeAddress.Id,
Network: _default.Id,
LoadBalancingScheme: "",
})
if err != nil {
return err
}
_, err = mongodbatlas.NewPrivateLinkEndpointService(ctx, "this", &mongodbatlas.PrivateLinkEndpointServiceArgs{
ProjectId: this.ProjectId,
PrivateLinkId: this.PrivateLinkId,
ProviderName: pulumi.String("GCP"),
EndpointServiceId: defaultComputeForwardingRule.Name,
PrivateEndpointIpAddress: defaultComputeAddress.Address,
GcpProjectId: pulumi.Any(gcpProjectId),
}, pulumi.DependsOn([]pulumi.Resource{
defaultComputeForwardingRule,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Google = Pulumi.Google;
using Mongodbatlas = Pulumi.Mongodbatlas;
return await Deployment.RunAsync(() =>
{
var @this = new Mongodbatlas.PrivateLinkEndpoint("this", new()
{
ProjectId = projectId,
ProviderName = "GCP",
Region = gcpRegion,
PortMappingEnabled = true,
});
// Create a Google Network
var @default = new Google.Index.ComputeNetwork("default", new()
{
Project = gcpProjectId,
Name = "my-network",
AutoCreateSubnetworks = false,
});
// 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 Address (1 address for port-mapped architecture)
var defaultComputeAddress = new Google.Index.ComputeAddress("default", new()
{
Project = defaultComputeSubnetwork.Project,
Name = "tf-this-psc-endpoint",
Subnetwork = defaultComputeSubnetwork.Id,
AddressType = "INTERNAL",
Address = "10.0.42.1",
Region = defaultComputeSubnetwork.Region,
}, new CustomResourceOptions
{
DependsOn =
{
@this,
},
});
// Create Forwarding Rule (1 rule for port-mapped architecture)
var defaultComputeForwardingRule = new Google.Index.ComputeForwardingRule("default", new()
{
Target = @this.ServiceAttachmentNames[0],
Project = defaultComputeAddress.Project,
Region = defaultComputeAddress.Region,
Name = defaultComputeAddress.Name,
IpAddress = defaultComputeAddress.Id,
Network = @default.Id,
LoadBalancingScheme = "",
});
var thisPrivateLinkEndpointService = new Mongodbatlas.PrivateLinkEndpointService("this", new()
{
ProjectId = @this.ProjectId,
PrivateLinkId = @this.PrivateLinkId,
ProviderName = "GCP",
EndpointServiceId = defaultComputeForwardingRule.Name,
PrivateEndpointIpAddress = defaultComputeAddress.Address,
GcpProjectId = gcpProjectId,
}, new CustomResourceOptions
{
DependsOn =
{
defaultComputeForwardingRule,
},
});
});
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.google.ComputeNetwork;
import com.pulumi.google.ComputeNetworkArgs;
import com.pulumi.google.ComputeSubnetwork;
import com.pulumi.google.ComputeSubnetworkArgs;
import com.pulumi.google.ComputeAddress;
import com.pulumi.google.ComputeAddressArgs;
import com.pulumi.google.ComputeForwardingRule;
import com.pulumi.google.ComputeForwardingRuleArgs;
import com.pulumi.mongodbatlas.PrivateLinkEndpointService;
import com.pulumi.mongodbatlas.PrivateLinkEndpointServiceArgs;
import com.pulumi.resources.CustomResourceOptions;
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 this_ = new PrivateLinkEndpoint("this", PrivateLinkEndpointArgs.builder()
.projectId(projectId)
.providerName("GCP")
.region(gcpRegion)
.portMappingEnabled(true)
.build());
// Create a Google Network
var default_ = new ComputeNetwork("default", ComputeNetworkArgs.builder()
.project(gcpProjectId)
.name("my-network")
.autoCreateSubnetworks(false)
.build());
// Create a Google Sub Network
var defaultComputeSubnetwork = new ComputeSubnetwork("defaultComputeSubnetwork", ComputeSubnetworkArgs.builder()
.project(default_.project())
.name("my-subnet")
.ipCidrRange("10.0.0.0/16")
.region(gcpRegion)
.network(default_.id())
.build());
// Create Google Address (1 address for port-mapped architecture)
var defaultComputeAddress = new ComputeAddress("defaultComputeAddress", ComputeAddressArgs.builder()
.project(defaultComputeSubnetwork.project())
.name("tf-this-psc-endpoint")
.subnetwork(defaultComputeSubnetwork.id())
.addressType("INTERNAL")
.address("10.0.42.1")
.region(defaultComputeSubnetwork.region())
.build(), CustomResourceOptions.builder()
.dependsOn(List.of(this_))
.build());
// Create Forwarding Rule (1 rule for port-mapped architecture)
var defaultComputeForwardingRule = new ComputeForwardingRule("defaultComputeForwardingRule", ComputeForwardingRuleArgs.builder()
.target(this_.serviceAttachmentNames()[0])
.project(defaultComputeAddress.project())
.region(defaultComputeAddress.region())
.name(defaultComputeAddress.name())
.ipAddress(defaultComputeAddress.id())
.network(default_.id())
.loadBalancingScheme("")
.build());
var thisPrivateLinkEndpointService = new PrivateLinkEndpointService("thisPrivateLinkEndpointService", PrivateLinkEndpointServiceArgs.builder()
.projectId(this_.projectId())
.privateLinkId(this_.privateLinkId())
.providerName("GCP")
.endpointServiceId(defaultComputeForwardingRule.name())
.privateEndpointIpAddress(defaultComputeAddress.address())
.gcpProjectId(gcpProjectId)
.build(), CustomResourceOptions.builder()
.dependsOn(defaultComputeForwardingRule)
.build());
}
}
resources:
this:
type: mongodbatlas:PrivateLinkEndpoint
properties:
projectId: ${projectId}
providerName: GCP
region: ${gcpRegion}
portMappingEnabled: true # Enable port-mapped architecture
# Create a Google Network
default:
type: google:ComputeNetwork
properties:
project: ${gcpProjectId}
name: my-network
autoCreateSubnetworks: false
# Create a Google Sub Network
defaultComputeSubnetwork:
type: google:ComputeSubnetwork
name: default
properties:
project: ${default.project}
name: my-subnet
ipCidrRange: 10.0.0.0/16
region: ${gcpRegion}
network: ${default.id}
# Create Google Address (1 address for port-mapped architecture)
defaultComputeAddress:
type: google:ComputeAddress
name: default
properties:
project: ${defaultComputeSubnetwork.project}
name: tf-this-psc-endpoint
subnetwork: ${defaultComputeSubnetwork.id}
addressType: INTERNAL
address: 10.0.42.1
region: ${defaultComputeSubnetwork.region}
options:
dependsOn:
- ${this}
# Create Forwarding Rule (1 rule for port-mapped architecture)
defaultComputeForwardingRule:
type: google:ComputeForwardingRule
name: default
properties:
target: ${this.serviceAttachmentNames[0]}
project: ${defaultComputeAddress.project}
region: ${defaultComputeAddress.region}
name: ${defaultComputeAddress.name}
ipAddress: ${defaultComputeAddress.id}
network: ${default.id}
loadBalancingScheme: ""
thisPrivateLinkEndpointService:
type: mongodbatlas:PrivateLinkEndpointService
name: this
properties:
projectId: ${this.projectId}
privateLinkId: ${this.privateLinkId}
providerName: GCP
endpointServiceId: ${defaultComputeForwardingRule.name}
privateEndpointIpAddress: ${defaultComputeAddress.address}
gcpProjectId: ${gcpProjectId}
options:
dependsOn:
- ${defaultComputeForwardingRule}
Further Examples
- AWS PrivateLink Endpoint and Service
- Azure Private Link Endpoint and Service
- GCP Private Service Connect Endpoint and Service (Port-Mapped Architecture)
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,
delete_on_create_timeout: Optional[bool] = 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.Index.PrivateLinkEndpointService("privateLinkEndpointServiceResource", new()
{
EndpointServiceId = "string",
PrivateLinkId = "string",
ProjectId = "string",
ProviderName = "string",
DeleteOnCreateTimeout = false,
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"),
DeleteOnCreateTimeout: pulumi.Bool(false),
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")
.deleteOnCreateTimeout(false)
.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",
delete_on_create_timeout=False,
endpoints=[{
"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",
deleteOnCreateTimeout: false,
endpoints: [{
endpointName: "string",
ipAddress: "string",
status: "string",
}],
gcpProjectId: "string",
privateEndpointIpAddress: "string",
});
type: mongodbatlas:PrivateLinkEndpointService
properties:
deleteOnCreateTimeout: false
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The PrivateLinkEndpointService resource accepts the following input properties:
- Endpoint
Service stringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - Private
Link stringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - Project
Id string - Unique identifier for the project, also known as
groupIdin the official documentation. - Provider
Name string - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP. - Delete
On boolCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - Endpoints
List<Private
Link Endpoint Service Endpoint> - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - Gcp
Project stringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - Private
Endpoint stringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used.
- Endpoint
Service stringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - Private
Link stringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - Project
Id string - Unique identifier for the project, also known as
groupIdin the official documentation. - Provider
Name string - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP. - Delete
On boolCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - Endpoints
[]Private
Link Endpoint Service Endpoint Args - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - Gcp
Project stringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - Private
Endpoint stringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used.
- endpoint
Service StringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - private
Link StringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project
Id String - Unique identifier for the project, also known as
groupIdin the official documentation. - provider
Name String - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP. - delete
On BooleanCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - endpoints
List<Private
Link Endpoint Service Endpoint> - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - gcp
Project StringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - private
Endpoint StringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used.
- endpoint
Service stringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - private
Link stringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project
Id string - Unique identifier for the project, also known as
groupIdin the official documentation. - provider
Name string - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP. - delete
On booleanCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - endpoints
Private
Link Endpoint Service Endpoint[] - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - gcp
Project stringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - private
Endpoint stringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used.
- endpoint_
service_ strid - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - private_
link_ strid - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project_
id str - Unique identifier for the project, also known as
groupIdin the official documentation. - provider_
name str - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP. - delete_
on_ boolcreate_ timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - endpoints
Sequence[Private
Link Endpoint Service Endpoint Args] - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - gcp_
project_ strid - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - private_
endpoint_ strip_ address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used.
- endpoint
Service StringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - private
Link StringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project
Id String - Unique identifier for the project, also known as
groupIdin the official documentation. - provider
Name String - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP. - delete
On BooleanCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - endpoints List<Property Map>
- Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - gcp
Project StringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - private
Endpoint StringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used.
Outputs
All input properties are implicitly available as output properties. Additionally, the PrivateLinkEndpointService resource produces the following output properties:
- Aws
Connection stringStatus - 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 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.
- Delete
Requested bool - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- Endpoint
Group stringName - Error
Message string - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- Gcp
Endpoint stringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - Gcp
Status string - Status of the interface endpoint.
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.
- Interface
Endpoint stringId - Unique identifier of the interface endpoint.
- Port
Mapping boolEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - Private
Endpoint stringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- Private
Endpoint stringResource Id - Unique identifier of the private endpoint.
- Aws
Connection stringStatus - 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 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.
- Delete
Requested bool - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- Endpoint
Group stringName - Error
Message string - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- Gcp
Endpoint stringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - Gcp
Status string - Status of the interface endpoint.
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.
- Interface
Endpoint stringId - Unique identifier of the interface endpoint.
- Port
Mapping boolEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - Private
Endpoint stringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- Private
Endpoint stringResource Id - Unique identifier of the private endpoint.
- aws
Connection StringStatus - 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 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.
- delete
Requested Boolean - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint
Group StringName - error
Message String - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp
Endpoint StringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp
Status String - Status of the interface endpoint.
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.
- interface
Endpoint StringId - Unique identifier of the interface endpoint.
- port
Mapping BooleanEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private
Endpoint StringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- private
Endpoint StringResource Id - Unique identifier of the private endpoint.
- aws
Connection stringStatus - 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 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.
- delete
Requested boolean - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint
Group stringName - error
Message string - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp
Endpoint stringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp
Status string - Status of the interface endpoint.
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.
- interface
Endpoint stringId - Unique identifier of the interface endpoint.
- port
Mapping booleanEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private
Endpoint stringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- private
Endpoint stringResource Id - Unique identifier of the private endpoint.
- aws_
connection_ strstatus - 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_ strname - error_
message str - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp_
endpoint_ strstatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp_
status str - Status of the interface endpoint.
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_ strid - Unique identifier of the interface endpoint.
- port_
mapping_ boolenabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private_
endpoint_ strconnection_ name - Name of the connection for this private endpoint that Atlas generates.
- private_
endpoint_ strresource_ id - Unique identifier of the private endpoint.
- aws
Connection StringStatus - 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 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.
- delete
Requested Boolean - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint
Group StringName - error
Message String - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp
Endpoint StringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp
Status String - Status of the interface endpoint.
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.
- interface
Endpoint StringId - Unique identifier of the interface endpoint.
- port
Mapping BooleanEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private
Endpoint StringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- private
Endpoint StringResource Id - 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_on_create_timeout: Optional[bool] = 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_endpoint_status: Optional[str] = None,
gcp_project_id: Optional[str] = None,
gcp_status: Optional[str] = None,
interface_endpoint_id: Optional[str] = None,
port_mapping_enabled: Optional[bool] = 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) -> PrivateLinkEndpointServicefunc 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)resources: _: type: mongodbatlas:PrivateLinkEndpointService get: id: ${id}- 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.
- Aws
Connection stringStatus - 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 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.
- Delete
On boolCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - Delete
Requested bool - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- Endpoint
Group stringName - Endpoint
Service stringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - Endpoints
List<Private
Link Endpoint Service Endpoint> - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - Error
Message string - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- Gcp
Endpoint stringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - Gcp
Project stringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - Gcp
Status string - Status of the interface endpoint.
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 stringId - Unique identifier of the interface endpoint.
- Port
Mapping boolEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - Private
Endpoint stringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- Private
Endpoint stringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used. - Private
Endpoint stringResource Id - Unique identifier of the private endpoint.
- Private
Link stringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - Project
Id string - Unique identifier for the project, also known as
groupIdin the official documentation. - Provider
Name string - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP.
- Aws
Connection stringStatus - 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 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.
- Delete
On boolCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - Delete
Requested bool - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- Endpoint
Group stringName - Endpoint
Service stringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - Endpoints
[]Private
Link Endpoint Service Endpoint Args - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - Error
Message string - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- Gcp
Endpoint stringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - Gcp
Project stringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - Gcp
Status string - Status of the interface endpoint.
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 stringId - Unique identifier of the interface endpoint.
- Port
Mapping boolEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - Private
Endpoint stringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- Private
Endpoint stringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used. - Private
Endpoint stringResource Id - Unique identifier of the private endpoint.
- Private
Link stringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - Project
Id string - Unique identifier for the project, also known as
groupIdin the official documentation. - Provider
Name string - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP.
- aws
Connection StringStatus - 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 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.
- delete
On BooleanCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - delete
Requested Boolean - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint
Group StringName - endpoint
Service StringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - endpoints
List<Private
Link Endpoint Service Endpoint> - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - error
Message String - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp
Endpoint StringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp
Project StringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - gcp
Status String - Status of the interface endpoint.
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 StringId - Unique identifier of the interface endpoint.
- port
Mapping BooleanEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private
Endpoint StringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- private
Endpoint StringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used. - private
Endpoint StringResource Id - Unique identifier of the private endpoint.
- private
Link StringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project
Id String - Unique identifier for the project, also known as
groupIdin the official documentation. - provider
Name String - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP.
- aws
Connection stringStatus - 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 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.
- delete
On booleanCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - delete
Requested boolean - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint
Group stringName - endpoint
Service stringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - endpoints
Private
Link Endpoint Service Endpoint[] - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - error
Message string - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp
Endpoint stringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp
Project stringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - gcp
Status string - Status of the interface endpoint.
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 stringId - Unique identifier of the interface endpoint.
- port
Mapping booleanEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private
Endpoint stringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- private
Endpoint stringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used. - private
Endpoint stringResource Id - Unique identifier of the private endpoint.
- private
Link stringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project
Id string - Unique identifier for the project, also known as
groupIdin the official documentation. - provider
Name string - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP.
- aws_
connection_ strstatus - 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_
on_ boolcreate_ timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - delete_
requested bool - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint_
group_ strname - endpoint_
service_ strid - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - endpoints
Sequence[Private
Link Endpoint Service Endpoint Args] - Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - error_
message str - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp_
endpoint_ strstatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp_
project_ strid - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - gcp_
status str - Status of the interface endpoint.
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_ strid - Unique identifier of the interface endpoint.
- port_
mapping_ boolenabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private_
endpoint_ strconnection_ name - Name of the connection for this private endpoint that Atlas generates.
- private_
endpoint_ strip_ address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used. - private_
endpoint_ strresource_ id - Unique identifier of the private endpoint.
- private_
link_ strid - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project_
id str - Unique identifier for the project, also known as
groupIdin the official documentation. - provider_
name str - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP.
- aws
Connection StringStatus - 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 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.
- delete
On BooleanCreate Timeout - Indicates whether to delete the resource being created if a timeout is reached when waiting for completion. When set to
trueand timeout occurs, it triggers the deletion and returns immediately without waiting for deletion to complete. When set tofalse, the timeout will not trigger resource deletion. If you suspect a transient error when the value istrue, wait before retrying to allow resource deletion to finish. Default istrue. - delete
Requested Boolean - Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.
- endpoint
Group StringName - endpoint
Service StringId - Unique identifier of the interface endpoint you created in your VPC. For
AWSandAZURE, this is the interface endpoint identifier. ForGCPport-mapped architecture, this is the forwarding rule name. ForGCPlegacy private endpoint architecture, this is the endpoint group name. - endpoints List<Property Map>
- Collection of individual private endpoints that comprise your endpoint group. Only for GCP legacy private endpoint architecture. Note: For the port-mapped architecture, this field is no longer used - use
endpointServiceIdandprivateEndpointIpAddressinstead. - error
Message String - Error message pertaining to the interface endpoint. Returns null if there are no errors.
- gcp
Endpoint StringStatus - Status of the individual endpoint. Only populated for port-mapped architecture. Returns one of the following values:
INITIATING,AVAILABLE,FAILED,DELETING. - gcp
Project StringId - Unique identifier of the GCP project in which you created your endpoints. Required for
GCP(both legacy and port-mapped architectures). Only forGCP. - gcp
Status String - Status of the interface endpoint.
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 StringId - Unique identifier of the interface endpoint.
- port
Mapping BooleanEnabled - Flag that indicates whether the underlying
privatelinkEndpointresource uses GCP port-mapping. This is a read-only attribute that reflects the architecture type. Whentrue, the endpoint service uses the port-mapped architecture. Whenfalse, it uses the GCP legacy private endpoint architecture. Only applicable for GCP provider. - private
Endpoint StringConnection Name - Name of the connection for this private endpoint that Atlas generates.
- private
Endpoint StringIp Address - Private IP address of the private endpoint network interface. Required for
AZURE and GCP Port-Mapped. For port-mapped architecture, this is required and is the IP address of the forwarding rule. For GCP legacy private endpoint architecture, this is not used. - private
Endpoint StringResource Id - Unique identifier of the private endpoint.
- private
Link StringId - Unique identifier of the
AWS,AZUREorGCPPrivateLink connection which is created bymongodbatlas.PrivateLinkEndpointresource. - project
Id String - Unique identifier for the project, also known as
groupIdin the official documentation. - provider
Name String - Cloud provider for which you want to create a private endpoint. Atlas accepts
AWS,AZUREorGCP.
Supporting Types
PrivateLinkEndpointServiceEndpoint, PrivateLinkEndpointServiceEndpointArgs
- Endpoint
Name string - Forwarding rule that corresponds to the endpoint you created.
- Ip
Address string - Private IP address of the endpoint you created.
- Status string
- Status of the endpoint. Atlas returns one of the values shown above.
- Endpoint
Name string - Forwarding rule that corresponds to the endpoint you created.
- Ip
Address string - Private IP address of the endpoint you created.
- Status string
- Status of the endpoint. Atlas returns one of the values shown above.
- endpoint
Name String - Forwarding rule that corresponds to the endpoint you created.
- ip
Address String - Private IP address of the endpoint you created.
- status String
- Status of the endpoint. Atlas returns one of the values shown above.
- endpoint
Name string - Forwarding rule that corresponds to the endpoint you created.
- ip
Address string - Private IP address of the endpoint you created.
- 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.
- ip_
address str - Private IP address of the endpoint you created.
- status str
- Status of the endpoint. Atlas returns one of the values shown above.
- endpoint
Name String - Forwarding rule that corresponds to the endpoint you created.
- ip
Address String - Private IP address of the endpoint you created.
- 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, private link ID, endpoint service ID, and provider name, in the format {project_id}--{private_link_id}--{endpoint_service_id}--{provider_name}, e.g.
$ pulumi import mongodbatlas:index/privateLinkEndpointService:PrivateLinkEndpointService this 1112222b3bf99403840e8934--3242342343112--vpce-4242342343--AWS
For more information, see:
- MongoDB API Private Endpoint Link Connection for detailed arguments and attributes.
- Set Up a Private Endpoint for general guidance on private endpoints in MongoDB Atlas.
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
mongodbatlasTerraform Provider.
published on Tuesday, Mar 31, 2026 by Pulumi
