Tutorial: Visualize Azure Bicep Files#
Coming Soon
Azure Bicep file support is coming in Early February 2026 as part of our "Full Infrastructure as Code Support" release. View roadmap for details.
Currently, you can upload ARM templates (JSON). This tutorial will be available when Bicep support launches.
Generate Interactive Diagrams from Your Bicep Infrastructure Code
This tutorial will show you how to upload and visualize Azure Bicep files in Cloudeval, creating interactive diagrams that help you understand your infrastructure before deployment.
Prerequisites#
- Azure Bicep file (
.bicep) - Cloudeval account (or use Playground)
- Basic understanding of Bicep syntax
Step 1: Prepare Your Bicep File#
Option A: Use Existing Bicep File#
If you already have Bicep files:
- Ensure valid Bicep syntax
- Include all required parameters
- Reference any modules
Option B: Create Sample Bicep#
Try with a sample file first:
@description('Name of the storage account')
param storageAccountName string
@description('Location for all resources')
param location string = resourceGroup().location
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: storageAccountName
location: location
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
output storageAccountName string = storageAccount.name
Option C: Compile from Existing ARM#
If you have ARM templates:
Step 2: Upload to Cloudeval#
- Sign in to Cloudeval (or use Playground)
- Click "New Project"
- Name your project (e.g., "Production Bicep")
- Choose "Upload File"
- Select your Bicep file (
.bicep) - For modular templates, upload all related files
- Click "Create Project"
Step 3: Understand the Parsed Bicep#
Cloudeval automatically:
- Parses Bicep - Validates syntax and structure
- Identifies Resources - Finds all resource declarations
- Maps Parameters - Shows required and optional parameters
- Resolves Modules - Expands module references
- Detects Dependencies - Finds resource dependencies
- Maps Outputs - Identifies template outputs
- Shows Variables - Displays variable definitions
Step 4: Explore the Generated Diagram#
Resource Visualization#
Each resource in your Bicep file appears as a node:
- Color-coded by resource type
- Grouped logically
- Connected by dependencies and references
View Resource Details#
Click on any resource to see:
- Resource type and API version
- Properties from Bicep
- Parameters used
- Dependencies
- Outputs (if any)
Understand Dependencies#
Cloudeval shows:
- Direct Dependencies - Resources this depends on
- Dependents - Resources that depend on this
- Module Dependencies - Module relationships
- Parameter Dependencies - Parameter usage
Step 5: Work with Modules#
View Module Structure#
If your Bicep uses modules:
- Cloudeval shows module hierarchy
- Click modules to see contents
- View module parameters
- See module outputs
Example Modular Bicep#
// main.bicep
module vnetModule 'modules/vnet.bicep' = {
name: 'vnet-deployment'
params: {
vnetName: 'vnet-production'
location: location
}
}
module vmModule 'modules/vm.bicep' = {
name: 'vm-deployment'
params: {
vnetId: vnetModule.outputs.vnetId
location: location
}
}
Cloudeval visualizes:
- Module relationships
- Parameter flow
- Output dependencies
- Deployment order
Step 6: Use the Code Editor#
View Bicep File#
- Click "Code Editor" tab
- See your full Bicep file
- Syntax highlighting for Bicep
- Navigate through sections
Edit Bicep File#
- Make changes in the editor
- See real-time validation
- View syntax errors
- Diagram updates automatically
Export Updated File#
- Make your edits
- Click "Export"
- Download updated Bicep file
- Use in your deployments
Step 7: Analyze with AI Chat#
Ask questions about your Bicep file:
Step 8: Validate Before Deployment#
Check for Issues#
Cloudeval identifies:
- Missing required parameters
- Invalid resource references
- Circular dependencies
- Syntax errors
- Security issues
- Best practice violations
Review Recommendations#
Get AI-powered suggestions:
- Security improvements
- Cost optimizations
- Architecture enhancements
- Parameter defaults
- Module organization
Real-World Example#
Before Cloudeval#
Problem: Understanding complex Bicep files with multiple modules is difficult.
Solution: Cloudeval visualizes the entire Bicep structure instantly.
Bicep Structure#
// Network module
module vnet 'modules/network.bicep' = {
name: 'network'
params: {
vnetName: 'vnet-prod'
location: location
}
}
// Compute module
module compute 'modules/compute.bicep' = {
name: 'compute'
params: {
subnetId: vnet.outputs.subnetId
location: location
}
}
// Storage module
module storage 'modules/storage.bicep' = {
name: 'storage'
params: {
location: location
}
}
Diagram Generated#
Cloudeval automatically shows:
- Module hierarchy
- Parameter flow between modules
- Output dependencies
- Resource relationships
- Deployment order
Best Practices#
Module Organization#
- Keep modules focused and reusable
- Use consistent naming
- Document module purposes
- Version your modules
Parameter Management#
- Provide default values
- Use parameter files
- Validate parameter ranges
- Document parameter purposes
Dependency Management#
- Minimize dependencies
- Avoid circular dependencies
- Use explicit dependencies
- Test dependency chains
Code Organization#
- Group related resources
- Use consistent naming
- Add descriptions
- Comment complex logic
Next Steps#
- Work with ARM Templates - Visualize ARM templates
- Customize Diagrams - Adjust layouts
- Export Diagrams - Share with team
- Use AI Chat - Get insights
Ready for more? Check out other tutorials or feature guides