Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create 4 Function Apps
- resource "azurerm_linux_function_app" "function_app" {
- for_each = {for app in local.function_apps_env : app.name => app}
- name = each.key
- resource_group_name = azurerm_resource_group.resource_group.name
- location = azurerm_resource_group.resource_group.location
- service_plan_id = azurerm_service_plan.app_service_plan.id
- storage_account_name = azurerm_storage_account.storage_account.name
- storage_account_access_key = azurerm_storage_account.storage_account.primary_access_key
- app_settings = merge({
- FUNCTIONS_WORKER_RUNTIME = "dotnet-isolated"
- APPINSIGHTS_INSTRUMENTATIONKEY = azurerm_application_insights.app_insights.instrumentation_key
- }, {
- for setting in each.value.additional_app_settings : setting["name"] =>
- "@Microsoft.KeyVault(VaultName=${data.azurerm_key_vault.keyvault.name};SecretName=${setting["name"]})"
- })
- identity {
- type = "UserAssigned"
- identity_ids = [data.azurerm_user_assigned_identity.managed_identity.id]
- }
- key_vault_reference_identity_id = data.azurerm_user_assigned_identity.managed_identity.id
- site_config {}
- connection_string {
- name = azurerm_key_vault_secret.keyvault_secret_servicebus.name
- type = "Custom"
- value = "@Microsoft.KeyVault(VaultName=${data.azurerm_key_vault.keyvault.name};SecretName=${azurerm_key_vault_secret.keyvault_secret_servicebus.name})"
- }
- tags = local.tags
- dynamic "connection_string" {
- for_each = each.value.additional_conn
- content {
- name = connection_string.value["name"]
- type = connection_string.value["type"]
- value = "@Microsoft.KeyVault(VaultName=${data.azurerm_key_vault.keyvault.name};SecretName=${connection_string.value["name"]})"
- }
- }
- depends_on = [
- azurerm_key_vault_secret.keyvault_secret_servicebus,
- azurerm_servicebus_namespace.servicebus_namespace,
- azurerm_log_analytics_workspace.workspace,
- azurerm_application_insights.app_insights,
- azurerm_service_plan.app_service_plan,
- azurerm_resource_group.resource_group,
- azurerm_storage_account.storage_account
- ]
- }
Advertisement
Add Comment
Please, Sign In to add comment