Azure Messaging Namespace

This page shows how to write Terraform and Azure Resource Manager for Messaging Namespace and write them securely.

azurerm_eventhub_namespace (Terraform)

The Namespace in Messaging can be configured in Terraform with the resource name azurerm_eventhub_namespace. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

event_hubs_namespace_test.tf#L11
resource "azurerm_eventhub_namespace" "basic" {
  name                = "acceptanceTestEventHubNamespace"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Basic"
}
event_hubs.tf#L1
resource "azurerm_eventhub_namespace" "example" {
  name                = var.event_hubs_namespace
  location            = azurerm_resource_group.policy-rg.location
  resource_group_name = azurerm_resource_group.policy-rg.name
  sku                 = "Standard"
  capacity            = 1
main.tf#L7
resource "azurerm_eventhub_namespace" "example" {
  sku                 = var.sku
  name                = var.name
  location            = var.location
  resource_group_name = var.resource_group_name

resource.tf#L1
resource "azurerm_eventhub_namespace" "eh_ns" {
  name                = var.res_eh_namespace_name
  location            = var.res_location
  resource_group_name = var.res_eh_rg_name
  sku                 = var.res_eh_ns_sku
  capacity            = var.res_eh_ns_capacity
event_hubs_namespace_test.tf#L11
resource "azurerm_eventhub_namespace" "basic" {
  name                = "acceptanceTestEventHubNamespace"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Basic"
}
eventhubs.tf#L1
resource "azurerm_eventhub_namespace" "raj-eventhub-namespace" {
  name                = "raj-oh-eventhub"
  location            = var.resource-group-location
  resource_group_name = var.resource-group-name
  sku                 = "Standard"
  capacity            = 2
eventhub_namespace.tf#L1
resource "azurerm_eventhub_namespace" "eventhub_namespace" {
  location            = var.location
  sku                 = var.sku_name
  name                = var.eventhub_namespace_name
  resource_group_name = var.resource_group_name
}
namespaces.tf#L1
resource "azurerm_eventhub_namespace" "example" {
  name                = "example-namespace"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Standard"
  capacity            = 2
main.tf#L6
resource "azurerm_eventhub_namespace" "example" {
  name                = var.eventhub_namespace_name
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = var.sku
  capacity            = 1
event_hub.tf#L3
resource "azurerm_eventhub_namespace" "evhubiotnmspace" {
  name                = var.event_hub_name_space
  resource_group_name = azurerm_resource_group.rg.name
  location            = var.location
  sku                 = "Basic"
}

Review your Terraform file for Azure best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Manages an EventHub Namespace.

Microsoft.EventHub/namespaces (Azure Resource Manager)

The namespaces in Microsoft.EventHub can be configured in Azure Resource Manager with the resource name Microsoft.EventHub/namespaces. The following sections describe how to use the resource and its parameters.

Example Usage from GitHub

policy.json
{
 "properties": {
  "displayName": "Apply diagnostic settings for Event Grid Topics - EventHub",
  "policyType": "Custom",
  "mode": "All",
CreateResourcesArm.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "sqlServerUsername": {
CreateResourcesArm.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "sqlServerUsername": {
CreateResourcesArm.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "sqlServerUsername": {
LocalPredictiveMaintenance.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "suiteName": {
azuredeploy.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
  "parameters": {
   "region": {
azuredeploy.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
  "parameters": {
   "region": {
LocalPredictiveMaintenance.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "suiteName": {
LocalPredictiveMaintenance.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "suiteName": {
azuredeploy.json
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
  "parameters": {
   "region": {

Parameters

  • apiVersion required - string
  • identity optional
      • type optional - string

        Type of managed service identity.

      • userAssignedIdentities optional - undefined

        Properties for User Assigned Identities

  • location optional - string

    Resource location.

  • name required - string

    The Namespace name

  • properties required
      • alternateName optional - string

        Alternate name specified when alias and namespace names are same.

      • clusterArmId optional - string

        Cluster ARM ID of the Namespace.

      • disableLocalAuth optional - boolean

        This property disables SAS authentication for the Event Hubs namespace.

      • encryption optional
          • keySource optional - string

            Enumerates the possible value of keySource for Encryption.

          • keyVaultProperties optional array
              • identity optional
                  • userAssignedIdentity optional - string

                    ARM ID of user Identity selected for encryption

              • keyName optional - string

                Name of the Key from KeyVault

              • keyVaultUri optional - string

                Uri of KeyVault

              • keyVersion optional - string

                Key Version

          • requireInfrastructureEncryption optional - boolean

            Enable Infrastructure Encryption (Double Encryption)

      • isAutoInflateEnabled optional - boolean

        Value that indicates whether AutoInflate is enabled for eventhub namespace.

      • kafkaEnabled optional - boolean

        Value that indicates whether Kafka is enabled for eventhub namespace.

      • maximumThroughputUnits optional - integer

        Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true)

      • privateEndpointConnections optional array
          • properties optional
              • privateEndpoint optional
                  • id optional - string

                    The ARM identifier for Private Endpoint.

              • privateLinkServiceConnectionState optional
                  • description optional - string

                    Description of the connection state.

                  • status optional - string

                    Status of the connection.

              • provisioningState optional - string

                Provisioning state of the Private Endpoint Connection.

      • zoneRedundant optional - boolean

        Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.

  • sku optional
      • capacity optional - integer

        The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units.

      • name required - string

        Name of this SKU.

      • tier optional - string

        The billing tier of this particular SKU.

  • tags optional - string

    Resource tags.

  • type required - string

Frequently asked questions

What is Azure Messaging Namespace?

Azure Messaging Namespace is a resource for Messaging of Microsoft Azure. Settings can be wrote in Terraform.

Where can I find the example code for the Azure Messaging Namespace?

For Terraform, the gilyas/infracost, timwebster9/azure-policy-logging and sujithq/fb-2021-09-10 source code examples are useful. See the Terraform Example section for further details.

For Azure Resource Manager, the TheCloudScout/AzurePolicyDefinitions, Azure/Azure-CloudIntelligence-SolutionAuthoringWorkspace and Azure/Azure-CloudIntelligence-SolutionAuthoringWorkspace source code examples are useful. See the Azure Resource Manager Example section for further details.