【问题标题】:Could not retrieve the list of available versions for provider Terraform Azure无法检索提供者 Terraform Azure 的可用版本列表
【发布时间】:2020-12-12 19:18:32
【问题描述】:

基于公关:https://github.com/terraform-providers/terraform-provider-azurerm/pull/5325

需要 azurerm 提供程序版本 1.42.0,以便默认情况下使用服务器版本 3.6 安装 cosmosdb 帐户。为了实现这一点,我在我的模板中添加了以下内容,不幸的是失败并出现以下错误。

提供者“azurerm”{ 版本=“〜> 1.42.0” }

hashicorp/azurerm:没有可用的版本与给定的约束 1.35.0 匹配, 〜> 1.35.0,〜> 1.42.0,〜> 1.35.0 无法检索提供程序的可用版本列表

有人可以对此有所了解吗?我在这里错过了什么

【问题讨论】:

  • 您是否因为其他原因需要 terraform 提供程序的 1.x 版本?这个 PR 被合并到 1.42 仅仅意味着它在所有更新的版本中也可用(当然,除非这个特性在以后的版本中有所改变)。否则,我建议至少使用最新的 1.x,即 1.44 - 或直接转到当前的 2.x 分支
  • 您的特定错误的进一步原因是您的代码库有多个需要不同版本的提供程序语句。将您的所有提供商提升到一个版本,您的问题应该会得到解决。
  • 感谢@silent,克里斯蒂安·皮尔斯。您的两个输入都是正确的。 1. 我必须删除代码中指定的其他较低版本的提供程序,即 1.35.0,并在各处替换为较高版本的 1.42.0。 2. 除了让 cosmosdb 启动 3.6 版本之外,我还必须添加能力名称="EnableMongo"。

标签: azure azure-cosmosdb terraform-provider-azure


【解决方案1】:

另一种可能性(即我的情况) - 如果您将插件二进制文件保存在 $HOME/.terraform.d/plugins/ 目录下,Terraform 将不会下载其较新版本并提供相关消息(在 v0.13.5 上测试)。

重命名目录并再次检查,应该会有所帮助。干杯!

【讨论】:

  • 哇,这就是我的情况,谢谢!
  • 这解决了我从 ARM 转移到英特尔的问题,arm 版本被留下,它抱怨版本错误。
  • 这解决了我的问题,谢谢!
【解决方案2】:

为了让这项工作正常进行,我必须删除其他模块中指定的低版本提供程序的其他引用,并在每个模块中维护唯一的提供程序。

即 1.42.0

我的问题的两个问题都有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 2022-01-07
    • 2018-03-25
    • 2021-03-29
    • 2021-03-08
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多