首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地形中的random_pet :错误:循环:

地形中的random_pet :错误:循环:
EN

Server Fault用户
提问于 2019-08-14 11:02:11
回答 1查看 1.2K关注 0票数 0

我试图为几个服务器生成随机主机名。然而,当运行terraform应用程序时,我会收到一条错误消息:" error : random_pet.swm01_managers,hcloud_server.swm01_managers“。

这就是我想要做的:

代码语言:javascript
复制
variable "swm01_managers_count" {
  default = 5
}

# ─── CREATE RANDOM SERVER HOSTNAMES ─────────────────────────────────────────────

resource "random_pet" "swm01_managers" {
  count = "${var.swm01_managers_count}"
  keepers = {
    id = "${hcloud_server.swm01_managers[count.index].id}"
  }
}

# ─── CREATE DOCKER SWARM MANAGER NODES ──────────────────────────────────────────

resource "hcloud_server" "swm01_managers" {
  count = "${var.swm01_managers_count}"

  name = "${random_pet.swm01_managers[count.index]}"
  image = "ubuntu-18.04"
  server_type = "cx11"
  ssh_keys = "${var.ssh_keys}"
  labels = {
    "env" = "prd"
    "docker_swarm_role" = "manager"
  }

}

这是我得到的错误:

代码语言:javascript
复制
terraform apply --var-file=prd/prd.tfvars

Error: Cycle: random_pet.swm01_managers, hcloud_server.swm01_managers
EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-08-16 10:50:04

这两个资源是相互引用的,通过插值其他属性,因此Terraform无法确定需要先创建哪个。

Terraform不能创建随机主机名,因为它需要服务器的ID,而不能创建服务器,因为它需要它们的随机主机名。

您需要打破循环依赖才能工作,我想说的是,通过使随机主机名不依赖于服务器ID。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/979230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档