创建 azure vm 时,terraform 抛出“无效或未知的密钥:区域”

Posted

技术标签:

【中文标题】创建 azure vm 时,terraform 抛出“无效或未知的密钥:区域”【英文标题】:terraform throwing "invalid or unknown key: zones" when creating azure vm 【发布时间】:2019-09-25 18:26:48 【问题描述】:

在使用资源“azurerm_virtual_machine”创建 azure vm 时,我使用了一个名为“zones”的键。我正在使用 terraform 版本 0.11.13。 根据文档,“区域”键是允许的。 https://www.terraform.io/docs/providers/azurerm/r/virtual_machine.html

但是当我运行“terraform plan”时,我看到以下错误: 错误:azurerm_virtual_machine.testVM[4]: : 无效或未知密钥:区域

验证我是否使用正确的资源类型的关键“区域”并且根据 hashcorp 文档看起来没问题

resource "azurerm_virtual_machine" "testVM" 
  <code to create VM>
  zones                         = ["1"]

【问题讨论】:

【参考方案1】:

您需要将您的 azurerm 提供程序更新到最新版本。这不是 terraform 直接处理的事情,资源提供者会这样做。我认为您可以通过删除“内部”tf 文件夹并运行 tf init 来做到这一点。

【讨论】:

谢谢。那行得通。我更新了 azurerm 提供程序并删除了“.terraform”目录。然后我运行 init 并再次计划。我现在没有看到问题。

以上是关于创建 azure vm 时,terraform 抛出“无效或未知的密钥:区域”的主要内容,如果未能解决你的问题,请参考以下文章

在同一资源组中创建两个 VM,但 Terraform 不希望销毁第一个

使用 Terraform 在可用性区域(单个区域)之间进行 Azure 恢复服务 VM 复制

azure terraform 将 azure 文件共享附加到 Windows 机器

如何使 Azure 备份与 Terraform 一起使用?

使用 Terraform 将自定义 DNS 服务器 IP 添加到 Azure VM NIC

在现有且正在运行的 Azure DevOps 代理池中更改目标 VM ScaleSet?