Soubor createUiDefinition.json pro prostředí pro vytváření spravovaných aplikací Azure

Tento dokument představuje základní koncepty souboru createUiDefinition.json . Azure Portal používá tento soubor k definování uživatelského rozhraní při vytváření spravované aplikace.

Šablona je následující:

{
    "$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": [ ]
    }
}

Objekt CreateUiDefinition obsahuje vždy tři vlastnosti:

  • Obslužné rutiny
  • verze
  • parameters

Obslužná rutina by vždy měla být Microsoft.Azure.CreateUIDefa nejnovější podporovaná verze je 0.1.2-preview.

Schéma vlastnosti parameters závisí na kombinaci zadané obslužné rutiny a verze. U spravovaných aplikací jsou configpodporované vlastnosti , basics, stepsa outputs. Použijete config pouze v případech, kdy potřebujete přepsat výchozí chování basics kroku. Vlastnosti základy a kroky obsahují prvky, jako jsou textová pole a rozevírací seznamy, které se mají zobrazit v Azure Portal. Vlastnost outputs slouží k mapování výstupních hodnot zadaných prvků na parametry šablony Azure Resource Manager.

Zahrnutí $schema se doporučuje, ale volitelné. Pokud je zadaný, hodnota musí version odpovídat verzi v rámci identifikátoru $schema URI.

Pomocí editoru JSON můžete vytvořit createUiDefinition a pak ho otestovat v sandboxu createUiDefinition a zobrazit jeho náhled. Další informace o sandboxu najdete v tématu Testování rozhraní portálu pro spravované aplikace Azure.

Config

Vlastnost config je volitelná. Použijte ho buď k přepsání výchozího chování základního kroku, nebo k nastavení rozhraní jako podrobného průvodce. Pokud config se použije, je to první vlastnost v oddílu souboru parameterscreateUiDefinition.json. Následující příklad ukazuje dostupné vlastnosti.

"config": {
    "isWizard": false,
    "basics": {
        "description": "Customized description with **markdown**, see [more](https://www.microsoft.com).",
        "subscription": {
            "constraints": {
                "validations": [
                    {
                        "isValid": "[not(contains(subscription().displayName, 'Test'))]",
                        "message": "Can't use test subscription."
                    },
                    {
                        "permission": "Microsoft.Compute/virtualmachines/write",
                        "message": "Must have write permission for the virtual machine."
                    },
                    {
                        "permission": "Microsoft.Compute/virtualMachines/extensions/write",
                        "message": "Must have write permission for the extension."
                    }
                ]
            },
            "resourceProviders": [
                "Microsoft.Compute"
            ]
        },
        "resourceGroup": {
            "constraints": {
                "validations": [
                    {
                        "isValid": "[not(contains(resourceGroup().name, 'test'))]",
                        "message": "Resource group name can't contain 'test'."
                    }
                ]
            },
            "allowExisting": true
        },
        "location": {
            "label": "Custom label for location",
            "toolTip": "provide a useful tooltip",
            "resourceTypes": [
                "Microsoft.Compute/virtualMachines"
            ],
            "allowedValues": [
                "eastus",
                "westus2"
            ],
            "visible": true
        }
    }
},

isValid Pro vlastnost napište výraz, který se přeloží na true nebo false. permission Jako vlastnost zadejte jednu z akcí poskytovatele prostředků.

Průvodce

Vlastnost isWizard umožňuje před pokračováním k dalšímu kroku vyžadovat úspěšné ověření každého kroku. isWizard Pokud vlastnost není zadaná, výchozí hodnota je false a nevyžaduje se podrobné ověření.

Pokud isWizard je povolená možnost nastavená na true, je dostupná karta Základy a všechny ostatní karty jsou zakázané. Když je vybráno tlačítko Další , ikona karty označuje, jestli ověření karty proběhlo úspěšně nebo selhalo. Po dokončení a ověření požadovaných polí karty umožňuje tlačítko Další přechod na další kartu. Když všechny karty projdou ověřením, můžete přejít na stránku Zkontrolovat a vytvořit a výběrem tlačítka Vytvořit zahájit nasazení.

Průvodce tabulátorem

Základní informace o přepsání

Základní konfigurace umožňuje přizpůsobit krok základy.

Pro descriptionzadejte řetězec s povoleným Markdownem, který popisuje váš prostředek. Podporuje se víceřádkový formát a odkazy.

Prvky subscription a resourceGroup umožňují zadat více ověření. Syntaxe pro zadání ověření je shodná s vlastním ověřením pro textové pole. Můžete také zadat permission ověření pro předplatné nebo skupinu prostředků.

Ovládací prvek předplatného přijímá seznam oborů názvů poskytovatele prostředků. Můžete například zadat Microsoft.Compute. Zobrazí se chybová zpráva, když uživatel vybere předplatné, které nepodporuje poskytovatele prostředků. K této chybě dochází v případě, že poskytovatel prostředků není zaregistrovaný v daném předplatném a uživatel nemá oprávnění k registraci poskytovatele prostředků.

Ovládací prvek skupiny prostředků má možnost pro allowExisting. Při trueaplikaci můžou uživatelé vybrat skupiny prostředků, které už prostředky mají. Tento příznak se nejvíce vztahuje na šablony řešení, kde výchozí chování vyžaduje, aby uživatelé vybrali novou nebo prázdnou skupinu prostředků. Ve většině ostatních scénářů není zadání této vlastnosti nutné.

Pro locationzadejte vlastnosti ovládacího prvku umístění, který chcete přepsat. Všechny vlastnosti, které nejsou přepsány, se nastaví na výchozí hodnoty. resourceTypes přijímá pole řetězců obsahující plně kvalifikované názvy typů prostředků. Možnosti umístění jsou omezené jenom na oblasti, které podporují tyto typy prostředků. allowedValues přijímá pole řetězců oblastí. V rozevíracím seznamu se zobrazí jenom tyto oblasti. Můžete nastavit i allowedValuesresourceTypes. Výsledkem je průnik obou seznamů. visible Vlastnost se dá použít k podmíněnému nebo úplnému zakázání rozevíracího seznamu umístění. 

Základy

Krok Základy je první krok, který se vygeneruje, když Azure Portal analyzuje soubor. Ve výchozím nastavení umožňuje krok Základy uživatelům zvolit předplatné, skupinu prostředků a umístění pro nasazení.

Výchozí nastavení základy

V této části můžete přidat další prvky. Pokud je to možné, přidejte prvky, které dotazuje parametry pro celé nasazení, jako je název clusteru nebo přihlašovací údaje správce.

Následující příklad ukazuje textové pole, které bylo přidáno do výchozích prvků.

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

Postup

Vlastnost steps obsahuje nula nebo více kroků k zobrazení po základy. Každý krok obsahuje jeden nebo více prvků. Zvažte přidání kroků pro každou roli nebo vrstvu nasazované aplikace. Přidejte například krok pro vstupy primárního uzlu a krok pro pracovní uzly v clusteru.

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

Výstupy

Azure Portal používá outputs vlastnost k mapování prvků z basics a steps na parametry šablony nasazení Azure Resource Manager. Klíče tohoto slovníku jsou názvy parametrů šablony a hodnoty jsou vlastnosti výstupních objektů z odkazovaných prvků.

Pokud chcete nastavit název prostředku spravované aplikace, musíte do vlastnosti outputs zahrnout hodnotu s názvem applicationResourceName . Pokud tuto hodnotu nenastavíte, přiřadí aplikace k názvu identifikátor GUID. Do uživatelského rozhraní můžete zahrnout textové pole, které od uživatele požaduje jméno.

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

Typy prostředků

Pokud chcete z dostupných umístění filtrovat jenom ta umístění, která podporují typy prostředků, které se mají nasadit, zadejte pole typů prostředků. Pokud zadáte více než jeden typ prostředku, vrátí se pouze umístění, která podporují všechny typy prostředků. Tato vlastnost je nepovinná.

{
    "$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": [
          ...

Functions

CreateUiDefinition poskytuje funkce pro práci se vstupy a výstupy elementů a funkce, jako jsou podmíněné. Tyto funkce jsou syntaxí i funkcemi podobné funkcím šablony Azure Resource Manager.

Další kroky

Samotný soubor createUiDefinition.json má jednoduché schéma. Skutečná hloubka pochází ze všech podporovaných prvků a funkcí. Tyto položky jsou podrobněji popsány tady:

Aktuální schéma JSON pro createUiDefinition je k dispozici tady: https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json.

Příklad souboru uživatelského rozhraní najdete v tématu createUiDefinition.json.