1

利用 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.

vultr 提供者文档中的 main_ip

如果可能的话,尝试将其放入 1 个 tf 文件中,但是无论如何要使其正常工作将是惊人的

4

0 回答 0