Terraform希望将boot_diagnostics更改为null

问题描述 投票:0回答:1

运行terraform plan时,输出状态会将设置为false的boot_diagnostics的值更改为null

  - boot_diagnostics {
      - enabled     = false -> null

在门户网站中,boot_diagnostics被禁用。

运行terraform apply时,资源已更改。

申请完成!资源:添加了0个,更改了1个,销毁了0个。

使用的版本:Terraform v0.12.10+ provider.azurerm v1.35.0

问题是:尽管状态等于门户中的实际情况,为什么地形会显示null

terraform boot diagnostics
1个回答
0
投票
我不熟悉这种特定情况,但是这种情况通常是由于提供程序未完全处理由远程API插入的默认值引起的。

在这种情况下,如果未明确设置,似乎远程系统会将enabled设置为false,但是提供程序本身并不知道这一点,因此当您重新计划时,它认为它需要更新参数将enabled设置回null,现在Terraform表示根本没有设置参数。

这种情况的通常解决方法是更新您的配置,以将值显式设置为默认值。对于这种情况,这意味着在您的配置中显式设置enabled

boot_diagnostics { enabled = false }

使用该设置,提供程序应该看到远程对象与配置匹配,因此不打算进行任何更改。

理想情况下,提供程序应该为这样的参数设置默认值,其中“未设置”实际上不是远程API中的有效值,但是对于提供程序未完全处理的情况,显式设置该值通常是一个很好的解决方法远程API进行的规范化/转换。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.