Skip to content

Flavors CLI Reference

Reference · Updated Sep 2026

Coming from another cloud?

▸AWS·Instance Types

Instance Typeshigh

  • Fixed predefined configurations only; no custom flavor creation.
  • Extensive families for GPU/HPC/ARM etc.
  • InstanceType as string param in API, not ID reference.
  • Tied to specific hardware generations (Nitro/Xen).
AWS docs ↗
▸Azure·VM sizes

VM sizeshigh

  • Predefined hardware-optimized series (e.g., D-family general purpose) with complex naming (e.g., Standard_D4as_v5), not user-defined vCPU/RAM like OpenStack flavors.
  • Sizes listed via API /providers/Microsoft.Compute/locations/{location}/vmSizes, region-specific availability.
  • Includes accelerator features (GPU, FPGA) baked into sizes, unavailable in basic OpenStack flavors without extensions.
  • Cannot create custom sizes; selection from catalog, limiting flexibility vs OpenStack flavor creation.
Azure docs ↗
▸DigitalOcean·Droplet sizes (plans)

Droplet sizes (plans)high

  • A Droplet must select a predefined “size” bundle (RAM/vCPU/disk/transfer) rather than choosing from an OpenStack flavor catalog that many clouds let you customize/extend at the project level.
  • The size object exposes explicit monthly pricing (price_monthly) and per-hour pricing (price_hourly) in the API response, whereas OpenStack clouds typically separate pricing from the Nova flavor definition.
  • DigitalOcean sizes embed transfer allowance and region availability directly in the size metadata, while OpenStack flavors generally describe compute resources and rely on separate networking/quotas/policies for bandwidth and availability.
  • DigitalOcean size classes are described in the API as categories like Basic, General Purpose, CPU-Optimized, Memory-Optimized, and Storage-Optimized rather than OpenStack’s provider-defined flavor naming/extra-specs approach.
DigitalOcean docs ↗
▸Google Cloud·Machine types

Machine typeshigh

  • Organized by families/series (e.g. N2 general-purpose); OpenStack flavors flat list.
  • Custom types +5% premium for N/E series; no such billing in OpenStack.
  • Naming 'n2-standard-4'; shared-core bursting types absent in OpenStack.
Google Cloud docs ↗
▸Hetzner·Server Types

Server Typeshigh

  • Fixed predefined types (e.g. CX11, CPX31) with shared_vcpu (noisy neighbors) vs dedicated_vcpu.
  • GET /v1/server_types lists all; no custom flavor creation like OpenStack.
  • Includes pricing (hourly/monthly net/gross), included_traffic, architecture (x86/amd64/arm).
  • Resize via change_type action, but limited to compatible types.
Hetzner docs ↗

Flavors CLI reference

See the OpenStack CLI flavor reference for the full list of openstack flavor subcommands.

Use these commands to list, show, create, delete, and manage properties for flavors. The FLAVOR_ID_OR_NAME parameter accepts either the flavor ID or the flavor name. Creating, deleting, and modifying flavors are administrative operations; a regular project user receives a 403 Forbidden response.

List flavors#

bash
openstack flavor list

Show flavor details#

bash
openstack flavor show FLAVOR_ID_OR_NAME

Create a flavor#

bash
openstack flavor create --id FLAVOR_ID --ram RAM_IN_MB --disk DISK_IN_GB --vcpus NUM_VCPUS FLAVOR_NAME
  • FLAVOR_ID: Unique ID for the flavor (optional; if not provided, OpenStack generates one).
  • RAM_IN_MB: Amount of RAM in megabytes.
  • DISK_IN_GB: Size of the root disk in gigabytes.
  • NUM_VCPUS: Number of virtual CPUs.
  • FLAVOR_NAME: Name of the flavor.

Delete a flavor#

bash
openstack flavor delete FLAVOR_ID_OR_NAME

Set flavor properties#

bash
openstack flavor set --property KEY=VALUE FLAVOR_ID_OR_NAME
  • Set custom properties for a flavor, such as hw:cpu_policy=dedicated for CPU pinning.

Unset flavor properties#

bash
openstack flavor unset --property KEY FLAVOR_ID_OR_NAME
  • Remove custom properties from a flavor.

Manage flavor access#

The openstack client does not provide flavor access subcommands. Manage access to private flavors through the Compute API instead: see the Flavors API reference for the os-flavor-access endpoints. Flavor access is an administrative operation, so a regular project user receives a 403 Forbidden response.

Output columns#

Select specific columns with --column COL1 --column COL2 or change the output format with -f json, -f csv, or -f table (default).

openstack flavor list#

ColumnDescription
IDFlavor UUID
NameFlavor name (e.g., m2a.large)
RAMMemory allocation in MiB
DiskRoot disk size in GiB
EphemeralEphemeral disk size in GiB
VCPUsNumber of virtual CPUs
Is PublicWhether the flavor is available to all projects

openstack flavor list --long#

ColumnDescription
IDFlavor UUID
NameFlavor name
RAMMemory allocation in MiB
DiskRoot disk size in GiB
EphemeralEphemeral disk size in GiB
VCPUsNumber of virtual CPUs
Is PublicWhether the flavor is available to all projects
SwapSwap disk size in MiB
RXTX FactorNetwork bandwidth weight factor
PropertiesExtra specs (e.g., CPU pinning, NUMA topology)

Each flavor also carries a rumble:compute_units extra spec, shown under Properties in openstack flavor show FLAVOR_ID_OR_NAME. This value is charged against the compute_units quota; see Quota-related errors for details.

Quick answers

Was this page helpful?