我想使我的vNet Id 2参数字段对于数据是可选的,而不是必需的,因为在这两个字段中并不总是需要数据。
我对JSON很陌生,该模板是Microsoft的副本:https://docs.microsoft.com/en-us/azure/governance/policy/samples/use-approved-vnet-vm-nics
我只希望vNet Id 2对数据是可选的,而不是必需的。
{
"mode": "Indexed",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/networkInterfaces"
},
{
"not": {
"field": "Microsoft.Network/networkInterfaces/ipconfigurations[*].subnet.id",
"like": "[concat(parameters('vNetId'),'*')]"
}
},
{
"not": {
"field": "Microsoft.Network/networkInterfaces/ipconfigurations[*].subnet.id",
"like": "[concat(parameters('vNetId2'), '*')]"
}
}
]
},
"then": {
"effect": "deny"
}
},
"parameters": {
"vNetId": {
"type": "String",
"metadata": {
"displayName": "vNet Id",
"description": "Resource Id for the vNet"
}
},
"vNetId2": {
"type": "String",
"metadata":{
"displayName": "vNet Id 2",
"description": "Resource Id for the vNet"
}
}
}
}
答案 0 :(得分:0)
根据Microsoft docs for parameters,您可以在参数对象中指定一个defaultValue
字段,当不提供值时将使用该字段,从而有效地使其成为可选字段,即
"vNetId2": {
"type": "String",
"defaultValue": "",
"metadata": {
"displayName": "vNet Id 2",
"description": "Resource Id for the vNet"
}
}
请注意,根据this answer,在类似问题上,您必须使用空字符串而不是null
。