CreateUiDefinition.json para experiência de criação de aplicação gerida do AzureCreateUiDefinition.json for Azure managed application's create experience

Este documento introduz os conceitos fundamentais do createUiDefinition.jsarquivados.This document introduces the core concepts of the createUiDefinition.json file. O portal Azure utiliza este ficheiro para definir a interface do utilizador ao criar uma aplicação gerida.The Azure portal uses this file to define the user interface when creating a managed application.

O modelo é o seguinteThe template is as follows

{
    "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
    "handler": "Microsoft.Azure.CreateUIDef",
    "version": "0.1.2-preview",
    "parameters": {
        "config": {
            "isWizard": false,
            "basics": { }
        },
        "basics": [ ],
        "steps": [ ],
        "outputs": { },
        "resourceTypes": [ ]
    }
}

A CreateUiDefinition contém sempre três propriedades:A CreateUiDefinition always contains three properties:

  • manipuladorhandler
  • versãoversion
  • parâmetrosparameters

O manipulador deve ser sempre Microsoft.Azure.CreateUIDef , e a versão mais recente suportada é 0.1.2-preview .The handler should always be Microsoft.Azure.CreateUIDef, and the latest supported version is 0.1.2-preview.

O esquema da propriedade dos parâmetros depende da combinação do manipulador especificado e da versão.The schema of the parameters property depends on the combination of the specified handler and version. Para aplicações geridas, as propriedades suportadas config basics são, steps e outputs .For managed applications, the supported properties are config, basics, steps, and outputs. Só se usa config quando é necessário anular o comportamento predefinido do basics passo.You use config only when you need to override the default behavior of the basics step. As propriedades básicas e de passos contêm os elementos - como caixas de texto e dropdowns - a serem exibidos no portal Azure.The basics and steps properties contain the elements - like textboxes and dropdowns - to be displayed in the Azure portal. A propriedade outputs é usada para mapear os valores de saída dos elementos especificados para os parâmetros do modelo do Gestor de Recursos Azure.The outputs property is used to map the output values of the specified elements to the parameters of the Azure Resource Manager template.

Incluindo $schema é recomendado, mas opcional.Including $schema is recommended, but optional. Se especificado, o valor para version deve corresponder à versão dentro do $schema URI.If specified, the value for version must match the version within the $schema URI.

Pode utilizar um editor JSON para criar o seu createUiDefinition e, em seguida, testá-lo na createUiDefinition Sandbox para pré-visualizar.You can use a JSON editor to create your createUiDefinition then test it in the createUiDefinition Sandbox to preview it. Para obter mais informações sobre a caixa de areia, consulte testar a interface do seu portal para aplicações geridas azure.For more information about the sandbox, see Test your portal interface for Azure Managed Applications.

ConfigurarConfig

A config propriedade é opcional.The config property is optional. Use-o para anular o comportamento predefinido do passo básico, ou para definir a sua interface como um assistente passo a passo.Use it to either override the default behavior of the basics step, or to set your interface as a step-by-step wizard. Se config for usado, é a primeira propriedade do createUiDefinition.jsna secção do parameters arquivo.If config is used, it's the first property in the createUiDefinition.json file's parameters section. O exemplo a seguir mostra as propriedades disponíveis.The following example shows the available properties.

"config": {
    "isWizard": false,
    "basics": {
        "description": "Customized description with **markdown**, see [more](https://www.microsoft.com).",
        "subscription": {
            "constraints": {
                "validations": [
                    {
                        "isValid": "[expression for checking]",
                        "message": "Please select a valid subscription."
                    },
                    {
                        "permission": "<Resource Provider>/<Action>",
                        "message": "Must have correct permission to complete this step."
                    }
                ]
            },
            "resourceProviders": [
                "<Resource Provider>"
            ]
        },
        "resourceGroup": {
            "constraints": {
                "validations": [
                    {
                        "isValid": "[expression for checking]",
                        "message": "Please select a valid resource group."
                    }
                ]
            },
            "allowExisting": true
        },
        "location": {
            "label": "Custom label for location",
            "toolTip": "provide a useful tooltip",
            "resourceTypes": [
                "Microsoft.Compute/virtualMachines"
            ],
            "allowedValues": [
                "eastus",
                "westus2"
            ],
            "visible": true
        }
    }
},

FeiticeiroWizard

A isWizard propriedade permite-lhe exigir validação bem sucedida de cada passo antes de avançar para o passo seguinte.The isWizard property enables you to require successful validation of each step before proceeding to the next step. Quando a isWizard propriedade não é especificada, o padrão é falso, e a validação passo a passo não é necessária.When the isWizard property isn't specified, the default is false, and step-by-step validation isn't required.

Quando isWizard estiver ativado, definido como verdadeiro, o separador Básicos está disponível e todos os outros separadores estão desativados.When isWizard is enabled, set to true, the Basics tab is available and all other tabs are disabled. Quando o botão Seguinte é selecionado, o ícone do separador indica se a validação de um separador passou ou falhou.When the Next button is selected the tab's icon indicates if a tab's validation passed or failed. Depois de concluídos os campos necessários e validado, o botão Seguinte permite a navegação para o separador seguinte. Quando todos os separadores passam a validação, pode ir à página 'Rever e Criar' e selecionar o botão Criar para iniciar a implementação.After a tab's required fields are completed and validated the Next button allows navigation to the next tab. When all tabs pass validation, you can go to the Review and Create page and select the Create button to begin the deployment.

Assistente de separador

Sobrepor-se ao básicoOverride basics

O básico config permite-lhe personalizar o passo básico.The basics config lets you customize the basics step.

Para description , forneça uma cadeia ativada por marcação que descreva o seu recurso.For description, provide a markdown-enabled string that describes your resource. O formato multi-linha e as ligações são suportadas.Multi-line format and links are supported.

Os subscription resourceGroup elementos e elementos permitem especificar validações adicionais.The subscription and resourceGroup elements enable you to specify additional validations. A sintaxe para especificar validações é idêntica à validação personalizada para caixa de texto.The syntax for specifying validations is identical to the custom validation for text box. Também pode especificar permission validações no grupo de subscrição ou recursos.You can also specify permission validations on the subscription or resource group.

O controlo de subscrição aceita uma lista de espaços de nome do fornecedor de recursos.The subscription control accepts a list of resource provider namespaces. Por exemplo, pode especificar Microsoft.Compute.For example, you can specify Microsoft.Compute. Mostra uma mensagem de erro quando o utilizador seleciona uma subscrição que não suporta o fornecedor de recursos.It shows an error message when the user selects a subscription that doesn't support the resource provider. O erro ocorre quando o fornecedor de recursos não está registado nessa subscrição, e o utilizador não tem permissão para registar o fornecedor de recursos.The error occurs when the resource provider isn't registered on that subscription, and the user doesn't have permission to register the resource provider.

O controlo do grupo de recursos tem uma opção para allowExisting .The resource group control has an option for allowExisting. Quando true , os utilizadores podem selecionar grupos de recursos que já possuem recursos.When true, the users can select resource groups that already have resources. Esta bandeira é mais aplicável aos modelos de solução, onde o comportamento padrão determina que os utilizadores devem selecionar um grupo de recursos novo ou vazio.This flag is most applicable to solution templates, where default behavior mandates users must select a new or empty resource group. Na maioria dos outros cenários, especificar esta propriedade não é necessário.In most other scenarios, specifying this property isn't necessary.

Para location , especificar as propriedades para o controlo de localização que deseja anular.For location, specify the properties for the location control you wish to override. Quaisquer propriedades não ultrapassadas são definidas para os seus valores padrão.Any properties not overridden are set to their default values. resourceTypes aceita uma série de cordas que contenham nomes de tipo de recurso totalmente qualificados.resourceTypes accepts an array of strings containing fully qualified resource type names. As opções de localização são restritas apenas a regiões que suportam os tipos de recursos.  allowedValues   aceita uma variedade de cordas da região.The location options are restricted to only regions that support the resource types. allowedValues accepts an array of region strings. Apenas essas regiões aparecem no recuo.Only those regions appear in the dropdown.Pode definir os dois allowedValues    resourceTypes e. You can set both allowedValues and resourceTypes\. O resultado é a intersecção de ambas as listas.The result is the intersection of both lists. Por último, a visible propriedade pode ser usada para desativar condicional ou completamente a localização.Lastly, the visible property can be used to conditionally or completely disable the location dropdown.

Noções básicasBasics

O passo Basics é o primeiro passo gerado quando o portal Azure analisa o ficheiro.The Basics step is the first step generated when the Azure portal parses the file. Por predefinição, o passo básico permite que os utilizadores escolham a subscrição, o grupo de recursos e a localização para implementação.By default, the basics step lets users choose the subscription, resource group, and location for deployment.

Assistente de separador

Pode adicionar mais elementos nesta secção.You can add more elements in this section. Quando possível, adicione elementos que consultam parâmetros de implantação, como o nome de um cluster ou credenciais de administrador.When possible, add elements that query deployment-wide parameters, like the name of a cluster or administrator credentials.

O exemplo a seguir mostra uma caixa de texto que foi adicionada aos elementos predefinidos.The following example shows a text box that has been added to the default elements.

"basics": [
    {
        "name": "textBox1",
        "type": "Microsoft.Common.TextBox",
        "label": "Textbox on basics",
        "defaultValue": "my text value",
        "toolTip": "",
        "visible": true
    }
]

PassosSteps

A propriedade passos contém zero ou mais passos adicionais para exibir após o básico.The steps property contains zero or more additional steps to display after basics. Cada passo contém um ou mais elementos.Each step contains one or more elements. Considere adicionar passos por função ou nível da aplicação que está a ser implementada.Consider adding steps per role or tier of the application being deployed. Por exemplo, adicione um passo para entradas de nó mestre, e um passo para os nós operários em um cluster.For example, add a step for master node inputs, and a step for the worker nodes in a cluster.

"steps": [
    {
        "name": "demoConfig",
        "label": "Configuration settings",
        "elements": [
          ui-elements-needed-to-create-the-instance
        ]
    }
]

SaídasOutputs

O portal Azure utiliza a outputs propriedade para mapear elementos de basics e para os steps parâmetros do modelo de implementação do Gestor de Recursos Azure.The Azure portal uses the outputs property to map elements from basics and steps to the parameters of the Azure Resource Manager deployment template. As teclas deste dicionário são os nomes dos parâmetros do modelo, e os valores são propriedades dos objetos de saída dos elementos referenciados.The keys of this dictionary are the names of the template parameters, and the values are properties of the output objects from the referenced elements.

Para definir o nome do recurso de aplicação gerido, deve incluir um valor nomeado applicationResourceName na propriedade outputs.To set the managed application resource name, you must include a value named applicationResourceName in the outputs property. Se não definir este valor, a aplicação atribui um GUID para o nome.If you don't set this value, the application assigns a GUID for the name. Pode incluir uma caixa de texto na interface do utilizador que solicita um nome ao utilizador.You can include a textbox in the user interface that requests a name from the user.

"outputs": {
    "vmName": "[steps('appSettings').vmName]",
    "trialOrProduction": "[steps('appSettings').trialOrProd]",
    "userName": "[steps('vmCredentials').adminUsername]",
    "pwd": "[steps('vmCredentials').vmPwd.password]",
    "applicationResourceName": "[steps('appSettings').vmName]"
}

Tipos de recursoResource types

Para filtrar os locais disponíveis apenas para os locais que suportam os tipos de recursos a implementar, fornecer uma matriz dos tipos de recursos.To filter the available locations to only those locations that support the resource types to deploy, provide an array of the resource types. Se fornecer mais de um tipo de recurso, apenas os locais que suportam todos os tipos de recursos são devolvidos.If you provide more than one resource type, only those locations that support all of the resource types are returned. Esta propriedade é opcional.This property is optional.

{
    "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
    "handler": "Microsoft.Azure.CreateUIDef",
    "version": "0.1.2-preview",
    "parameters": {
        "resourceTypes": ["Microsoft.Compute/disks"],
        "basics": [
          ...

FunçõesFunctions

A CreateUiDefinition fornece funções para trabalhar com entradas e saídas de elementos, e funcionalidades como condicionalidades.CreateUiDefinition provides functions for working with elements' inputs and outputs, and features such as conditionals. Estas funções são semelhantes tanto na sintaxe como na funcionalidade das funções do modelo do Gestor de Recursos Azure.These functions are similar in both syntax and functionality to Azure Resource Manager template functions.

Passos seguintesNext steps

O createUiDefinition.jsno ficheiro em si tem um esquema simples.The createUiDefinition.json file itself has a simple schema. A verdadeira profundidade vem de todos os elementos e funções suportados.The real depth of it comes from all the supported elements and functions. Estes itens são descritos com maior detalhe em:Those items are described in greater detail at:

Um esquema JSON atual para criar Adefinition está disponível aqui: https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json .A current JSON schema for createUiDefinition is available here: https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json.

Para um ficheiro de interface de utilizador, consulte createUiDefinition.jsligado .For an example user interface file, see createUiDefinition.json.