Json 如何检查名称是否已经存在?Azure资源管理器模板

Json 如何检查名称是否已经存在?Azure资源管理器模板,json,azure,azure-resource-manager,arm-template,azure-marketplace,Json,Azure,Azure Resource Manager,Arm Template,Azure Marketplace,如果我的虚拟机的名称已经存在,是否可以在ARM模板中检查 我正在为Azure Marketplace开发一个解决方案模板。是否可以在UiDefinitionuniqe中设置参数 我们的目标是复制这个绿色钩子 根据调查,这看起来是不可能的 没有验证场景。我假设您应该在createUiDefinition.json中使用Microsoft.Common.TextBox UI元素 我试图通过创建一个简单的createUiDefinition.json(如下所示)和一个Microsoft.Common.

如果我的虚拟机的名称已经存在,是否可以在ARM模板中检查

我正在为Azure Marketplace开发一个解决方案模板。是否可以在UiDefinitionuniqe中设置参数

我们的目标是复制这个绿色钩子


根据调查,这看起来是不可能的


没有验证场景。

我假设您应该在createUiDefinition.json中使用Microsoft.Common.TextBox UI元素

我试图通过创建一个简单的createUiDefinition.json(如下所示)和一个Microsoft.Common.TextBox UI元素来重现一个绿色复选框,如下所示

{
  "$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名称可用。 这是因为根据我的测试,即使我在同一订阅中使用现有的VM名称,它仍然显示绿色复选框

根据Microsoft.Common.TextBoxUI元素支持的官方文档,它不验证名称可用性

希望这有帮助

几句话

  • VM名称只需要在资源组中唯一,而不需要在订阅中唯一
  • 解决方案模板必须部署到空资源组,因此不可能与现有资源发生冲突
  • 对于解决方案模板,您只需为用户命名虚拟机,而不是询问-使用适合工作负载的东西(例如jumpbox)-并非所有解决方案都这样做,但我们正在努力改善这种体验
假设我们不可能构建一个控件来检查没有全局唯一约束的资源上的命名冲突


这是否有帮助?

他特别要求验证……“我的虚拟机的名称是否已经存在?”正确。我认为绿色检查与验证VM名称相同。是的,这正是我发现的,因此现在无法验证名称可用性。即使在今天的标准中也不可能吗?我指的是任何资源,如functionApp等