yandex_cloud_desktops_desktop_group (Resource)
Written by
Updated at November 25, 2025
- Example usage
- Schema
- Required
- Optional
- Read-Only
- Nested Schema for desktop_template
- Nested Schema for desktop_template.boot_disk
- Nested Schema for desktop_template.boot_disk.initialize_params
- Nested Schema for desktop_template.data_disk
- Nested Schema for desktop_template.data_disk.initialize_params
- Nested Schema for desktop_template.network_interface
- Nested Schema for desktop_template.resources
- Nested Schema for group_config
- Nested Schema for group_config.members
- Nested Schema for timeouts
- Import
Manages a Cloud Desktops Desktop Group. For more information see the official documentation
Example usage
// network to function
resource "yandex_vpc_network" "network" {}
resource "yandex_vpc_subnet" "subnet" {
zone = "ru-central1-a"
network_id = yandex_vpc_network.network.id
v4_cidr_blocks = ["10.1.0.0/24"]
}
data "yandex_cloud_desktops_image" "desktop_image_by_folder_and_name" {
name = "Ubuntu 20.04 LTS (2024-12-03)"
}
// desktop group
resource "yandex_cloud_desktops_desktop_group" "desktop_group" {
name = "desktop-group-name"
folder_id = "<your folder id (optional)>"
image_id = data.yandex_cloud_desktops_image.image.id
description = "Sample description"
desktop_template = {
resources = {
cores = 4
memory = 8
core_fraction = 100
}
boot_disk = {
initialize_params = {
size = 24
type = "SSD"
}
}
data_disk = {
initialize_params = {
size = 16
type = "HDD"
}
}
network_interface = {
network_id = yandex_vpc_network.network.id
subnet_ids = ["${yandex_vpc_subnet.subnet.id}"]
}
}
group_config = {
min_ready_desktops = 1
max_desktops_amount = 5
desktop_type = "PERSISTENT"
members = [
{
id = "<your id>"
type = "userAccount"
}
]
}
labels = {
label1 = "label1-value"
label2 = "label2-value"
}
}
Schema
Required
image_id(String) The id of the desktop image the group is based on.name(String) The name of the desktop group.
Optional
description(String) The description of the desktop group.desktop_template(Attributes) The configuration template for the desktop group. (see below for nested schema)folder_id(String) The folder the dekstop group is in.group_config(Attributes) The group configuration. (see below for nested schema)labels(Map of String) A set of key/value label pairs which assigned to resource.timeouts(Block, Optional) (see below for nested schema)
Read-Only
desktop_group_id(String) The id of the desktop group.id(String) The resource identifier.
Nested Schema for desktop_template
Optional:
boot_disk(Attributes) The boot disk configuration for each desktop in the group. (see below for nested schema)data_disk(Attributes) The data disk configuration for each desktop in the group. (see below for nested schema)network_interface(Attributes) The base network interface configuration for each desktop in the group. (see below for nested schema)resources(Attributes) The base resource configuration for each desktop in the group. (see below for nested schema)
Nested Schema for desktop_template.boot_disk
Optional:
initialize_params(Attributes) General data disk configuration (see below for nested schema)
Nested Schema for desktop_template.boot_disk.initialize_params
Required:
type(String) The type of disk. Allowed values: TYPE_UNSPECIFIED, HDD or SDD
Optional:
size(Number) The size of disk in gigabytes.
Nested Schema for desktop_template.data_disk
Optional:
initialize_params(Attributes) General data disk configuration (see below for nested schema)
Nested Schema for desktop_template.data_disk.initialize_params
Required:
type(String) The type of disk. Allowed values: TYPE_UNSPECIFIED, HDD or SDD
Optional:
size(Number) The size of disk in gigabytes.
Nested Schema for desktop_template.network_interface
Required:
network_id(String) The id of the network desktops from the group would use.
Optional:
subnet_ids(List of String) The ids of the subnet networks desktops from the group would use.
Nested Schema for desktop_template.resources
Optional:
core_fraction(Number) The baseline level of CPU performance each desktop in this group would have.cores(Number) The number of cores each desktop in this group would have.memory(Number) The number of gigabytes of RAM each desktop in this group would have.
Nested Schema for group_config
Optional:
desktop_type(String) The type of the desktop group. Allowed: DESKTOP_TYPE_UNSPECIFIED, PERSISTENT, NON_PERSISTENTmax_desktops_amount(Number) Maximum number of desktops.members(Attributes List) List of members in this desktop group. (see below for nested schema)min_ready_desktops(Number) Minimum number of ready desktops.
Nested Schema for group_config.members
Required:
id(String) The id of the member. More info in the official documentation.type(String) The type of the member. More info in the official documentation.
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). 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 name, folderID, desktopImageID. For getting the resource ID you can use Yandex Cloud Web Console
# terraform import yandex_cloud_desktops_desktop_group.<resource Name> "name,folderID,desktopImageID"
terraform import yandex_cloud_desktops_desktop_group.my_desktop_group "group,fd8go**********trjsd,fd8go**********trjsd"