Я использую Terraform v0.14.4 с GCP. У меня есть служба Cloud Run, которой нельзя управлять с помощью Terraform (она может существовать или нет), и я хочу прочитать ее URL-адрес.
Если служба существует, это работает нормально:
data "google_cloud_run_service" "myservice" {
name = "myservice"
location = "us-central1"
}
output "myservice" {
value = data.google_cloud_run_service.myservice.status[0].url
}
Но если его нет, я не могу заставить его работать !. Что я пробовал:
data.google_cloud_run_service.myservice.*.status[*].url
статус равен нулю
length(data.google_cloud_run_service.myservice) > 0 ? data.google_cloud_run_service.myservice.*.status[0].url : ""
Пробовал с
join("", data.google_cloud_run_service.myservice.*.status)
Я получаю эту ошибку:
data.google_cloud_run_service.myservice is object with 9 attributes
coalescelist(data.google_cloud_run_service.myservice.*.status, <...>)
Он просто возвращает [null], а использование
compact
вместо результата дает мнеInvalid value for "list" parameter: element 0: string required.
Любые идеи?