与terraform 0.12兼容的terraform 0.11模块的块使用

与terraform 0.12兼容的terraform 0.11模块的块使用,terraform,Terraform,在移动到0.12之前,我正在将terraform模块转换为0.12兼容。我能够修复所有的转换,除了一些可以通过变量设置的块。该模块将保留0.11一段时间,但该模块的用户已经可以升级到0.12 看这里我的地形0.11碎片 data "aws_ami" "instance" { most_recent = true filter = "${var.runner_ami_filter}" owners = "${var.runner_ami_owners}" } variable

在移动到0.12之前,我正在将terraform模块转换为0.12兼容。我能够修复所有的转换,除了一些可以通过变量设置的块。该模块将保留0.11一段时间,但该模块的用户已经可以升级到0.12

看这里我的地形0.11碎片

data "aws_ami" "instance" {
  most_recent = true

  filter = "${var.runner_ami_filter}"

  owners = "${var.runner_ami_owners}"
}


variable "ami_filter" {
  type        = "list"

  default = [{
    name   = "name"
    values = ["amzn-ami-hvm-2018.03*-x86_64-ebs"]
  }]
}
问题是我无法转换变量
ami\u filter
,这样它将被0.12接受。我抱怨过滤器的块定义不正确

此处不需要名为“filter”的参数。你的意思是定义一个 “过滤器”类型的块


有人对如何将这部分代码转换为0.12兼容的代码有什么建议吗?

我使用的构造似乎是一个未记录的特性,不再受支持


本期的更多细节:

我正在使用的构造似乎是一个未记录的特性,不再受支持


本期的更多详细信息:

我发现了这一点,但对于aws\U ami过滤器来说似乎无法正常工作。我发现了这一点,但它似乎不适合aws_ami过滤器。