刚刚开始探索terraform以在数字海洋上旋转水滴和体积。
我的问题是要知道正确的方法:
count
的{{1}}资源中的digitalocean_droplet
创建一定数量的Droplet实例ubuntu16
分配给先前创建的一个或一部分液滴。怎么做?我假设在digitalocean_volume
资源上使用droplets_id
属性。类似的东西:
digitalocean_volume
使用resource "digitalocean_volume" "foovolume" {
...
droplet_ids = ["${digitalocean_droplet.ubuntu16.0.id}"]
}
验证它:
terraform validate
有什么建议吗?感谢它的任何输入。
此致
答案 0 :(得分:2)
当前实施DigtialOcean的Terraform提供商的方式要求您采取相反的方法。您可以通过定义Droplet资源的volume_ids
来指定哪些卷附加到哪些Droplet。例如:
resource "digitalocean_volume" "volume" {
region = "nyc3"
count = 3
name = "volume-${count.index + 1}"
size = 100
description = "an example volume"
}
resource "digitalocean_droplet" "web" {
count = 3
image = "ubuntu-17-10-x64"
name = "web-${count.index + 1}"
region = "nyc3"
size = "1gb"
volume_ids = ["${element(digitalocean_volume.volume.*.id, count.index)}"]
}
如果查看docs for the volume resource,您会看到droplet_ids
是“计算”字段。这意味着您无法设置该字段,并且其值由Terraform通过提供程序的API计算。