是否可以在ARM模板中检查我的虚拟机的名称是否已存在?
我正在为Azure Marketplace开发解决方案模板。也许有可能在UiDefinition uniqe中设置一个参数?
目标是重现这个绿色钩子
几个笔记......
鉴于我们不太可能构建一个控件来检查资源上的命名冲突而没有全局唯一约束。
这种帮助?
根据documentation,这看起来不可能。
没有验证方案。
我假设您应该在createUiDefinition.json中使用Microsoft.Common.TextBox UI元素。
我试图通过使用Microsoft.Common.TextBox UI元素创建一个简单的createUiDefinition.json来重现绿色检查,如下所示。
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json",
"handler": "Microsoft.Compute.MultiVm",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "textBoxA",
"type": "Microsoft.Common.TextBox",
"label": "VM Name",
"defaultValue": "",
"toolTip": "Please enter a VM name",
"constraints": {
"required": true
},
"visible": true
}
],
"steps": [],
"outputs": {}
}
}
但是,此绿色检查并不意味着VM名称可用。这是因为根据我的测试,即使我在同一订阅中使用现有的VM名称,它仍然显示绿色检查。
根据Microsoft.Common.TextBox UI元素支持的官方文档constraints,它不会验证名称可用性。
希望这可以帮助!