ARM模板,输出传递到下一个部署

时间:2020-09-13 16:27:28

标签: azure arm-template

我正在尝试使用ARM模板创建Azure防火墙。部署的一部分要求我传递DNAT规则的目标地址。这必须是防火墙的公共IP。但是我不知道其值,直到创建防火墙公用IP(这是防火墙部署的一部分)为止。

如何获取防火墙公共IP的公共IP并传递给DNAT规则?我尝试使用.IpAddress引用IP,但是我得到的ipAddress不是有效参数。

                            "destinationAddresses": [
                            "Needs to be Public IP"
                        ],

这是尝试引用IP时出现的错误

The language expression property 'ipAddress' can't be evaluated.'

我正在使用它来创建IP:

  {
  "name": "[concat(variables('publicIPNamePrefix'), add(copyIndex(), 1))]",
  "type": "Microsoft.Network/publicIPAddresses",
  "apiVersion": "2019-04-01",
  "location": "[resourceGroup().location]",
  "sku": {
    "name": "Standard"
  },
  "properties": {
    "publicIPAllocationMethod": "Static",
    "publicIPAddressVersion": "IPv4"
  },
  "copy": {
    "name": "publicIpCopy",
    "count": "[parameters('numberOfPublicIPAddresses')]"
  }

},

任何帮助都将是惊人的。谢谢

1 个答案:

答案 0 :(得分:0)

您需要执行以下操作:

reference(resourceId('Microsoft.Resources/deployments', 'previous_deployment_name'), '2017-05-10').outputs.%OUTPUT_NAME%.value