azurermKustoCluster
Manages a Kusto (also known as Azure Data Explorer) Cluster
Example Usage
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
const azurermResourceGroupExample = new azurerm.resourceGroup.ResourceGroup(
this,
"example",
{
location: "West Europe",
name: "my-kusto-cluster-rg",
}
);
const azurermKustoClusterExample = new azurerm.kustoCluster.KustoCluster(
this,
"example_1",
{
location: azurermResourceGroupExample.location,
name: "kustocluster",
resource_group_name: azurermResourceGroupExample.name,
sku: [
{
capacity: 2,
name: "Standard_D13_v2",
},
],
tags: {
Environment: "Production",
},
}
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermKustoClusterExample.overrideLogicalId("example");
Argument Reference
The following arguments are supported:
-
name- (Required) The name of the Kusto Cluster to create. Only lowercase Alphanumeric characters allowed, starting with a letter. 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. -
resourceGroupName- (Required) Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created. -
sku- (Required) Askublock as defined below. -
allowedFqdns- (Optional) List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster. -
allowedIpRanges- (Optional) The list of ips in the format of CIDR allowed to connect to the cluster. -
doubleEncryptionEnabled- (Optional) Is the cluster's double encryption enabled? Changing this forces a new resource to be created. -
identity- (Optional) Anidentityblock as defined below. -
autoStopEnabled- (Optional) Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults totrue. -
diskEncryptionEnabled- (Optional) Specifies if the cluster's disks are encrypted. -
streamingIngestionEnabled- (Optional) Specifies if the streaming ingest is enabled. -
publicIpType- (Optional) Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). -
publicNetworkAccessEnabled- (Optional) Is the public network access enabled? Defaults totrue. -
outboundNetworkAccessRestricted- (Optional) Whether to restrict outbound network access. Value is optional but if passed in, must betrueorfalse, default isfalse. -
purgeEnabled- (Optional) Specifies if the purge operations are enabled. -
virtualNetworkConfiguration- (Optional) AvirtualNetworkConfigurationblock as defined below. Changing this forces a new resource to be created. -
languageExtensions- (Optional) An list oflanguageExtensionsto enable. Valid values are:pythonandr. -
optimizedAutoScale- (Optional) AnoptimizedAutoScaleblock as defined below. -
tags- (Optional) A mapping of tags to assign to the resource. -
trustedExternalTenants- (Optional) Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. UsetrustedExternalTenants = ["*"]to explicitly allow all other tenants,trustedExternalTenants = ["myTenantOnly"]for only your tenant ortrustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]to allow specific other tenants.
\~> NOTE: In v3.0 of azurerm a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from trustedExternalTenants = ["myTenantOnly"] to trustedExternalTenants = [].
-
zones- (Optional) Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created. -
engine- (Optional). The engine type that will be used in the backend. Possible values arev2andv3. Defaults tov2. Changing this forces a new Kusto Cluster to be created.
\~> NOTE: In v400 and later version of the AzureRM Provider, default engine type will be changed to v3.
A sku block supports the following:
name- (Required) The name of the SKU. Valid values are:dev(noSla)StandardD11V2,dev(noSla)StandardE2AV4,standardD11V2,standardD12V2,standardD13V2,standardD14V2,standardD16DV5,standardD32DV4,standardD32DV5,standardDs13V2+1TbPs,standardDs13V2+2TbPs,standardDs14V2+3TbPs,standardDs14V2+4TbPs,standardE16AV4,standardE16AdsV5,standardE16AsV4+3TbPs,standardE16AsV4+4TbPs,standardE16AsV5+3TbPs,standardE16AsV5+4TbPs,standardE16SV4+3TbPs,standardE16SV4+4TbPs,standardE16SV5+3TbPs,standardE16SV5+4TbPs,standardE2AV4,standardE2AdsV5,standardE4AV4,standardE4AdsV5,standardE64IV3,standardE80IdsV4,standardE8AV4,standardE8AdsV5,standardE8AsV4+1TbPs,standardE8AsV4+2TbPs,standardE8AsV5+1TbPs,standardE8AsV5+2TbPs,standardE8SV4+1TbPs,standardE8SV4+2TbPs,standardE8SV5+1TbPs,standardE8SV5+2TbPs,standardL16S,standardL16SV2,standardL4S,standardL8S,standardL8SV2, "Standard_L8s_v3",standardL16SV3,standardL8AsV3,standardL16AsV3,standardEc8AsV5+1TbPs,standardEc8AsV5+2TbPs,standardEc16AsV5+3TbPs,standardEc16AsV5+4TbPs,standardEc8AdsV5,standardEc16AdsV5,standardE2DV4,standardE4DV4,standardE8DV4,standardE16DV4,standardE2DV5,standardE4DV5,standardE8DV5andstandardE16DV5.capacity- (Optional) Specifies the node count for the cluster. Boundaries depend on the SKU name.
\~> NOTE: If no optimizedAutoScale block is defined, then the capacity is required. \~> NOTE: If an optimizedAutoScale block is defined and no capacity is set, then the capacity is initially set to the value of minimumInstances.
A virtualNetworkConfiguration block supports the following:
-
subnetId- (Required) The subnet resource id. -
enginePublicIpId- (Required) Engine service's public IP address resource id. -
dataManagementPublicIpId- (Required) Data management's service public IP address resource id.
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,userAssignedandsystemAssigned,UserAssigned. -
identityIds- (Optional) Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
\~> NOTE: This is required when type is set to userAssigned or systemAssigned,UserAssigned.
A optimizedAutoScale block supports the following:
-
minimumInstances- (Required) The minimum number of allowed instances. Must between0and1000. -
maximumInstances- (Required) The maximum number of allowed instances. Must between0and1000.
Attributes Reference
The following attributes are exported:
-
id- The Kusto Cluster ID. -
uri- The FQDN of the Azure Kusto Cluster. -
dataIngestionUri- The Kusto Cluster URI to be used for data ingestion. -
identity- Anidentityblock as defined below.
An identity block exports the following:
-
principalId- The Principal ID associated with this System Assigned Managed Service Identity. -
tenantId- The Tenant ID associated with this System Assigned Managed Service Identity.
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 resourceId, e.g.