Terraform Best Practices
Terraform consultingTwitter @antonbabenkoTerraform Weekly
简体中文 (Simplified Chinese)
简体中文 (Simplified Chinese)
  • 欢迎阅读
  • 核心概念
  • 代码结构
  • 代码结构示例
    • Terragrunt
    • Terraform
      • 使用 Terraform 的小型基础设施
      • 使用 Terraform 的中型基础设施
      • 使用 Terraform 的大型基础设施
  • 命名约定
  • 代码风格
  • 问答 (FAQ)
  • 参考资源
  • 编写Terraform配置
  • 工作坊
Powered by GitBook
On this page
  • 使用 locals 指定资源之间的显式依赖关系
  • Terraform 0.12 - 必需参数与可选参数
Export as PDF

编写Terraform配置

Previous参考资源Next工作坊

Last updated 2 years ago

使用 locals 指定资源之间的显式依赖关系

这是一种有用的方法,可以向Terraform提供提示,即使在Terraform配置中没有直接依赖关系,某些资源也应该在其它资源之前被删除。

Terraform 0.12 - 必需参数与可选参数

  1. 如果var.website不是一个空的map,则必须设置必需参数 index_document。

  2. 可选参数error_document可以省略。

main.tf
variable "website" {
  type    = map(string)
  default = {}
}

resource "aws_s3_bucket" "this" {
  # omitted...

  dynamic "website" {
    for_each = length(keys(var.website)) == 0 ? [] : [var.website]

    content {
      index_document = website.value.index_document
      error_document = lookup(website.value, "error_document", null)
    }
  }
}
terraform.tfvars
website = {
  index_document = "index.html"
}
https://raw.githubusercontent.com/antonbabenko/terraform-best-practices/master/snippets/locals.tf