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

如何在Terraform中将TXT文件内容用作列表型变量?

如何将文本文件内容转为Terraform变量列表

完全可以实现,以下是两种常用方法:

方法一:在Terraform配置中直接读取处理

通过Terraform内置的file、split和trimspace函数,直接将文本文件内容转换为列表:

  1. 先定义变量(可选,也可直接使用本地值):
variable "animal_list" {
  type    = list(string)
  default = []
}
  1. 用本地值处理文件内容:
locals {
  # 读取文件并按换行分割,同时移除首尾空白字符
  animals = split("\n", trimspace(file("var_file.txt")))
}
  1. 后续在配置中可直接引用local.animals,比如输出验证:
output "animal_list" {
  value = local.animals
}

如果文件中存在空白行,会导致列表出现空字符串元素,可加上compact函数过滤:

locals {
  animals = compact(split("\n", trimspace(file("var_file.txt"))))
}

方法二:通过命令行传入变量

如果需要在执行Terraform命令时动态传入,可借助shell命令将文件内容格式化为逗号分隔的字符串,Terraform会自动解析为列表:

terraform apply -var="animal_list=$(cat var_file.txt | tr '\n' ',' | sed 's/,$//')"

注意:此方法要求文件内容中不含逗号,否则会导致列表元素分割错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:47:05