Guest User

Untitled

a guest
Oct 28th, 2023
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. # Create 4 Function Apps
  2. resource "azurerm_linux_function_app" "function_app" {
  3. for_each = {for app in local.function_apps_env : app.name => app}
  4. name = each.key
  5. resource_group_name = azurerm_resource_group.resource_group.name
  6. location = azurerm_resource_group.resource_group.location
  7. service_plan_id = azurerm_service_plan.app_service_plan.id
  8. storage_account_name = azurerm_storage_account.storage_account.name
  9. storage_account_access_key = azurerm_storage_account.storage_account.primary_access_key
  10.  
  11. app_settings = merge({
  12. FUNCTIONS_WORKER_RUNTIME = "dotnet-isolated"
  13. APPINSIGHTS_INSTRUMENTATIONKEY = azurerm_application_insights.app_insights.instrumentation_key
  14. }, {
  15. for setting in each.value.additional_app_settings : setting["name"] =>
  16. "@Microsoft.KeyVault(VaultName=${data.azurerm_key_vault.keyvault.name};SecretName=${setting["name"]})"
  17. })
  18.  
  19. identity {
  20. type = "UserAssigned"
  21. identity_ids = [data.azurerm_user_assigned_identity.managed_identity.id]
  22. }
  23. key_vault_reference_identity_id = data.azurerm_user_assigned_identity.managed_identity.id
  24. site_config {}
  25.  
  26. connection_string {
  27. name = azurerm_key_vault_secret.keyvault_secret_servicebus.name
  28. type = "Custom"
  29. value = "@Microsoft.KeyVault(VaultName=${data.azurerm_key_vault.keyvault.name};SecretName=${azurerm_key_vault_secret.keyvault_secret_servicebus.name})"
  30. }
  31. tags = local.tags
  32.  
  33. dynamic "connection_string" {
  34. for_each = each.value.additional_conn
  35. content {
  36. name = connection_string.value["name"]
  37. type = connection_string.value["type"]
  38. value = "@Microsoft.KeyVault(VaultName=${data.azurerm_key_vault.keyvault.name};SecretName=${connection_string.value["name"]})"
  39. }
  40. }
  41.  
  42. depends_on = [
  43. azurerm_key_vault_secret.keyvault_secret_servicebus,
  44. azurerm_servicebus_namespace.servicebus_namespace,
  45. azurerm_log_analytics_workspace.workspace,
  46. azurerm_application_insights.app_insights,
  47. azurerm_service_plan.app_service_plan,
  48. azurerm_resource_group.resource_group,
  49. azurerm_storage_account.storage_account
  50. ]
  51. }
Advertisement
Add Comment
Please, Sign In to add comment