我正在开发一个ARM模板,我可以有条件地控制故障转移组中其中一个数据库的关联。这是我的示例资源模板
{
"condition": "[variables('Resources').IsFailover]",
"name": "[variables('SqlServer').FailoverGroup.Name]",
"type": "failoverGroups",
"apiVersion": "2015-05-01-preview",
"location": "[variables('SqlServer').Servers.Primary.ResourceLocation]",
"tags":
{
"displayName": "Failover Group"
},
"properties":
{
"partnerServers":
[
{
...
}
],
"readWriteEndpoint":
{
....
},
"readOnlyEndpoint":
{
"failoverPolicy": "Disabled"
},
"databases":
[
"[variables('SqlServer').Databases.DBOne.ResourceId]",
"[variables('SqlServer').Databases.DBTwo.ResourceId]",
"[variables('SqlServer').Databases.DBThree.ResourceId]"
]
},
"dependsOn":
[
"[variables('SqlServer').Servers.Primary.ResourceId]",
"[variables('SqlServer').Servers.Secondary.ResourceId]",
"[variables('SqlServer').Databases.DBOne.ResourceId]",
"[variables('SqlServer').Databases.DBTwo.ResourceId]",
"[variables('SqlServer').Databases.DBThree.ResourceId]"
]
}
我希望实现类似于将DBTwo(数据库)与故障转移组相关联的事情,只有当一个标志(输入参数)为真时,如果标志为假全部来自同一组,则无法关联。
有没有办法从ARM做到这一点?
提前感谢任何建议和意见。
答案 0 :(得分:0)
是的,手臂模板支持条件(咳嗽,咳嗽)。您可以使用if()
函数和其他几个函数(and
,not
,or
等)来创建条件。
基本的例子:
if(equals(parameter('x'), 'FAILOVER'), true, false)