【问题标题】:Terraform Digitalocean: move resources under projectTerraform Digitalocean:移动项目下的资源
【发布时间】:2020-07-08 04:49:28
【问题描述】:

我想在 DigitalOcean 上创建 N 个水滴并将它们分配给 DigitalOcean 项目(尚不存在)。

首先,我正在创建一个项目,并使用 resources 项将液滴分配给该项目。我也在创建两个液滴。

resource "digitalocean_project" "project" {
  name        = "playground"
  count       = "2"
  description = "Description"
  purpose     = "Description purposes"
  environment = "Development"
  resources = [
    digitalocean_droplet.myserver[count.index].urn
  ]
}

resource "digitalocean_droplet" "myserver" {
    count = "2"
    name = "server-${count.index}"
    image = "ubuntu-18-04-x64"
    size = "1gb"
    region = "${var.region}"
}

液滴创建成功。一个 droplet 被移动到新创建的项目中,而另一个 droplet 保留在我的默认项目中。

下面的错误信息很清楚。它会尝试创建第二个同名项目。

错误:创建项目时出错:POST https://api.digitalocean.com/v2/projects: 409 名称已被使用 (重复)

在 create_server.tf 第 1 行,资源“digitalocean_project”中 “项目”:1:资源“digitalocean_project”“项目”{

如何将两个 Droplet 分配给我的项目(我想动态创建)?

【问题讨论】:

    标签: terraform digital-ocean


    【解决方案1】:

    如果您想要一个具有多个资源的项目,那么您只需要创建一个项目并将资源列表分配给它。为此,您需要从digitalocean_project 资源中删除count 参数(这将创建多个项目),然后使用digitalocean_droplet 资源的splat expression 将资源列表传递给项目.

    所以你想要一些看起来像这样的东西:

    resource "digitalocean_project" "project" {
      name        = "playground"
      description = "Description"
      purpose     = "Description purposes"
      environment = "Development"
      resources   = digitalocean_droplet.myserver[*].urn
    }
    
    resource "digitalocean_droplet" "myserver" {
      count  = "2"
      name   = "server-${count.index}"
      image  = "ubuntu-18-04-x64"
      size   = "1gb"
      region = var.region
    }
    

    【讨论】:

    • 我试过了,但它给了我Inappropriate value for attribute "resources": element 0: string required. 错误信息
    • 已修复。我必须执行以下resources = digitalocean_droplet.myserver.*.urn。如果您修改答案,我可以接受。因为这个想法来自你。
    • Derp,对不起,错过了。现已修复。
    • 应该是digitalocean_droplet.myserver.*.urn。否则不起作用。你能更新一下,这样我就可以接受答案了。
    猜你喜欢
    • 2022-11-08
    • 1970-01-01
    • 2012-08-18
    • 2020-04-13
    • 2020-01-26
    • 2016-09-25
    • 2019-10-05
    • 2021-12-21
    相关资源
    最近更新 更多