如何用Terraform以键值对形式获取SSM参数存储的全部数据?
一次性获取SSM参数存储全部参数并转为键值对
你可以使用aws_ssm_parameters_by_path数据源批量获取指定路径下的所有SSM参数,再通过Terraform内置函数将其转换为键值对格式。
示例代码
data "aws_ssm_parameters_by_path" "all_params" { path = "/your/base/path/" recursive = true # 递归获取子路径下的参数 with_decryption = true # 若包含加密参数,需开启解密 } # 将参数列表转换为键值对映射 locals { ssm_key_value_pairs = { for param in data.aws_ssm_parameters_by_path.all_params.parameters : param.name => param.value } } # 输出验证键值对结果 output "ssm_params" { value = local.ssm_key_value_pairs description = "SSM参数存储中的键值对集合" }
关键说明
aws_ssm_parameters_by_path支持按路径批量拉取参数,recursive参数控制是否获取子路径下的参数- 通过
for表达式遍历参数列表,以参数名为键、参数值为值构建键值对 - 若仅需特定前缀的参数,调整
path的值即可,比如/app/config/ - 针对SecureString类型的加密参数,必须设置
with_decryption = true才能获取明文值
内容的提问来源于stack exchange,提问作者Mohammed Salah
相关产品推荐
相关产品推荐

