Clusters - Create Or Update
Create or update a Kusto cluster.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}?api-version=2023-08-15
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
cluster
|
path | True |
string |
The name of the Kusto cluster. Regex pattern: |
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string |
The ID of the target subscription. |
api-version
|
query | True |
string |
The API version to use for this operation. |
Request Header
Name | Required | Type | Description |
---|---|---|---|
If-Match |
string |
The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes. |
|
If-None-Match |
string |
Set to '*' to allow a new cluster to be created, but to prevent updating an existing cluster. Other values will result in a 412 Pre-condition Failed response. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
location | True |
string |
The geo-location where the resource lives |
sku | True |
The SKU of the cluster. |
|
identity |
The identity of the cluster, if configured. |
||
properties.acceptedAudiences |
The cluster's accepted audiences. |
||
properties.allowedFqdnList |
string[] |
List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster. |
|
properties.allowedIpRangeList |
string[] |
The list of ips in the format of CIDR allowed to connect to the cluster. |
|
properties.enableAutoStop |
boolean |
A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no activity for many days). |
|
properties.enableDiskEncryption |
boolean |
A boolean value that indicates if the cluster's disks are encrypted. |
|
properties.enableDoubleEncryption |
boolean |
A boolean value that indicates if double encryption is enabled. |
|
properties.enablePurge |
boolean |
A boolean value that indicates if the purge operations are enabled. |
|
properties.enableStreamingIngest |
boolean |
A boolean value that indicates if the streaming ingest is enabled. |
|
properties.engineType |
The engine type |
||
properties.keyVaultProperties |
KeyVault properties for the cluster encryption. |
||
properties.languageExtensions |
List of the cluster's language extensions. |
||
properties.optimizedAutoscale |
Optimized auto scale definition. |
||
properties.publicIPType |
Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6) |
||
properties.publicNetworkAccess |
Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed |
||
properties.restrictOutboundNetworkAccess |
Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled' |
||
properties.trustedExternalTenants |
The cluster's external tenants. |
||
properties.virtualClusterGraduationProperties |
string |
Virtual Cluster graduation properties |
|
properties.virtualNetworkConfiguration |
Virtual network definition. |
||
tags |
object |
Resource tags. |
|
zones |
string[] |
The availability zones of the cluster. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
Successfully updated the Cluster. |
|
201 Created |
Successfully created the cluster. |
|
Other Status Codes |
Error response describing why the operation failed. |
Examples
KustoClustersCreateOrUpdate
Sample request
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/kustoCluster?api-version=2023-08-15
{
"location": "westus",
"sku": {
"name": "Standard_L16as_v3",
"capacity": 2,
"tier": "Standard"
},
"identity": {
"type": "SystemAssigned"
},
"properties": {
"enableStreamingIngest": true,
"enablePurge": true,
"enableDoubleEncryption": false,
"enableAutoStop": true,
"publicIPType": "DualStack",
"publicNetworkAccess": "Enabled",
"allowedIpRangeList": [
"0.0.0.0/0"
],
"languageExtensions": {
"value": [
{
"languageExtensionName": "PYTHON",
"languageExtensionImageName": "Python3_10_8"
},
{
"languageExtensionName": "R",
"languageExtensionImageName": "R"
}
]
}
}
}
Sample response
{
"id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster",
"name": "kustoCluster",
"type": "Microsoft.Kusto/Clusters",
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"enableDiskEncryption": false,
"enableStreamingIngest": true,
"enablePurge": true,
"enableDoubleEncryption": false,
"enableAutoStop": true,
"publicIPType": "DualStack",
"keyVaultProperties": {
"keyVaultUri": "https://dummy.keyvault.com",
"keyName": "keyName",
"keyVersion": "keyVersion"
},
"engineType": "V3",
"publicNetworkAccess": "Enabled",
"restrictOutboundNetworkAccess": "Disabled",
"allowedIpRangeList": [
"0.0.0.0/0"
],
"languageExtensions": {
"value": [
{
"languageExtensionName": "PYTHON",
"languageExtensionImageName": "Python3_10_8"
},
{
"languageExtensionName": "R",
"languageExtensionImageName": "R"
}
]
}
},
"sku": {
"name": "Standard_L16as_v3",
"capacity": 2,
"tier": "Standard"
},
"identity": {
"type": "SystemAssigned",
"tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
"principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
"userAssignedIdentities": {}
},
"etag": "abcd"
}
{
"id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster",
"name": "kustoCluster",
"type": "Microsoft.Kusto/Clusters",
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"enableDiskEncryption": false,
"enableStreamingIngest": true,
"enablePurge": true,
"enableDoubleEncryption": false,
"enableAutoStop": true,
"publicIPType": "DualStack",
"keyVaultProperties": {
"keyVaultUri": "https://dummy.keyvault.com",
"keyName": "keyName",
"keyVersion": "keyVersion"
},
"engineType": "V3",
"publicNetworkAccess": "Enabled",
"restrictOutboundNetworkAccess": "Disabled",
"allowedIpRangeList": [
"0.0.0.0/0"
],
"languageExtensions": {
"value": [
{
"languageExtensionName": "PYTHON",
"languageExtensionImageName": "Python3_10_8"
},
{
"languageExtensionName": "R",
"languageExtensionImageName": "R"
}
]
}
},
"sku": {
"name": "Standard_L16as_v3",
"capacity": 2,
"tier": "Standard"
},
"identity": {
"type": "SystemAssigned",
"tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
"principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
"userAssignedIdentities": {}
},
"etag": "abcd123"
}
Definitions
Name | Description |
---|---|
Accepted |
Represents an accepted audience trusted by the cluster. |
Azure |
Azure SKU definition. |
Azure |
SKU name. |
Azure |
SKU tier. |
Cluster |
Class representing a Kusto cluster. |
Cluster |
Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled' |
created |
The type of identity that created the resource. |
Engine |
The engine type |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Identity |
Identity for the resource. |
Identity |
The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities. |
Key |
Properties of the key vault. |
Language |
The language extension object. |
language |
The language extension image name. |
language |
The language extension name. |
Language |
The list of language extension objects. |
Migration |
Represents a properties of a cluster that is part of a migration. |
Migration |
The role of the cluster in the migration process. |
Optimized |
A class that contains the optimized auto scale definition. |
Private |
A private endpoint connection |
Private |
Private endpoint which the connection belongs to. |
Private |
Connection State of the Private Endpoint Connection. |
Provisioning |
The provisioned state of the resource. |
public |
Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6) |
Public |
Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed |
State |
The state of the resource. |
system |
Metadata pertaining to creation and last modification of the resource. |
Trusted |
Represents a tenant ID that is trusted by the cluster. |
User |
The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
Virtual |
A class that contains virtual network definition. |
Vnet |
When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the subnet. |
AcceptedAudiences
Represents an accepted audience trusted by the cluster.
Name | Type | Description |
---|---|---|
value |
string |
GUID or valid URL representing an accepted audience. |
AzureSku
Azure SKU definition.
Name | Type | Description |
---|---|---|
capacity |
integer |
The number of instances of the cluster. |
name |
SKU name. |
|
tier |
SKU tier. |
AzureSkuName
SKU name.
Name | Type | Description |
---|---|---|
Dev(No SLA)_Standard_D11_v2 |
string |
|
Dev(No SLA)_Standard_E2a_v4 |
string |
|
Standard_D11_v2 |
string |
|
Standard_D12_v2 |
string |
|
Standard_D13_v2 |
string |
|
Standard_D14_v2 |
string |
|
Standard_D16d_v5 |
string |
|
Standard_D32d_v4 |
string |
|
Standard_D32d_v5 |
string |
|
Standard_DS13_v2+1TB_PS |
string |
|
Standard_DS13_v2+2TB_PS |
string |
|
Standard_DS14_v2+3TB_PS |
string |
|
Standard_DS14_v2+4TB_PS |
string |
|
Standard_E16a_v4 |
string |
|
Standard_E16ads_v5 |
string |
|
Standard_E16as_v4+3TB_PS |
string |
|
Standard_E16as_v4+4TB_PS |
string |
|
Standard_E16as_v5+3TB_PS |
string |
|
Standard_E16as_v5+4TB_PS |
string |
|
Standard_E16d_v4 |
string |
|
Standard_E16d_v5 |
string |
|
Standard_E16s_v4+3TB_PS |
string |
|
Standard_E16s_v4+4TB_PS |
string |
|
Standard_E16s_v5+3TB_PS |
string |
|
Standard_E16s_v5+4TB_PS |
string |
|
Standard_E2a_v4 |
string |
|
Standard_E2ads_v5 |
string |
|
Standard_E2d_v4 |
string |
|
Standard_E2d_v5 |
string |
|
Standard_E4a_v4 |
string |
|
Standard_E4ads_v5 |
string |
|
Standard_E4d_v4 |
string |
|
Standard_E4d_v5 |
string |
|
Standard_E64i_v3 |
string |
|
Standard_E80ids_v4 |
string |
|
Standard_E8a_v4 |
string |
|
Standard_E8ads_v5 |
string |
|
Standard_E8as_v4+1TB_PS |
string |
|
Standard_E8as_v4+2TB_PS |
string |
|
Standard_E8as_v5+1TB_PS |
string |
|
Standard_E8as_v5+2TB_PS |
string |
|
Standard_E8d_v4 |
string |
|
Standard_E8d_v5 |
string |
|
Standard_E8s_v4+1TB_PS |
string |
|
Standard_E8s_v4+2TB_PS |
string |
|
Standard_E8s_v5+1TB_PS |
string |
|
Standard_E8s_v5+2TB_PS |
string |
|
Standard_EC16ads_v5 |
string |
|
Standard_EC16as_v5+3TB_PS |
string |
|
Standard_EC16as_v5+4TB_PS |
string |
|
Standard_EC8ads_v5 |
string |
|
Standard_EC8as_v5+1TB_PS |
string |
|
Standard_EC8as_v5+2TB_PS |
string |
|
Standard_L16as_v3 |
string |
|
Standard_L16s |
string |
|
Standard_L16s_v2 |
string |
|
Standard_L16s_v3 |
string |
|
Standard_L32as_v3 |
string |
|
Standard_L32s_v3 |
string |
|
Standard_L4s |
string |
|
Standard_L8as_v3 |
string |
|
Standard_L8s |
string |
|
Standard_L8s_v2 |
string |
|
Standard_L8s_v3 |
string |
AzureSkuTier
SKU tier.
Name | Type | Description |
---|---|---|
Basic |
string |
|
Standard |
string |
Cluster
Class representing a Kusto cluster.
Name | Type | Default value | Description |
---|---|---|---|
etag |
string |
A unique read-only string that changes whenever the resource is updated. |
|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
|
identity |
The identity of the cluster, if configured. |
||
location |
string |
The geo-location where the resource lives |
|
name |
string |
The name of the resource |
|
properties.acceptedAudiences |
The cluster's accepted audiences. |
||
properties.allowedFqdnList |
string[] |
List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster. |
|
properties.allowedIpRangeList |
string[] |
The list of ips in the format of CIDR allowed to connect to the cluster. |
|
properties.dataIngestionUri |
string |
The cluster data ingestion URI. |
|
properties.enableAutoStop |
boolean |
True |
A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no activity for many days). |
properties.enableDiskEncryption |
boolean |
False |
A boolean value that indicates if the cluster's disks are encrypted. |
properties.enableDoubleEncryption |
boolean |
False |
A boolean value that indicates if double encryption is enabled. |
properties.enablePurge |
boolean |
False |
A boolean value that indicates if the purge operations are enabled. |
properties.enableStreamingIngest |
boolean |
False |
A boolean value that indicates if the streaming ingest is enabled. |
properties.engineType | V3 |
The engine type |
|
properties.keyVaultProperties |
KeyVault properties for the cluster encryption. |
||
properties.languageExtensions |
List of the cluster's language extensions. |
||
properties.migrationCluster |
Properties of the peer cluster involved in a migration to/from this cluster. |
||
properties.optimizedAutoscale |
Optimized auto scale definition. |
||
properties.privateEndpointConnections |
A list of private endpoint connections. |
||
properties.provisioningState |
The provisioned state of the resource. |
||
properties.publicIPType | IPv4 |
Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6) |
|
properties.publicNetworkAccess | Enabled |
Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed |
|
properties.restrictOutboundNetworkAccess | Disabled |
Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled' |
|
properties.state |
The state of the resource. |
||
properties.stateReason |
string |
The reason for the cluster's current state. |
|
properties.trustedExternalTenants |
The cluster's external tenants. |
||
properties.uri |
string |
The cluster URI. |
|
properties.virtualClusterGraduationProperties |
string |
Virtual Cluster graduation properties |
|
properties.virtualNetworkConfiguration |
Virtual network definition. |
||
sku |
The SKU of the cluster. |
||
systemData |
Metadata pertaining to creation and last modification of the resource. |
||
tags |
object |
Resource tags. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
|
zones |
string[] |
The availability zones of the cluster. |
ClusterNetworkAccessFlag
Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
createdByType
The type of identity that created the resource.
Name | Type | Description |
---|---|---|
Application |
string |
|
Key |
string |
|
ManagedIdentity |
string |
|
User |
string |
EngineType
The engine type
Name | Type | Description |
---|---|---|
V2 |
string |
|
V3 |
string |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
Identity
Identity for the resource.
Name | Type | Description |
---|---|---|
principalId |
string |
The principal ID of resource identity. |
tenantId |
string |
The tenant ID of resource. |
type |
The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities. |
|
userAssignedIdentities |
The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
IdentityType
The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities.
Name | Type | Description |
---|---|---|
None |
string |
|
SystemAssigned |
string |
|
SystemAssigned, UserAssigned |
string |
|
UserAssigned |
string |
KeyVaultProperties
Properties of the key vault.
Name | Type | Description |
---|---|---|
keyName |
string |
The name of the key vault key. |
keyVaultUri |
string |
The Uri of the key vault. |
keyVersion |
string |
The version of the key vault key. |
userIdentity |
string |
The user assigned identity (ARM resource id) that has access to the key. |
LanguageExtension
The language extension object.
Name | Type | Description |
---|---|---|
languageExtensionCustomImageName |
string |
The language extension custom image name. |
languageExtensionImageName |
The language extension image name. |
|
languageExtensionName |
The language extension name. |
languageExtensionImageName
The language extension image name.
Name | Type | Description |
---|---|---|
Python3_10_8 |
string |
|
Python3_10_8_DL |
string |
|
Python3_6_5 |
string |
|
PythonCustomImage |
string |
|
R |
string |
languageExtensionName
The language extension name.
Name | Type | Description |
---|---|---|
PYTHON |
string |
|
R |
string |
LanguageExtensionsList
The list of language extension objects.
Name | Type | Description |
---|---|---|
value |
The list of language extensions. |
MigrationClusterProperties
Represents a properties of a cluster that is part of a migration.
Name | Type | Description |
---|---|---|
dataIngestionUri |
string |
The public data ingestion URL of the cluster. |
id |
string |
The resource ID of the cluster. |
role |
The role of the cluster in the migration process. |
|
uri |
string |
The public URL of the cluster. |
MigrationClusterRole
The role of the cluster in the migration process.
Name | Type | Description |
---|---|---|
Destination |
string |
|
Source |
string |
OptimizedAutoscale
A class that contains the optimized auto scale definition.
Name | Type | Description |
---|---|---|
isEnabled |
boolean |
A boolean value that indicate if the optimized autoscale feature is enabled or not. |
maximum |
integer |
Maximum allowed instances count. |
minimum |
integer |
Minimum allowed instances count. |
version |
integer |
The version of the template defined, for instance 1. |
PrivateEndpointConnection
A private endpoint connection
Name | Type | Description |
---|---|---|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
name |
string |
The name of the resource |
properties.groupId |
string |
Group id of the private endpoint. |
properties.privateEndpoint |
Private endpoint which the connection belongs to. |
|
properties.privateLinkServiceConnectionState |
Connection State of the Private Endpoint Connection. |
|
properties.provisioningState |
string |
Provisioning state of the private endpoint. |
systemData |
Metadata pertaining to creation and last modification of the resource. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
PrivateEndpointProperty
Private endpoint which the connection belongs to.
Name | Type | Description |
---|---|---|
id |
string |
Resource id of the private endpoint. |
PrivateLinkServiceConnectionStateProperty
Connection State of the Private Endpoint Connection.
Name | Type | Description |
---|---|---|
actionsRequired |
string |
Any action that is required beyond basic workflow (approve/ reject/ disconnect) |
description |
string |
The private link service connection description. |
status |
string |
The private link service connection status. |
ProvisioningState
The provisioned state of the resource.
Name | Type | Description |
---|---|---|
Canceled |
string |
|
Creating |
string |
|
Deleting |
string |
|
Failed |
string |
|
Moving |
string |
|
Running |
string |
|
Succeeded |
string |
publicIPType
Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)
Name | Type | Description |
---|---|---|
DualStack |
string |
|
IPv4 |
string |
PublicNetworkAccess
Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
State
The state of the resource.
Name | Type | Description |
---|---|---|
Creating |
string |
|
Deleted |
string |
|
Deleting |
string |
|
Migrated |
string |
|
Running |
string |
|
Starting |
string |
|
Stopped |
string |
|
Stopping |
string |
|
Unavailable |
string |
|
Updating |
string |
systemData
Metadata pertaining to creation and last modification of the resource.
Name | Type | Description |
---|---|---|
createdAt |
string |
The timestamp of resource creation (UTC). |
createdBy |
string |
The identity that created the resource. |
createdByType |
The type of identity that created the resource. |
|
lastModifiedAt |
string |
The timestamp of resource last modification (UTC) |
lastModifiedBy |
string |
The identity that last modified the resource. |
lastModifiedByType |
The type of identity that last modified the resource. |
TrustedExternalTenant
Represents a tenant ID that is trusted by the cluster.
Name | Type | Description |
---|---|---|
value |
string |
GUID representing an external tenant. |
UserAssignedIdentities
The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Name | Type | Description |
---|---|---|
|
VirtualNetworkConfiguration
A class that contains virtual network definition.
Name | Type | Default value | Description |
---|---|---|---|
dataManagementPublicIpId |
string |
Data management's service public IP address resource id. |
|
enginePublicIpId |
string |
Engine service's public IP address resource id. |
|
state | Enabled |
When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the subnet. |
|
subnetId |
string |
The subnet resource id. |
VnetState
When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the subnet.
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |