main.logic_app.tf (103 lines of code) (raw):

resource "azurerm_logic_app_standard" "this" { count = var.kind == "logicapp" ? 1 : 0 app_service_plan_id = var.service_plan_resource_id location = var.location name = var.name resource_group_name = var.resource_group_name storage_account_access_key = var.storage_account_access_key storage_account_name = var.storage_account_name app_settings = var.app_settings bundle_version = var.bundle_version client_affinity_enabled = var.client_affinity_enabled client_certificate_mode = var.client_certificate_mode enabled = var.enabled # ftp_publish_basic_authentication_enabled = var.ftp_publish_basic_authentication_enabled https_only = var.https_only public_network_access = var.public_network_access_enabled == true ? "Enabled" : "Disabled" storage_account_share_name = var.storage_account_share_name # vnet_content_share_enabled = var.vnet_content_share_enabled tags = var.tags use_extension_bundle = var.use_extension_bundle version = var.logic_app_runtime_version virtual_network_subnet_id = var.virtual_network_subnet_id dynamic "connection_string" { for_each = var.connection_strings content { name = connection_string.value.name type = connection_string.value.type value = connection_string.value.value } } dynamic "identity" { for_each = local.managed_identities.system_assigned_user_assigned content { type = identity.value.type identity_ids = identity.value.user_assigned_resource_ids } } # scm_publish_basic_authentication_enabled = var.scm_publish_basic_authentication_enabled site_config { always_on = var.site_config.always_on app_scale_limit = var.site_config.app_scale_limit auto_swap_slot_name = var.site_config.auto_swap_slot_name dotnet_framework_version = var.site_config.dotnet_framework_version elastic_instance_minimum = var.site_config.elastic_instance_minimum ftps_state = var.site_config.ftps_state health_check_path = var.site_config.health_check_path http2_enabled = var.site_config.http2_enabled linux_fx_version = var.site_config.linux_fx_version min_tls_version = var.site_config.minimum_tls_version != "1.0" && var.site_config.minimum_tls_version != "1.1" ? "1.2" : var.site_config.minimum_tls_version # Does not yet support `1.3` pre_warmed_instance_count = var.site_config.pre_warmed_instance_count runtime_scale_monitoring_enabled = var.site_config.runtime_scale_monitoring_enabled scm_min_tls_version = var.site_config.scm_minimum_tls_version scm_type = var.site_config.scm_type scm_use_main_ip_restriction = var.site_config.scm_use_main_ip_restriction use_32_bit_worker_process = var.site_config.use_32_bit_worker vnet_route_all_enabled = var.site_config.vnet_route_all_enabled websockets_enabled = var.site_config.websockets_enabled dynamic "cors" { for_each = var.site_config.cors content { allowed_origins = cors.value.allowed_origins support_credentials = cors.value.support_credentials } } dynamic "ip_restriction" { for_each = var.site_config.ip_restriction content { action = ip_restriction.value.action ip_address = ip_restriction.value.ip_address name = ip_restriction.value.name priority = ip_restriction.value.priority service_tag = ip_restriction.value.service_tag virtual_network_subnet_id = ip_restriction.value.virtual_network_subnet_id dynamic "headers" { for_each = ip_restriction.value.headers content { x_azure_fdid = headers.value.x_azure_fdid x_fd_health_probe = headers.value.x_fd_health_probe x_forwarded_for = headers.value.x_forwarded_for x_forwarded_host = headers.value.x_forwarded_host } } } } dynamic "scm_ip_restriction" { # one or more scm_ip_restriction blocks for_each = var.site_config.scm_ip_restriction content { action = scm_ip_restriction.value.action ip_address = scm_ip_restriction.value.ip_address name = scm_ip_restriction.value.name priority = scm_ip_restriction.value.priority service_tag = scm_ip_restriction.value.service_tag virtual_network_subnet_id = scm_ip_restriction.value.virtual_network_subnet_id dynamic "headers" { for_each = scm_ip_restriction.value.headers content { x_azure_fdid = headers.value.x_azure_fdid x_fd_health_probe = headers.value.x_fd_health_probe x_forwarded_for = headers.value.x_forwarded_for x_forwarded_host = headers.value.x_forwarded_host } } } } } }