В terraform возможно ли добавить необязательный аргумент ресурса, только если установлена ​​конкретная переменная - PullRequest
0 голосов
/ 22 ноября 2018

В моем конкретном примере:

Я хочу создать ресурс среды ранчера с предварительно настроенными членами.Но число членов должно зависеть от списка переменных.Я представлял себе что-то вроде

resource "rancher_environment" "renv" {
  name = "renv"
  project_template_id = "atmplid"

  member {
    count = "${length(var.memberlist)}"
    external_id = "${var.memberlist[count.index]}"
    external_id_type = "exttype"
    role = "owner"
  }
}

Это, очевидно, не работает.Есть ли хитрость для достижения такого поведения?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Наконец-то Terraform только что выпустил v0.12.0-alpha1, который содержит более элегантный способ решения именно этой проблемы .

0 голосов
/ 22 ноября 2018

Вы можете использовать null_resource для этого.Попробуйте это

resource "null_resource" "memberlist" {
    count = "${length(var.memberlist)}"
    triggers {
        external_id = "${var.memberlist[count.index]}"
        external_id_type = "exttype"
        role = "owner"
    }
}

resource "rancher_environment" "renv" {
    name = "renv"
    project_template_id = "atmplid"

    member = ["${null_resource.memberlist.*.triggers}"]
}
...