-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathfunction-app-service-bus.tf
More file actions
57 lines (48 loc) · 2.13 KB
/
function-app-service-bus.tf
File metadata and controls
57 lines (48 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
resource "azurerm_servicebus_namespace" "function_apps" {
for_each = {
for k, v in local.linux_function_apps : k => v if v["enable_service_bus"]
}
name = "${local.environment}${each.key}-function-app"
location = local.resource_group.location
resource_group_name = local.resource_group.name
sku = "Standard"
}
resource "azurerm_servicebus_namespace_authorization_rule" "function_apps" {
for_each = {
for k, v in local.linux_function_apps : k => v if v["enable_service_bus"]
}
name = "${local.environment}${each.key}-function-app"
namespace_id = azurerm_servicebus_namespace.function_apps[each.key].id
listen = true
send = true
manage = false
}
resource "azurerm_servicebus_topic" "function_apps" {
for_each = {
for k, v in local.linux_function_apps : k => v if v["enable_service_bus"]
}
name = "${local.environment}${each.key}-function-app"
namespace_id = azurerm_servicebus_namespace.function_apps[each.key].id
partitioning_enabled = false
max_size_in_megabytes = 1024
}
resource "azurerm_servicebus_subscription" "function_apps" {
for_each = {
for k, v in local.linux_function_apps : k => v if v["enable_service_bus"]
}
name = "${local.environment}${each.key}-function-app"
topic_id = azurerm_servicebus_topic.function_apps[each.key].id
max_delivery_count = 10
lock_duration = "PT1M"
dead_lettering_on_message_expiration = true
}
resource "azurerm_servicebus_subscription" "function_apps_additional" {
for_each = toset(flatten([
for k, v in local.linux_function_apps : formatlist("${k}_%s", v["service_bus_additional_subscriptions"]) if v["enable_service_bus"]
]))
name = "${local.environment}${each.key}-function-app"
topic_id = azurerm_servicebus_topic.function_apps[split("_", each.key)[0]].id
max_delivery_count = 10
lock_duration = "PT1M"
dead_lettering_on_message_expiration = true
}