我在.tf多个应用程序通用的文件中定义了资源。我通过.tfvars文件填充了许多字段。我需要完全基于.tfvars.
例如,如果我有这样的资源:
resource "cloudflare_record" "record" {
zone_id = "${data.cloudflare_zones.domain.zones[0].id}"
name = "${var.subdomain}"
value = "${var.origin_server}"
type = "CNAME"
ttl = 1
proxied = true
}
Run Code Online (Sandbox Code Playgroud)
但是后来我cloudflare = false在我的.tfvars文件中声明了类似的东西,我希望能够做这样的事情:
if var.cloudflare {
resource "cloudflare_record" "record" {
zone_id = "${data.cloudflare_zones.domain.zones[0].id}"
name = "${var.subdomain}"
value = "${var.origin_server}"
type = "CNAME"
ttl = 1
proxied = true
}
}
Run Code Online (Sandbox Code Playgroud)
我看过动态块,但看起来您只能使用它们来编辑资源中的字段和块。我需要能够忽略整个资源。
我将通过 Terraform 管理数十个应用程序的 CDN 配置。我有一组.tf文件保存所有配置中通用的所有默认常量设置,然后每个应用程序都有自己的.tfvars文件来保存其独特的设置。
如果我运行类似的东西,terraform apply --var-file=app1.tfvars --var-file=app2.tfvars --var-file=app3.tfvars那么只使用传入的最后一个文件。
即使这确实有效,当我将其扩展到更多站点时,它也会变得难以管理。
合并.tfvars填充一组通用.tf文件的多个文件的正确方法是什么?
编辑:我应该补充一点,这些.tfvar文件定义了相同的变量但具有不同的值。我需要.tf为每个.tfvar文件声明一次文件中定义的资源的状态。
Which devices does Azure Spatial Anchors support?
I would like to use Azure Spatial Anchors to support my mixed reality environment.