コンピューティング インスタンスを作成する terraform モジュールを作成しようとしています。モジュールの呼び出し中に変数attached_disk_enabled
が設定されている場合にのみ、リソースにディスクを接続したいと考えています。true
私はこれを持っています:
resource "google_compute_disk" "my-disk" {
name = "data"
type = "pd-ssd"
size = 20
count = var.attached_disks_enabled ? 1 : 0
}
resource "google_compute_instance" "computer" {
name = "computer"
boot_disk {
...
}
// How do I make this disappear if attached_disk_enabled == false?
attached_disk {
source = "${google_compute_disk.my-disk.self_link}"
device_name = "computer-disk"
mode = "READ_WRITE"
}
}
のモジュールに対して変数が宣言されていますvars.tf
。モジュールの呼び出しは次のようになります。
module "main" {
source = "../modules/computer"
attached_disk_enabled = false
...
}
動的ブロックと、ループを使用してリストを反復処理し、複数のブロックを設定する方法については知っていますfor
が、この方法を使用してリソースからブロックを除外する方法がわかりません。
dynamic "attached-disk" {
for_each in var.disk_list
content {
source = "${google_compute_disk.my-disk.*.self_link}"
device_name = "computer-disk-${count.index}"
mode = "READ_WRITE"
}
}
if
の代わりに欲しいfor_each
。これを行う方法はありますか?
$ terraform version
Terraform v0.12.0