是否可以在不重建的情况下从索引中删除地形资源

Is it possible to remove a terraform resource from an index without rebuilding

我现有的 Terraform 基础设施是由我之前的某人创建的,他们使用计数创建了实例,我们想删除计数,但 Terraform 想要重建实例。

有没有一种方法可以删除计数而无需重建实例?

我想知道诸如 terraform state mv 之类的东西是否能够实现这一点,或者是否有其他可能。

提前致谢!

更新:示例如下

  # module.compute.aws_kms_alias.kms-alias will be created
  + resource "aws_kms_alias" "kms-alias" {
      + arn            = (known after apply)
      + id             = (known after apply)
      + name           = "alias/kms-eks"
      + name_prefix    = (known after apply)
      + target_key_arn = (known after apply)
      + target_key_id  = (known after apply)
    }

  # module.compute.aws_kms_alias.kms-alias[1] will be destroyed
  - resource "aws_kms_alias" "kms-alias" {
      - arn            = "arn:aws:kms:::alias/kms-eks" -> null
      - id             = "alias/kms-eks" -> null
      - name           = "alias/kms-eks" -> null
      - target_key_arn = "" -> null
      - target_key_id  = "" -> null
    }

您可以修改状态以重命名状态中的资源以匹配配置中的内容。由于 count 元参数包含特殊字符,因此命令中的资源需要在 shell 解释器中转换为文字字符串:

terraform state mv 'module.compute.aws_kms_alias.kms-alias[1]' module.compute.aws_kms_alias.kms-alias