modules/container-app-job/locals.tf (73 lines of code) (raw):

locals { job_container_name = var.job_container_name == null ? "caj-${var.postfix}" : var.job_container_name job_name = var.job_name == null ? "caj-${var.postfix}" : var.job_name placeholder_container_name = var.placeholder_container_name == null ? "${local.job_container_name}-ph" : var.placeholder_container_name placeholder_job_name = var.placeholder_job_name == null ? "${local.job_name}-ph" : var.placeholder_job_name } locals { environment_variables = [for env in var.environment_variables : { name = env.name value = env.value } if env.value != null && env.value != null] final_environment_variables = concat(local.environment_variables, local.secret_environment_variables) placeholder_environment_variables = [for env in var.environment_variables_placeholder : { name = env.name value = env.value } if env.value != null && env.value != null] secret_environment_variables = [for env in var.sensitive_environment_variables : { name = env.name secretRef = env.container_app_secret_name } if env.value != null && env.value != null] secrets = concat([for env in var.sensitive_environment_variables : { name = env.container_app_secret_name value = env.value } if env.value != null && env.value != null], var.registry_password == null ? [] : [{ name = "registry-password" value = var.registry_password }]) } locals { container_job = { name = local.job_container_name image = "${var.registry_login_server}/${var.container_image_name}" resources = { cpu = var.container_cpu memory = var.container_memory } env = local.final_environment_variables } container_placeholder = { name = local.placeholder_container_name image = "${var.registry_login_server}/${var.container_image_name}" resources = { cpu = var.container_cpu memory = var.container_memory } env = concat(local.final_environment_variables, local.placeholder_environment_variables) } container_registies = var.registry_password == null ? [ { server = var.registry_login_server identity = var.user_assigned_managed_identity_id } ] : [ { server = var.registry_login_server username = var.registry_username passwordSecretRef = "registry-password" } ] } locals { keda_auth = [for env in var.sensitive_environment_variables : { secretRef = env.container_app_secret_name triggerParameter = env.keda_auth_name } if env.keda_auth_name != null] keda_rule = { name = var.keda_rule_type type = var.keda_rule_type metadata = var.keda_meta_data auth = local.keda_auth } }