首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何输出在循环中创建的资源

如何输出在循环中创建的资源
EN

Stack Overflow用户
提问于 2018-03-14 04:46:08
回答 1查看 513关注 0票数 0

我正在使用arm模板在Azure中创建一个或多个公共IP地址。地址的数量取决于用户提供的参数。

我使用下面的代码片段来实现这一点

代码语言:javascript
复制
"resources": [
  {
    "type": "Microsoft.Network/publicIPAddresses",
    "name": "[concat(parameters('publicIPAddressesName'), '-', copyIndex())]",
    "apiVersion": "2017-10-01",
    "location": "[parameters('location')]",
    "copy": {
      "name": "publicIPAddressesCopy",
      "count": "[parameters('publicIPAddressesCount')]"
    },
    "properties": {
      "publicIPAddressVersion": "IPv4",
      "publicIPAllocationMethod": "Static",
      "idleTimeoutInMinutes": 4
    }
  },
  ...
],

我可以使用以下代码片段输出几个IP地址

代码语言:javascript
复制
"outputs": {
  "publicIPs": {
    "type": "object",
    "value": {
      "VM-1": {
        "publicIP": "[reference(resourceId('Microsoft.Network/publicIPAddresses', concat(parameters('publicIPAddressesName'), '-1')), '2017-10-01').ipAddress]"
      },
      "VM-2": {
        "publicIP": "[reference(resourceId('Microsoft.Network/publicIPAddresses', concat(parameters('publicIPAddressesName'), '-2')), '2017-10-01').ipAddress]"
      },
    }
  }
}

这不是很有用,因为可以有少于或多于2个新的公共IP地址。问题是我不能在模板的输出部分使用循环。

我如何输出所有创建的公共IP地址,知道它们的数量在每次运行模板之间都会发生变化?

EN

回答 1

Stack Overflow用户

发布于 2018-03-15 23:05:15

现在要做到这一点,唯一的方法是在嵌套部署上使用复制循环,并根据copyIndex()在每个部署中输出一个ip地址。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49265582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档