Custom Rules
Sample CSV Template
View and download the standard CSV format for optimal auto-mapping:
VM Name,App Name,CPU Count,Memory (GB),CPU Utilization,Memory Utilization,Azure Region,ENV,OS,Workload,Compliance,Min Gen,Exclude,Include Only,Current Instance Type web-server-01,Storefront,4,16,45,60,East US,Production,Linux,Web Server,,,,,Standard_D4s_v3 db-server-02,Billing,8,32,70,80,West US 2,Production,Windows,Database,PCI,,"Burstable,GPU",,Standard_D8s_v3 app-server-03,Billing,2,8,35,45,North Europe,Dev,Linux,General,,,,,Standard_D2s_v3
Optional columns — click to see rule descriptions
| Column | Values | Rules triggered |
|---|---|---|
| ENV | Production / Staging / Dev / Test | 1a B-series burstable excluded (Prod/Staging) · 1b Current-gen only (Prod) · 1c ≥2 vCPUs (Prod) · 1d ≥4 vCPU for DB/Web workloads (Prod) |
| OS | Linux (default) / Windows | Windows → ARM (Dpdsv5, Bpsv2, etc.) excluded |
| Workload | General · Database · SQL Server · Web Server · Cache · ML/AI · Batch · HPC · SAP | Preferred families sorted first: Database→E/M series · SQL Server→E/M · Web→D/F series · Cache→E/M · ML/AI→NC/ND/NV · Batch→F · HPC→HB/HC · SAP→Mv2/Msv2/M |
| Compliance | PCI / HIPAA / SOC2 / FIPS | 1b Current-gen only · No burstable |
| Min Gen | 3 / 4 / 5 (v-number) | Excludes VM series older than the specified v-generation (e.g. 5 → only v5 series) |
| Exclude | Comma-separated type names (e.g. Burstable,GPU) | Excludes those instance types for this row only — quote the cell when it names more than one |
All columns are optional — blank cells use safe defaults.
Current Instance Type fires no rule and does
not affect sizing by default — only in cloud-to-cloud mode
does a row without CPU Count / Memory (GB) get sized from it.
It records what the VM runs on today (e.g.
Standard_D4s_v3) and is carried through to the
preview and every export, beside the recommendation that would
replace it.
Upload CSV File
Cloud Provider Selection
Recommendation Type
🧠 Optimization Settings
Sizing Source
Advanced Instance Filtering (Optional)
🧠 Rule Engine Defaults
Set page-level defaults for all rows. Per-row CSV columns override these. Rules merge with the filters above — conflicts are flagged in red.
Rule descriptions ▸
| Rule | Effect |
|---|---|
| ENV=Production | Excludes B-series (burstable), enforces current-gen, min 4 vCPU for web/DB |
| OS=Windows | De-prioritises ARM (Dpds/Dplsv5) families; prefers Intel or AMD |
| Workload=Web Server | D/F families first; Database → E/M families first; ML/AI → NC/ND families first |
| Compliance=HIPAA/PCI | Excludes B-series; enforces current-gen |
| Min Gen=v5+ | Excludes v3/v4 series; keeps Dsv5, Esv5 and newer only |
| Workload=SQL Server | Enforces a 4-vCPU licence floor when it can — SQL Server is licensed per core (minimum four), so a smaller box saves no licence cost. If no eligible candidate is that large, the fallback pick is kept and the rule is reported as not applied. |
| Workload=ML/AI (GPU) | Requires a GPU/accelerator instance; every other workload excludes accelerators, so a GPU box is not recommended by accident. If the pool has no accelerator to offer, the fallback pick is kept and the rule is reported as not applied. |
Generate Recommendations
- Open the Azure Pricing Calculator
- Find Virtual Machines → click Add to estimate
- Scroll down (or click View) to the configuration panel
- Set region, OS, tier, and VM size to match the recommended instances → save