新的地形。使用地形 0.12。我正在尝试改造我们的 Cloudflare 设置。
需要创建多个相同类型的资源(cloudflare provider page_rule 资源)并使用 config.tfvars 将值传递给资源“模板”。
我已经声明了一个 list(object({...})) 类型的变量。
需要一些对象参数是可选的,因此如果没有在 config.tfvars 中为某些列表元素指定条目,则创建的资源没有它们。
我已经阅读了 terraform 的 0.12 null 默认变量值,但我不确定是否有办法为 terraform 对象参数指定默认值。我见过的所有例子都只指定了参数的类型。
代码示例:
变量.tf
variable "example_page_rule"{
type = list(object({
cache_level = string,
ssl = string,
target = string
}))
}
Run Code Online (Sandbox Code Playgroud)
主文件
resource "cloudflare_page_rule" "page_rule" {
count = length(var.example_page_rule)
cache_level = var.example_page_rule[count.index].cache_level
ssl = var.example_page_rule[count.index].ssl
target = var.example_page_rule[count.index].target
}
Run Code Online (Sandbox Code Playgroud)
配置文件
page_rules = [
{
target = "www.target-url.com",
ssl = "flexible",
cache_level = "simplified",
},
{
target = "www.target-url.com",
cache_level …
Run Code Online (Sandbox Code Playgroud) terraform ×1