list_rightsizing_recommendations
Get VM rightsizing recommendations: recommended CPU, memory, and disk sizes with direction and actionability. Use this to identify oversized or undersized VMs and plan capacity adjustments.
Instructions
[READ] List VM rightsizing data — recommended CPU/memory/disk size per VM, with units, direction and whether to act.
Reads the three OnlineCapacityAnalytics recommendedSize metrics, the only rightsizing signal the public API publishes, on both 8.x and 9.x. Get VM UUIDs from list_resources. One bulk stats call and one bulk properties call cover the whole page.
Read sizing_status before quoting any number:
recommendation — recommended_* carry sizes.
reclaimable — the engine publishes 0 for a VM it holds reclaimable.
That is NOT a recommendation to size it to zero, and
recommended_* are null here.
none_published — the VM needs no resizing OR analytics never scored it.
The appliance does not distinguish these two; do not
report it as either one.
Units: recommended_* are raw MHz / KB / GB (see recommended_units) — never
quote the CPU number as vCPUs. Use recommended_vcpus (MHz converted with
the VM's own host core speed, rounded up) against current_vcpus, and
recommended_memory against current_memory_kb. cpu_direction /
memory_direction are oversized / undersized / right_sized, or null when
the current size is not published. Disk has no direction.
Powered-off VMs and templates are listed, not dropped: check power_state,
is_template and actionable (true only for a powered-on non-template VM
whose CPU or memory is off its recommendation), and read caveats before
recommending a change. Vendor appliances (vCenter, Aria, NSX...) cannot be
identified reliably — product_name appears only when the VM publishes a
vApp product — so every reduction carries a caveat to check the vendor
minimum size first. aria_verdict is the engine's own summary|oversized /
undersized statistics; a caveat flags when it disagrees with recommendedSize.
This is not the number the vendor UI's Rightsize page shows — that view presents allocated plus a suggested delta, not the absolute recommended size. Both are correct and they will not match.
Before acting on a recommendation, read recommendation_stable. Each row
carries recommendation_range — {window_days: 7, days_with_data,
cpu_mhz, memory_kb, diskspace_gb}, each a [daily low, daily high] pair —
and recommendation_stable: false when CPU or memory moved by more than 5%
of its high over the window (the row is then not actionable and a caveat
names the range), null when no history came back. Quote days_with_data
with it: the appliance may hold fewer days than the window.
Returns a paginated envelope: items, returned, limit, total (null when the API reports no size), truncated, hint, properties_note, history_note. Check truncated before calling this the complete set. properties_note is null unless the VM property read failed; then power_state, is_template and current sizes are null because they are UNKNOWN (not unpublished) and no row is actionable. history_note is null unless the history read failed; then recommendation_range and recommendation_stable are null (unknown) and actionable is decided without them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum VMs to evaluate when listing (1–100). Default 50. | |
| target | No | Aria target name from config; default when omitted. | |
| resource_id | No | Optional VM resource UUID to scope to a single VM. |