如何在ARM模板中隐藏新建vNet选项仅允许选择现有虚拟网络?
如何在Azure ARM模板UI中仅允许选择现有虚拟网络
当然可以实现!你不用替换掉Microsoft.Network.VirtualNetworkCombo控件,它本身就支持通过简单配置来隐藏“创建新虚拟网络”的选项,完全满足你只让用户选择现有资源的需求。
核心配置方法
在你的createUiDefinition.json(或者ARM模板的门户UI元数据部分)中,找到Microsoft.Network.VirtualNetworkCombo的配置块,添加allowCreate属性并将其设置为false即可。
完整代码示例
{ "name": "virtualNetwork", "type": "Microsoft.Network.VirtualNetworkCombo", "label": { "virtualNetwork": "现有虚拟网络", "subnets": "关联子网" }, "toolTip": { "virtualNetwork": "请选择您账户中已存在的虚拟网络" }, "constraints": { "required": true }, "options": { "allowCreate": false, // 关键:禁用创建新vNet的选项 "hideExisting": false // 确保显示现有虚拟网络列表 }, "subnets": { "options": { "hideExisting": false } } }
额外优化(可选)
如果你想进一步限制用户可选择的虚拟网络范围(比如仅当前订阅/资源组内的),可以添加filter配置:
"options": { "allowCreate": false, "hideExisting": false, "filter": { "subscription": "selected", "resourceGroup": "selected" } }
设置完成后,用户在门户中配置解决方案时,只会看到现有虚拟网络的下拉列表,完全看不到创建新vNet的入口,完美匹配你的需求。
内容的提问来源于stack exchange,提问作者Gourav Singla
相关产品推荐
相关产品推荐

