You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform将列表变量赋值给SSM StringList参数时遇报错

解决Terraform给SSM StringList参数赋值的报错问题

要解决这个错误,核心是理解AWS SSM的StringList类型参数在Terraform中的要求:它本质上需要的是逗号分隔的字符串,而非Terraform原生的list类型。你需要用join()函数把list变量转换成符合要求的格式。

修改后的配置代码

resource "aws_ssm_parameter" "customer_list_stg" {
  name  = "/corp/stg/customer_list"
  type  = "StringList"
  value = join(",", var.customer_list) # 将list转为逗号分隔的字符串

  tags = {
    environment = var.environment
  }
}

为什么之前的方法无效?

  • tostring():会把整个list转成带方括号的字符串(比如"[sar, smi, heath,...]"),不符合SSM StringList的纯逗号分隔格式。
  • jsonencode():会生成JSON数组格式的字符串(比如"[\"sar\",\"smi\",...]"),同样不符合要求。
  • flatten():用于处理嵌套的list结构,你的变量是一维list,所以这个函数起不到作用。

内容的提问来源于stack exchange,提问作者Jeff Pavia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 00:05:18