Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Yandex Compute Cloud
  • Yandex Container Solution
  • Access management
  • Terraform reference
    • Authentication with the API
      • Overview
        • Overview
        • Get
        • GetLatestByFamily
        • List
        • Create
        • Update
        • Delete
        • ListOperations
        • ListAccessBindings
        • SetAccessBindings
        • UpdateAccessBindings
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • gRPC request
  • CreateImageRequest
  • Os
  • HardwareGeneration
  • LegacyHardwareFeatures
  • Generation2HardwareFeatures
  • operation.Operation
  • CreateImageMetadata
  • Image
  • Os
  • HardwareGeneration
  • LegacyHardwareFeatures
  • Generation2HardwareFeatures
  • KMSKey
  1. API reference
  2. gRPC
  3. Image
  4. Create

Compute Cloud API, gRPC: ImageService.Create

Written by
Yandex Cloud
Updated at December 24, 2024
  • gRPC request
  • CreateImageRequest
  • Os
  • HardwareGeneration
  • LegacyHardwareFeatures
  • Generation2HardwareFeatures
  • operation.Operation
  • CreateImageMetadata
  • Image
  • Os
  • HardwareGeneration
  • LegacyHardwareFeatures
  • Generation2HardwareFeatures
  • KMSKey

Creates an image in the specified folder.

You can create an image from a disk, snapshot, other image or URI.
Method starts an asynchronous operation that can be cancelled while it is in progress.

gRPC requestgRPC request

rpc Create (CreateImageRequest) returns (operation.Operation)

CreateImageRequestCreateImageRequest

{
  "folder_id": "string",
  "name": "string",
  "description": "string",
  "labels": "map<string, string>",
  "family": "string",
  "min_disk_size": "int64",
  "product_ids": [
    "string"
  ],
  // Includes only one of the fields `image_id`, `disk_id`, `snapshot_id`, `uri`
  "image_id": "string",
  "disk_id": "string",
  "snapshot_id": "string",
  "uri": "string",
  // end of the list of possible fields
  "os": {
    "type": "Type"
  },
  "pooled": "bool",
  "hardware_generation": {
    // Includes only one of the fields `legacy_features`, `generation2_features`
    "legacy_features": {
      "pci_topology": "PCITopology"
    },
    "generation2_features": "Generation2HardwareFeatures"
    // end of the list of possible fields
  }
}

Field

Description

folder_id

string

Required field. ID of the folder to create an image in.
To get the folder ID, use a yandex.cloud.resourcemanager.v1.FolderService.List request.

name

string

Name of the image.

description

string

Description of the image.

labels

object (map<string, string>)

Resource labels as key:value pairs.

family

string

The name of the image family to which this image belongs. For more information, see Image family.

To get an information about the most recent image from a family, use a ImageService.GetLatestByFamily request.

min_disk_size

int64

Minimum size of the disk that will be created from this image.
Specified in bytes. Should be more than the volume of source data.

product_ids[]

string

License IDs that indicate which licenses are attached to this resource.
License IDs are used to calculate additional charges for the use of the virtual machine.

The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource.

If you know the license IDs, specify them when you create the image.
For example, if you create a disk image using a third-party utility and load it into Object Storage, the license IDs will be lost.
You can specify them in this request.

image_id

string

ID of the source image to create the new image from.

Includes only one of the fields image_id, disk_id, snapshot_id, uri.

disk_id

string

ID of the disk to create the image from.

Includes only one of the fields image_id, disk_id, snapshot_id, uri.

snapshot_id

string

ID of the snapshot to create the image from.

Includes only one of the fields image_id, disk_id, snapshot_id, uri.

uri

string

URI of the source image to create the new image from.
Currently only supports links to images that are stored in Object Storage.
Must be a valid pre-signed URL.
Currently only supports Qcow2, VMDK, and RAW image formats.

Includes only one of the fields image_id, disk_id, snapshot_id, uri.

os

Os

Operating system that is contained in the image.

If not specified and you used the image_id or disk_id field to set the source, then the value can be inherited from the source resource.

pooled

bool

When true, an image pool will be created for fast creation disks from the image.

hardware_generation

HardwareGeneration

Specify the overrides to hardware_generation of a source disk, image or snapshot,
or to the default values if the source does not define it.

OsOs

Field

Description

type

enum Type

Operating system type. The default is LINUX.

This field is used to correctly emulate a vCPU and calculate the cost of using an instance.

  • TYPE_UNSPECIFIED
  • LINUX: Linux operating system.
  • WINDOWS: Windows operating system.

HardwareGenerationHardwareGeneration

A set of features, specific to a particular Compute hardware generation.
They are not necessary supported by every host OS or distro, thus they are fixed to an image
and are applied to all instances created with it as their boot disk image.
These features significantly determine how the instance is created, thus cannot be changed after the fact.

Field

Description

legacy_features

LegacyHardwareFeatures

Includes only one of the fields legacy_features, generation2_features.

generation2_features

Generation2HardwareFeatures

Includes only one of the fields legacy_features, generation2_features.

LegacyHardwareFeaturesLegacyHardwareFeatures

A first hardware generation, by default compatible with all legacy images.
Allows switching to PCI_TOPOLOGY_V2 and back.

Field

Description

pci_topology

enum PCITopology

  • PCI_TOPOLOGY_UNSPECIFIED
  • PCI_TOPOLOGY_V1
  • PCI_TOPOLOGY_V2

Generation2HardwareFeaturesGeneration2HardwareFeatures

A second hardware generation, which by default assumes PCI_TOPOLOGY_V2
and UEFI boot (with UEFI related features).

Field

Description

Empty

operation.Operationoperation.Operation

{
  "id": "string",
  "description": "string",
  "created_at": "google.protobuf.Timestamp",
  "created_by": "string",
  "modified_at": "google.protobuf.Timestamp",
  "done": "bool",
  "metadata": {
    "image_id": "string"
  },
  // Includes only one of the fields `error`, `response`
  "error": "google.rpc.Status",
  "response": {
    "id": "string",
    "folder_id": "string",
    "created_at": "google.protobuf.Timestamp",
    "name": "string",
    "description": "string",
    "labels": "map<string, string>",
    "family": "string",
    "storage_size": "int64",
    "min_disk_size": "int64",
    "product_ids": [
      "string"
    ],
    "status": "Status",
    "os": {
      "type": "Type"
    },
    "pooled": "bool",
    "hardware_generation": {
      // Includes only one of the fields `legacy_features`, `generation2_features`
      "legacy_features": {
        "pci_topology": "PCITopology"
      },
      "generation2_features": "Generation2HardwareFeatures"
      // end of the list of possible fields
    },
    "kms_key": {
      "key_id": "string",
      "version_id": "string"
    }
  }
  // end of the list of possible fields
}

An Operation resource. For more information, see Operation.

Field

Description

id

string

ID of the operation.

description

string

Description of the operation. 0-256 characters long.

created_at

google.protobuf.Timestamp

Creation timestamp.

created_by

string

ID of the user or service account who initiated the operation.

modified_at

google.protobuf.Timestamp

The time when the Operation resource was last modified.

done

bool

If the value is false, it means the operation is still in progress.
If true, the operation is completed, and either error or response is available.

metadata

CreateImageMetadata

Service-specific metadata associated with the operation.
It typically contains the ID of the target resource that the operation is performed on.
Any method that returns a long-running operation should document the metadata type, if any.

error

google.rpc.Status

The error result of the operation in case of failure or cancellation.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

response

Image

The normal response of the operation in case of success.
If the original method returns no data on success, such as Delete,
the response is google.protobuf.Empty.
If the original method is the standard Create/Update,
the response should be the target resource of the operation.
Any method that returns a long-running operation should document the response type, if any.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

CreateImageMetadataCreateImageMetadata

Field

Description

image_id

string

ID of the image that is being created.

ImageImage

An Image resource.

Field

Description

id

string

ID of the image.

folder_id

string

ID of the folder that the image belongs to.

created_at

google.protobuf.Timestamp

name

string

Name of the image. 1-63 characters long.

description

string

Description of the image. 0-256 characters long.

labels

object (map<string, string>)

Resource labels as key:value pairs. Maximum of 64 per resource.

family

string

The name of the image family to which this image belongs.

You can get the most recent image from a family by using
the yandex.cloud.compute.v1.ImageService.GetLatestByFamily request
and create the disk from this image.

storage_size

int64

The size of the image, specified in bytes.

min_disk_size

int64

Minimum size of the disk which will be created from this image.

product_ids[]

string

License IDs that indicate which licenses are attached to this resource.
License IDs are used to calculate additional charges for the use of the virtual machine.

The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource.

If you know the license IDs, specify them when you create the image.
For example, if you create a disk image using a third-party utility and load it into Object Storage, the license IDs will be lost.
You can specify them in the yandex.cloud.compute.v1.ImageService.Create request.

status

enum Status

Current status of the image.

  • STATUS_UNSPECIFIED
  • CREATING: Image is being created.
  • READY: Image is ready to use.
  • ERROR: Image encountered a problem and cannot operate.
  • DELETING: Image is being deleted.

os

Os

Operating system that is contained in the image.

pooled

bool

When true, indicates there is an image pool for fast creation disks from the image.

hardware_generation

HardwareGeneration

If specified, forces the same HardwareGeneration features to be applied to the instance
created using this image as a source for the boot disk. Otherwise the current default will be used.

kms_key

KMSKey

Key encryption key info.

OsOs

Field

Description

type

enum Type

Operating system type. The default is LINUX.

This field is used to correctly emulate a vCPU and calculate the cost of using an instance.

  • TYPE_UNSPECIFIED
  • LINUX: Linux operating system.
  • WINDOWS: Windows operating system.

HardwareGenerationHardwareGeneration

A set of features, specific to a particular Compute hardware generation.
They are not necessary supported by every host OS or distro, thus they are fixed to an image
and are applied to all instances created with it as their boot disk image.
These features significantly determine how the instance is created, thus cannot be changed after the fact.

Field

Description

legacy_features

LegacyHardwareFeatures

Includes only one of the fields legacy_features, generation2_features.

generation2_features

Generation2HardwareFeatures

Includes only one of the fields legacy_features, generation2_features.

LegacyHardwareFeaturesLegacyHardwareFeatures

A first hardware generation, by default compatible with all legacy images.
Allows switching to PCI_TOPOLOGY_V2 and back.

Field

Description

pci_topology

enum PCITopology

  • PCI_TOPOLOGY_UNSPECIFIED
  • PCI_TOPOLOGY_V1
  • PCI_TOPOLOGY_V2

Generation2HardwareFeaturesGeneration2HardwareFeatures

A second hardware generation, which by default assumes PCI_TOPOLOGY_V2
and UEFI boot (with UEFI related features).

Field

Description

Empty

KMSKeyKMSKey

Field

Description

key_id

string

ID of KMS symmetric key

version_id

string

Version of KMS symmetric key

Was the article helpful?

Previous
List
Next
Update
Yandex project
© 2025 Yandex.Cloud LLC