自从从 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 停止执行这个不正确的更新?
这种问题在我身上发生过很多次。
我相信问题不在于额外的
/
,而是字符的大小写,即有些资源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>
反之亦然。