Edit

Elements supported in Form view

This article is the element support list for Form view (uiFormDefinition.json), which is used by template spec portal forms. For Azure Managed Applications, use createUiDefinition.json elements instead.

Form view reuses the same baseline element contract as CreateUiDefinition: properties such as name, type, label, defaultValue, toolTip, constraints, options, and visible have the same meaning unless a Form view-specific article says otherwise. To avoid repeating shared schemas, the Reference column links to existing CreateUiDefinition element pages for controls that behave the same in both formats. Availability is determined by the support list on this page, not by the physical folder of the linked article.

Supported elements

The element types listed below are supported in Form view.

Element Purpose Reference
Microsoft.Common.CheckBox Boolean checkbox. Microsoft.Common.CheckBox
Microsoft.Common.DropDown Single- or multi-select dropdown. Microsoft.Common.DropDown
Microsoft.Common.EditableGrid Editable rows and columns. Outputs an array. Microsoft.Common.EditableGrid
Microsoft.Common.FileUpload Upload a local file (text content or blob URL). Microsoft.Common.FileUpload
Microsoft.Common.Grid Read-only tabular display with add and edit blades. Microsoft.Common.Grid
Microsoft.Common.InfoBox Inline information, warning, or error banner. Microsoft.Common.InfoBox
Microsoft.Common.LocationSelector Standalone region picker. Microsoft.Common.LocationSelector
Microsoft.Common.ManagementGroupSelector Standalone management-group picker. Microsoft.Common.ManagementGroupSelector
Microsoft.Common.OptionsGroup Pivot-style radio group. Microsoft.Common.OptionsGroup
Microsoft.Common.PasswordBox Masked input with optional confirm field. Microsoft.Common.PasswordBox
Microsoft.Common.ResourceGroupSelector Standalone resource-group picker (existing or new). Microsoft.Common.ResourceGroupSelector
Microsoft.Common.ResourceScope Composite subscription, resource group, and location picker for the deployment scope. Microsoft.Common.ResourceScope
Microsoft.Common.Section Groups child controls under a heading. Not nestable. Microsoft.Common.Section
Microsoft.Common.ServicePrincipalSelector Pick a Microsoft Entra service principal. Microsoft.Common.ServicePrincipalSelector
Microsoft.Common.Slider Numeric slider over a range. Microsoft.Common.Slider
Microsoft.Common.SubscriptionSelector Standalone subscription picker. Microsoft.Common.SubscriptionSelector
Microsoft.Common.TagsByResource Standard Tags control. Microsoft.Common.TagsByResource
Microsoft.Common.TenantSelector Read-only display of the current tenant. Microsoft.Common.TenantSelector
Microsoft.Common.TextBlock Static descriptive text. Microsoft.Common.TextBlock
Microsoft.Common.TextBox Single- or multi-line text input. Microsoft.Common.TextBox
Microsoft.Compute.CredentialsCombo Username + (password or SSH key) for VM creation. Requires an osPlatform discriminator ("Linux" or "Windows"); see the note below. Microsoft.Compute.CredentialsCombo
Microsoft.Compute.SizeSelector VM SKU picker. Microsoft.Compute.SizeSelector
Microsoft.Compute.UserNameTextBox Username text box with Azure VM-username validation. Microsoft.Compute.UserNameTextBox
Microsoft.KeyVault.KeyVaultCertificateSelector Pick a certificate from Key Vault. Microsoft.KeyVault.KeyVaultCertificateSelector
Microsoft.ManagedIdentity.IdentitySelector System- and user-assigned managed identity. Microsoft.ManagedIdentity.IdentitySelector
Microsoft.Network.PublicIpAddressCombo Existing-or-new public IP. Microsoft.Network.PublicIpAddressCombo
Microsoft.Network.VirtualNetworkCombo Existing-or-new virtual network and subnets. Microsoft.Network.VirtualNetworkCombo
Microsoft.Solutions.ArmApiControl Issue an Azure Resource Manager call and bind the response into form state (no UI). Microsoft.Solutions.ArmApiControl
Microsoft.Solutions.BladeInvokeControl Open an Azure portal blade and bind the returned data into form state (no UI). Microsoft.Solutions.BladeInvokeControl
Microsoft.Solutions.ResourceSelector Resource Graph-backed ARM resource picker. Microsoft.Solutions.ResourceSelector
Microsoft.Storage.MultiStorageAccountCombo Multiple storage accounts with replication choice. Microsoft.Storage.MultiStorageAccountCombo
Microsoft.Storage.StorageAccountSelector Existing-or-new storage account. Microsoft.Storage.StorageAccountSelector
Microsoft.Storage.StorageBlobSelector Pick a blob inside a storage account. Microsoft.Storage.StorageBlobSelector

Differences from CreateUiDefinition elements

The two formats overlap, but aren't interchangeable:

  • Form view has its own support list. Don't assume an element is valid in uiFormDefinition.json just because it appears in the CreateUiDefinition reference, or valid in createUiDefinition.json just because it appears on this page.

  • No basics() function in Form view. Form view has no implicit Basics step; the subscription, resource group, and location pickers are explicit elements (Microsoft.Common.SubscriptionSelector, Microsoft.Common.ResourceGroupSelector, Microsoft.Common.LocationSelector) placed in whichever step you choose, and their outputs are referenced via steps(...) like any other control.

  • Form view has explicit scope selector elements. Microsoft.Common.ResourceScope, Microsoft.Common.SubscriptionSelector, Microsoft.Common.ResourceGroupSelector, Microsoft.Common.LocationSelector, Microsoft.Common.ManagementGroupSelector, and Microsoft.Common.TenantSelector are documented for Form view. In CreateUiDefinition, subscription, resource group, and location are provided by the implicit Basics step instead.

  • Microsoft.Compute.CredentialsCombo requires an osPlatform discriminator. The type value is always the string "Microsoft.Compute.CredentialsCombo"; the Linux versus Windows variant is selected by setting "osPlatform": "Linux" or "osPlatform": "Windows" on the element. The two variants do not have identical schemas:

    • The Linux variant must include label.authenticationType, label.password, label.confirmPassword, and label.sshPublicKey, and supports the SSH-key authentication mode and an options.hidePassword flag.
    • The Windows variant only requires label.password and label.confirmPassword; it does not accept the SSH-related label, toolTip, or options fields.

    The internal schema definitions named Microsoft.Compute.CredentialsCombo-Linux and Microsoft.Compute.CredentialsCombo-Windows are JSON Schema definition names used to enforce these per-platform shapes — they're not values you place in type.

Next steps