尝试将我的模块升级到 Tf0.12 运行后terraform 0.12upgrade
,现在无法转换count
为for_each
带计数的原始模块
resource "google_dns_record_set" "default" {
count = length(var.account_fqdns)
name = "${element(var.account_fqdns, count.index)}."
type = "A"
ttl = 300
managed_zone = var.dns_managed_zone
project = var.dns_project
rrdatas = [element(google_compute_address.default2.*.address, count.index)]
}
我的新模块
resource "google_dns_record_set" "default" {
for_each = {for fqdn in var.account_fqdns: fqdn => fqdn}
name = each.key
type = "A"
ttl = 300
managed_zone = var.dns_managed_zone
project = var.dns_project
rrdatas = [google_compute_address.default2.*.address]
}
运行计划时,我不断遇到以下错误
Error: Incorrect attribute value type
on main.tf line 285, in resource "google_dns_record_set" "default":
285: rrdatas = [google_compute_address.default2.*.address]
|----------------
| google_compute_address.default2 is object with 3 attributes
Inappropriate value for attribute "rrdatas": element 0: string required.
Error: Unsupported attribute
on main.tf line 285, in resource "google_dns_record_set" "default":
285: rrdatas = [google_compute_address.default2.*.address]
This object does not have an attribute named "address".