Azure HDInsight Kafka Cluster
This page shows how to write Terraform and Azure Resource Manager for HDInsight Kafka Cluster and write them securely.
azurerm_hdinsight_kafka_cluster (Terraform)
The Kafka Cluster in HDInsight can be configured in Terraform with the resource name azurerm_hdinsight_kafka_cluster. The following sections describe 5 examples of how to use the resource and its parameters.
Example Usage from GitHub
resource "azurerm_hdinsight_kafka_cluster" "standard" {
name = "example-hdicluster"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
cluster_version = "4.0"
tier = "Standard"
resource "azurerm_hdinsight_kafka_cluster" "standard" {
name = "example-hdicluster"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
cluster_version = "4.0"
tier = "Standard"
resource "azurerm_hdinsight_kafka_cluster" "this" {
cluster_version = var.cluster_version
location = var.location
name = var.name
resource_group_name = var.resource_group_name
tags = var.tags
resource "azurerm_hdinsight_kafka_cluster" "this" {
cluster_version = var.cluster_version
location = var.location
name = var.name
resource_group_name = var.resource_group_name
tags = var.tags
resource "azurerm_hdinsight_kafka_cluster" "this" {
name = var.name
resource_group_name = var.resource_group_name
location = var.location
cluster_version = var.cluster_version
tier = var.tier
Parameters
-
cluster_versionrequired - string -
https_endpointoptional computed - string -
idoptional computed - string -
kafka_rest_proxy_endpointoptional computed - string -
locationrequired - string -
namerequired - string -
resource_group_namerequired - string -
ssh_endpointoptional computed - string -
tagsoptional - map from string to string -
tierrequired - string -
tls_min_versionoptional - string -
component_versionlist block-
kafkarequired - string
-
-
gatewaylist block -
metastoreslist block-
ambarilist block-
database_namerequired - string -
passwordrequired - string -
serverrequired - string -
usernamerequired - string
-
-
hivelist block-
database_namerequired - string -
passwordrequired - string -
serverrequired - string -
usernamerequired - string
-
-
oozielist block-
database_namerequired - string -
passwordrequired - string -
serverrequired - string -
usernamerequired - string
-
-
-
monitorlist block-
log_analytics_workspace_idrequired - string -
primary_keyrequired - string
-
-
rest_proxylist block-
security_group_idrequired - string
-
-
roleslist block-
head_nodelist block -
kafka_management_nodelist block -
worker_nodelist block-
min_instance_countoptional computed - number -
number_of_disks_per_noderequired - number -
passwordoptional - string -
ssh_keysoptional - set of string -
subnet_idoptional - string -
target_instance_countrequired - number -
usernamerequired - string -
virtual_network_idoptional - string -
vm_sizerequired - string
-
-
zookeeper_nodelist block
-
-
storage_accountlist block-
is_defaultrequired - bool -
storage_account_keyrequired - string -
storage_container_idrequired - string
-
-
storage_account_gen2list block-
filesystem_idrequired - string -
is_defaultrequired - bool -
managed_identity_resource_idrequired - string -
storage_resource_idrequired - string
-
-
timeoutssingle block
Explanation in Terraform Registry
Manages a HDInsight Kafka Cluster.
Microsoft.HDInsight/clusters (Azure Resource Manager)
The clusters in Microsoft.HDInsight can be configured in Azure Resource Manager with the resource name Microsoft.HDInsight/clusters. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": { "key1": "val1" },
"properties": {
"clusterVersion": "3.5.1000.0",
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "Microsoft.HDInsight/clusters",
"location": "West US",
"etag": "f0212a39-b827-45e0-9ffa-4f5232e58851",
"tags": {
"key1": "val1"
},
Parameters
apiVersionrequired - stringidentityoptionaltypeoptional - stringThe type of identity used for the cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities.
userAssignedIdentitiesoptional - undefinedThe list of user identities associated with the cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
locationoptional - stringThe location of the cluster.
namerequired - stringThe name of the cluster.
propertiesrequiredclusterDefinitionoptionalblueprintoptional - stringThe link to the blueprint.
componentVersionoptional - stringThe versions of different services in the cluster.
configurationsoptional - objectThe cluster configurations.
kindoptional - stringThe type of cluster.
clusterVersionoptional - stringThe version of the cluster.
computeIsolationPropertiesoptionalenableComputeIsolationoptional - booleanThe flag indicates whether enable compute isolation or not.
hostSkuoptional - stringThe host sku.
computeProfileoptionalrolesoptional arrayautoscaleoptionalcapacityoptionalmaxInstanceCountoptional - integerThe maximum instance count of the cluster
minInstanceCountoptional - integerThe minimum instance count of the cluster
recurrenceoptionalscheduleoptional arraydaysoptional - arrayDays of the week for a schedule-based autoscale rule
timeAndCapacityoptionalmaxInstanceCountoptional - integerThe maximum instance count of the cluster
minInstanceCountoptional - integerThe minimum instance count of the cluster
timeoptional - string24-hour time in the form xx:xx
timeZoneoptional - stringThe time zone for the autoscale schedule times
dataDisksGroupsoptional arraydisksPerNodeoptional - integerThe number of disks per node.
encryptDataDisksoptional - booleanIndicates whether encrypt the data disks.
hardwareProfileoptionalvmSizeoptional - stringThe size of the VM
minInstanceCountoptional - integerThe minimum instance count of the cluster.
nameoptional - stringThe name of the role.
osProfileoptionallinuxOperatingSystemProfileoptionalpasswordoptional - stringThe password.
sshProfileoptionalpublicKeysoptional arraycertificateDataoptional - stringThe certificate for SSH.
usernameoptional - stringThe username.
scriptActionsoptional arraynamerequired - stringThe name of the script action.
parametersrequired - stringThe parameters for the script provided.
urirequired - stringThe URI to the script.
targetInstanceCountoptional - integerThe instance count of the cluster.
virtualNetworkProfileoptionalidoptional - stringThe ID of the virtual network.
subnetoptional - stringThe name of the subnet.
VMGroupNameoptional - stringThe name of the virtual machine group.
diskEncryptionPropertiesoptionalencryptionAlgorithmoptional - stringAlgorithm identifier for encryption, default RSA-OAEP.
encryptionAtHostoptional - booleanIndicates whether or not resource disk encryption is enabled.
keyNameoptional - stringKey name that is used for enabling disk encryption.
keyVersionoptional - stringSpecific key version that is used for enabling disk encryption.
msiResourceIdoptional - stringResource ID of Managed Identity that is used to access the key vault.
vaultUrioptional - stringBase key vault URI where the customers key is located eg. https://myvault.vault.azure.net
encryptionInTransitPropertiesoptionalisEncryptionInTransitEnabledoptional - booleanIndicates whether or not inter cluster node communication is encrypted in transit.
kafkaRestPropertiesoptionalclientGroupInfooptionalgroupIdoptional - stringThe AAD security group id.
groupNameoptional - stringThe AAD security group name.
configurationOverrideoptional - stringThe configurations that need to be overriden.
minSupportedTlsVersionoptional - stringThe minimal supported tls version.
networkPropertiesoptionalprivateLinkoptional - stringIndicates whether or not private link is enabled.
resourceProviderConnectionoptional - stringThe direction for the resource provider connection.
osTypeoptional - stringThe type of operating system.
privateLinkConfigurationsoptional arraynamerequired - stringThe name of private link configuration.
propertiesrequiredgroupIdrequired - stringThe HDInsight private linkable sub-resource name to apply the private link configuration to. For example, 'headnode', 'gateway', 'edgenode'.
ipConfigurationsrequired arraynamerequired - stringThe name of private link IP configuration.
propertiesoptionalprimaryoptional - booleanIndicates whether this IP configuration is primary for the corresponding NIC.
privateIPAddressoptional - stringThe IP address.
privateIPAllocationMethodoptional - stringThe method that private IP address is allocated.
subnetoptionalidoptional - stringThe azure resource id.
securityProfileoptionalaaddsResourceIdoptional - stringThe resource ID of the user's Azure Active Directory Domain Service.
clusterUsersGroupDNsoptional - arrayOptional. The Distinguished Names for cluster user groups
directoryTypeoptional - stringThe directory type.
domainoptional - stringThe organization's active directory domain.
domainUsernameoptional - stringThe domain user account that will have admin privileges on the cluster.
domainUserPasswordoptional - stringThe domain admin password.
ldapsUrlsoptional - arrayThe LDAPS protocol URLs to communicate with the Active Directory.
msiResourceIdoptional - stringUser assigned identity that has permissions to read and create cluster-related artifacts in the user's AADDS.
organizationalUnitDNoptional - stringThe organizational unit within the Active Directory to place the cluster and service accounts.
storageProfileoptionalstorageaccountsoptional arraycontaineroptional - stringThe container in the storage account, only to be specified for WASB storage accounts.
fileshareoptional - stringThe file share name.
fileSystemoptional - stringThe filesystem, only to be specified for Azure Data Lake Storage Gen 2.
isDefaultoptional - booleanWhether or not the storage account is the default storage account.
keyoptional - stringThe storage account access key.
msiResourceIdoptional - stringThe managed identity (MSI) that is allowed to access the storage account, only to be specified for Azure Data Lake Storage Gen 2.
nameoptional - stringThe name of the storage account.
resourceIdoptional - stringThe resource ID of storage account, only to be specified for Azure Data Lake Storage Gen 2.
saskeyoptional - stringThe shared access signature key.
tieroptional - stringThe cluster tier.
tagsoptional - stringThe resource tags.
typerequired - stringzonesoptional - arrayThe availability zones.
Frequently asked questions
What is Azure HDInsight Kafka Cluster?
Azure HDInsight Kafka Cluster is a resource for HDInsight of Microsoft Azure. Settings can be wrote in Terraform.
Where can I find the example code for the Azure HDInsight Kafka Cluster?
For Terraform, the gilyas/infracost, infracost/infracost and kevinhead/azurerm source code examples are useful. See the Terraform Example section for further details.
For Azure Resource Manager, the assing/alerts-extension, assing/alerts-extension and assing/alerts-extension source code examples are useful. See the Azure Resource Manager Example section for further details.