MongoDB Atlas v4.2.0 published on Friday, Jan 23, 2026 by Pulumi
MongoDB Atlas v4.2.0 published on Friday, Jan 23, 2026 by Pulumi
mongodbatlas.ApiKeyProjectAssignment describes an API Key Project Assignment.
Example Usage
S
import * as pulumi from "@pulumi/pulumi";
import * as mongodbatlas from "@pulumi/mongodbatlas";
const _this = new mongodbatlas.ApiKey("this", {
orgId: orgId,
description: "Test API Key",
roleNames: ["ORG_READ_ONLY"],
});
const firstProject = new mongodbatlas.Project("first_project", {
name: "First Project",
orgId: orgId,
});
const secondProject = new mongodbatlas.Project("second_project", {
name: "Second Project",
orgId: orgId,
});
const firstAssignmentApiKeyProjectAssignment = new mongodbatlas.ApiKeyProjectAssignment("first_assignment", {
projectId: firstProject.id,
apiKeyId: _this.apiKeyId,
roles: ["GROUP_OWNER"],
});
const secondAssignment = new mongodbatlas.ApiKeyProjectAssignment("second_assignment", {
projectId: secondProject.id,
apiKeyId: _this.apiKeyId,
roles: ["GROUP_OWNER"],
});
// Add IP Access List Entry to Programmatic API Key
const thisAccessListApiKey = new mongodbatlas.AccessListApiKey("this", {
orgId: orgId,
cidrBlock: "0.0.0.0/1",
apiKeyId: _this.apiKeyId,
});
// Data source to read a single API key project assignment
const firstAssignment = mongodbatlas.getApiKeyProjectAssignmentOutput({
projectId: firstAssignmentApiKeyProjectAssignment.projectId,
apiKeyId: firstAssignmentApiKeyProjectAssignment.apiKeyId,
});
// Data source to read all API key project assignments for a project
const allAssignments = mongodbatlas.getApiKeyProjectAssignmentsOutput({
projectId: firstProject.id,
});
export const firstAssignmentProjectId = firstAssignment.apply(firstAssignment => firstAssignment.projectId);
export const allAssignmentsProjectIds = allAssignments.apply(allAssignments => .map(assignment => (assignment.projectId)));
import pulumi
import pulumi_mongodbatlas as mongodbatlas
this = mongodbatlas.ApiKey("this",
org_id=org_id,
description="Test API Key",
role_names=["ORG_READ_ONLY"])
first_project = mongodbatlas.Project("first_project",
name="First Project",
org_id=org_id)
second_project = mongodbatlas.Project("second_project",
name="Second Project",
org_id=org_id)
first_assignment_api_key_project_assignment = mongodbatlas.ApiKeyProjectAssignment("first_assignment",
project_id=first_project.id,
api_key_id=this.api_key_id,
roles=["GROUP_OWNER"])
second_assignment = mongodbatlas.ApiKeyProjectAssignment("second_assignment",
project_id=second_project.id,
api_key_id=this.api_key_id,
roles=["GROUP_OWNER"])
# Add IP Access List Entry to Programmatic API Key
this_access_list_api_key = mongodbatlas.AccessListApiKey("this",
org_id=org_id,
cidr_block="0.0.0.0/1",
api_key_id=this.api_key_id)
# Data source to read a single API key project assignment
first_assignment = mongodbatlas.get_api_key_project_assignment_output(project_id=first_assignment_api_key_project_assignment.project_id,
api_key_id=first_assignment_api_key_project_assignment.api_key_id)
# Data source to read all API key project assignments for a project
all_assignments = mongodbatlas.get_api_key_project_assignments_output(project_id=first_project.id)
pulumi.export("firstAssignmentProjectId", first_assignment.project_id)
pulumi.export("allAssignmentsProjectIds", all_assignments.apply(lambda all_assignments: [assignment.project_id for assignment in all_assignments.results]))
Example coming soon!
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Mongodbatlas = Pulumi.Mongodbatlas;
return await Deployment.RunAsync(() =>
{
var @this = new Mongodbatlas.ApiKey("this", new()
{
OrgId = orgId,
Description = "Test API Key",
RoleNames = new[]
{
"ORG_READ_ONLY",
},
});
var firstProject = new Mongodbatlas.Project("first_project", new()
{
Name = "First Project",
OrgId = orgId,
});
var secondProject = new Mongodbatlas.Project("second_project", new()
{
Name = "Second Project",
OrgId = orgId,
});
var firstAssignmentApiKeyProjectAssignment = new Mongodbatlas.ApiKeyProjectAssignment("first_assignment", new()
{
ProjectId = firstProject.Id,
ApiKeyId = @this.ApiKeyId,
Roles = new[]
{
"GROUP_OWNER",
},
});
var secondAssignment = new Mongodbatlas.ApiKeyProjectAssignment("second_assignment", new()
{
ProjectId = secondProject.Id,
ApiKeyId = @this.ApiKeyId,
Roles = new[]
{
"GROUP_OWNER",
},
});
// Add IP Access List Entry to Programmatic API Key
var thisAccessListApiKey = new Mongodbatlas.AccessListApiKey("this", new()
{
OrgId = orgId,
CidrBlock = "0.0.0.0/1",
ApiKeyId = @this.ApiKeyId,
});
// Data source to read a single API key project assignment
var firstAssignment = Mongodbatlas.GetApiKeyProjectAssignment.Invoke(new()
{
ProjectId = firstAssignmentApiKeyProjectAssignment.ProjectId,
ApiKeyId = firstAssignmentApiKeyProjectAssignment.ApiKeyId,
});
// Data source to read all API key project assignments for a project
var allAssignments = Mongodbatlas.GetApiKeyProjectAssignments.Invoke(new()
{
ProjectId = firstProject.Id,
});
return new Dictionary<string, object?>
{
["firstAssignmentProjectId"] = firstAssignment.Apply(getApiKeyProjectAssignmentResult => getApiKeyProjectAssignmentResult.ProjectId),
["allAssignmentsProjectIds"] = .Select(assignment =>
{
return assignment.ProjectId;
}).ToList(),
};
});
Example coming soon!
Example coming soon!
Using getApiKeyProjectAssignment
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 getApiKeyProjectAssignment(args: GetApiKeyProjectAssignmentArgs, opts?: InvokeOptions): Promise<GetApiKeyProjectAssignmentResult>
function getApiKeyProjectAssignmentOutput(args: GetApiKeyProjectAssignmentOutputArgs, opts?: InvokeOptions): Output<GetApiKeyProjectAssignmentResult>def get_api_key_project_assignment(api_key_id: Optional[str] = None,
project_id: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetApiKeyProjectAssignmentResult
def get_api_key_project_assignment_output(api_key_id: Optional[pulumi.Input[str]] = None,
project_id: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetApiKeyProjectAssignmentResult]func LookupApiKeyProjectAssignment(ctx *Context, args *LookupApiKeyProjectAssignmentArgs, opts ...InvokeOption) (*LookupApiKeyProjectAssignmentResult, error)
func LookupApiKeyProjectAssignmentOutput(ctx *Context, args *LookupApiKeyProjectAssignmentOutputArgs, opts ...InvokeOption) LookupApiKeyProjectAssignmentResultOutput> Note: This function is named LookupApiKeyProjectAssignment in the Go SDK.
public static class GetApiKeyProjectAssignment
{
public static Task<GetApiKeyProjectAssignmentResult> InvokeAsync(GetApiKeyProjectAssignmentArgs args, InvokeOptions? opts = null)
public static Output<GetApiKeyProjectAssignmentResult> Invoke(GetApiKeyProjectAssignmentInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetApiKeyProjectAssignmentResult> getApiKeyProjectAssignment(GetApiKeyProjectAssignmentArgs args, InvokeOptions options)
public static Output<GetApiKeyProjectAssignmentResult> getApiKeyProjectAssignment(GetApiKeyProjectAssignmentArgs args, InvokeOptions options)
fn::invoke:
function: mongodbatlas:index/getApiKeyProjectAssignment:getApiKeyProjectAssignment
arguments:
# arguments dictionaryThe following arguments are supported:
- Api
Key stringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- 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.
- Api
Key stringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- 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.
- api
Key StringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- 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.
- api
Key stringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- 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.
- api_
key_ strid - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- 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.
- api
Key StringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- 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.
getApiKeyProjectAssignment Result
The following output properties are available:
- Api
Key stringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- Id string
- The provider-assigned unique ID for this managed resource.
- 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>
- Api
Key stringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- Id string
- The provider-assigned unique ID for this managed resource.
- 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
- api
Key StringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- id String
- The provider-assigned unique ID for this managed resource.
- 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>
- api
Key stringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- id string
- The provider-assigned unique ID for this managed resource.
- 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[]
- api_
key_ strid - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- id str
- The provider-assigned unique ID for this managed resource.
- 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]
- api
Key StringId - Unique 24-hexadecimal digit string that identifies this organization API key that you want to assign to one project.
- id String
- The provider-assigned unique ID for this managed resource.
- 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>
Package Details
- Repository
- MongoDB Atlas pulumi/pulumi-mongodbatlas
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
mongodbatlasTerraform Provider.
MongoDB Atlas v4.2.0 published on Friday, Jan 23, 2026 by Pulumi
