1. Packages
  2. Mongodbatlas Provider
  3. API Docs
  4. StreamPrivatelinkEndpoint
MongoDB Atlas v4.0.0 published on Tuesday, Dec 30, 2025 by Pulumi
mongodbatlas logo
MongoDB Atlas v4.0.0 published on Tuesday, Dec 30, 2025 by Pulumi

    mongodbatlas.StreamPrivatelinkEndpoint describes a Privatelink Endpoint for Streams.

    Example Usage

    S

    import * as pulumi from "@pulumi/pulumi";
    import * as confluent from "@pulumi/confluent";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    import * as std from "@pulumi/std";
    
    const staging = new confluent.index.Environment("staging", {displayName: "Staging"});
    const privateLink = new confluent.index.Network("private_link", {
        displayName: "terraform-test-private-link-network-manual",
        cloud: "AWS",
        region: awsRegion,
        connectionTypes: ["PRIVATELINK"],
        zones: std.index.keys({
            input: subnetsToPrivatelink,
        }).result,
        environment: [{
            id: staging.id,
        }],
        dnsConfig: [{
            resolution: "PRIVATE",
        }],
    });
    const aws = new confluent.index.PrivateLinkAccess("aws", {
        displayName: "example-private-link-access",
        aws: [{
            account: awsAccountId,
        }],
        environment: [{
            id: staging.id,
        }],
        network: [{
            id: privateLink.id,
        }],
    });
    const dedicated = new confluent.index.KafkaCluster("dedicated", {
        displayName: "example-dedicated-cluster",
        availability: "MULTI_ZONE",
        cloud: privateLink.cloud,
        region: privateLink.region,
        dedicated: [{
            cku: 2,
        }],
        environment: [{
            id: staging.id,
        }],
        network: [{
            id: privateLink.id,
        }],
    });
    const test = new mongodbatlas.StreamPrivatelinkEndpoint("test", {
        projectId: projectId,
        dnsDomain: privateLink.dnsDomain,
        providerName: "AWS",
        region: awsRegion,
        vendor: "CONFLUENT",
        serviceEndpointId: privateLink.aws[0].privateLinkEndpointService,
        dnsSubDomains: privateLink.zonalSubdomains,
    });
    const singularDatasource = test.id.apply(id => mongodbatlas.getStreamPrivatelinkEndpointOutput({
        projectId: projectId,
        id: id,
    }));
    const pluralDatasource = mongodbatlas.getStreamPrivatelinkEndpoints({
        projectId: projectId,
    });
    export const interfaceEndpointId = singularDatasource.apply(singularDatasource => singularDatasource.interfaceEndpointId);
    export const interfaceEndpointIds = pluralDatasource.then(pluralDatasource => pluralDatasource.results.map(__item => __item.interfaceEndpointId));
    
    import pulumi
    import pulumi_confluent as confluent
    import pulumi_mongodbatlas as mongodbatlas
    import pulumi_std as std
    
    staging = confluent.index.Environment("staging", display_name=Staging)
    private_link = confluent.index.Network("private_link",
        display_name=terraform-test-private-link-network-manual,
        cloud=AWS,
        region=aws_region,
        connection_types=[PRIVATELINK],
        zones=std.index.keys(input=subnets_to_privatelink).result,
        environment=[{
            id: staging.id,
        }],
        dns_config=[{
            resolution: PRIVATE,
        }])
    aws = confluent.index.PrivateLinkAccess("aws",
        display_name=example-private-link-access,
        aws=[{
            account: aws_account_id,
        }],
        environment=[{
            id: staging.id,
        }],
        network=[{
            id: private_link.id,
        }])
    dedicated = confluent.index.KafkaCluster("dedicated",
        display_name=example-dedicated-cluster,
        availability=MULTI_ZONE,
        cloud=private_link.cloud,
        region=private_link.region,
        dedicated=[{
            cku: 2,
        }],
        environment=[{
            id: staging.id,
        }],
        network=[{
            id: private_link.id,
        }])
    test = mongodbatlas.StreamPrivatelinkEndpoint("test",
        project_id=project_id,
        dns_domain=private_link["dnsDomain"],
        provider_name="AWS",
        region=aws_region,
        vendor="CONFLUENT",
        service_endpoint_id=private_link["aws"][0]["privateLinkEndpointService"],
        dns_sub_domains=private_link["zonalSubdomains"])
    singular_datasource = test.id.apply(lambda id: mongodbatlas.get_stream_privatelink_endpoint_output(project_id=project_id,
        id=id))
    plural_datasource = mongodbatlas.get_stream_privatelink_endpoints(project_id=project_id)
    pulumi.export("interfaceEndpointId", singular_datasource.interface_endpoint_id)
    pulumi.export("interfaceEndpointIds", [__item.interface_endpoint_id for __item in plural_datasource.results])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-confluent/sdk/go/confluent"
    	"github.com/pulumi/pulumi-mongodbatlas/sdk/v4/go/mongodbatlas"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    staging, err := confluent.NewEnvironment(ctx, "staging", &confluent.EnvironmentArgs{
    DisplayName: "Staging",
    })
    if err != nil {
    return err
    }
    privateLink, err := confluent.NewNetwork(ctx, "private_link", &confluent.NetworkArgs{
    DisplayName: "terraform-test-private-link-network-manual",
    Cloud: "AWS",
    Region: awsRegion,
    ConnectionTypes: []string{
    "PRIVATELINK",
    },
    Zones: std.Keys(ctx, map[string]interface{}{
    "input": subnetsToPrivatelink,
    }, nil).Result,
    Environment: []map[string]interface{}{
    map[string]interface{}{
    "id": staging.Id,
    },
    },
    DnsConfig: []map[string]interface{}{
    map[string]interface{}{
    "resolution": "PRIVATE",
    },
    },
    })
    if err != nil {
    return err
    }
    _, err = confluent.NewPrivateLinkAccess(ctx, "aws", &confluent.PrivateLinkAccessArgs{
    DisplayName: "example-private-link-access",
    Aws: []map[string]interface{}{
    map[string]interface{}{
    "account": awsAccountId,
    },
    },
    Environment: []map[string]interface{}{
    map[string]interface{}{
    "id": staging.Id,
    },
    },
    Network: []map[string]interface{}{
    map[string]interface{}{
    "id": privateLink.Id,
    },
    },
    })
    if err != nil {
    return err
    }
    _, err = confluent.NewKafkaCluster(ctx, "dedicated", &confluent.KafkaClusterArgs{
    DisplayName: "example-dedicated-cluster",
    Availability: "MULTI_ZONE",
    Cloud: privateLink.Cloud,
    Region: privateLink.Region,
    Dedicated: []map[string]interface{}{
    map[string]interface{}{
    "cku": 2,
    },
    },
    Environment: []map[string]interface{}{
    map[string]interface{}{
    "id": staging.Id,
    },
    },
    Network: []map[string]interface{}{
    map[string]interface{}{
    "id": privateLink.Id,
    },
    },
    })
    if err != nil {
    return err
    }
    test, err := mongodbatlas.NewStreamPrivatelinkEndpoint(ctx, "test", &mongodbatlas.StreamPrivatelinkEndpointArgs{
    ProjectId: pulumi.Any(projectId),
    DnsDomain: privateLink.DnsDomain,
    ProviderName: pulumi.String("AWS"),
    Region: pulumi.Any(awsRegion),
    Vendor: pulumi.String("CONFLUENT"),
    ServiceEndpointId: privateLink.Aws[0].PrivateLinkEndpointService,
    DnsSubDomains: privateLink.ZonalSubdomains,
    })
    if err != nil {
    return err
    }
    singularDatasource := test.ID().ApplyT(func(id string) (mongodbatlas.GetStreamPrivatelinkEndpointResult, error) {
    return mongodbatlas.GetStreamPrivatelinkEndpointResult(interface{}(mongodbatlas.LookupStreamPrivatelinkEndpoint(ctx, &mongodbatlas.LookupStreamPrivatelinkEndpointArgs{
    ProjectId: projectId,
    Id: id,
    }, nil))), nil
    }).(mongodbatlas.GetStreamPrivatelinkEndpointResultOutput)
    pluralDatasource, err := mongodbatlas.LookupStreamPrivatelinkEndpoints(ctx, &mongodbatlas.LookupStreamPrivatelinkEndpointsArgs{
    ProjectId: projectId,
    }, nil);
    if err != nil {
    return err
    }
    ctx.Export("interfaceEndpointId", singularDatasource.ApplyT(func(singularDatasource mongodbatlas.GetStreamPrivatelinkEndpointResult) (*string, error) {
    return &singularDatasource.InterfaceEndpointId, nil
    }).(pulumi.StringPtrOutput))
    ctx.Export("interfaceEndpointIds", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:74,11-58)))
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Confluent = Pulumi.Confluent;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var staging = new Confluent.Index.Environment("staging", new()
        {
            DisplayName = "Staging",
        });
    
        var privateLink = new Confluent.Index.Network("private_link", new()
        {
            DisplayName = "terraform-test-private-link-network-manual",
            Cloud = "AWS",
            Region = awsRegion,
            ConnectionTypes = new[]
            {
                "PRIVATELINK",
            },
            Zones = Std.Index.Keys.Invoke(new()
            {
                Input = subnetsToPrivatelink,
            }).Result,
            Environment = new[]
            {
                
                {
                    { "id", staging.Id },
                },
            },
            DnsConfig = new[]
            {
                
                {
                    { "resolution", "PRIVATE" },
                },
            },
        });
    
        var aws = new Confluent.Index.PrivateLinkAccess("aws", new()
        {
            DisplayName = "example-private-link-access",
            Aws = new[]
            {
                
                {
                    { "account", awsAccountId },
                },
            },
            Environment = new[]
            {
                
                {
                    { "id", staging.Id },
                },
            },
            Network = new[]
            {
                
                {
                    { "id", privateLink.Id },
                },
            },
        });
    
        var dedicated = new Confluent.Index.KafkaCluster("dedicated", new()
        {
            DisplayName = "example-dedicated-cluster",
            Availability = "MULTI_ZONE",
            Cloud = privateLink.Cloud,
            Region = privateLink.Region,
            Dedicated = new[]
            {
                
                {
                    { "cku", 2 },
                },
            },
            Environment = new[]
            {
                
                {
                    { "id", staging.Id },
                },
            },
            Network = new[]
            {
                
                {
                    { "id", privateLink.Id },
                },
            },
        });
    
        var test = new Mongodbatlas.StreamPrivatelinkEndpoint("test", new()
        {
            ProjectId = projectId,
            DnsDomain = privateLink.DnsDomain,
            ProviderName = "AWS",
            Region = awsRegion,
            Vendor = "CONFLUENT",
            ServiceEndpointId = privateLink.Aws[0].PrivateLinkEndpointService,
            DnsSubDomains = privateLink.ZonalSubdomains,
        });
    
        var singularDatasource = Mongodbatlas.GetStreamPrivatelinkEndpoint.Invoke(new()
        {
            ProjectId = projectId,
            Id = test.Id,
        });
    
        var pluralDatasource = Mongodbatlas.GetStreamPrivatelinkEndpoints.Invoke(new()
        {
            ProjectId = projectId,
        });
    
        return new Dictionary<string, object?>
        {
            ["interfaceEndpointId"] = singularDatasource.Apply(getStreamPrivatelinkEndpointResult => getStreamPrivatelinkEndpointResult.InterfaceEndpointId),
            ["interfaceEndpointIds"] = pluralDatasource.Apply(getStreamPrivatelinkEndpointsResult => getStreamPrivatelinkEndpointsResult.Results).Select(__item => __item.InterfaceEndpointId).ToList(),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.confluent.Environment;
    import com.pulumi.confluent.EnvironmentArgs;
    import com.pulumi.confluent.Network;
    import com.pulumi.confluent.NetworkArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.confluent.PrivateLinkAccess;
    import com.pulumi.confluent.PrivateLinkAccessArgs;
    import com.pulumi.confluent.KafkaCluster;
    import com.pulumi.confluent.KafkaClusterArgs;
    import com.pulumi.mongodbatlas.StreamPrivatelinkEndpoint;
    import com.pulumi.mongodbatlas.StreamPrivatelinkEndpointArgs;
    import com.pulumi.mongodbatlas.MongodbatlasFunctions;
    import com.pulumi.mongodbatlas.inputs.GetStreamPrivatelinkEndpointArgs;
    import com.pulumi.mongodbatlas.inputs.GetStreamPrivatelinkEndpointsArgs;
    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 staging = new Environment("staging", EnvironmentArgs.builder()
                .displayName("Staging")
                .build());
    
            var privateLink = new Network("privateLink", NetworkArgs.builder()
                .displayName("terraform-test-private-link-network-manual")
                .cloud("AWS")
                .region(awsRegion)
                .connectionTypes(List.of("PRIVATELINK"))
                .zones(StdFunctions.keys(Map.of("input", subnetsToPrivatelink)).result())
                .environment(List.of(Map.of("id", staging.id())))
                .dnsConfig(List.of(Map.of("resolution", "PRIVATE")))
                .build());
    
            var aws = new PrivateLinkAccess("aws", PrivateLinkAccessArgs.builder()
                .displayName("example-private-link-access")
                .aws(List.of(Map.of("account", awsAccountId)))
                .environment(List.of(Map.of("id", staging.id())))
                .network(List.of(Map.of("id", privateLink.id())))
                .build());
    
            var dedicated = new KafkaCluster("dedicated", KafkaClusterArgs.builder()
                .displayName("example-dedicated-cluster")
                .availability("MULTI_ZONE")
                .cloud(privateLink.cloud())
                .region(privateLink.region())
                .dedicated(List.of(Map.of("cku", 2)))
                .environment(List.of(Map.of("id", staging.id())))
                .network(List.of(Map.of("id", privateLink.id())))
                .build());
    
            var test = new StreamPrivatelinkEndpoint("test", StreamPrivatelinkEndpointArgs.builder()
                .projectId(projectId)
                .dnsDomain(privateLink.dnsDomain())
                .providerName("AWS")
                .region(awsRegion)
                .vendor("CONFLUENT")
                .serviceEndpointId(privateLink.aws()[0].privateLinkEndpointService())
                .dnsSubDomains(privateLink.zonalSubdomains())
                .build());
    
            final var singularDatasource = test.id().applyValue(_id -> MongodbatlasFunctions.getStreamPrivatelinkEndpoint(GetStreamPrivatelinkEndpointArgs.builder()
                .projectId(projectId)
                .id(_id)
                .build()));
    
            final var pluralDatasource = MongodbatlasFunctions.getStreamPrivatelinkEndpoints(GetStreamPrivatelinkEndpointsArgs.builder()
                .projectId(projectId)
                .build());
    
            ctx.export("interfaceEndpointId", singularDatasource.applyValue(_singularDatasource -> _singularDatasource.interfaceEndpointId()));
            ctx.export("interfaceEndpointIds", pluralDatasource.results().stream().map(element -> element.interfaceEndpointId()).collect(toList()));
        }
    }
    
    Example coming soon!
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    
    // S3 bucket for stream data
    const streamBucket = new aws.index.S3Bucket("stream_bucket", {
        bucket: s3BucketName,
        forceDestroy: true,
    });
    const streamBucketVersioning = new aws.index.S3BucketVersioning("stream_bucket_versioning", {
        bucket: streamBucket.id,
        versioningConfiguration: [{
            status: "Enabled",
        }],
    });
    const streamBucketEncryption = new aws.index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption", {
        bucket: streamBucket.id,
        rule: [{
            applyServerSideEncryptionByDefault: [{
                sseAlgorithm: "AES256",
            }],
        }],
    });
    // PrivateLink for S3
    const _this = new mongodbatlas.StreamPrivatelinkEndpoint("this", {
        projectId: projectId,
        providerName: "AWS",
        vendor: "S3",
        region: region,
        serviceEndpointId: serviceEndpointId,
    });
    export const privatelinkEndpointId = _this.id;
    
    import pulumi
    import pulumi_aws as aws
    import pulumi_mongodbatlas as mongodbatlas
    
    # S3 bucket for stream data
    stream_bucket = aws.index.S3Bucket("stream_bucket",
        bucket=s3_bucket_name,
        force_destroy=True)
    stream_bucket_versioning = aws.index.S3BucketVersioning("stream_bucket_versioning",
        bucket=stream_bucket.id,
        versioning_configuration=[{
            status: Enabled,
        }])
    stream_bucket_encryption = aws.index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption",
        bucket=stream_bucket.id,
        rule=[{
            applyServerSideEncryptionByDefault: [{
                sseAlgorithm: AES256,
            }],
        }])
    # PrivateLink for S3
    this = mongodbatlas.StreamPrivatelinkEndpoint("this",
        project_id=project_id,
        provider_name="AWS",
        vendor="S3",
        region=region,
        service_endpoint_id=service_endpoint_id)
    pulumi.export("privatelinkEndpointId", this.id)
    
    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 {
    		// S3 bucket for stream data
    		streamBucket, err := aws.NewS3Bucket(ctx, "stream_bucket", &aws.S3BucketArgs{
    			Bucket:       s3BucketName,
    			ForceDestroy: true,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = aws.NewS3BucketVersioning(ctx, "stream_bucket_versioning", &aws.S3BucketVersioningArgs{
    			Bucket: streamBucket.Id,
    			VersioningConfiguration: []map[string]interface{}{
    				map[string]interface{}{
    					"status": "Enabled",
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = aws.NewS3BucketServerSideEncryptionConfiguration(ctx, "stream_bucket_encryption", &aws.S3BucketServerSideEncryptionConfigurationArgs{
    			Bucket: streamBucket.Id,
    			Rule: []map[string]interface{}{
    				map[string]interface{}{
    					"applyServerSideEncryptionByDefault": []map[string]interface{}{
    						map[string]interface{}{
    							"sseAlgorithm": "AES256",
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// PrivateLink for S3
    		this, err := mongodbatlas.NewStreamPrivatelinkEndpoint(ctx, "this", &mongodbatlas.StreamPrivatelinkEndpointArgs{
    			ProjectId:         pulumi.Any(projectId),
    			ProviderName:      pulumi.String("AWS"),
    			Vendor:            pulumi.String("S3"),
    			Region:            pulumi.Any(region),
    			ServiceEndpointId: pulumi.Any(serviceEndpointId),
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("privatelinkEndpointId", this.ID())
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    
    return await Deployment.RunAsync(() => 
    {
        // S3 bucket for stream data
        var streamBucket = new Aws.Index.S3Bucket("stream_bucket", new()
        {
            Bucket = s3BucketName,
            ForceDestroy = true,
        });
    
        var streamBucketVersioning = new Aws.Index.S3BucketVersioning("stream_bucket_versioning", new()
        {
            Bucket = streamBucket.Id,
            VersioningConfiguration = new[]
            {
                
                {
                    { "status", "Enabled" },
                },
            },
        });
    
        var streamBucketEncryption = new Aws.Index.S3BucketServerSideEncryptionConfiguration("stream_bucket_encryption", new()
        {
            Bucket = streamBucket.Id,
            Rule = new[]
            {
                
                {
                    { "applyServerSideEncryptionByDefault", new[]
                    {
                        
                        {
                            { "sseAlgorithm", "AES256" },
                        },
                    } },
                },
            },
        });
    
        // PrivateLink for S3
        var @this = new Mongodbatlas.StreamPrivatelinkEndpoint("this", new()
        {
            ProjectId = projectId,
            ProviderName = "AWS",
            Vendor = "S3",
            Region = region,
            ServiceEndpointId = serviceEndpointId,
        });
    
        return new Dictionary<string, object?>
        {
            ["privatelinkEndpointId"] = @this.Id,
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.S3Bucket;
    import com.pulumi.aws.S3BucketArgs;
    import com.pulumi.aws.S3BucketVersioning;
    import com.pulumi.aws.S3BucketVersioningArgs;
    import com.pulumi.aws.S3BucketServerSideEncryptionConfiguration;
    import com.pulumi.aws.S3BucketServerSideEncryptionConfigurationArgs;
    import com.pulumi.mongodbatlas.StreamPrivatelinkEndpoint;
    import com.pulumi.mongodbatlas.StreamPrivatelinkEndpointArgs;
    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) {
            // S3 bucket for stream data
            var streamBucket = new S3Bucket("streamBucket", S3BucketArgs.builder()
                .bucket(s3BucketName)
                .forceDestroy(true)
                .build());
    
            var streamBucketVersioning = new S3BucketVersioning("streamBucketVersioning", S3BucketVersioningArgs.builder()
                .bucket(streamBucket.id())
                .versioningConfiguration(List.of(Map.of("status", "Enabled")))
                .build());
    
            var streamBucketEncryption = new S3BucketServerSideEncryptionConfiguration("streamBucketEncryption", S3BucketServerSideEncryptionConfigurationArgs.builder()
                .bucket(streamBucket.id())
                .rule(List.of(Map.of("applyServerSideEncryptionByDefault", List.of(Map.of("sseAlgorithm", "AES256")))))
                .build());
    
            // PrivateLink for S3
            var this_ = new StreamPrivatelinkEndpoint("this", StreamPrivatelinkEndpointArgs.builder()
                .projectId(projectId)
                .providerName("AWS")
                .vendor("S3")
                .region(region)
                .serviceEndpointId(serviceEndpointId)
                .build());
    
            ctx.export("privatelinkEndpointId", this_.id());
        }
    }
    
    resources:
      # S3 bucket for stream data
      streamBucket:
        type: aws:S3Bucket
        name: stream_bucket
        properties:
          bucket: ${s3BucketName}
          forceDestroy: true
      streamBucketVersioning:
        type: aws:S3BucketVersioning
        name: stream_bucket_versioning
        properties:
          bucket: ${streamBucket.id}
          versioningConfiguration:
            - status: Enabled
      streamBucketEncryption:
        type: aws:S3BucketServerSideEncryptionConfiguration
        name: stream_bucket_encryption
        properties:
          bucket: ${streamBucket.id}
          rule:
            - applyServerSideEncryptionByDefault:
                - sseAlgorithm: AES256
      # PrivateLink for S3
      this:
        type: mongodbatlas:StreamPrivatelinkEndpoint
        properties:
          projectId: ${projectId}
          providerName: AWS
          vendor: S3
          region: ${region}
          serviceEndpointId: ${serviceEndpointId}
    outputs:
      privatelinkEndpointId: ${this.id}
    
    import * as pulumi from "@pulumi/pulumi";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    
    const gcpConfluentStreamPrivatelinkEndpoint = new mongodbatlas.StreamPrivatelinkEndpoint("gcp_confluent", {
        projectId: projectId,
        providerName: "GCP",
        vendor: "CONFLUENT",
        region: gcpRegion,
        dnsDomain: confluentDnsDomain,
        dnsSubDomains: confluentDnsSubdomains,
        serviceAttachmentUris: [
            "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-1",
            "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-2",
        ],
    });
    const gcpConfluent = gcpConfluentStreamPrivatelinkEndpoint.id.apply(id => mongodbatlas.getStreamPrivatelinkEndpointOutput({
        projectId: projectId,
        id: id,
    }));
    export const privatelinkEndpointId = gcpConfluentStreamPrivatelinkEndpoint.id;
    export const privatelinkEndpointState = gcpConfluent.apply(gcpConfluent => gcpConfluent.state);
    export const serviceAttachmentUris = gcpConfluentStreamPrivatelinkEndpoint.serviceAttachmentUris;
    
    import pulumi
    import pulumi_mongodbatlas as mongodbatlas
    
    gcp_confluent_stream_privatelink_endpoint = mongodbatlas.StreamPrivatelinkEndpoint("gcp_confluent",
        project_id=project_id,
        provider_name="GCP",
        vendor="CONFLUENT",
        region=gcp_region,
        dns_domain=confluent_dns_domain,
        dns_sub_domains=confluent_dns_subdomains,
        service_attachment_uris=[
            "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-1",
            "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-2",
        ])
    gcp_confluent = gcp_confluent_stream_privatelink_endpoint.id.apply(lambda id: mongodbatlas.get_stream_privatelink_endpoint_output(project_id=project_id,
        id=id))
    pulumi.export("privatelinkEndpointId", gcp_confluent_stream_privatelink_endpoint.id)
    pulumi.export("privatelinkEndpointState", gcp_confluent.state)
    pulumi.export("serviceAttachmentUris", gcp_confluent_stream_privatelink_endpoint.service_attachment_uris)
    
    package main
    
    import (
    	"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 {
    		gcpConfluentStreamPrivatelinkEndpoint, err := mongodbatlas.NewStreamPrivatelinkEndpoint(ctx, "gcp_confluent", &mongodbatlas.StreamPrivatelinkEndpointArgs{
    			ProjectId:     pulumi.Any(projectId),
    			ProviderName:  pulumi.String("GCP"),
    			Vendor:        pulumi.String("CONFLUENT"),
    			Region:        pulumi.Any(gcpRegion),
    			DnsDomain:     pulumi.Any(confluentDnsDomain),
    			DnsSubDomains: pulumi.Any(confluentDnsSubdomains),
    			ServiceAttachmentUris: pulumi.StringArray{
    				pulumi.String("projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-1"),
    				pulumi.String("projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-2"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		gcpConfluent := gcpConfluentStreamPrivatelinkEndpoint.ID().ApplyT(func(id string) (mongodbatlas.GetStreamPrivatelinkEndpointResult, error) {
    			return mongodbatlas.GetStreamPrivatelinkEndpointResult(interface{}(mongodbatlas.LookupStreamPrivatelinkEndpoint(ctx, &mongodbatlas.LookupStreamPrivatelinkEndpointArgs{
    				ProjectId: projectId,
    				Id:        id,
    			}, nil))), nil
    		}).(mongodbatlas.GetStreamPrivatelinkEndpointResultOutput)
    		ctx.Export("privatelinkEndpointId", gcpConfluentStreamPrivatelinkEndpoint.ID())
    		ctx.Export("privatelinkEndpointState", gcpConfluent.ApplyT(func(gcpConfluent mongodbatlas.GetStreamPrivatelinkEndpointResult) (*string, error) {
    			return &gcpConfluent.State, nil
    		}).(pulumi.StringPtrOutput))
    		ctx.Export("serviceAttachmentUris", gcpConfluentStreamPrivatelinkEndpoint.ServiceAttachmentUris)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    
    return await Deployment.RunAsync(() => 
    {
        var gcpConfluentStreamPrivatelinkEndpoint = new Mongodbatlas.StreamPrivatelinkEndpoint("gcp_confluent", new()
        {
            ProjectId = projectId,
            ProviderName = "GCP",
            Vendor = "CONFLUENT",
            Region = gcpRegion,
            DnsDomain = confluentDnsDomain,
            DnsSubDomains = confluentDnsSubdomains,
            ServiceAttachmentUris = new[]
            {
                "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-1",
                "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-2",
            },
        });
    
        var gcpConfluent = Mongodbatlas.GetStreamPrivatelinkEndpoint.Invoke(new()
        {
            ProjectId = projectId,
            Id = gcpConfluentStreamPrivatelinkEndpoint.Id,
        });
    
        return new Dictionary<string, object?>
        {
            ["privatelinkEndpointId"] = gcpConfluentStreamPrivatelinkEndpoint.Id,
            ["privatelinkEndpointState"] = gcpConfluent.Apply(getStreamPrivatelinkEndpointResult => getStreamPrivatelinkEndpointResult.State),
            ["serviceAttachmentUris"] = gcpConfluentStreamPrivatelinkEndpoint.ServiceAttachmentUris,
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.mongodbatlas.StreamPrivatelinkEndpoint;
    import com.pulumi.mongodbatlas.StreamPrivatelinkEndpointArgs;
    import com.pulumi.mongodbatlas.MongodbatlasFunctions;
    import com.pulumi.mongodbatlas.inputs.GetStreamPrivatelinkEndpointArgs;
    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 gcpConfluentStreamPrivatelinkEndpoint = new StreamPrivatelinkEndpoint("gcpConfluentStreamPrivatelinkEndpoint", StreamPrivatelinkEndpointArgs.builder()
                .projectId(projectId)
                .providerName("GCP")
                .vendor("CONFLUENT")
                .region(gcpRegion)
                .dnsDomain(confluentDnsDomain)
                .dnsSubDomains(confluentDnsSubdomains)
                .serviceAttachmentUris(            
                    "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-1",
                    "projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-2")
                .build());
    
            final var gcpConfluent = gcpConfluentStreamPrivatelinkEndpoint.id().applyValue(_id -> MongodbatlasFunctions.getStreamPrivatelinkEndpoint(GetStreamPrivatelinkEndpointArgs.builder()
                .projectId(projectId)
                .id(_id)
                .build()));
    
            ctx.export("privatelinkEndpointId", gcpConfluentStreamPrivatelinkEndpoint.id());
            ctx.export("privatelinkEndpointState", gcpConfluent.applyValue(_gcpConfluent -> _gcpConfluent.state()));
            ctx.export("serviceAttachmentUris", gcpConfluentStreamPrivatelinkEndpoint.serviceAttachmentUris());
        }
    }
    
    resources:
      gcpConfluentStreamPrivatelinkEndpoint:
        type: mongodbatlas:StreamPrivatelinkEndpoint
        name: gcp_confluent
        properties:
          projectId: ${projectId}
          providerName: GCP
          vendor: CONFLUENT
          region: ${gcpRegion}
          dnsDomain: ${confluentDnsDomain}
          dnsSubDomains: ${confluentDnsSubdomains}
          serviceAttachmentUris:
            - projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-1
            - projects/my-project/regions/us-west1/serviceAttachments/confluent-attachment-2
    variables:
      gcpConfluent:
        fn::invoke:
          function: mongodbatlas:getStreamPrivatelinkEndpoint
          arguments:
            projectId: ${projectId}
            id: ${gcpConfluentStreamPrivatelinkEndpoint.id}
    outputs:
      privatelinkEndpointId: ${gcpConfluentStreamPrivatelinkEndpoint.id}
      privatelinkEndpointState: ${gcpConfluent.state}
      serviceAttachmentUris: ${gcpConfluentStreamPrivatelinkEndpoint.serviceAttachmentUris}
    

    Further Examples

    • AWS Confluent PrivateLink
    • Confluent Dedicated Cluster
    • AWS MSK PrivateLink
    • AWS S3 PrivateLink
    • GCP Confluent PrivateLink
    • Azure PrivateLink

    Create StreamPrivatelinkEndpoint Resource

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

    Constructor syntax

    new StreamPrivatelinkEndpoint(name: string, args: StreamPrivatelinkEndpointArgs, opts?: CustomResourceOptions);
    @overload
    def StreamPrivatelinkEndpoint(resource_name: str,
                                  args: StreamPrivatelinkEndpointArgs,
                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def StreamPrivatelinkEndpoint(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  project_id: Optional[str] = None,
                                  provider_name: Optional[str] = None,
                                  vendor: Optional[str] = None,
                                  arn: Optional[str] = None,
                                  dns_domain: Optional[str] = None,
                                  dns_sub_domains: Optional[Sequence[str]] = None,
                                  region: Optional[str] = None,
                                  service_attachment_uris: Optional[Sequence[str]] = None,
                                  service_endpoint_id: Optional[str] = None)
    func NewStreamPrivatelinkEndpoint(ctx *Context, name string, args StreamPrivatelinkEndpointArgs, opts ...ResourceOption) (*StreamPrivatelinkEndpoint, error)
    public StreamPrivatelinkEndpoint(string name, StreamPrivatelinkEndpointArgs args, CustomResourceOptions? opts = null)
    public StreamPrivatelinkEndpoint(String name, StreamPrivatelinkEndpointArgs args)
    public StreamPrivatelinkEndpoint(String name, StreamPrivatelinkEndpointArgs args, CustomResourceOptions options)
    
    type: mongodbatlas:StreamPrivatelinkEndpoint
    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 StreamPrivatelinkEndpointArgs
    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 StreamPrivatelinkEndpointArgs
    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 StreamPrivatelinkEndpointArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args StreamPrivatelinkEndpointArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args StreamPrivatelinkEndpointArgs
    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 streamPrivatelinkEndpointResource = new Mongodbatlas.StreamPrivatelinkEndpoint("streamPrivatelinkEndpointResource", new()
    {
        ProjectId = "string",
        ProviderName = "string",
        Vendor = "string",
        Arn = "string",
        DnsDomain = "string",
        DnsSubDomains = new[]
        {
            "string",
        },
        Region = "string",
        ServiceAttachmentUris = new[]
        {
            "string",
        },
        ServiceEndpointId = "string",
    });
    
    example, err := mongodbatlas.NewStreamPrivatelinkEndpoint(ctx, "streamPrivatelinkEndpointResource", &mongodbatlas.StreamPrivatelinkEndpointArgs{
    	ProjectId:    pulumi.String("string"),
    	ProviderName: pulumi.String("string"),
    	Vendor:       pulumi.String("string"),
    	Arn:          pulumi.String("string"),
    	DnsDomain:    pulumi.String("string"),
    	DnsSubDomains: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Region: pulumi.String("string"),
    	ServiceAttachmentUris: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ServiceEndpointId: pulumi.String("string"),
    })
    
    var streamPrivatelinkEndpointResource = new StreamPrivatelinkEndpoint("streamPrivatelinkEndpointResource", StreamPrivatelinkEndpointArgs.builder()
        .projectId("string")
        .providerName("string")
        .vendor("string")
        .arn("string")
        .dnsDomain("string")
        .dnsSubDomains("string")
        .region("string")
        .serviceAttachmentUris("string")
        .serviceEndpointId("string")
        .build());
    
    stream_privatelink_endpoint_resource = mongodbatlas.StreamPrivatelinkEndpoint("streamPrivatelinkEndpointResource",
        project_id="string",
        provider_name="string",
        vendor="string",
        arn="string",
        dns_domain="string",
        dns_sub_domains=["string"],
        region="string",
        service_attachment_uris=["string"],
        service_endpoint_id="string")
    
    const streamPrivatelinkEndpointResource = new mongodbatlas.StreamPrivatelinkEndpoint("streamPrivatelinkEndpointResource", {
        projectId: "string",
        providerName: "string",
        vendor: "string",
        arn: "string",
        dnsDomain: "string",
        dnsSubDomains: ["string"],
        region: "string",
        serviceAttachmentUris: ["string"],
        serviceEndpointId: "string",
    });
    
    type: mongodbatlas:StreamPrivatelinkEndpoint
    properties:
        arn: string
        dnsDomain: string
        dnsSubDomains:
            - string
        projectId: string
        providerName: string
        region: string
        serviceAttachmentUris:
            - string
        serviceEndpointId: string
        vendor: string
    

    StreamPrivatelinkEndpoint 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 StreamPrivatelinkEndpoint resource accepts the following input properties:

    ProjectId string
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    ProviderName string
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    Vendor string
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    • Azure: EVENTHUB and CONFLUENT

    • GCP: CONFLUENT

    Arn string

    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.

    DnsDomain string

    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    * AZURE provider with EVENTHUB or CONFLUENT vendor.
    title="Optional"> <span id="dnssubdomains_csharp">

    DnsSubDomains List<string>

    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn’t use subdomains, you must set this to the empty array [].
    Region string
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    ServiceAttachmentUris List<string>
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    ServiceEndpointId string
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.

    ProjectId string
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    ProviderName string
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    Vendor string
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    • Azure: EVENTHUB and CONFLUENT

    • GCP: CONFLUENT

    Arn string

    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.

    DnsDomain string

    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    * AZURE provider with EVENTHUB or CONFLUENT vendor.
    title="Optional"> <span id="dnssubdomains_go">

    DnsSubDomains []string

    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn’t use subdomains, you must set this to the empty array [].
    Region string
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    ServiceAttachmentUris []string
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    ServiceEndpointId string
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.

    projectId String
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    providerName String
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    vendor String
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    • Azure: EVENTHUB and CONFLUENT

    • GCP: CONFLUENT

    arn String

    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.

    dnsDomain String

    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    * AZURE provider with EVENTHUB or CONFLUENT vendor.
    title="Optional"> <span id="dnssubdomains_java">

    dnsSubDomains List<String>

    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn’t use subdomains, you must set this to the empty array [].
    region String
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    serviceAttachmentUris List<String>
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    serviceEndpointId String
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.

    projectId string
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    providerName string
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    vendor string
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    • Azure: EVENTHUB and CONFLUENT

    • GCP: CONFLUENT

    arn string

    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.

    dnsDomain string

    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    * AZURE provider with EVENTHUB or CONFLUENT vendor.
    title="Optional"> <span id="dnssubdomains_nodejs">

    dnsSubDomains string[]

    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn’t use subdomains, you must set this to the empty array [].
    region string
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    serviceAttachmentUris string[]
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    serviceEndpointId string
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.

    project_id str
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    provider_name str
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    vendor str
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    • Azure: EVENTHUB and CONFLUENT

    • GCP: CONFLUENT

    arn str

    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.

    dns_domain str

    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    * AZURE provider with EVENTHUB or CONFLUENT vendor.
    title="Optional"> <span id="dns_sub_domains_python">

    dns_sub_domains Sequence[str]

    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn’t use subdomains, you must set this to the empty array [].
    region str
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    service_attachment_uris Sequence[str]
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    service_endpoint_id str
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.

    projectId String
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    providerName String
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    vendor String
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    • Azure: EVENTHUB and CONFLUENT

    • GCP: CONFLUENT

    arn String

    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.

    dnsDomain String

    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    * AZURE provider with EVENTHUB or CONFLUENT vendor.
    title="Optional"> <span id="dnssubdomains_yaml">

    dnsSubDomains List<String>

    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn’t use subdomains, you must set this to the empty array [].
    region String
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    serviceAttachmentUris List<String>
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    serviceEndpointId String
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.

    Outputs

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

    ErrorMessage string
    Error message if the connection is in a failed state.
    Id string
    The provider-assigned unique ID for this managed resource.
    InterfaceEndpointId string
    Interface endpoint ID that is created from the specified service endpoint ID.
    InterfaceEndpointName string
    Name of interface endpoint that is created from the specified service endpoint ID.
    ProviderAccountId string
    Account ID from the cloud provider.
    State string
    Status of the connection.
    ErrorMessage string
    Error message if the connection is in a failed state.
    Id string
    The provider-assigned unique ID for this managed resource.
    InterfaceEndpointId string
    Interface endpoint ID that is created from the specified service endpoint ID.
    InterfaceEndpointName string
    Name of interface endpoint that is created from the specified service endpoint ID.
    ProviderAccountId string
    Account ID from the cloud provider.
    State string
    Status of the connection.
    errorMessage String
    Error message if the connection is in a failed state.
    id String
    The provider-assigned unique ID for this managed resource.
    interfaceEndpointId String
    Interface endpoint ID that is created from the specified service endpoint ID.
    interfaceEndpointName String
    Name of interface endpoint that is created from the specified service endpoint ID.
    providerAccountId String
    Account ID from the cloud provider.
    state String
    Status of the connection.
    errorMessage string
    Error message if the connection is in a failed state.
    id string
    The provider-assigned unique ID for this managed resource.
    interfaceEndpointId string
    Interface endpoint ID that is created from the specified service endpoint ID.
    interfaceEndpointName string
    Name of interface endpoint that is created from the specified service endpoint ID.
    providerAccountId string
    Account ID from the cloud provider.
    state string
    Status of the connection.
    error_message str
    Error message if the connection is in a failed state.
    id str
    The provider-assigned unique ID for this managed resource.
    interface_endpoint_id str
    Interface endpoint ID that is created from the specified service endpoint ID.
    interface_endpoint_name str
    Name of interface endpoint that is created from the specified service endpoint ID.
    provider_account_id str
    Account ID from the cloud provider.
    state str
    Status of the connection.
    errorMessage String
    Error message if the connection is in a failed state.
    id String
    The provider-assigned unique ID for this managed resource.
    interfaceEndpointId String
    Interface endpoint ID that is created from the specified service endpoint ID.
    interfaceEndpointName String
    Name of interface endpoint that is created from the specified service endpoint ID.
    providerAccountId String
    Account ID from the cloud provider.
    state String
    Status of the connection.

    Look up Existing StreamPrivatelinkEndpoint Resource

    Get an existing StreamPrivatelinkEndpoint 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?: StreamPrivatelinkEndpointState, opts?: CustomResourceOptions): StreamPrivatelinkEndpoint
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            dns_domain: Optional[str] = None,
            dns_sub_domains: Optional[Sequence[str]] = None,
            error_message: Optional[str] = None,
            interface_endpoint_id: Optional[str] = None,
            interface_endpoint_name: Optional[str] = None,
            project_id: Optional[str] = None,
            provider_account_id: Optional[str] = None,
            provider_name: Optional[str] = None,
            region: Optional[str] = None,
            service_attachment_uris: Optional[Sequence[str]] = None,
            service_endpoint_id: Optional[str] = None,
            state: Optional[str] = None,
            vendor: Optional[str] = None) -> StreamPrivatelinkEndpoint
    func GetStreamPrivatelinkEndpoint(ctx *Context, name string, id IDInput, state *StreamPrivatelinkEndpointState, opts ...ResourceOption) (*StreamPrivatelinkEndpoint, error)
    public static StreamPrivatelinkEndpoint Get(string name, Input<string> id, StreamPrivatelinkEndpointState? state, CustomResourceOptions? opts = null)
    public static StreamPrivatelinkEndpoint get(String name, Output<String> id, StreamPrivatelinkEndpointState state, CustomResourceOptions options)
    resources:  _:    type: mongodbatlas:StreamPrivatelinkEndpoint    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.
    The following state arguments are supported:
    Arn string
    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.
    DnsDomain string
    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    • AZURE provider with EVENTHUB or CONFLUENT vendor.
    DnsSubDomains List<string>
    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array [].

    ErrorMessage string

    Error message if the connection is in a failed state.
    InterfaceEndpointId string
    Interface endpoint ID that is created from the specified service endpoint ID.
    InterfaceEndpointName string
    Name of interface endpoint that is created from the specified service endpoint ID.
    ProjectId string
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    ProviderAccountId string
    Account ID from the cloud provider.
    ProviderName string
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    Region string
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    ServiceAttachmentUris List<string>
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    ServiceEndpointId string
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.
    State string
    Status of the connection.
    Vendor string
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    * **Azure**: EVENTHUB and CONFLUENT
    
    * **GCP**: CONFLUENT
    Arn string
    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.
    DnsDomain string
    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    • AZURE provider with EVENTHUB or CONFLUENT vendor.
    DnsSubDomains []string
    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array [].

    ErrorMessage string

    Error message if the connection is in a failed state.
    InterfaceEndpointId string
    Interface endpoint ID that is created from the specified service endpoint ID.
    InterfaceEndpointName string
    Name of interface endpoint that is created from the specified service endpoint ID.
    ProjectId string
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    ProviderAccountId string
    Account ID from the cloud provider.
    ProviderName string
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    Region string
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    ServiceAttachmentUris []string
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    ServiceEndpointId string
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.
    State string
    Status of the connection.
    Vendor string
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    * **Azure**: EVENTHUB and CONFLUENT
    
    * **GCP**: CONFLUENT
    arn String
    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.
    dnsDomain String
    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    • AZURE provider with EVENTHUB or CONFLUENT vendor.
    dnsSubDomains List<String>
    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array [].

    errorMessage String

    Error message if the connection is in a failed state.
    interfaceEndpointId String
    Interface endpoint ID that is created from the specified service endpoint ID.
    interfaceEndpointName String
    Name of interface endpoint that is created from the specified service endpoint ID.
    projectId String
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    providerAccountId String
    Account ID from the cloud provider.
    providerName String
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    region String
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    serviceAttachmentUris List<String>
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    serviceEndpointId String
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.
    state String
    Status of the connection.
    vendor String
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    * **Azure**: EVENTHUB and CONFLUENT
    
    * **GCP**: CONFLUENT
    arn string
    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.
    dnsDomain string
    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    • AZURE provider with EVENTHUB or CONFLUENT vendor.
    dnsSubDomains string[]
    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array [].

    errorMessage string

    Error message if the connection is in a failed state.
    interfaceEndpointId string
    Interface endpoint ID that is created from the specified service endpoint ID.
    interfaceEndpointName string
    Name of interface endpoint that is created from the specified service endpoint ID.
    projectId string
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    providerAccountId string
    Account ID from the cloud provider.
    providerName string
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    region string
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    serviceAttachmentUris string[]
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    serviceEndpointId string
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.
    state string
    Status of the connection.
    vendor string
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    * **Azure**: EVENTHUB and CONFLUENT
    
    * **GCP**: CONFLUENT
    arn str
    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.
    dns_domain str
    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    • AZURE provider with EVENTHUB or CONFLUENT vendor.
    dns_sub_domains Sequence[str]
    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array [].

    error_message str

    Error message if the connection is in a failed state.
    interface_endpoint_id str
    Interface endpoint ID that is created from the specified service endpoint ID.
    interface_endpoint_name str
    Name of interface endpoint that is created from the specified service endpoint ID.
    project_id str
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    provider_account_id str
    Account ID from the cloud provider.
    provider_name str
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    region str
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    service_attachment_uris Sequence[str]
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    service_endpoint_id str
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.
    state str
    Status of the connection.
    vendor str
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    * **Azure**: EVENTHUB and CONFLUENT
    
    * **GCP**: CONFLUENT
    arn String
    Amazon Resource Name (ARN). Required for AWS Provider and MSK vendor.
    dnsDomain String
    The domain hostname. Required for the following provider and vendor combinations:

    * AWS provider with CONFLUENT vendor.
    
    • AZURE provider with EVENTHUB or CONFLUENT vendor.
    dnsSubDomains List<String>
    Sub-Domain name of Confluent cluster. These are typically your availability zones. Required for AWS Provider and CONFLUENT vendor. If your AWS CONFLUENT cluster doesn't use subdomains, you must set this to the empty array [].

    errorMessage String

    Error message if the connection is in a failed state.
    interfaceEndpointId String
    Interface endpoint ID that is created from the specified service endpoint ID.
    interfaceEndpointName String
    Name of interface endpoint that is created from the specified service endpoint ID.
    projectId String
    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group or project id remains the same. The resource and corresponding endpoints use the term groups.
    providerAccountId String
    Account ID from the cloud provider.
    providerName String
    Provider where the endpoint is deployed. Valid values are AWS, AZURE, and GCP.
    region String
    The region of the Provider’s cluster. See AZURE and AWS supported regions. When the vendor is CONFLUENT, this is the domain name of Confluent cluster. When the vendor is MSK, this is computed by the API from the provided arn.
    serviceAttachmentUris List<String>
    List of GCP service attachment URIs for Confluent vendor. Required for GCP provider with CONFLUENT vendor.
    serviceEndpointId String
    For AZURE EVENTHUB, this is the namespace endpoint ID. For AWS CONFLUENT cluster, this is the VPC Endpoint service name.
    state String
    Status of the connection.
    vendor String
    Vendor that manages the endpoint. The following are the vendor values per provider:

    * **AWS**: MSK, CONFLUENT, and S3
    
    * **Azure**: EVENTHUB and CONFLUENT
    
    * **GCP**: CONFLUENT

    Package Details

    Repository
    MongoDB Atlas pulumi/pulumi-mongodbatlas
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the mongodbatlas Terraform Provider.
    mongodbatlas logo
    MongoDB Atlas v4.0.0 published on Tuesday, Dec 30, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate