【问题标题】:Change the state key dynamically in Terraform在 Terraform 中动态更改状态键
【发布时间】:2021-01-19 14:47:50
【问题描述】:

是否有可能为每个 terraform 实体提供动态状态?我是说钥匙。手动更改每个实体的键有点奇怪。

terraform {
  backend "s3" {
    bucket         = "terraform-dev"
    encrypt        = true
    key            = "???"
    dynamodb_table = "???"
    region         = "eu-west-1"
    profile        = "dev"
  }
} 

【问题讨论】:

  • 目前 Terraform 无法动态创建或更改现有资源。整个概念是必须创建(或重要)资源并存储它的状态。这就是评估可能变化的差异的方式。您可以使用资源列表定义地图并使用for_each 对其进行迭代,看看example

标签: amazon-web-services amazon-s3 terraform


【解决方案1】:

您不需要为每个资源设置不同的键。 s3 后端的关键是存储整个 Terraform 定义的状态;它与在不使用远程状态运行 Terraform 时存储到本地目录的 terraform.tfstate 文件完全相同(例如 s3)。在这种情况下,您有一整棵资源树,但它们的状态都存储在一个 terraform.tfstate 文件中;当您使用s3 远程状态后端时,整个资源树的状态都存储在s3 中的一个对象中,位于backend 配置中提供的键处。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2021-07-29
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多