Создайте список, указав атрибут ресурса - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь объединить два списка и установить его в качестве атрибута для ресурса, и я получаю сообщение об ошибке.Вот минимальное воспроизведение:

  network_configuration {
    security_groups = "${concat([module.service_base.allow_lb_access_sg], [module.service_base.intraservice_communication_sg])}"
  }

Я получаю супер бесполезную ошибку

Ошибка: Ошибка загрузки модулей: module load_balanced_service: Ошибка загрузки .terraform / modules / 188cf031fdce92d75131be4747cedad9 / XXX.tf: Ошибка чтения конфигурации для aws_ecs_service [ecs_service]: ошибка разбора в 1:10: ожидаемое выражение найдено, но найдено "["

Утверждается строка 1, но если удалить эту строку security_groups, все работает нормально.

1 Ответ

0 голосов
/ 20 мая 2019

Хорошо, так что документы были супер неясными.Я обошел это так:

security_groups = ["${concat(list(module.service_base.allow_lb_access_sg), list(module.service_base.intraservice_communication_sg))}"]

Обратите внимание, что функция list обязательна.Если вы используете [], он все равно сломается.

Однако , если один из ваших входов является списком, вы не хотите помещать это в list, потому что тогда это будетбыть списком, содержащим ваш список, например, вы хотите

security_groups = ["${concat(list(module.service_base.allow_lb_access_sg), var.my_list_type_variable)}"]

Подробнее: https://github.com/hashicorp/terraform/issues/6657

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...