Terraform:无法查询可用的提供程序包(Azapi)

Mar*_*ndl 6 azure terraform infrastructure-as-code

我尝试在 Terraform 项目中使用 Azure/Azapi Provider,但在添加提供程序并运行之后terraform init,出现以下错误:

\n
Error: Failed to query available provider packages\nCould not retrieve the list of available versions for provider hashicorp/azapi: provider registry registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/azapi \n
Run Code Online (Sandbox Code Playgroud)\n

这就是我的providers.tf 的样子:

\n
terraform {\n  required_providers {\n    azurerm = {\n      source  = "hashicorp/azurerm"\n      version = "=3.16.0"\n    }\n    azapi = {\n      source  = "azure/azapi"\n      version = "=0.4.0"\n    }\n\n  }\n\n  required_version = "=1.2.6"\n}\n\nprovider "azurerm" {\n  features {}\n}\n\nprovider "azapi" {\n}\n
Run Code Online (Sandbox Code Playgroud)\n

当我跑步时terraform providers,我可以看到提供程序在我的模块中有错误的注册表 URL:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 module.az-aca-env\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 provider[registry.terraform.io/hashicorp/azapi]\n
Run Code Online (Sandbox Code Playgroud)\n

我期望像registry.terraform.io/azure/azapi这样的东西

\n

有任何想法吗?

\n

Mar*_*ndl 11

好的,我找到了解决方法。我必须providers.tf 在模块目录 (/modules/az-aca-env) 中添加以下内容:

\n
terraform {\n  required_providers {\n    azapi = {\n      source  = "Azure/azapi"\n      version = "=0.4.0"\n    }\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

添加后,terraform init工作\xe2\x9c\x85。

\n

  • 是的,因为它不是官方的 Terraform 提供商。 (2认同)