1. Packages
  2. Azure Native
  3. API Docs
  4. kusto
  5. ClusterPrincipalAssignment
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.1.0 published on Tuesday, Apr 8, 2025 by Pulumi

azure-native.kusto.ClusterPrincipalAssignment

Explore with Pulumi AI

Class representing a cluster principal assignment.

Uses Azure REST API version 2024-04-13. In version 2.x of the Azure Native provider, it used API version 2022-12-29.

Other available API versions: 2019-11-09, 2020-02-15, 2020-06-14, 2020-09-18, 2021-01-01, 2021-08-27, 2022-02-01, 2022-07-07, 2022-11-11, 2022-12-29, 2023-05-02, 2023-08-15. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native kusto [ApiVersion]. See the version guide for details.

Example Usage

KustoClusterPrincipalAssignmentsCreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var clusterPrincipalAssignment = new AzureNative.Kusto.ClusterPrincipalAssignment("clusterPrincipalAssignment", new()
    {
        ClusterName = "kustoCluster",
        PrincipalAssignmentName = "kustoprincipal1",
        PrincipalId = "87654321-1234-1234-1234-123456789123",
        PrincipalType = AzureNative.Kusto.PrincipalType.App,
        ResourceGroupName = "kustorptest",
        Role = AzureNative.Kusto.ClusterPrincipalRole.AllDatabasesAdmin,
        TenantId = "12345678-1234-1234-1234-123456789123",
    });

});
Copy
package main

import (
	kusto "github.com/pulumi/pulumi-azure-native-sdk/kusto/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := kusto.NewClusterPrincipalAssignment(ctx, "clusterPrincipalAssignment", &kusto.ClusterPrincipalAssignmentArgs{
			ClusterName:             pulumi.String("kustoCluster"),
			PrincipalAssignmentName: pulumi.String("kustoprincipal1"),
			PrincipalId:             pulumi.String("87654321-1234-1234-1234-123456789123"),
			PrincipalType:           pulumi.String(kusto.PrincipalTypeApp),
			ResourceGroupName:       pulumi.String("kustorptest"),
			Role:                    pulumi.String(kusto.ClusterPrincipalRoleAllDatabasesAdmin),
			TenantId:                pulumi.String("12345678-1234-1234-1234-123456789123"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.kusto.ClusterPrincipalAssignment;
import com.pulumi.azurenative.kusto.ClusterPrincipalAssignmentArgs;
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 clusterPrincipalAssignment = new ClusterPrincipalAssignment("clusterPrincipalAssignment", ClusterPrincipalAssignmentArgs.builder()
            .clusterName("kustoCluster")
            .principalAssignmentName("kustoprincipal1")
            .principalId("87654321-1234-1234-1234-123456789123")
            .principalType("App")
            .resourceGroupName("kustorptest")
            .role("AllDatabasesAdmin")
            .tenantId("12345678-1234-1234-1234-123456789123")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const clusterPrincipalAssignment = new azure_native.kusto.ClusterPrincipalAssignment("clusterPrincipalAssignment", {
    clusterName: "kustoCluster",
    principalAssignmentName: "kustoprincipal1",
    principalId: "87654321-1234-1234-1234-123456789123",
    principalType: azure_native.kusto.PrincipalType.App,
    resourceGroupName: "kustorptest",
    role: azure_native.kusto.ClusterPrincipalRole.AllDatabasesAdmin,
    tenantId: "12345678-1234-1234-1234-123456789123",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

cluster_principal_assignment = azure_native.kusto.ClusterPrincipalAssignment("clusterPrincipalAssignment",
    cluster_name="kustoCluster",
    principal_assignment_name="kustoprincipal1",
    principal_id="87654321-1234-1234-1234-123456789123",
    principal_type=azure_native.kusto.PrincipalType.APP,
    resource_group_name="kustorptest",
    role=azure_native.kusto.ClusterPrincipalRole.ALL_DATABASES_ADMIN,
    tenant_id="12345678-1234-1234-1234-123456789123")
Copy
resources:
  clusterPrincipalAssignment:
    type: azure-native:kusto:ClusterPrincipalAssignment
    properties:
      clusterName: kustoCluster
      principalAssignmentName: kustoprincipal1
      principalId: 87654321-1234-1234-1234-123456789123
      principalType: App
      resourceGroupName: kustorptest
      role: AllDatabasesAdmin
      tenantId: 12345678-1234-1234-1234-123456789123
Copy

Create ClusterPrincipalAssignment Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new ClusterPrincipalAssignment(name: string, args: ClusterPrincipalAssignmentArgs, opts?: CustomResourceOptions);
@overload
def ClusterPrincipalAssignment(resource_name: str,
                               args: ClusterPrincipalAssignmentArgs,
                               opts: Optional[ResourceOptions] = None)

@overload
def ClusterPrincipalAssignment(resource_name: str,
                               opts: Optional[ResourceOptions] = None,
                               cluster_name: Optional[str] = None,
                               principal_id: Optional[str] = None,
                               principal_type: Optional[Union[str, PrincipalType]] = None,
                               resource_group_name: Optional[str] = None,
                               role: Optional[Union[str, ClusterPrincipalRole]] = None,
                               principal_assignment_name: Optional[str] = None,
                               tenant_id: Optional[str] = None)
func NewClusterPrincipalAssignment(ctx *Context, name string, args ClusterPrincipalAssignmentArgs, opts ...ResourceOption) (*ClusterPrincipalAssignment, error)
public ClusterPrincipalAssignment(string name, ClusterPrincipalAssignmentArgs args, CustomResourceOptions? opts = null)
public ClusterPrincipalAssignment(String name, ClusterPrincipalAssignmentArgs args)
public ClusterPrincipalAssignment(String name, ClusterPrincipalAssignmentArgs args, CustomResourceOptions options)
type: azure-native:kusto:ClusterPrincipalAssignment
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ClusterPrincipalAssignmentArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ClusterPrincipalAssignmentArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ClusterPrincipalAssignmentArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ClusterPrincipalAssignmentArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ClusterPrincipalAssignmentArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var clusterPrincipalAssignmentResource = new AzureNative.Kusto.ClusterPrincipalAssignment("clusterPrincipalAssignmentResource", new()
{
    ClusterName = "string",
    PrincipalId = "string",
    PrincipalType = "string",
    ResourceGroupName = "string",
    Role = "string",
    PrincipalAssignmentName = "string",
    TenantId = "string",
});
Copy
example, err := kusto.NewClusterPrincipalAssignment(ctx, "clusterPrincipalAssignmentResource", &kusto.ClusterPrincipalAssignmentArgs{
	ClusterName:             pulumi.String("string"),
	PrincipalId:             pulumi.String("string"),
	PrincipalType:           pulumi.String("string"),
	ResourceGroupName:       pulumi.String("string"),
	Role:                    pulumi.String("string"),
	PrincipalAssignmentName: pulumi.String("string"),
	TenantId:                pulumi.String("string"),
})
Copy
var clusterPrincipalAssignmentResource = new ClusterPrincipalAssignment("clusterPrincipalAssignmentResource", ClusterPrincipalAssignmentArgs.builder()
    .clusterName("string")
    .principalId("string")
    .principalType("string")
    .resourceGroupName("string")
    .role("string")
    .principalAssignmentName("string")
    .tenantId("string")
    .build());
Copy
cluster_principal_assignment_resource = azure_native.kusto.ClusterPrincipalAssignment("clusterPrincipalAssignmentResource",
    cluster_name="string",
    principal_id="string",
    principal_type="string",
    resource_group_name="string",
    role="string",
    principal_assignment_name="string",
    tenant_id="string")
Copy
const clusterPrincipalAssignmentResource = new azure_native.kusto.ClusterPrincipalAssignment("clusterPrincipalAssignmentResource", {
    clusterName: "string",
    principalId: "string",
    principalType: "string",
    resourceGroupName: "string",
    role: "string",
    principalAssignmentName: "string",
    tenantId: "string",
});
Copy
type: azure-native:kusto:ClusterPrincipalAssignment
properties:
    clusterName: string
    principalAssignmentName: string
    principalId: string
    principalType: string
    resourceGroupName: string
    role: string
    tenantId: string
Copy

ClusterPrincipalAssignment Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The ClusterPrincipalAssignment resource accepts the following input properties:

ClusterName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Kusto cluster.
PrincipalId This property is required. string
The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.
PrincipalType This property is required. string | Pulumi.AzureNative.Kusto.PrincipalType
Principal type.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group. The name is case insensitive.
Role This property is required. string | Pulumi.AzureNative.Kusto.ClusterPrincipalRole
Cluster principal role.
PrincipalAssignmentName Changes to this property will trigger replacement. string
The name of the Kusto principalAssignment.
TenantId string
The tenant id of the principal
ClusterName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Kusto cluster.
PrincipalId This property is required. string
The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.
PrincipalType This property is required. string | PrincipalType
Principal type.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group. The name is case insensitive.
Role This property is required. string | ClusterPrincipalRole
Cluster principal role.
PrincipalAssignmentName Changes to this property will trigger replacement. string
The name of the Kusto principalAssignment.
TenantId string
The tenant id of the principal
clusterName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Kusto cluster.
principalId This property is required. String
The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.
principalType This property is required. String | PrincipalType
Principal type.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group. The name is case insensitive.
role This property is required. String | ClusterPrincipalRole
Cluster principal role.
principalAssignmentName Changes to this property will trigger replacement. String
The name of the Kusto principalAssignment.
tenantId String
The tenant id of the principal
clusterName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Kusto cluster.
principalId This property is required. string
The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.
principalType This property is required. string | PrincipalType
Principal type.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group. The name is case insensitive.
role This property is required. string | ClusterPrincipalRole
Cluster principal role.
principalAssignmentName Changes to this property will trigger replacement. string
The name of the Kusto principalAssignment.
tenantId string
The tenant id of the principal
cluster_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the Kusto cluster.
principal_id This property is required. str
The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.
principal_type This property is required. str | PrincipalType
Principal type.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the resource group. The name is case insensitive.
role This property is required. str | ClusterPrincipalRole
Cluster principal role.
principal_assignment_name Changes to this property will trigger replacement. str
The name of the Kusto principalAssignment.
tenant_id str
The tenant id of the principal
clusterName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Kusto cluster.
principalId This property is required. String
The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.
principalType This property is required. String | "App" | "Group" | "User"
Principal type.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group. The name is case insensitive.
role This property is required. String | "AllDatabasesAdmin" | "AllDatabasesViewer" | "AllDatabasesMonitor"
Cluster principal role.
principalAssignmentName Changes to this property will trigger replacement. String
The name of the Kusto principalAssignment.
tenantId String
The tenant id of the principal

Outputs

All input properties are implicitly available as output properties. Additionally, the ClusterPrincipalAssignment resource produces the following output properties:

AadObjectId string
The service principal object id in AAD (Azure active directory)
AzureApiVersion string
The Azure API version of the resource.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of the resource
PrincipalName string
The principal name
ProvisioningState string
The provisioned state of the resource.
TenantName string
The tenant name of the principal
Type string
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
AadObjectId string
The service principal object id in AAD (Azure active directory)
AzureApiVersion string
The Azure API version of the resource.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of the resource
PrincipalName string
The principal name
ProvisioningState string
The provisioned state of the resource.
TenantName string
The tenant name of the principal
Type string
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
aadObjectId String
The service principal object id in AAD (Azure active directory)
azureApiVersion String
The Azure API version of the resource.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of the resource
principalName String
The principal name
provisioningState String
The provisioned state of the resource.
tenantName String
The tenant name of the principal
type String
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
aadObjectId string
The service principal object id in AAD (Azure active directory)
azureApiVersion string
The Azure API version of the resource.
id string
The provider-assigned unique ID for this managed resource.
name string
The name of the resource
principalName string
The principal name
provisioningState string
The provisioned state of the resource.
tenantName string
The tenant name of the principal
type string
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
aad_object_id str
The service principal object id in AAD (Azure active directory)
azure_api_version str
The Azure API version of the resource.
id str
The provider-assigned unique ID for this managed resource.
name str
The name of the resource
principal_name str
The principal name
provisioning_state str
The provisioned state of the resource.
tenant_name str
The tenant name of the principal
type str
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
aadObjectId String
The service principal object id in AAD (Azure active directory)
azureApiVersion String
The Azure API version of the resource.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of the resource
principalName String
The principal name
provisioningState String
The provisioned state of the resource.
tenantName String
The tenant name of the principal
type String
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Supporting Types

ClusterPrincipalRole
, ClusterPrincipalRoleArgs

AllDatabasesAdmin
AllDatabasesAdmin
AllDatabasesViewer
AllDatabasesViewer
AllDatabasesMonitor
AllDatabasesMonitor
ClusterPrincipalRoleAllDatabasesAdmin
AllDatabasesAdmin
ClusterPrincipalRoleAllDatabasesViewer
AllDatabasesViewer
ClusterPrincipalRoleAllDatabasesMonitor
AllDatabasesMonitor
AllDatabasesAdmin
AllDatabasesAdmin
AllDatabasesViewer
AllDatabasesViewer
AllDatabasesMonitor
AllDatabasesMonitor
AllDatabasesAdmin
AllDatabasesAdmin
AllDatabasesViewer
AllDatabasesViewer
AllDatabasesMonitor
AllDatabasesMonitor
ALL_DATABASES_ADMIN
AllDatabasesAdmin
ALL_DATABASES_VIEWER
AllDatabasesViewer
ALL_DATABASES_MONITOR
AllDatabasesMonitor
"AllDatabasesAdmin"
AllDatabasesAdmin
"AllDatabasesViewer"
AllDatabasesViewer
"AllDatabasesMonitor"
AllDatabasesMonitor

PrincipalType
, PrincipalTypeArgs

App
App
Group
Group
User
User
PrincipalTypeApp
App
PrincipalTypeGroup
Group
PrincipalTypeUser
User
App
App
Group
Group
User
User
App
App
Group
Group
User
User
APP
App
GROUP
Group
USER
User
"App"
App
"Group"
Group
"User"
User

Import

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

$ pulumi import azure-native:kusto:ClusterPrincipalAssignment kustoCluster/kustoprincipal1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName} 
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0