Terraform教程04 - resources


Resource Attribute Referencing

经常存在这种情况:一种资源的输出信息是另一种资源的输入。这时就需要资源之间的引用了。

resource "local_file" "demo" {
  filename = var.filename
  content = "My favorite pet is ${random_pet.mypet.id}"
}

resource "random_pet" "mypet" {
  length = var.len
  prefix = var.prefix
  seperator = var.sep
}

也就是说,可以通过 ${random_pet.mypet.id} 这种方式来引用其他资源中的属性/输出。

资源之间的依赖

前面例子中通过使用资源属性的引用实现了隐含的(implicit)依赖关系。除了这种方式之外,我们还可以通过显式方式(Explicit) depends_on 来定义这种依赖关系。只有当两个资源之间不存在隐含依赖时才需要。

resource "local_file" "demo" {
  filename = var.filename
  content = "My favorite pet is ${random_pet.mypet.id}"
  depends_on = [
    random_pet.mypet
  ]
}

resource "random_pet" "mypet" {
  length = var.len
  prefix = var.prefix
  seperator = var.sep
}

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录