CreateCustomImageRequest

  • File size in bytes. Capped at the configured maximum (default 50 GiB).

  • Original filename. The extension drives format inference: .qcow2 → qcow2, .raw/.img → raw, .iso → iso. Unknown extensions are rejected with 400.

    • template: pre-installed disk image (qcow2 or raw). VM boots straight to a working OS.
    • iso: bootable installer media. VM boots and runs an installer.
  • OS family of the image. linux and windows support managed cloud-init provisioning (username/SSH key/password injection); other (e.g. BSD, Solaris, appliances) is bring-your-own — it boots the image as-is with no managed provisioning.

  • Provisioning mode. Optional — defaults to { type: 'none' } when omitted. cloud-init is only available for osFamily linux or windows; sending it with osFamily: other answers 400 "Managed cloud-init provisioning is only available for Linux and Windows images." When cloud-init is accepted, the username defaults from the platform's managed-provisioning map (there is no username field on this request). Settable here with no extra permission, same as uefi above (custom-image:manage gates it only on PATCH).

    Properties: 1
  • Whether the image supports NIC hot-add/remove while the VM is running. Optional — defaults to false when omitted. Settable here with no extra permission, same as uefi above (custom-image:manage gates it only on PATCH).

  • Firmware: true = UEFI with secure boot, false = legacy BIOS. Optional — defaults to true when omitted. The image owner can change it later via PATCH.