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 tento soubor používá 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": []
  }
}

Soubor createUiDefinition.json vždy obsahuje tři vlastnosti:

  • obslužná rutina
  • version
  • parametry

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

Schéma vlastnosti parametrů závisí na kombinaci zadané obslužné rutiny a verze. U spravovaných aplikací jsou configpodporované vlastnosti : , basicssteps, a outputs. Použijete config pouze v případě, že potřebujete přepsat výchozí chování basics kroku. Základní informace a vlastnosti kroků obsahují prvky , jako jsou textová pole a rozevírací seznamy, které se mají zobrazit na webu Azure Portal. Vlastnost outputs slouží k mapování výstupních hodnot zadaných prvků na parametry šablony Azure Resource Manageru.

Zahrnutí $schema se doporučuje, ale volitelné. Pokud je tato hodnota version zadaná, musí se shodovat s verzí v rámci identifikátoru $schema URI.

Pomocí editoru JSON můžete vytvořit objekt 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 nepovinná. Použijte ho 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 createUiDefinition.json souboru parameters . 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 Pro vlastnost zadejte jednu z akcí poskytovatele prostředků.

Průvodce

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

Pokud isWizard je tato možnost povolená, je karta Základy dostupná 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 nebo selhalo. Po dokončení a ověření požadovaných polí na kartě umožňuje tlačítko Další navigaci na další kartu. Když všechny karty projdou ověřením, můžete přejít na stránku Zkontrolovat a vytvořit a vybrat tlačítko Vytvořit a zahájit nasazení.

Průvodce kartou

Přepsání základů

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

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

resourceGroup Prvky subscription umožňují zadat více ověření. Syntaxe pro zadání ověření je shodná s vlastním ověřením textového 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 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. Když trueuživatelé můžou vybrat skupiny prostředků, které už prostředky mají. Tento příznak je nejvhodnější pro š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ě jiných scénářů není zadání této vlastnosti nutné.

Zadejte locationvlastnosti ovládacího prvku umístění, který chcete přepsat. Všechny vlastnosti, které nejsou přepsány, jsou nastaveny na výchozí hodnoty. resourceTypes přijímá pole řetězců obsahujících plně kvalifikované názvy typů prostředků. Možnosti umístění jsou omezeny pouze na oblasti, které podporují typy prostředků. allowedValues přijímá pole řetězců oblastí. V rozevíracím seznamu se zobrazí jenom ty oblasti. Můžete nastavit obojí allowedValues i resourceTypes. Výsledkem je průsečík obou seznamů. visible Nakonec lze vlastnost 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ím krokem vygenerovaným při analýze souboru na webu Azure Portal. Ve výchozím nastavení základní krok umožňuje 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 nasazení, jako je název clusteru nebo přihlašovacích údajů 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
  }
]

Kroky

Vlastnost steps obsahuje nula nebo více kroků, které se mají zobrazit po základech. Každý krok obsahuje jeden nebo více prvků. Zvažte přidání kroků na roli nebo vrstvu nasazené aplikace. Můžete například přidat 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 pomocí outputs vlastnosti mapuje prvky z basics šablony nasazení Azure Resource Manageru a steps na parametry. 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 pro název identifikátor GUID. Do uživatelského rozhraní můžete zahrnout textové pole, které požaduje jméno od uživatele.

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

Typy zdrojů

Pokud chcete filtrovat dostupná umístění jenom na 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": [
        ...

Funkce

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

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 v těchto částech:

Aktuální schéma JSON pro createUiDefinition je k dispozici zde: 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.