Ошибка при выполнении плана terraform после обновления terraform до v0.11.7, используйте синтаксис splat для доступа к определенному атрибуту - PullRequest
0 голосов
/ 02 мая 2018

после обновления моей terraform мой модуль именования сломался, и я не уверен, как починить модуль именования.

data "aws_region" "current" {
  current = true
}
 
data "aws_vpc" "vpc" {
  count = "${var.has_vpc_id == 0 ? 0 : 1}"
  id    = "${var.vpc_id}"
}
 
output "iam" {
  value = "${
      join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
        )),
        var.friendly_name
      ))}"
}
 
output "vpc" {
  value = "${
    map(
      "none", join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
        )),
        element(split("-", lookup(data.aws_vpc.vpc.*.tags, "Name")), var.vpc-name-offset),
        lookup(var.environments, var.environment),
        var.friendly_name
      )),
      "a", join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
          "a"
        )),
        element(split("-", lookup(data.aws_vpc.vpc.*.tags, "Name")), var.vpc-name-offset),
        lookup(var.environments, var.environment),
        var.friendly_name
      )),
      "b", join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
          "b"
        )),
        element(split("-", lookup(data.aws_vpc.vpc.*.tags, "Name")), var.vpc-name-offset),
        lookup(var.environments, var.environment),
        var.friendly_name
      )),
      "c", join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
          "c"
        )),
        element(split("-", lookup(data.aws_vpc.vpc.*.tags, "Name")), var.vpc-name-offset),
        lookup(var.environments, var.environment),
        var.friendly_name
      )),
      "d", join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
          "d"
        )),
        element(split("-", lookup(data.aws_vpc.vpc.*.tags, "Name")), var.vpc-name-offset),
        lookup(var.environments, var.environment),
        var.friendly_name
      ))
    )
  }"
}
 
output "no_vpc" {
  value = "${
      join("-", list(
        join("", list(
          substr(element(split("-", data.aws_region.current.name), 0), 0, 2),
          substr(element(split("-", data.aws_region.current.name), 1), 0, 1),
          substr(element(split("-", data.aws_region.current.name), 2), 0, 1),
        )),
        lookup(var.environments, var.environment),
        var.friendly_name
      ))}"
}
 

ошибка, которую я получаю, выглядит следующим образом: предупреждение: вывод "vpc": должен использовать синтаксис splat для доступа к data.aws_vpc.vpc атрибуту "tags", потому что у него установлен "count"; используйте теги data.aws_vpc. *., чтобы получить список атрибутов для всех экземпляров

...