如何在ARM模板中引用静态IP地址?

时间:2018-10-10 01:38:21

标签: azure azure-resource-manager

我在资源组中具有名称为'VPNPublicIP'的公共静态IP地址。如何在下面的ARM模板中引用此地址?我不想这个静态改变

 "resources": [
{
      "apiVersion": "[variables('apiVersion')]",
      "type": "Microsoft.Network/publicIPAddresses",
      "name": "[variables('WebPublicIPName')]",
      "location": "[variables('location')]",
      "properties": {
        "privateIPAllocationMethod": "Static",
        "publicIPAddress": "VPNPublicIP",

      }
    }
}

我认为上述错误是不正确的,请指教

2 个答案:

答案 0 :(得分:2)

您可以将现有的公共IP与其资源ID引用到另一个资源:

"publicIPAddress": {
       "id":"[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]"
 },

答案 1 :(得分:1)

您不必在同一资源中引用它,只需要将其privateIPAllocationMethod属性设置为static即可。它将被创建为静态IP地址。

{
    "apiVersion": "[variables('apiVersion')]",
    "type": "Microsoft.Network/publicIPAddresses",
    "name": "[variables('WebPublicIPName')]",
    "location": "[variables('location')]",
    "properties": {
        "privateIPAllocationMethod": "Static"
    }
}

如果您想将其附加到其他对象上,则可以使用resourceId()函数,如其他答案所示。