最佳答案
我一定是非常愚蠢,但是我不知道如何在 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
< ——注意 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 ""
TF 中的 concat()
函数似乎用于列表而不是字符串。
正如标题所说: 在 Terraform 中如何进行简单的字符串连接?
我不敢相信我在问如何连接两个字符串在一起 XD
更新:
对于任何有类似问题的人,我暂时做了这个 太可怕了变通方法:
main_api_gw = "app.api.${var.env_name == "prod" ? "" : var.env_name}${var.env_name == "prod" ? "" : "."}mydomain.com"