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.ProjectInvitationresource 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 dictionaryThe following arguments are supported:
- 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
getCloudUserProjectAssignment Result
The following output properties are available:
- Country string
- Created
At string - First
Name string - Id string
- The provider-assigned unique ID for this managed resource.
- Invitation
Created stringAt - Invitation
Expires stringAt - Inviter
Username string - Last
Auth string - Last
Name string - Mobile
Number string - Org
Membership stringStatus - Project
Id 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>
- User
Id string - Username string
- Country string
- Created
At string - First
Name string - Id string
- The provider-assigned unique ID for this managed resource.
- Invitation
Created stringAt - Invitation
Expires stringAt - Inviter
Username string - Last
Auth string - Last
Name string - Mobile
Number string - Org
Membership stringStatus - Project
Id 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
- User
Id string - Username string
- country String
- created
At String - first
Name String - id String
- The provider-assigned unique ID for this managed resource.
- invitation
Created StringAt - invitation
Expires StringAt - inviter
Username String - last
Auth String - last
Name String - mobile
Number String - org
Membership StringStatus - project
Id 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>
- user
Id String - username String
- country string
- created
At string - first
Name string - id string
- The provider-assigned unique ID for this managed resource.
- invitation
Created stringAt - invitation
Expires stringAt - inviter
Username string - last
Auth string - last
Name string - mobile
Number string - org
Membership stringStatus - project
Id 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[]
- user
Id string - username string
- country str
- created_
at str - first_
name str - id str
- The provider-assigned unique ID for this managed resource.
- invitation_
created_ strat - invitation_
expires_ strat - inviter_
username str - last_
auth str - last_
name str - mobile_
number str - org_
membership_ strstatus - 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
- created
At String - first
Name String - id String
- The provider-assigned unique ID for this managed resource.
- invitation
Created StringAt - invitation
Expires StringAt - inviter
Username String - last
Auth String - last
Name String - mobile
Number String - org
Membership StringStatus - project
Id 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>
- user
Id String - username String
Package Details
- Repository
- MongoDB Atlas pulumi/pulumi-mongodbatlas
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
mongodbatlasTerraform Provider.
