【问题标题】:Terraform interpolation - convert string to listTerraform 插值 - 将字符串转换为列表
【发布时间】:2019-12-18 01:35:08
【问题描述】:

如何将字符串"foo, bar, xid, uid" 转换为列表["foo", "bar", "xid", "uid"]

我正在分配来自 Consul 的变量值,它是一个字符串

my_var = "foo, bar, xid, uid"

现在我想将my_var 转换为如下所示的列表:

my_list = ["foo", "bar", "xid", uid"]

我怎样才能做到这一点?我试图使用 formatlist 和 splat 运算符,但没有成功

my_list = ${formatlist(<put magic here>, var.my_var)

【问题讨论】:

    标签: terraform string-interpolation


    【解决方案1】:

    您可以在此处使用split function

    my_list = ${split(",", var.my_var)}
    

    【讨论】:

    • 如果您发现答案有用并且它完全解决了您的问题,您应该考虑 accepting the answer 向可能遇到相同问题的其他人展示。
    【解决方案2】:

    ydaetskcoR 的回答基本正确,但在 Terraform 0.12 语法发生了变化,拆分函数行应为:

    my_list = split(",", var.my_var)
    

    【讨论】:

    • 作为一个社区,我们可能想要思考一下我们如何处理由于 HCL2 而导致的纯语法更新。我不确定我们是否应该保持原样,或者我们是否应该遵循 Terraform 文档并将所有内容移至 HCL2,一旦他们认为 0.12 和 HCL2 采用足够完整以至于提供者文档都发生变化,则对现有帖子进行一系列编辑。我不认为使用 HCL2 语法复制每个 HCL1 帖子有很大的价值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    相关资源
    最近更新 更多