по умолчанию вычисленное значение для группы безопасности не работает - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть это в моем модуле:

variable vpc_security_group_ids {
  type = "list"
  default = []
}

Если пользователь не указывает его, я хочу, чтобы по умолчанию это была вычисляемая группа (по умолчанию).

Эта работа в первый раз, но во второй раз я подаю заявление:

Terraform will perform the following actions:

  ~ module.servers.aws_instance.aws-inst[0]
      vpc_security_group_ids.#:          "1" => "0"
      vpc_security_group_ids.2662974173: "sg-123abc" => ""

Он пытается установить его обратно на "".

1 Ответ

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

Вы передаете default = [] в своем коде.Поэтому, если вы не передадите какую-либо группу безопасности, AWS создаст экземпляр с группой безопасности vpc по умолчанию, и он будет сохранен в файле состояния terraform.Но если вы в следующий раз попробуете с default = [], то это покажет, что у экземпляра уже есть одна группа безопасности, и вы пытаетесь удалить ее (на этапе планирования), но во время применения произойдет сбой (применить) или произойдет сбой.не удалит группу безопасности.

Поэтому в идеале вы должны создать группу безопасности и затем использовать ее по умолчанию.как

variable "vpc_security_group_ids" {
    type = "list"
    default = [<default_security_group_id>]
}
...