Terraform azurerm 2.x 错误:“功能”:未设置必填字段

Posted

技术标签:

【中文标题】Terraform azurerm 2.x 错误:“功能”:未设置必填字段【英文标题】:Terraform azurerm 2.x Error: "features": required field is not set 【发布时间】:2020-06-08 14:25:22 【问题描述】:

所以 azurerm 几个小时前更新到 2.0....

为了安全起见,我的主要代码是版本锁定的,但是 我正在做一些测试,看看 1.44 的公共测试版有什么变化,现在除了 terraform init 之外,我在任何 TF 命令上都遇到了这个错误。

还有其他人遇到过这个吗?

【问题讨论】:

【参考方案1】:

好的, 在调试模式下运行 terraform 表明错误是在提供者级别引发的。

它未在 2.0 升级指南中列出,但如果您查看提供程序文档,它现在会显示一个 features 块。

因此,提供者现在至少需要如下所示:

provider "azurerm" 
   features 

【讨论】:

此修复有效。看起来这里正在讨论这个问题:github.com/terraform-providers/terraform-provider-azurerm/… 还有其他重大变化吗? :s【参考方案2】:

您还可以将 azurerm 提供程序版本修复为最新的稳定版本 1.44:

provider "azurerm" 
  version = "~> 1.44"

【讨论】:

是的,您可以,但是,您将无法使用 2.0 提供的新功能。但是,固定到某个版本始终是一种好习惯。 虽然在生产中固定版本总是一个好主意,但这里的问题是专门针对 2.0 版的。所以这个答案对提出的问题没有多大价值。 不能在 terraform 版本 > 0.14.0 中使用它

以上是关于Terraform azurerm 2.x 错误:“功能”:未设置必填字段的主要内容,如果未能解决你的问题,请参考以下文章

创建 azurerm_data_protection_backup_vault 时,Terraform 返回错误“在命名空间中找不到资源类型”

Terraform Azurerm - 数据导出规则

在 Terraform 中为 azurerm_app_service_plan 创建 azurerm_sql_firewall_rule

Terraform azurerm_application_gateway 配置容量自动缩放设置

Terraform azurerm_virtual_machine_extension

将 azurerm_application_gateway 与 AKS 与 terraform 集成