terraform - 输出 terraform 创建的基础设施信息
问题描述
我正在尝试将创建的基础设施输出到一个文件中resource "local_file"
,其中包含数据“template_file”和模板文件,要设置的液滴节点数在列表变量中devs = ["node1", "node2"]
locals {
num_of_nodes = length(var.devs)
}
variable "devs" {
type = list
default = ["node1", "node2"]
}
data "template_file" "report" {
count = local.num_of_nodes
template = "${file("${path.module}/report.tpl")}"
vars = {
node_index = "${count.index}"
node_name = digitalocean_droplet.web[count.index].name
node_ip = digitalocean_droplet.web[count.index].ipv4_address
node_password = random_string.password[count.index].result
}
}
resource "local_file" "nodesconfig" {
count = "${local.num_of_nodes}"
content = join("${element(data.template_file.report.*.rendered, count.index)}")
filename = "${path.module}/report"
}
我想 report.tpl 不正确,但不明白应该如何实现:
%{ for addr in node_index ~}
addr node_name node_ip node_password
%{ endfor ~}
当我运行 terraform plan 时,我得到它会创建两个nodesconfig[0]
, nodesconfig[1]
,但是我希望它在一个具有join
函数的文件中
应该如何实施以获取report
下一个信息?:
1: node1.zone.net "${node1_ip}" "${node1_password}" 2: node2.zone.net "${node2_ip}" "${node2_password}"
解决方案
推荐阅读
- docker - Docker:选择容器的 ip
- r - 千位和小数的数字分隔(libreria "pivottabler")
- macos - NSScrollView 中的关键视图循环中插入的额外控件 - Catalina 中的文本视图
- python - 图像分类过拟合
- php - 在 laravel 注册上创建客户
- javascript - JavaScript 对象 - 我在访问嵌套多个级别的对象属性数组并将它们组合在一起时遇到问题
- postgresql - 如何优化一个依赖列是时间戳的 postgresql 查询
- c# - 是否可以使用 OR 条件(如角色)进行索赔授权?
- java - 启用 SSL 的 kafka 配置:错误:在创建地图/配置时找不到合适的方法
- excel - 单变量类型数组给出转录错误?