1

地形 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]
  }
}
4

1 回答 1

3

这在github提供程序中被跟踪为依赖于要考虑的某些上游行为的问题。

Terraform 核心中的上游问题特别值得一读,以了解为什么会发生这种情况。

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

于 2021-06-28T09:50:54.317 回答