yandex_compute_image (Resource)
Статья создана
Обновлена 11 сентября 2025 г.
Creates a virtual machine image resource for the Yandex Compute Cloud service from an existing tarball. For more information, see the official documentation.
Важно
One of source_family
, source_image
, source_snapshot
, source_disk
or source_url
must be specified.
Example 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
}
}
}
Schema
Optional
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 providerfolder-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 thestandard-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-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.
hardware_generation
Nested Schema for Optional:
generation2_features
(Block List, Max: 1) A newer hardware generation, which always usesPCI_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)
hardware_generation.generation2_features
Nested Schema for
hardware_generation.legacy_features
Nested Schema for Optional:
pci_topology
(String) A variant of PCI topology, one ofPCI_TOPOLOGY_V1
orPCI_TOPOLOGY_V2
.
timeouts
Nested Schema for 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).
Import
The resource can be imported by using their resource ID
. For getting the resource ID you can use Yandex Cloud Web Console
# terraform import yandex_compute_image.<resource Name> <resource Id>
terraform import yandex_compute_image.my_image fd8go**********trjsd