CreateUiDefinition.json för Azure-upplevelsen för att skapa hanterade program
Det här dokumentet beskriver huvudbegreppen i filen createUiDefinition.json . Den Azure Portal 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
innehåller alltid tre egenskaper:
- Handler
- 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 Portal. Egenskapen outputs 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 värdet för version
anges måste det matcha versionen i URI:n $schema
.
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 den för att antingen åsidosätta standardbeteendet för grundsteget eller för att ange gränssnittet som en steg-för-steg-guide. Om config
används är det den första egenskapen i avsnittet createUiDefinition.jsonparameters
. 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.
Guiden
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 anges är standardvärdet falskt och stegvis verifiering krävs inte.
När isWizard
är aktiverad 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 verifieringen av en flik 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ätt grunderna
Med konfigurationen av grunderna 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 verifieringen för textrutan. Du kan också ange permission
verifieringar för prenumerationen eller resursgruppen.
Prenumerationskontrollen accepterar en lista över namnrymder för resursprovidern. Du kan till exempel ange Microsoft.Compute. Ett felmeddelande visas 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ändare 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 åsidosatts är inställda på sina 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 för båda listorna. Slutligen visible
kan egenskapen användas för att villkorligt eller helt inaktivera listrutan plats.
Grundläggande inställningar
Steget Grundläggande är det första steget som genereras när Azure Portal parsar filen. Som standard låter grundsteget användarna 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 flera 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
Den Azure Portal använder outputs
egenskapen för att mappa element från basics
och steps
till parametrarna för 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 egenskapen outputs. 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": [
...
Functions
CreateUiDefinition innehåller funktioner för att arbeta med elementens indata och utdata samt funktioner som villkor. Dessa funktioner liknar både syntaxen och funktionerna i Azure Resource Manager-mallfunktioner.
Nästa steg
Själva filen createUiDefinition.json 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.