【问题标题】:Terraform Problem to define cyrilgdn/postgresql provider properly正确定义 cyrilgdn/postgresql 提供程序的 Terraform 问题
【发布时间】:2021-09-22 23:52:18
【问题描述】:

我遇到了与Terraform tries to load old defunct provider 完全相同的问题,并且那里发布的解决方案对我不起作用。

问题是我在 terraform 配置中定义的:

required_providers {
    postgresql = {
        source  = "cyrilgdn/postgresql"
        version = ">=1.13.0"
    }
}

但是terraform init进程总是尝试下载hashicorp/postgresql,最后还是找不到。

我当前的 terraform 版本是:

windows_amd64 上的 Terraform v1.0.6

我确实尝试了很多,并使用资源参数“提供者”来明确设置所有资源的提供者,但即使这样我也没有找到方法。

任何人都可以再次在这里提供帮助或向我发布此提供商的工作示例吗?

【问题讨论】:

  • required_providers 是正确的并且按预期工作。您可以使用新的 main.tf 签入新文件夹。
  • 您可以运行命令terraform providers 来查看 Terraform 在您当前配置中可以看到引用的所有提供程序。您在此处看到的问题的最常见原因是没有在您的子模块中声明所需的提供程序,在这种情况下,terraform providers 将向您显示hashicorp/postgresql 依赖项来自哪个模块。

标签: terraform terraform-provider


【解决方案1】:

我找到了解决方案!我遇到的问题是我的文件夹结构。我有一个特定的文件夹结构,例如:

环境,例如 dev/int/prod,我在其中有一个 config.tf 和所需的提供程序。

resources 我在哪里使用我想添加的资源,而我错过的是 config.tf 文件的副本。

所以这意味着我需要在每个包含模块的子文件夹中都有一个 config.tf 文件。

【讨论】:

    猜你喜欢
    • 2021-03-14
    • 2021-07-13
    • 2020-07-08
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 2020-05-16
    相关资源
    最近更新 更多