Я, должно быть, невероятно глуп, но не могу понять, как сделать простое объединение строк в Terraform.
У меня есть следующие данные null_data_source
:
data "null_data_source" "api_gw_url" {
inputs = {
main_api_gw = "app.api.${var.env_name == "prod" ? "" : var.env_name}mydomain.com"
}
}
Итаккогда env_name="prod"
я хочу вывод app.api.mydomain.com
и для чего-то еще - скажем, env_name="staging"
я хочу app.api.staging.mydomain.com
.
Но вышеприведенный вывод выдаст app.api.stagingmydomain.com
<- заметить пропущенную точку после <code>staging.
Я попытался констатировать "."если env_name было не «prod», а ошибками Terraform:
data "null_data_source" "api_gw_url" {
inputs = {
main_api_gw = "app.api.${var.env_name == "prod" ? "" : var.env_name + "."}mydomain.com"
}
}
Ошибка __builtin_StringToInt: strconv.ParseInt: parsing ""
Функция concat()
в TF выглядит так:для списков, а не для строк.
Так как в заголовке написано: Как вы делаете простую конкатенацию строк в Terraform?
Не могу поверить, я спрашиваю, какconcat 2 строки вместе XD
Обновление:
Для тех, у кого есть похожая проблема, я сделал этот ужасающий временное решение:
main_api_gw = "app.api.${var.env_name == "prod" ? "" : var.env_name}${var.env_name == "prod" ? "" : "."}mydomain.com"