» azurerm_kusto_cluster

Manages a Kusto (also known as Azure Data Explorer) Cluster

» Example Usage

resource "azurerm_resource_group" "rg" {
  name     = "my-kusto-cluster-rg"
  location = "East US"
}

resource "azurerm_kusto_cluster" "example" {
  name                = "kustocluster"
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name

  sku {
    name     = "Standard_D13_v2"
    capacity = 2
  }

  tags = {
    Environment = "Production"
  }
}

» Argument Reference

The following arguments are supported:

  • name - (Required) The name of the Kusto Cluster to create. Changing this forces a new resource to be created.

  • location - (Required) The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.

  • resource_group_name - (Required) Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.

  • sku - (Required) A sku block as defined below.

  • identity - (Optional) A identity block.

  • enable_disk_encryption - (Optional) Specifies if the cluster's disks are encrypted.

  • enable_streaming_ingest - (Optional) Specifies if the streaming ingest is enabled.

  • enable_purge - (Optional) Specifies if the purge operations are enabled.

  • virtual_network_configuration- (Optional) A virtual_network_configuration block as defined below.

  • language_extensions - (Optional) An list of language_extensions to enable. Valid values are: PYTHON and R.

  • optimized_auto_scale - (Optional) An optimized_auto_scale block as defined below.

  • tags - (Optional) A mapping of tags to assign to the resource.

  • trusted_external_tenants - (Optional) Specifies a list of tenant IDs that are trusted by the cluster.

  • zones - (Optional) A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource to be created.


A sku block supports the following:

  • name - (Required) The name of the SKU. Valid values are: Dev(No SLA)_Standard_D11_v2, Dev(No SLA)_Standard_E2a_v4, Standard_D11_v2, Standard_D12_v2, Standard_D13_v2, Standard_D14_v2, Standard_DS13_v2+1TB_PS, Standard_DS13_v2+2TB_PS, Standard_DS14_v2+3TB_PS, Standard_DS14_v2+4TB_PS, Standard_E16as_v4+3TB_PS, Standard_E16as_v4+4TB_PS, Standard_E16a_v4, Standard_E2a_v4, Standard_E4a_v4, Standard_E8as_v4+1TB_PS, Standard_E8as_v4+2TB_PS, Standard_E8a_v4, Standard_L16s, Standard_L4s and Standard_L8s

  • capacity - (Optional) Specifies the node count for the cluster. Boundaries depend on the sku name.


A virtual_network_configuration block supports the following:


An identity block supports the following:

  • type - (Required) Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: SystemAssigned (where Azure will generate a Service Principal for you).

  • principal_id - (Computed) Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Kusto Cluster.

  • tenant_id - (Computed) Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Kusto Cluster.

  • identity_ids - (Computed) The list of user identities associated with the Kusto cluster.


A optimized_auto_scale block supports the following:

  • minimum_instances - (Required) The minimum number of allowed instances. Must between 0 and 1000.

  • maximum_instances - (Required) The maximum number of allowed instances. Must between 0 and 1000.

» Attributes Reference

The following attributes are exported:

  • id - The Kusto Cluster ID.

  • uri - The FQDN of the Azure Kusto Cluster.

  • data_ingestion_uri - The Kusto Cluster URI to be used for data ingestion.

» Timeouts

The timeouts block allows you to specify timeouts for certain actions:

  • create - (Defaults to 60 minutes) Used when creating the Kusto Cluster.
  • update - (Defaults to 60 minutes) Used when updating the Kusto Cluster.
  • read - (Defaults to 5 minutes) Used when retrieving the Kusto Cluster.
  • delete - (Defaults to 60 minutes) Used when deleting the Kusto Cluster.

» Import

Kusto Clusters can be imported using the resource id, e.g.

terraform import azurerm_kusto_cluster.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/Clusters/cluster1