1. Packages
  2. Mongodbatlas Provider
  3. API Docs
  4. getStreamPrivatelinkEndpoint
MongoDB Atlas v3.36.0 published on Friday, Aug 22, 2025 by Pulumi

mongodbatlas.getStreamPrivatelinkEndpoint

Start a Neo task
Explain and create a mongodbatlas.getStreamPrivatelinkEndpoint resource
mongodbatlas logo
MongoDB Atlas v3.36.0 published on Friday, Aug 22, 2025 by Pulumi

    # Data Source: mongodbatlas.StreamPrivatelinkEndpoint

    mongodbatlas.StreamPrivatelinkEndpoint describes a Privatelink Endpoint for Streams.

    Example Usage

    S

    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/v4/go/aws"
    	"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// 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}
    

    Using getStreamPrivatelinkEndpoint

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getStreamPrivatelinkEndpoint(args: GetStreamPrivatelinkEndpointArgs, opts?: InvokeOptions): Promise<GetStreamPrivatelinkEndpointResult>
    function getStreamPrivatelinkEndpointOutput(args: GetStreamPrivatelinkEndpointOutputArgs, opts?: InvokeOptions): Output<GetStreamPrivatelinkEndpointResult>
    def get_stream_privatelink_endpoint(id: Optional[str] = None,
                                        project_id: Optional[str] = None,
                                        opts: Optional[InvokeOptions] = None) -> GetStreamPrivatelinkEndpointResult
    def get_stream_privatelink_endpoint_output(id: Optional[pulumi.Input[str]] = None,
                                        project_id: Optional[pulumi.Input[str]] = None,
                                        opts: Optional[InvokeOptions] = None) -> Output[GetStreamPrivatelinkEndpointResult]
    func LookupStreamPrivatelinkEndpoint(ctx *Context, args *LookupStreamPrivatelinkEndpointArgs, opts ...InvokeOption) (*LookupStreamPrivatelinkEndpointResult, error)
    func LookupStreamPrivatelinkEndpointOutput(ctx *Context, args *LookupStreamPrivatelinkEndpointOutputArgs, opts ...InvokeOption) LookupStreamPrivatelinkEndpointResultOutput

    > Note: This function is named LookupStreamPrivatelinkEndpoint in the Go SDK.

    public static class GetStreamPrivatelinkEndpoint 
    {
        public static Task<GetStreamPrivatelinkEndpointResult> InvokeAsync(GetStreamPrivatelinkEndpointArgs args, InvokeOptions? opts = null)
        public static Output<GetStreamPrivatelinkEndpointResult> Invoke(GetStreamPrivatelinkEndpointInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetStreamPrivatelinkEndpointResult> getStreamPrivatelinkEndpoint(GetStreamPrivatelinkEndpointArgs args, InvokeOptions options)
    public static Output<GetStreamPrivatelinkEndpointResult> getStreamPrivatelinkEndpoint(GetStreamPrivatelinkEndpointArgs args, InvokeOptions options)
    
    fn::invoke:
      function: mongodbatlas:index/getStreamPrivatelinkEndpoint:getStreamPrivatelinkEndpoint
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Id string
    ProjectId string
    Id string
    ProjectId string
    id String
    projectId String
    id string
    projectId string
    id str
    project_id str
    id String
    projectId String

    getStreamPrivatelinkEndpoint Result

    The following output properties are available:

    Arn string
    DnsDomain string
    DnsSubDomains List<string>
    ErrorMessage string
    Id string
    InterfaceEndpointId string
    InterfaceEndpointName string
    ProjectId string
    ProviderAccountId string
    ProviderName string
    Region string
    ServiceEndpointId string
    State string
    Vendor string
    arn String
    dnsDomain String
    dnsSubDomains List<String>
    errorMessage String
    id String
    interfaceEndpointId String
    interfaceEndpointName String
    projectId String
    providerAccountId String
    providerName String
    region String
    serviceEndpointId String
    state String
    vendor String
    arn String
    dnsDomain String
    dnsSubDomains List<String>
    errorMessage String
    id String
    interfaceEndpointId String
    interfaceEndpointName String
    projectId String
    providerAccountId String
    providerName String
    region String
    serviceEndpointId String
    state String
    vendor String

    Package Details

    Repository
    MongoDB Atlas pulumi/pulumi-mongodbatlas
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the mongodbatlas Terraform Provider.
    mongodbatlas logo
    MongoDB Atlas v3.36.0 published on Friday, Aug 22, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate