This Terraform module creates an Azure Service Bus.
Module version | Terraform version | AzureRM version |
---|---|---|
>= 5.x.x | 0.15.x & 1.0.x | >= 2.0 |
>= 4.x.x | 0.13.x | >= 2.0 |
>= 3.x.x | 0.12.x | >= 2.0 |
>= 2.x.x | 0.12.x | < 2.0 |
< 2.x.x | 0.11.x | < 2.0 |
This module is optimized to work with the Claranet terraform-wrapper tool
which set some terraform variables in the environment needed by this module.
More details about variables set by the terraform-wrapper
available in the documentation.
You can use this module by including it this way:
module "azure-region" {
source = "claranet/regions/azurerm"
version = "x.x.x"
azure_region = var.azure_region
}
module "rg" {
source = "claranet/rg/azurerm"
version = "x.x.x"
location = module.azure-region.location
client_name = var.client_name
environment = var.environment
stack = var.stack
}
module "servicebus" {
source = "claranet/service-bus/azurerm"
version = "x.x.x"
location = module.azure-region.location
location_short = module.azure-region.location_short
client_name = var.client_name
environment = var.environment
stack = var.stack
resource_group_name = module.rg.resource_group_name
servicebus_namespaces_queues = {
# You can just create a servicebus_namespace
servicebus0 = {}
# Or create a servicebus_namespace with some queues with default values
servicebus1 = {
queues = {
queue1 = {}
queue2 = {}
}
}
# Or customize everything
servicebus2 = {
custom_name = format("%s-%s-%s-custom", var.stack, var.client_name, module.azure-region.location_short)
sku = "Premium"
capacity = 2
queues = {
queue100 = {
reader = true
sender = true
manage = true
}
queue200 = {
dead_lettering_on_message_expiration = true
default_message_ttl = "PT10M"
reader = true
}
queue300 = {
duplicate_detection_history_time_window = "PT30M"
sender = true
}
queue400 = {
requires_duplicate_detection = true
manage = true
}
}
}
}
}
Name | Version |
---|---|
azurerm | >= 1.32 |
No modules.
Name | Type |
---|---|
azurerm_servicebus_namespace.servicebus_namespace | resource |
azurerm_servicebus_queue.queue | resource |
azurerm_servicebus_queue_authorization_rule.manage | resource |
azurerm_servicebus_queue_authorization_rule.reader | resource |
azurerm_servicebus_queue_authorization_rule.sender | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
client_name | Client name/account used in naming | string |
n/a | yes |
environment | Project environment | string |
n/a | yes |
extra_tags | Extra tags to add | map(string) |
{} |
no |
location | Azure location for Servicebus. | string |
n/a | yes |
location_short | Short string for Azure location. | string |
n/a | yes |
resource_group_name | Name of the resource group | string |
n/a | yes |
servicebus_namespaces_queues | Map to handle Servicebus creation. It supports the creation of the queues, authorization_rule associated with each namespace you create | any |
n/a | yes |
stack | Project stack name | string |
n/a | yes |
Name | Description |
---|---|
manages | Service Bus "managers" authorization rules map |
namespaces | Service Bus namespaces map |
queues | Service Bus queues map |
readers | Service Bus "readers" authorization rules map |
senders | Service Bus "sender" authorization rules map |
Microsoft Azure documentation: docs.microsoft.com/en-us/azure/service-bus/