An image is the template an instance boots from: the operating system and whatever else was built into it. You choose one at launch. The launch copies the image onto the new instance’s root disk, and from then on the instance doesn’t depend on the image.
The following table shows where images come from and how they’re used.
| From | Step | To |
|---|---|---|
| Image family | resolves to | Platform-provided image |
| Volume | snapshot | Protected snapshot |
| Protected snapshot | create-image | Your image |
| Platform-provided image | launch | Instance |
| Your image | launch | Instance |
Key concepts
| Concept | Meaning |
|---|---|
| Platform-provided image | An image the platform publishes, such as a Debian or Ubuntu base image. Any project can launch from one. It lists alongside your own images in list-images. |
| Your own image | An image you create from a protected snapshot of one of your volumes. It belongs to the project you create it in. See Create an image. |
| Image family | A stable name for a line of platform-provided images that resolves to the current one. See Image families. |
| Default user | The account an instance launched from the image logs in as. Every image has a defaultUser. The platform-provided images use cloud. See Guest environment. |
Image fields
Three image fields are typed enums in the API. Each has exactly one value. Handle the value you get, and let a value your client doesn’t recognize surface rather than defaulting it away.
| Field | Value | Meaning |
|---|---|---|
status | AVAILABLE | The image can be launched from. An image becomes visible only once its contents are in place, and there is no other status. An image that couldn’t be created never appears. |
architecture | X86_64 | The CPU architecture the image’s contents are built for. An instance launched from it runs on a machine of that architecture. |
platform | LINUX_UNIX | The operating-system family. It covers every Linux and UNIX-like distribution. |
Platform-provided images also carry family, the family they belong to, and isFamilyCurrent, whether the family currently resolves to that image.
What you can do
- Create an image from one of your volumes
- List images with
origin compute list-imagesand read one withorigin compute get-image - Launch an instance from an image