1. Packages
  2. Mongodbatlas Provider
  3. API Docs
  4. getCloudUserProjectAssignment
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.CloudUserProjectAssignment provides a Cloud User Project Assignment data source. The data source lets you retrieve a user assigned to a project.

    NOTE: Users with pending invitations created using the deprecated mongodbatlas.ProjectInvitation resource or via the deprecated Invite One MongoDB Cloud User to One Project endpoint are not returned with this resource. See MongoDB Atlas API for details. To manage such users with this resource, refer to our Project Invitation to Cloud User Project Assignment Migration Guide.

    Example Usage

    S

    import * as pulumi from "@pulumi/pulumi";
    import * as mongodbatlas from "@pulumi/mongodbatlas";
    
    const example = new mongodbatlas.CloudUserProjectAssignment("example", {
        projectId: projectId,
        username: userEmail,
        roles: [
            "GROUP_OWNER",
            "GROUP_DATA_ACCESS_ADMIN",
        ],
    });
    const exampleUsername = example.username.apply(username => mongodbatlas.getCloudUserProjectAssignmentOutput({
        projectId: projectId,
        username: username,
    }));
    const exampleUserId = example.userId.apply(userId => mongodbatlas.getCloudUserProjectAssignmentOutput({
        projectId: projectId,
        userId: userId,
    }));
    
    import pulumi
    import pulumi_mongodbatlas as mongodbatlas
    
    example = mongodbatlas.CloudUserProjectAssignment("example",
        project_id=project_id,
        username=user_email,
        roles=[
            "GROUP_OWNER",
            "GROUP_DATA_ACCESS_ADMIN",
        ])
    example_username = example.username.apply(lambda username: mongodbatlas.get_cloud_user_project_assignment_output(project_id=project_id,
        username=username))
    example_user_id = example.user_id.apply(lambda user_id: mongodbatlas.get_cloud_user_project_assignment_output(project_id=project_id,
        user_id=user_id))
    
    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 {
    		example, err := mongodbatlas.NewCloudUserProjectAssignment(ctx, "example", &mongodbatlas.CloudUserProjectAssignmentArgs{
    			ProjectId: pulumi.Any(projectId),
    			Username:  pulumi.Any(userEmail),
    			Roles: pulumi.StringArray{
    				pulumi.String("GROUP_OWNER"),
    				pulumi.String("GROUP_DATA_ACCESS_ADMIN"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_ = example.Username.ApplyT(func(username string) (mongodbatlas.GetCloudUserProjectAssignmentResult, error) {
    			return mongodbatlas.GetCloudUserProjectAssignmentResult(interface{}(mongodbatlas.LookupCloudUserProjectAssignment(ctx, &mongodbatlas.LookupCloudUserProjectAssignmentArgs{
    				ProjectId: projectId,
    				Username:  pulumi.StringRef(pulumi.StringRef(username)),
    			}, nil))), nil
    		}).(mongodbatlas.GetCloudUserProjectAssignmentResultOutput)
    		_ = example.UserId.ApplyT(func(userId string) (mongodbatlas.GetCloudUserProjectAssignmentResult, error) {
    			return mongodbatlas.GetCloudUserProjectAssignmentResult(interface{}(mongodbatlas.LookupCloudUserProjectAssignment(ctx, &mongodbatlas.LookupCloudUserProjectAssignmentArgs{
    				ProjectId: projectId,
    				UserId:    pulumi.StringRef(pulumi.StringRef(userId)),
    			}, nil))), nil
    		}).(mongodbatlas.GetCloudUserProjectAssignmentResultOutput)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Mongodbatlas = Pulumi.Mongodbatlas;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Mongodbatlas.CloudUserProjectAssignment("example", new()
        {
            ProjectId = projectId,
            Username = userEmail,
            Roles = new[]
            {
                "GROUP_OWNER",
                "GROUP_DATA_ACCESS_ADMIN",
            },
        });
    
        var exampleUsername = Mongodbatlas.GetCloudUserProjectAssignment.Invoke(new()
        {
            ProjectId = projectId,
            Username = example.Username,
        });
    
        var exampleUserId = Mongodbatlas.GetCloudUserProjectAssignment.Invoke(new()
        {
            ProjectId = projectId,
            UserId = example.UserId,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.mongodbatlas.CloudUserProjectAssignment;
    import com.pulumi.mongodbatlas.CloudUserProjectAssignmentArgs;
    import com.pulumi.mongodbatlas.MongodbatlasFunctions;
    import com.pulumi.mongodbatlas.inputs.GetCloudUserProjectAssignmentArgs;
    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 example = new CloudUserProjectAssignment("example", CloudUserProjectAssignmentArgs.builder()
                .projectId(projectId)
                .username(userEmail)
                .roles(            
                    "GROUP_OWNER",
                    "GROUP_DATA_ACCESS_ADMIN")
                .build());
    
            final var exampleUsername = example.username().applyValue(_username -> MongodbatlasFunctions.getCloudUserProjectAssignment(GetCloudUserProjectAssignmentArgs.builder()
                .projectId(projectId)
                .username(_username)
                .build()));
    
            final var exampleUserId = example.userId().applyValue(_userId -> MongodbatlasFunctions.getCloudUserProjectAssignment(GetCloudUserProjectAssignmentArgs.builder()
                .projectId(projectId)
                .userId(_userId)
                .build()));
    
        }
    }
    
    resources:
      example:
        type: mongodbatlas:CloudUserProjectAssignment
        properties:
          projectId: ${projectId}
          username: ${userEmail}
          roles:
            - GROUP_OWNER
            - GROUP_DATA_ACCESS_ADMIN
    variables:
      exampleUsername:
        fn::invoke:
          function: mongodbatlas:getCloudUserProjectAssignment
          arguments:
            projectId: ${projectId}
            username: ${example.username}
      exampleUserId:
        fn::invoke:
          function: mongodbatlas:getCloudUserProjectAssignment
          arguments:
            projectId: ${projectId}
            userId: ${example.userId}
    

    Using getCloudUserProjectAssignment

    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 getCloudUserProjectAssignment(args: GetCloudUserProjectAssignmentArgs, opts?: InvokeOptions): Promise<GetCloudUserProjectAssignmentResult>
    function getCloudUserProjectAssignmentOutput(args: GetCloudUserProjectAssignmentOutputArgs, opts?: InvokeOptions): Output<GetCloudUserProjectAssignmentResult>
    def get_cloud_user_project_assignment(project_id: Optional[str] = None,
                                          user_id: Optional[str] = None,
                                          username: Optional[str] = None,
                                          opts: Optional[InvokeOptions] = None) -> GetCloudUserProjectAssignmentResult
    def get_cloud_user_project_assignment_output(project_id: Optional[pulumi.Input[str]] = None,
                                          user_id: Optional[pulumi.Input[str]] = None,
                                          username: Optional[pulumi.Input[str]] = None,
                                          opts: Optional[InvokeOptions] = None) -> Output[GetCloudUserProjectAssignmentResult]
    func LookupCloudUserProjectAssignment(ctx *Context, args *LookupCloudUserProjectAssignmentArgs, opts ...InvokeOption) (*LookupCloudUserProjectAssignmentResult, error)
    func LookupCloudUserProjectAssignmentOutput(ctx *Context, args *LookupCloudUserProjectAssignmentOutputArgs, opts ...InvokeOption) LookupCloudUserProjectAssignmentResultOutput

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

    public static class GetCloudUserProjectAssignment 
    {
        public static Task<GetCloudUserProjectAssignmentResult> InvokeAsync(GetCloudUserProjectAssignmentArgs args, InvokeOptions? opts = null)
        public static Output<GetCloudUserProjectAssignmentResult> Invoke(GetCloudUserProjectAssignmentInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetCloudUserProjectAssignmentResult> getCloudUserProjectAssignment(GetCloudUserProjectAssignmentArgs args, InvokeOptions options)
    public static Output<GetCloudUserProjectAssignmentResult> getCloudUserProjectAssignment(GetCloudUserProjectAssignmentArgs args, InvokeOptions options)
    
    fn::invoke:
      function: mongodbatlas:index/getCloudUserProjectAssignment:getCloudUserProjectAssignment
      arguments:
        # arguments dictionary

    The following arguments are supported:

    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.
    UserId string
    Username string
    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.
    UserId string
    Username string
    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.
    userId String
    username String
    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.
    userId string
    username string
    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.
    user_id str
    username str
    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.
    userId String
    username String

    getCloudUserProjectAssignment Result

    The following output properties are available:

    Country string
    CreatedAt string
    FirstName string
    Id string
    The provider-assigned unique ID for this managed resource.
    InvitationCreatedAt string
    InvitationExpiresAt string
    InviterUsername string
    LastAuth string
    LastName string
    MobileNumber string
    OrgMembershipStatus string
    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.
    Roles List<string>
    UserId string
    Username string
    Country string
    CreatedAt string
    FirstName string
    Id string
    The provider-assigned unique ID for this managed resource.
    InvitationCreatedAt string
    InvitationExpiresAt string
    InviterUsername string
    LastAuth string
    LastName string
    MobileNumber string
    OrgMembershipStatus string
    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.
    Roles []string
    UserId string
    Username string
    country String
    createdAt String
    firstName String
    id String
    The provider-assigned unique ID for this managed resource.
    invitationCreatedAt String
    invitationExpiresAt String
    inviterUsername String
    lastAuth String
    lastName String
    mobileNumber String
    orgMembershipStatus String
    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.
    roles List<String>
    userId String
    username String
    country string
    createdAt string
    firstName string
    id string
    The provider-assigned unique ID for this managed resource.
    invitationCreatedAt string
    invitationExpiresAt string
    inviterUsername string
    lastAuth string
    lastName string
    mobileNumber string
    orgMembershipStatus string
    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.
    roles string[]
    userId string
    username string
    country str
    created_at str
    first_name str
    id str
    The provider-assigned unique ID for this managed resource.
    invitation_created_at str
    invitation_expires_at str
    inviter_username str
    last_auth str
    last_name str
    mobile_number str
    org_membership_status str
    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.
    roles Sequence[str]
    user_id str
    username str
    country String
    createdAt String
    firstName String
    id String
    The provider-assigned unique ID for this managed resource.
    invitationCreatedAt String
    invitationExpiresAt String
    inviterUsername String
    lastAuth String
    lastName String
    mobileNumber String
    orgMembershipStatus String
    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.
    roles List<String>
    userId String
    username 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 v4.0.0 published on Tuesday, Dec 30, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate