Skip to content
NimbusNexus

VM images

A VM image is the OS template used to boot a new VM's root disk. NimbusNexus ships public images for the major Linux distros and Windows Server; you can also upload your own custom images built with tools like Packer or by snapshotting a configured VM.

Public images

The public catalog updates monthly with security patches. Slugs are stable across patches; pulling ubuntu-24.04 today and again in 6 months gives you 6 months of patches applied to the same base. Pin to a dated slug (e.g. ubuntu-24.04-20260301) if you need byte-reproducible boots.

Currently published slugs:

  • ubuntu-24.04, ubuntu-22.04, ubuntu-20.04
  • debian-12, debian-11
  • fedora-40, fedora-39
  • rocky-9, rocky-8
  • almalinux-9, almalinux-8
  • windows-2022, windows-2019

Every public image includes our minimal cloud-init configuration: SSH keys injected from the project's registered keys (see SSH keys), apt-get update or equivalent on first boot, and the metadata service pinned to 169.254.169.254.

Custom images

Bring-your-own images are accepted as raw, qcow2, or vmdk files up to 128 GB uncompressed. The image is converted to our internal format on upload (~1–3 minutes per GB) and then becomes a regular bootable image for any VM in the same region.

Custom images are billed at $0.013/GB-month (Object Standard rate) for storage. There's no separate "image storage" tier.

Regions

Public images are available in every live region. Custom images are region-scoped — uploading to us-east-1 doesn't make the image bootable in eu-central-1 without a copy. Use POST /v1/vm-images/{id}/copy (not in the reference below — coming) to replicate.

What's next

  • Virtual machines — provision a VM with one of these images.
  • VM sizes — the compute shape the image boots into.
  • Snapshots — capture an existing VM as a snapshot, then convert to a custom image.

Reference

GET/api/v1/image/

Images List

Lists images visible to the caller, applying the supplied filters and pagination.

Parameters

NameInRequiredDescription
limitqueryno—
markerqueryno—
namequeryno—
ownerqueryno—
protectedqueryno—
statusqueryno—
tagqueryno—
visibilityqueryno—
os_hiddenqueryno—
member_statusqueryno—
size_maxqueryno—
size_minqueryno—
created_atqueryno—
updated_atqueryno—
sort_dirqueryno—
sort_keyqueryno—
sortqueryno—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/image/

POST/api/v1/image/

Image Create

Creates a new image record and resolves its billing product for the calling project.

Request body

JSON body required.

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/image/

DELETE/api/v1/image/

Images Delete

admin_domain, admin_project are only for admin

Request body

JSON body required.

Responses

  • 204Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/image/

POST/api/v1/image/file

Image Upload

Uploads the binary contents of a previously created image from the supplied file.

Request body

JSON body required.

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/image/file

POST/api/v1/image/import

Image Import

Imports an image into the catalog by fetching its contents from a remote URL.

Request body

JSON body required.

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/image/import

PATCH/api/v1/image/{image_id}

Image Update

Updates the editable fields of an image owned by the caller's project.

Parameters

NameInRequiredDescription
image_idpathyes—

Request body

JSON body required.

Responses

  • 200Successful Response
  • 422Validation Error

https://api.nimbusnexus.net/api/v1/image/{image_id}

Need to make a real call? Try these endpoints in the live Swagger UI →