RoleAssignmentArgs

data class RoleAssignmentArgs(val condition: Output<String>? = null, val conditionVersion: Output<String>? = null, val delegatedManagedIdentityResourceId: Output<String>? = null, val description: Output<String>? = null, val principalId: Output<String>? = null, val principalType: Output<Either<String, PrincipalType>>? = null, val roleAssignmentName: Output<String>? = null, val roleDefinitionId: Output<String>? = null, val scope: Output<String>? = null) : ConvertibleToJava<RoleAssignmentArgs>

Role Assignments Uses Azure REST API version 2022-04-01. In version 2.x of the Azure Native provider, it used API version 2022-04-01. Other available API versions: 2020-08-01-preview, 2020-10-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native authorization [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create role assignment for resource

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var roleAssignment = new AzureNative.Authorization.RoleAssignment("roleAssignment", new()
{
PrincipalId = "ce2ce14e-85d7-4629-bdbc-454d0519d987",
PrincipalType = AzureNative.Authorization.PrincipalType.User,
RoleAssignmentName = "05c5a614-a7d6-4502-b150-c2fb455033ff",
RoleDefinitionId = "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
Scope = "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
});
});
package main
import (
authorization "github.com/pulumi/pulumi-azure-native-sdk/authorization/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := authorization.NewRoleAssignment(ctx, "roleAssignment", &authorization.RoleAssignmentArgs{
PrincipalId: pulumi.String("ce2ce14e-85d7-4629-bdbc-454d0519d987"),
PrincipalType: pulumi.String(authorization.PrincipalTypeUser),
RoleAssignmentName: pulumi.String("05c5a614-a7d6-4502-b150-c2fb455033ff"),
RoleDefinitionId: pulumi.String("/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d"),
Scope: pulumi.String("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"),
})
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.authorization.RoleAssignment;
import com.pulumi.azurenative.authorization.RoleAssignmentArgs;
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 roleAssignment = new RoleAssignment("roleAssignment", RoleAssignmentArgs.builder()
.principalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
.principalType("User")
.roleAssignmentName("05c5a614-a7d6-4502-b150-c2fb455033ff")
.roleDefinitionId("/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
.scope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account")
.build());
}
}

Create role assignment for resource group

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var roleAssignment = new AzureNative.Authorization.RoleAssignment("roleAssignment", new()
{
PrincipalId = "ce2ce14e-85d7-4629-bdbc-454d0519d987",
PrincipalType = AzureNative.Authorization.PrincipalType.User,
RoleAssignmentName = "05c5a614-a7d6-4502-b150-c2fb455033ff",
RoleDefinitionId = "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
Scope = "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
});
});
package main
import (
authorization "github.com/pulumi/pulumi-azure-native-sdk/authorization/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := authorization.NewRoleAssignment(ctx, "roleAssignment", &authorization.RoleAssignmentArgs{
PrincipalId: pulumi.String("ce2ce14e-85d7-4629-bdbc-454d0519d987"),
PrincipalType: pulumi.String(authorization.PrincipalTypeUser),
RoleAssignmentName: pulumi.String("05c5a614-a7d6-4502-b150-c2fb455033ff"),
RoleDefinitionId: pulumi.String("/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d"),
Scope: pulumi.String("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"),
})
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.authorization.RoleAssignment;
import com.pulumi.azurenative.authorization.RoleAssignmentArgs;
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 roleAssignment = new RoleAssignment("roleAssignment", RoleAssignmentArgs.builder()
.principalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
.principalType("User")
.roleAssignmentName("05c5a614-a7d6-4502-b150-c2fb455033ff")
.roleDefinitionId("/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
.scope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg")
.build());
}
}

Create role assignment for subscription

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var roleAssignment = new AzureNative.Authorization.RoleAssignment("roleAssignment", new()
{
PrincipalId = "ce2ce14e-85d7-4629-bdbc-454d0519d987",
PrincipalType = AzureNative.Authorization.PrincipalType.User,
RoleAssignmentName = "05c5a614-a7d6-4502-b150-c2fb455033ff",
RoleDefinitionId = "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
Scope = "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
});
});
package main
import (
authorization "github.com/pulumi/pulumi-azure-native-sdk/authorization/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := authorization.NewRoleAssignment(ctx, "roleAssignment", &authorization.RoleAssignmentArgs{
PrincipalId: pulumi.String("ce2ce14e-85d7-4629-bdbc-454d0519d987"),
PrincipalType: pulumi.String(authorization.PrincipalTypeUser),
RoleAssignmentName: pulumi.String("05c5a614-a7d6-4502-b150-c2fb455033ff"),
RoleDefinitionId: pulumi.String("/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d"),
Scope: pulumi.String("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"),
})
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.authorization.RoleAssignment;
import com.pulumi.azurenative.authorization.RoleAssignmentArgs;
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 roleAssignment = new RoleAssignment("roleAssignment", RoleAssignmentArgs.builder()
.principalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
.principalType("User")
.roleAssignmentName("05c5a614-a7d6-4502-b150-c2fb455033ff")
.roleDefinitionId("/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
.scope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2")
.build());
}
}

Import

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

$ pulumi import azure-native:authorization:RoleAssignment 05c5a614-a7d6-4502-b150-c2fb455033ff /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}

Constructors

Link copied to clipboard
constructor(condition: Output<String>? = null, conditionVersion: Output<String>? = null, delegatedManagedIdentityResourceId: Output<String>? = null, description: Output<String>? = null, principalId: Output<String>? = null, principalType: Output<Either<String, PrincipalType>>? = null, roleAssignmentName: Output<String>? = null, roleDefinitionId: Output<String>? = null, scope: Output<String>? = null)

Properties

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

The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @ResourceMicrosoft.Storage/storageAccounts/blobServices/containers:ContainerName StringEqualsIgnoreCase 'foo_storage_container'

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

Version of the condition. Currently the only accepted value is '2.0'

Link copied to clipboard

Id of the delegated managed identity resource

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

Description of role assignment

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

The principal ID.

Link copied to clipboard
val principalType: Output<Either<String, PrincipalType>>? = null

The principal type of the assigned principal ID.

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

The name of the role assignment. It can be any valid GUID.

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

The role definition ID.

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

The scope of the operation or resource. Valid scopes are: subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'

Functions

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