Skip to content

emileSWAAA/AzureApplicationAccelerator

Repository files navigation

Azure Application Accelerator - CreateUIDefinition

MIT License

CreateUIDefinition.json Builder using Azure Resource UI Elements

Objective

Creating Azure Marketplace Applications often involves dealing with the complex and verbose CreateUIDefinition.json schema. This repository is designed to make that process significantly easier and more efficient. By providing a modern, intuitive UI builder, developers and solution architects can visually construct Azure UI definitions without needing to hand-code JSON. Whether you're configuring a single resource selector or a full multi-step form, this tool empowers you to rapidly prototype and produce valid, production-ready definitions with minimal effort and high confidence.

Live site

You can already use the application through this live website. Please be aware, this project is under construction and thus bugs and changes are due to be made frequently.

Demo

Table of Contents

Overview

This project provides a builder for CreateUIDefinition.json files leveraging Azure Resource UI Elements. It streamlines the creation of UI definitions for Azure resources by generating JSON definitions that can be directly consumed by Azure tooling.

Features

Feature Status
UI Elements mapped to Azure schema ⏳ In Progress
UI property panel with configurable fields ⏳ In Progress
Layout and grouping support ✔️
Validation rules configuration ✔️
Azure UI Functions integration
Output generation (e.g., ARM template inclusion)

Note: Azure UI Functions and output generation are planned for upcoming releases.

Implemented UI Elements

Element Name Implemented [10/26] Documentation
Microsoft.Common.CheckBox ✔️ Docs
Microsoft.Common.DropDown ✔️ Docs
Microsoft.Common.EditableGrid Docs
Microsoft.Common.FileUpload ✔️ Docs
Microsoft.Common.InfoBox ✔️ Docs
Microsoft.Common.OptionsGroup ✔️ Docs
Microsoft.Common.PasswordBox ✔️ Docs
Microsoft.Common.Section ✔️ Docs
Microsoft.Common.ServicePrincipalSelector Docs
Microsoft.Common.Slider ✔️ Docs
Microsoft.Common.TagsByResource Docs
Microsoft.Common.TextBlock ✔️ Docs
Microsoft.Common.TextBox ✔️ Docs
Microsoft.Compute.CredentialsCombo Docs
Microsoft.Compute.SizeSelector Docs
Microsoft.Compute.UserNameTextBox Docs
Microsoft.KeyVault.KeyVaultCertificateSelector Docs
Microsoft.ManagedIdentity.IdentitySelector Docs
Microsoft.Network.PublicIpAddressCombo Docs
Microsoft.Network.VirtualNetworkCombo Docs
Microsoft.Solutions.ArmApiControl Docs
Microsoft.Solutions.ResourceSelector Docs
Microsoft.Storage.MultiStorageAccountCombo Docs
Microsoft.Storage.StorageAccountSelector Docs
Microsoft.Storage.StorageBlobSelector Docs

Note: Some elements are not implemented yet and will be included in future versions.

Installation

This is a Blazor WebAssembly application using .NET 9.0 and Fluent UI for Blazor. No Node.js or npm is required.

  1. Clone the repository:

    git clone https://github.com/emileSWAAA/AzureApplicationAccelerator.git
  2. Navigate into the project directory:

    cd src
  3. Run the application:

    dotnet run --project AzureApplicationAccelerator

Usage

Open the application in your browser. Use the intuitive interface to add UI elements and configure their properties. The app will generate a valid CreateUIDefinition.json which you can download or copy into your Azure Marketplace offer.

Roadmap

Here's what we have planned for upcoming releases to enhance functionality, usability, and AI support:

  • Complete UI Element Coverage: Implement support for all available Azure UI elements to cover the full schema.
  • Output Variables Support: Enable generation of custom output variables that integrate with ARM templates.
  • Azure UI Functions: Allow users to define and attach UI functions for advanced logic and validation.
  • Import Feature: Add the ability to import existing CreateUIDefinition.json files for editing and extension.
  • Agentic AI Features: Integrate AI assistants to guide users, suggest optimizations, and even generate initial configurations based on high-level goals.

Have a feature request? Feel free to open an issue or contribute directly!

Contributing

Contributions are welcome! Please open issues or pull requests for bug fixes and new features.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published