导入Azure公共IP资源时ID解析失败的问题求助
错误详情
尝试导入azurerm_public_ip.TestGeraldVm资源时触发解析错误:
azurerm_public_ip.TestGeraldVm: 正在从ID "C:/Program Files/Git/subscriptions/3476gjkfe7-73ed-3444-2124-n8e6ad00jr1z/resourceGroups/henry/providers/Microsoft.Network/publicIPAddresses/TestVm-ip" 导入...
错误:解析该ID时失败:解析段"subscriptions"时,位置0的段不匹配。解析PublicIPAddress ID时,位置0的段值应为字面量"subscriptions",但当前ID缺少该正确段值。
标准Azure公共IP资源ID格式
Azure要求公共IP资源ID必须遵循以下结构:
/subscriptions/[订阅UUID]/resourceGroups/[资源组名称]/providers/Microsoft.Network/publicIPAddresses/[公网IP实例名称]
示例:/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-resource-group/providers/Microsoft.Network/publicIPAddresses/publicIPAddressesValue
解决方法
你提供的ID包含了本地路径前缀C:/Program Files/Git/,这导致Terraform无法识别标准的Azure资源ID结构。只需移除该前缀,保留从/subscriptions/开始的部分即可:
修正后的正确ID:
/subscriptions/3476gjkfe7-73ed-3444-2124-n8e6ad00jr1z/resourceGroups/henry/providers/Microsoft.Network/publicIPAddresses/TestVm-ip
内容的提问来源于stack exchange,提问作者Gerald Briyolan

