MongoDBResourceMongoRoleDefinitionArgs

data class MongoDBResourceMongoRoleDefinitionArgs(val accountName: Output<String>? = null, val databaseName: Output<String>? = null, val mongoRoleDefinitionId: Output<String>? = null, val privileges: Output<List<PrivilegeArgs>>? = null, val resourceGroupName: Output<String>? = null, val roleName: Output<String>? = null, val roles: Output<List<RoleArgs>>? = null, val type: Output<MongoRoleDefinitionType>? = null) : ConvertibleToJava<MongoDBResourceMongoRoleDefinitionArgs>

An Azure Cosmos DB Mongo Role Definition. Uses Azure REST API version 2024-11-15. Other available API versions: 2021-10-15-preview, 2021-11-15-preview, 2022-02-15-preview, 2022-05-15-preview, 2022-08-15, 2022-08-15-preview, 2022-11-15, 2022-11-15-preview, 2023-03-01-preview, 2023-03-15, 2023-03-15-preview, 2023-04-15, 2023-09-15, 2023-09-15-preview, 2023-11-15, 2023-11-15-preview, 2024-02-15-preview, 2024-05-15, 2024-05-15-preview, 2024-08-15, 2024-09-01-preview, 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native cosmosdb [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

CosmosDBMongoDBRoleDefinitionCreateUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var mongoDBResourceMongoRoleDefinition = new AzureNative.CosmosDB.MongoDBResourceMongoRoleDefinition("mongoDBResourceMongoRoleDefinition", new()
{
AccountName = "myAccountName",
DatabaseName = "sales",
MongoRoleDefinitionId = "myMongoRoleDefinitionId",
Privileges = new[]
{
new AzureNative.CosmosDB.Inputs.PrivilegeArgs
{
Actions = new[]
{
"insert",
"find",
},
Resource = new AzureNative.CosmosDB.Inputs.PrivilegeResourceArgs
{
Collection = "sales",
Db = "sales",
},
},
},
ResourceGroupName = "myResourceGroupName",
RoleName = "myRoleName",
Roles = new[]
{
new AzureNative.CosmosDB.Inputs.RoleArgs
{
Db = "sales",
Role = "myInheritedRole",
},
},
});
});
package main
import (
cosmosdb "github.com/pulumi/pulumi-azure-native-sdk/cosmosdb/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cosmosdb.NewMongoDBResourceMongoRoleDefinition(ctx, "mongoDBResourceMongoRoleDefinition", &cosmosdb.MongoDBResourceMongoRoleDefinitionArgs{
AccountName: pulumi.String("myAccountName"),
DatabaseName: pulumi.String("sales"),
MongoRoleDefinitionId: pulumi.String("myMongoRoleDefinitionId"),
Privileges: cosmosdb.PrivilegeArray{
&cosmosdb.PrivilegeArgs{
Actions: pulumi.StringArray{
pulumi.String("insert"),
pulumi.String("find"),
},
Resource: &cosmosdb.PrivilegeResourceArgs{
Collection: pulumi.String("sales"),
Db: pulumi.String("sales"),
},
},
},
ResourceGroupName: pulumi.String("myResourceGroupName"),
RoleName: pulumi.String("myRoleName"),
Roles: cosmosdb.RoleArray{
&cosmosdb.RoleArgs{
Db: pulumi.String("sales"),
Role: pulumi.String("myInheritedRole"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.cosmosdb.MongoDBResourceMongoRoleDefinition;
import com.pulumi.azurenative.cosmosdb.MongoDBResourceMongoRoleDefinitionArgs;
import com.pulumi.azurenative.cosmosdb.inputs.PrivilegeArgs;
import com.pulumi.azurenative.cosmosdb.inputs.PrivilegeResourceArgs;
import com.pulumi.azurenative.cosmosdb.inputs.RoleArgs;
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 mongoDBResourceMongoRoleDefinition = new MongoDBResourceMongoRoleDefinition("mongoDBResourceMongoRoleDefinition", MongoDBResourceMongoRoleDefinitionArgs.builder()
.accountName("myAccountName")
.databaseName("sales")
.mongoRoleDefinitionId("myMongoRoleDefinitionId")
.privileges(PrivilegeArgs.builder()
.actions(
"insert",
"find")
.resource(PrivilegeResourceArgs.builder()
.collection("sales")
.db("sales")
.build())
.build())
.resourceGroupName("myResourceGroupName")
.roleName("myRoleName")
.roles(RoleArgs.builder()
.db("sales")
.role("myInheritedRole")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:cosmosdb:MongoDBResourceMongoRoleDefinition myMongoDbRoleDefinitionId /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}

Constructors

Link copied to clipboard
constructor(accountName: Output<String>? = null, databaseName: Output<String>? = null, mongoRoleDefinitionId: Output<String>? = null, privileges: Output<List<PrivilegeArgs>>? = null, resourceGroupName: Output<String>? = null, roleName: Output<String>? = null, roles: Output<List<RoleArgs>>? = null, type: Output<MongoRoleDefinitionType>? = null)

Properties

Link copied to clipboard
val accountName: Output<String>? = null

Cosmos DB database account name.

Link copied to clipboard
val databaseName: Output<String>? = null

The database name for which access is being granted for this Role Definition.

Link copied to clipboard
val mongoRoleDefinitionId: Output<String>? = null

The ID for the Role Definition {dbName.roleName}.

Link copied to clipboard
val privileges: Output<List<PrivilegeArgs>>? = null

A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val roleName: Output<String>? = null

A user-friendly name for the Role Definition. Must be unique for the database account.

Link copied to clipboard
val roles: Output<List<RoleArgs>>? = null

The set of roles inherited by this Role Definition.

Link copied to clipboard
val type: Output<MongoRoleDefinitionType>? = null

Indicates whether the Role Definition was built-in or user created.

Functions

Link copied to clipboard
open override fun toJava(): MongoDBResourceMongoRoleDefinitionArgs