关于 github 存储库 ETAG 更改的 terraform 1.0.0 奇怪消息

terraform 1.0.0 strange message about github repository ETAG changed

地形 1.0.0

terraform plan 显示以下消息

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the last "terraform
apply":

  # module.webrefresh-wordpress.github_repository.repository[0] has been changed
  ~ resource "github_repository" "repository" {
      ~ etag                   = "W/\"0a6acc64db34a0ae0d3ed9e6931dcc845ad0cf5f60113a6df4749c111b20a93a\"" -> "W/\"d1955c8eecde028f7360e767340e809796f6fb18b3c0a6bb0091d395334029df\""
        id                     = "test-webrefresh-wordpress"
        name                   = "test-webrefresh-wordpress"
        # (26 unchanged attributes hidden)
    }

Unless you have made equivalent changes to your configuration, or ignored the relevant
attributes using ignore_changes, the following plan may include actions to undo or respond to
these changes.

──────────────────────────────────────────────────────────────────────────────────────────────

No changes. Your infrastructure matches the configuration.

那么如何去除呢?

尝试过 terraform apply -refresh-only 但没有用。

这是我的 tf 代码块:


resource "github_repository" "repository" {
  count       = length(local.to_create_repositories)
  name        = local.to_create_repositories[count.index].name
  description = title(local.to_create_repositories[count.index].description)

  visibility             = local.to_create_repositories[count.index].github_visibility
  has_issues             = local.to_create_repositories[count.index].has_issues != null ? local.to_create_repositories[count.index].has_issues : true
  has_wiki               = local.to_create_repositories[count.index].has_wiki != null ? local.to_create_repositories[count.index].has_wiki : true
  allow_merge_commit     = local.to_create_repositories[count.index].allow_merge_commit != null ? local.to_create_repositories[count.index].allow_merge_commit : true
  allow_rebase_merge     = local.to_create_repositories[count.index].allow_rebase_merge != null ? local.to_create_repositories[count.index].allow_rebase_merge : true
  delete_branch_on_merge = local.to_create_repositories[count.index].delete_branch_on_merge != null ? local.to_create_repositories[count.index].delete_branch_on_merge : true
  auto_init              = local.to_create_repositories[count.index].auto_init != null ? local.to_create_repositories[count.index].auto_init : true
  archive_on_destroy     = true

  lifecycle {
    ignore_changes = [etag]
  }
}

This is being tracked in the github provider 作为一个问题,依赖于要考虑的一些上游行为。

upstream issue in Terraform core 特别值得一读,了解为什么会发生这种情况。

在您的情况下,只要您没有任何内容引用 etag 输出(这会令人惊讶),那么您可以安全地忽略它,因为它只是一个计算属性。您还可以删除 lifecycle.ignore_changes = [etag] 块,因为它不会影响计算属性,因为它不是该资源可设置的内容。