具有不同Vm名称、大小和相同自定义的多个Vm Arm模板



我见过许多使用复制函数创建多vm作为循环的模板。例如:vm1、vm2等。但这不是我们在实践中的做法,因为每个vm都有不同的功能,命名约定也没有帮助。我正在尝试创建一个具有不同vM名称、大小和单个自定义图像的模板。有人能帮忙吗?

我建议在模板的参数或变量部分使用名称/值对数组,例如

"parameters": {
"vms": {
"type": "array",
"defaultValue": [
{
"name": "vm1",
"size": "Standard_DS1_v2"
},
{
"name": "vm2",
"size": "Standard_A1_v2"
}
]
}
}

然后你可以用取消引用数组

"copy": {
"name": "vmCopy",
"count": "[length(parameters('vms'))]"    
}

parameters('vms')[copyIndex()].name
parameters('vms')[copyIndex()].size

通过使用参数,我们可以区分VM名称、大小等:

"parameters": {
"org": {
"type": "array",
"defaultValue": [
"contoso",
"fabrikam",
"coho"
]
}
},

<![endif]->

As Copy函数可以从参数数组中获得正确的值,并可以自动使用length((设置计数。

请参阅MS文档以了解更多信息。

也可以看看这个答案,感谢SamaraSoucy的解释。

最新更新