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
}