Azure Arm模板动态数组变量

时间:2017-10-04 14:35:16

标签: azure azure-resource-manager

我们有Arm模板为我们使用副本循环创建多个VM,现在我们需要为每个VM设置动态可用性。用户选择可用性集或选择无。如何处理在多个场景中为多个vms设置的资源可用性。

对于单个VM,我创建两个变量,一个选项为none或select,其他变量为条件

Parameters:
"Availabilitysetstatus": {"type":"string", "allowed aliens":  
["member","none"]}
"Availabilitysetname": {"type":"string", "defaultvalue":""}

Variables:
"Availabilitysetconfig":{
"Member":{"id":"concat("....", parameters 
('availabilitysetname'))},
"None":{}
}

在创建资源时,我在下面的属性中使用可用性集

"Availabilityset": "[variables ('Availabilitysetconfig') 
[parameters ('Availabilitysetstatus')]]"

这工作正常,但我的资源是使用循环复制创建多个VMS, 所以我的可用性应该是数组,即  Availabilitysetstatus,Availabilitysetname是数组,那么我们如何为Availabilitysetconfig创建数组以在copyindex循环中使用

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全遵循您的方案,但总的来说,如果您有变量/条件资源,那么有一些模板函数可以帮助解决这个问题 - 请参阅:https://azure.microsoft.com/en-us/blog/create-flexible-arm-templates-using-conditions-and-logical-functions/

那有帮助吗?