使用azure从pulumi迁移到terraform,子网ID以“/”开头,导致资源总是在不应该更新的时候被更新

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

自从从 pulumi 迁移到 terraform 以来,每次应用 terraform 脚本时,配置了子网的 azure 应用程序都会更新。

似乎 pulumi 在其 id 中使用了

/
创建了它们,而 terraform 似乎没有。将显示以下消息:

# azurerm_linux_web_app.myWebApp will be updated in-place
  ~ resource "azurerm_linux_web_app" "myWebApp" {
        id                                             = "/subscriptions/<subsId>/resourceGroups/<rgName>/providers/Microsoft.Web/sites/myWebApp"
        name                                           = "myWebApp"
      ~ virtual_network_subnet_id                      = "/subscriptions/<subsId>/resourceGroups/<rgName>/providers/Microsoft.Network/virtualNetworks/<vnetNAme>/subnets/<subVnetName>" -> "subscriptions/<subsId>/resourceGroups/<rgName>/providers/Microsoft.Network/virtualNetworks/<vnetNAme>/subnets/<subVnetName>"

它似乎在天蓝色中没有效果,但我希望它不会发生。

有没有办法调整脚本,使 terraform 停止执行这个不正确的更新?

azure terraform pulumi
1个回答
0
投票

这种问题在我身上发生过很多次。

我相信问题不在于额外的

/
,而是字符的大小写,即有些资源ID是小写的,而另一些资源ID是大写的。

Github 上的类似问题:

尝试更改包含一些大写字母的资源 ID:

subscriptions/<subsId>/resourceGroups/<rgName>/providers/Microsoft.Network/virtualNetworks/<vnetNAme>/subnets/<subVnetName>

全部小写:

/subscriptions/<subsId>/resourcegroups/<rgName>/providers/microsoft.network/virtualnetworks/<vnetName>/subnets/<subVnetName>

反之亦然。

© www.soinside.com 2019 - 2024. All rights reserved.