Terraform:错误:缺少提供者的资源架构。找不到 local_file 的资源架构

ash*_*hpm 7 terraform hashicorp

我正在使用 terraform 版本 0.13.2,提供商http://registry.terraform.io/hashicorp/local v2.1.0 并拥有以下资源:

\n
terraform {\n  required_providers {\n    local = {\n      source = "hashicorp/local"\n    }\n  }\n  required_version = ">= 0.13"\n}\n\nresource "local_file" "test_local_file" {\n  content = "This is a test file"\n  filename = "test.txt"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

现在,当我仅获取另一个目录中的 terraform.tfstate 文件并尝试在新目录中使用 terraform 1.1.2 销毁此配置时,我在 terraform destroy 上收到以下错误:

\n
\xe2\x94\x82 Error: Missing resource schema from provider\n\xe2\x94\x82 \n\xe2\x94\x82 No resource schema found for local_file.\n
Run Code Online (Sandbox Code Playgroud)\n

解决办法是什么?

\n

ash*_*hpm 8

使用 terraform v1.1.2,当您尝试仅使用状态文件删除配置时,terraform 不知何故无法获取本地提供程序。修复方法是将local提供程序块与状态文件一起包含在新目录中,然后执行terraform initterraform apply

terraform {
  required_providers {
    local = {
      source = "hashicorp/local"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 当我从配置中删除 local_file 资源时,我也遇到了这个问题。local_file 资源仍然存在于状态文件中...这通常会提示 terraform 删除该资源并将其从状态文件中删除,因为它不再是配置的一部分。相反,它抛出了这个错误。我最终只是使用 terraform state rm 将其从状态文件中删除。 (7认同)