CreateUiDefinition.json för Azure-upplevelsen för att skapa hanterade program
Det här dokumentet beskriver huvudbegreppen i createUiDefinition.json-filen . Azure-portalen använder den här filen för att definiera användargränssnittet när du skapar ett hanterat program.
Mallen är följande
{
"$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": []
}
}
En createUiDefinition.json-fil innehåller alltid tre egenskaper:
- hanterare
- version
- parametrar
Hanteraren ska alltid vara Microsoft.Azure.CreateUIDef
, och den senaste versionen som stöds är 0.1.2-preview
.
Schemat för parameteregenskapen beror på kombinationen av den angivna hanteraren och versionen. För hanterade program är config
de egenskaper som stöds , basics
, steps
och outputs
. Du använder config
bara när du behöver åsidosätta standardbeteendet för basics
steget. Grunderna och stegen innehåller de element – till exempel textrutor och listrutor – som ska visas i Azure-portalen. Utdataegenskapen används för att mappa utdatavärdena för de angivna elementen till parametrarna i Azure Resource Manager-mallen.
Inkludera $schema
rekommenderas, men valfritt. Om det anges måste värdet för version
matcha versionen i URI: $schema
n.
Du kan använda en JSON-redigerare för att skapa din createUiDefinition och sedan testa den i sandbox-miljön createUiDefinition för att förhandsgranska den. Mer information om sandbox-miljön finns i Testa portalgränssnittet för Azure Managed Applications.
Konfigurera
Egenskapen config
är valfri. Använd det för att antingen åsidosätta standardbeteendet för steget Grundläggande eller för att ange gränssnittet som en stegvis guide. Om config
används är det den första egenskapen i avsnittet createUiDefinition.json fil parameters
. I följande exempel visas de tillgängliga egenskaperna.
"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
}
}
},
För egenskapen isValid
skriver du ett uttryck som matchar antingen sant eller falskt. För egenskapen permission
anger du en av resursprovideråtgärderna.
Guide
Med isWizard
egenskapen kan du kräva en lyckad validering av varje steg innan du fortsätter till nästa steg. När egenskapen isWizard
inte har angetts är standardvärdet falskt och stegvis verifiering krävs inte.
När isWizard
är aktiverat anger du till sant, fliken Grundläggande är tillgänglig och alla andra flikar är inaktiverade. När knappen Nästa har valts anger flikens ikon om en fliks validering har godkänts eller misslyckats. När en fliks obligatoriska fält har slutförts och verifierats tillåter knappen Nästa navigering till nästa flik. När alla flikar godkänns kan du gå till sidan Granska och skapa och välja knappen Skapa för att påbörja distributionen.
Åsidosätta grunderna
Med konfigurationen grundläggande inställningar kan du anpassa grundsteget.
För description
anger du en markdown-aktiverad sträng som beskriver din resurs. Flerradsformat och länkar stöds.
Med elementen subscription
och resourceGroup
kan du ange fler verifieringar. Syntaxen för att ange valideringar är identisk med den anpassade valideringen för textrutan. Du kan också ange permission
verifieringar för prenumerationen eller resursgruppen.
Prenumerationskontrollen accepterar en lista över resursproviderns namnområden. Du kan till exempel ange Microsoft.Compute
. Det visar ett felmeddelande när användaren väljer en prenumeration som inte stöder resursprovidern. Felet uppstår när resursprovidern inte är registrerad för den prenumerationen och användaren inte har behörighet att registrera resursprovidern.
Resursgruppskontrollen har ett alternativ för allowExisting
. När true
kan användarna välja resursgrupper som redan har resurser. Den här flaggan är mest tillämplig för lösningsmallar, där standardbeteendet kräver att användarna väljer en ny eller tom resursgrupp. I de flesta andra scenarier är det inte nödvändigt att ange den här egenskapen.
För location
anger du egenskaperna för platskontrollen som du vill åsidosätta. Alla egenskaper som inte åsidosättas är inställda på deras standardvärden. resourceTypes
accepterar en matris med strängar som innehåller fullständigt kvalificerade resurstypsnamn. Platsalternativen är begränsade till endast regioner som stöder resurstyperna. allowedValues
accepterar en matris med regionsträngar. Endast dessa regioner visas i listrutan. Du kan ange både allowedValues
och resourceTypes
. Resultatet är skärningspunkten mellan båda listorna. Slutligen kan egenskapen visible
användas för att villkorligt eller helt inaktivera listrutan plats.
Grundläggande
Steget Grundläggande är det första steget som genereras när Azure-portalen parsar filen. Med grundsteget kan användarna som standard välja prenumeration, resursgrupp och plats för distribution.
Du kan lägga till fler element i det här avsnittet. När det är möjligt lägger du till element som frågar efter distributionsomfattande parametrar, till exempel namnet på ett kluster eller administratörsautentiseringsuppgifter.
I följande exempel visas en textruta som har lagts till i standardelementen.
"basics": [
{
"name": "textBox1",
"type": "Microsoft.Common.TextBox",
"label": "Textbox on basics",
"defaultValue": "my text value",
"toolTip": "",
"visible": true
}
]
Steg
Egenskapen steps innehåller noll eller fler steg som ska visas efter grunderna. Varje steg innehåller ett eller flera element. Överväg att lägga till steg per roll eller nivå för programmet som distribueras. Lägg till exempel till ett steg för primära nodindata och ett steg för arbetsnoderna i ett kluster.
"steps": [
{
"name": "demoConfig",
"label": "Configuration settings",
"elements": [
ui-elements-needed-to-create-the-instance
]
}
]
Utdata
Azure-portalen använder outputs
egenskapen för att mappa element från basics
och steps
till parametrarna i Azure Resource Manager-distributionsmallen. Nycklarna i den här ordlistan är namnen på mallparametrarna och värdena är egenskaper för utdataobjekten från de refererade elementen.
Om du vill ange resursnamnet för det hanterade programmet måste du inkludera ett värde med namnet applicationResourceName
i utdataegenskapen. Om du inte anger det här värdet tilldelar programmet ett GUID för namnet. Du kan inkludera en textruta i användargränssnittet som begär ett namn från användaren.
"outputs": {
"vmName": "[steps('appSettings').vmName]",
"trialOrProduction": "[steps('appSettings').trialOrProd]",
"userName": "[steps('vmCredentials').adminUsername]",
"pwd": "[steps('vmCredentials').vmPwd.password]",
"applicationResourceName": "[steps('appSettings').vmName]"
}
Resurstyper
Om du bara vill filtrera de tillgängliga platserna till de platser som stöder de resurstyper som ska distribueras anger du en matris med resurstyperna. Om du anger mer än en resurstyp returneras endast de platser som stöder alla resurstyper. Den här egenskapen är valfri.
{
"$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": [
...
Funktioner
CreateUiDefinition tillhandahåller funktioner för att arbeta med elementens indata och utdata samt funktioner som villkorsstyrda. Dessa funktioner liknar både syntax och funktioner för Azure Resource Manager-mallfunktioner.
Nästa steg
Själva createUiDefinition.json-filen har ett enkelt schema. Det verkliga djupet i den kommer från alla element och funktioner som stöds. Dessa objekt beskrivs mer detaljerat på:
Ett aktuellt JSON-schema för createUiDefinition finns här: https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json
.
Ett exempel på en användargränssnittsfil finns i createUiDefinition.json.