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) Asku
block 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) Anidentity
block 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 betrue
orfalse
, default isfalse
. -
purgeEnabled
- (Optional) Specifies if the purge operations are enabled. -
virtualNetworkConfiguration
- (Optional) AvirtualNetworkConfiguration
block as defined below. Changing this forces a new resource to be created. -
languageExtensions
- (Optional) An list oflanguageExtensions
to enable. Valid values are:python
andr
. -
optimizedAutoScale
- (Optional) AnoptimizedAutoScale
block 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 arev2
andv3
. 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
,standardE8DV5
andstandardE16DV5
.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
,userAssigned
andsystemAssigned,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 between0
and1000
. -
maximumInstances
- (Required) The maximum number of allowed instances. Must between0
and1000
.
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
- Anidentity
block 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.