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

Terraform使用aws_ssm_parameter数据源时遇配置错误求助

Terraform使用aws_ssm_parameter数据源时遇配置错误求助

你好呀,我来帮你解决这个Terraform配置的小问题~

先理下你的场景:你想把存着IP段的AWS SSM StringList参数用到Terraform里,现在卡在了数据源配置的报错上,报错提示说不能手动设置type字段,这个问题其实很好解决!

错误原因

Terraform的aws_ssm_parameter数据源不需要手动指定type参数,这个字段是数据源在读取SSM参数时自动识别并填充的,你手动配置反而会触发冲突,这就是你看到那个错误提示的原因。

修正步骤

  1. 修改data.tf里的数据源配置:把多余的type = "StringList"删掉,只保留参数名称即可:
data "aws_ssm_parameter" "range_of_ips" {
  name = "range_of_ips"
}
  1. 修正locals.tf里的参数引用方式:你之前直接引用整个数据源对象是不对的,StringList类型的SSM参数,需要通过value属性来获取实际的IP列表(Terraform会自动把SSM的StringList转换成Terraform的列表类型):
locals {
  my_ip_ranges = data.aws_ssm_parameter.range_of_ips.value
}

额外验证小技巧

如果你想确认是否正确获取到了IP列表,可以在代码里加个输出测试:

output "ip_ranges" {
  value = local.my_ip_ranges
  type  = list(string)
}

执行terraform plan或者terraform apply后,就能在输出里看到解析后的IP段列表啦。

另外补充个小细节:你的SSM StringList参数值不需要加引号,直接用逗号分隔IP段就行(比如192.168.15.0/24,172.17.2.0/22),Terraform会自动处理成正确的列表格式。

备注:内容来源于stack exchange,提问作者IS-Labber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 10:43:09