Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Terraform in Yandex Cloud
  • Getting started
  • Solution library
    • Overview
    • Release notes
          • compute_disk
          • compute_disk_iam_binding
          • compute_disk_placement_group
          • compute_disk_placement_group_iam_binding
          • compute_filesystem
          • compute_filesystem_iam_binding
          • compute_gpu_cluster
          • compute_gpu_cluster_iam_binding
          • compute_image
          • compute_image_iam_binding
          • compute_instance
          • compute_instance_group
          • compute_instance_iam_binding
          • compute_placement_group
          • compute_placement_group_iam_binding
          • compute_snapshot
          • compute_snapshot_iam_binding
          • compute_snapshot_schedule
          • compute_snapshot_schedule_iam_binding

In this article:

  • Example usage
  • Schema
  • Optional
  • Read-Only
  • Nested Schema for hardware_generation
  • Nested Schema for hardware_generation.generation2_features
  • Nested Schema for hardware_generation.legacy_features
  • Nested Schema for timeouts
  • Import
  1. Terraform reference
  2. Resources
  3. Compute Cloud
  4. Resources
  5. compute_image

yandex_compute_image (Resource)

Written by
Yandex Cloud
Updated at September 11, 2025
  • Example usage
  • Schema
    • Optional
    • Read-Only
    • Nested Schema for hardware_generation
    • Nested Schema for hardware_generation.generation2_features
    • Nested Schema for hardware_generation.legacy_features
    • Nested Schema for timeouts
  • Import

Creates a virtual machine image resource for the Yandex Compute Cloud service from an existing tarball. For more information, see the official documentation.

Warning

One of source_family, source_image, source_snapshot, source_disk or source_url must be specified.

Example usageExample usage

//
// Create a new Compute Image.
//
resource "yandex_compute_image" "foo-image" {
  name       = "my-custom-image"
  source_url = "https://storage.yandexcloud.net/lucky-images/kube-it.img"
}

// You can use "data.yandex_compute_image.my_image.id" identifier 
// as reference to existing resource.
resource "yandex_compute_instance" "vm" {
  name = "vm-from-custom-image"

  # ...

  boot_disk {
    initialize_params {
      image_id = yandex_compute_image.foo-image.id
    }
  }
}

SchemaSchema

OptionalOptional

  • description (String) The resource description.
  • family (String) The name of the image family to which this image belongs.
  • folder_id (String) The folder identifier that resource belongs to. If it is not provided, the default provider folder-id is used.
  • hardware_generation (Block List, Max: 1) Hardware generation and its features, which will be applied to the instance when this image is used for creating a boot disk. Provide this property if you wish to override this value, which otherwise is inherited from the source. (see below for nested schema)
  • labels (Map of String) A set of key/value label pairs which assigned to resource.
  • min_disk_size (Number) Minimum size in GB of the disk that will be created from this image.
  • name (String) The resource name.
  • os_type (String) Operating system type that is contained in the image. Possible values: LINUX, WINDOWS.
  • pooled (Boolean) Optimize the image to create a disk.
  • product_ids (Set of String) License IDs that indicate which licenses are attached to this image.
  • source_disk (String) The ID of a disk to use as the source of the image. Changing this ID forces a new resource to be created.
  • source_family (String) The name of the family to use as the source of the new image. The ID of the latest image is taken from the standard-images folder. Changing the family forces a new resource to be created.
  • source_image (String) The ID of an existing image to use as the source of the image. Changing this ID forces a new resource to be created.
  • source_snapshot (String) The ID of a snapshot to use as the source of the image. Changing this ID forces a new resource to be created.
  • source_url (String) The URL to use as the source of the image. Changing this URL forces a new resource to be created.
  • timeouts (Block, Optional) (see below for nested schema)

Read-OnlyRead-Only

  • created_at (String) The creation timestamp of the resource.
  • id (String) The ID of this resource.
  • size (Number) The size of the image, specified in GB.
  • status (String) The status of the image.

Nested Schema for Nested Schema for hardware_generation

Optional:

  • generation2_features (Block List, Max: 1) A newer hardware generation, which always uses PCI_TOPOLOGY_V2 and UEFI boot. (see below for nested schema)
  • legacy_features (Block List, Max: 1) Defines the first known hardware generation and its features. (see below for nested schema)

Nested Schema for Nested Schema for hardware_generation.generation2_features

Nested Schema for Nested Schema for hardware_generation.legacy_features

Optional:

  • pci_topology (String) A variant of PCI topology, one of PCI_TOPOLOGY_V1 or PCI_TOPOLOGY_V2.

Nested Schema for Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

ImportImport

The resource can be imported by using their resource ID. For getting the resource ID you can use Yandex Cloud Web Console or YC CLI.

# terraform import yandex_compute_image.<resource Name> <resource Id>
terraform import yandex_compute_image.my_image fd8go**********trjsd

Was the article helpful?

Previous
compute_gpu_cluster_iam_binding
Next
compute_image_iam_binding
© 2025 Direct Cursus Technology L.L.C.