利用 Vultr 的 terraform 提供程序,我正在创建一些机器实例。一切都很好,除了我现在正在尝试为这些由 terraform 生成的机器创建 cloudflare 记录(分别指向每台新机器的子域)。
vultr_instance
resource "vultr_instance" "test" {
label = "test"
region = "dfw"
plan = "vc2-2c-4gb"
os_id = "413" # ubuntu 20.10
# https://api.vultr.com/v1/os/list
hostname = "test"
}
dns 记录
zone_id = var.cloudflare_zone_id
name = "test"
#value = "192.168.0.11"
value = test.main_ip
type = "A"
ttl = 3600
}
根据 vultr 提供者文档,它导出 main_ip,这是生成后机器的 ip,但是 terraform 不会让我简单地将 main_ip 作为变量调用
Error: Reference to undeclared resource
on vultr.tf line 33, in resource "cloudflare_record" "test_dns":
33: value = test.main_ip
A managed resource "test" "main_ip" has not been declared in the root
module.
如果可能的话,尝试将其放入 1 个 tf 文件中,但是无论如何要使其正常工作将是惊人的