mws_compute_virtual_machine (Resource)
Заголовок раздела «mws_compute_virtual_machine (Resource)»Виртуальная машина (ВМ) — программная эмуляция физического сервера, предназначенная для запуска операционных систем и приложений
Пример использования
Заголовок раздела «Пример использования»data "mws_compute_image" "image" { image = "mws-ubuntu-2204-lts-v20250529" project = "mws-ubuntu"}
resource "mws_vpc_network" "network" { network = var.network_name}
resource "mws_vpc_subnet" "subnet" { subnet = var.subnet_name network = mws_vpc_network.network.network cidr = "192.168.0.0/16"}
resource "mws_vpc_address" "vm_primary_network_interface_address" { network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet.metadata.id address = "${var.vm_name}-primary-network-interface-address"}
resource "mws_vpc_external_address" "vm_external_address" { external_address = "${var.vm_name}-external-address"}
resource "mws_compute_disk" "disk" { disk = var.disk_name disk_type = "diskTypes/nbs-pl2" iops = 1000 size = "10GB" source = { image = data.mws_compute_image.image.metadata.id }}
resource "mws_compute_virtual_machine" "vm" { virtual_machine = var.vm_name vm_type = "vmTypes/gen-2-8"
hardware = { power = "ON" graceful_shutdown_timeout = "1m 30s" }
storage = { disks = [ { name = "boot" boot = true disk = { ref = mws_compute_disk.disk.metadata.id } } ] }
network = { network_interfaces = [ { name = "${var.vm_name}-network-interface-primary" primary = true addresses = [ { address = { ref = mws_vpc_address.vm_primary_network_interface_address.metadata.id } one_to_one_nat = { external = { address = { ref = mws_vpc_external_address.vm_external_address.metadata.id } } } } ] } ] }}
variable "vm_name" { type = string default = "my-test-vm" description = "Virtual machine name"}
variable "network_name" { type = string default = "my-test-network" description = "Network name"}
variable "subnet_name" { type = string default = "my-test-subnet" description = "Subnet name"}
variable "disk_name" { type = string default = "my-test-disk" description = "Disk name"}Required
Заголовок раздела «Required»network(Attributes) (see below for nested schema)storage(Attributes) (see below for nested schema)virtual_machine(String)vm_type(String)
Optional
Заголовок раздела «Optional»hardware(Attributes) (see below for nested schema)kind(String)metadata(Attributes) (see below for nested schema)os(Attributes) (see below for nested schema)project(String) Путь к проектуservice_account(String) Ссылка на сервис аккаунт привязанный к виртуальной машине.timeouts(Attributes) (see below for nested schema)zone(String)
Read-Only
Заголовок раздела «Read-Only»id(String) The ID of this resource.status(Attributes) (see below for nested schema)
Nested Schema for network
Заголовок раздела «Nested Schema for network»Required:
network_interfaces(Attributes List) (see below for nested schema)
Nested Schema for network.network_interfaces
Заголовок раздела «Nested Schema for network.network_interfaces»Required:
addresses(Attributes List) К одному сетевому интерфейсу можно подключить одновременно 4 разных сетевых адреса- IPv4 internal
- IPv4 external
- IPv6 internal
- IPv6 external (see below for nested schema)
name(String)
Optional:
ip_forwarding_enabled(Boolean)primary(Boolean)
Nested Schema for network.network_interfaces.addresses
Заголовок раздела «Nested Schema for network.network_interfaces.addresses»Required:
address(Attributes) (see below for nested schema)
Optional:
one_to_one_nat(Attributes) NAT правило для связи внутреннего адреса с внешним адресом (see below for nested schema)
Nested Schema for network.network_interfaces.addresses.address
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.address»Optional:
ref(String)spec(Attributes) Возможно 2 варианта:- запросить резервирование случайного адреса (заданы параметры “version”)
- запросить резервирование конкретного адреса (заданы параметры “version”, “ipAddress”, остальные пусты) Если необходимо привязать внешний адрес, заполняется параметр “oneToOneNat” (see below for nested schema)
Nested Schema for network.network_interfaces.addresses.address.spec
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.address.spec»Required:
subnet(String) Подсеть облачной сети, к которой принадлежит внутренний адрес
Optional:
dns(Attributes List) Настройки DNS (see below for nested schema)ip_address(String) Желаемый адрес. Если не указан, то будет выделен из пула адресов подсети.
Nested Schema for network.network_interfaces.addresses.address.spec.dns
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.address.spec.dns»Required:
name(String) DNS-имя виртуальной машины в MWS Cloud Platformptr(Boolean) Создать обратную DNS-записьttl(String) Продолжительность хранения DNS записи в кеше
Nested Schema for network.network_interfaces.addresses.one_to_one_nat
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.one_to_one_nat»Required:
external(Attributes) Информация о внешнем адресе (see below for nested schema)
Nested Schema for network.network_interfaces.addresses.one_to_one_nat.external
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.one_to_one_nat.external»Required:
address(Attributes) (see below for nested schema)
Nested Schema for network.network_interfaces.addresses.one_to_one_nat.external.address
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.one_to_one_nat.external.address»Optional:
ref(String)spec(Attributes) NAT правило для связи внутреннего адреса с внешним адресом. (see below for nested schema)
Nested Schema for network.network_interfaces.addresses.one_to_one_nat.external.address.spec
Заголовок раздела «Nested Schema for network.network_interfaces.addresses.one_to_one_nat.external.address.spec»Nested Schema for storage
Заголовок раздела «Nested Schema for storage»Required:
disks(Attributes List) (see below for nested schema)
Optional:
local_disks(Attributes List) (see below for nested schema)
Nested Schema for storage.disks
Заголовок раздела «Nested Schema for storage.disks»Required:
disk(Attributes) (see below for nested schema)name(String) Уникальное имя диска в рамках виртуальной машины
Optional:
boot(Boolean)device_name(String) Уникальное имя устройства, которое отображается в дереве /dev/disk/by-id/mws-* Linux. Если не указано - “mws-{name}”, если указано - “mws-{deviceName}”
Nested Schema for storage.disks.disk
Заголовок раздела «Nested Schema for storage.disks.disk»Optional:
ref(String)spec(Attributes) (see below for nested schema)
Nested Schema for storage.disks.disk.spec
Заголовок раздела «Nested Schema for storage.disks.disk.spec»Optional:
disk_type(String) Ссылка на тип дискаiops(Number) Запрашиваемая пользователем IOPSsize(String)source(Attributes) Источник для создания диска (see below for nested schema)
Nested Schema for storage.disks.disk.spec.source
Заголовок раздела «Nested Schema for storage.disks.disk.spec.source»Optional:
image(String) Ссылка на образ
Nested Schema for storage.local_disks
Заголовок раздела «Nested Schema for storage.local_disks»Required:
name(String) Уникальное имя диска в рамках виртуальной машиныsize(String) Размер диска. Должен быть кратен 248GB
Optional:
device_name(String) Уникальное имя устройства, которое отображается в дереве /dev/disk/by-id/mws-* Linux. Если не указано - “mws-{name}”, если указано - “mws-{deviceName}”
Nested Schema for hardware
Заголовок раздела «Nested Schema for hardware»Optional:
graceful_shutdown_timeout(String) Время ожидания (таймаут) при отключении по ACPI
Выключение виртуальной машины происходит в 2 этапа:
- Гостевой ОС передается сигнал ACPI shutdown.
- В случае если гостевая ОС не завершила работу за заданное время, агент принудительно останавливает ВМ.
При timeout=0 первый этап пропускается
power(String) Целевое состояние питания виртуальной машины
Nested Schema for metadata
Заголовок раздела «Nested Schema for metadata»Optional:
description(String) Описание ресурса.display_name(String) Отображаемое имя. Необязательное поле, можно свободно задавать и изменять для удобства организации ресурсов.
Read-Only:
create_time(String) Дата создания объекта.delete_time(String) Время запроса на удаление ресурса (не фактическое время удаления).id(String) ID свойстваpurge_time(String)usages(Attributes List) Связи с другими ресурсами. В зависимости от типа связи, операции над ресурсом могут быть ограничены. (see below for nested schema)
Nested Schema for metadata.usages
Заголовок раздела «Nested Schema for metadata.usages»Read-Only:
name(String) Имя связи, требуется для модификации коллекцииresource(String) ссылка на ресурсusage_type(String) Тип связи. Помимо стандартных own и use могут быть добавлены специализированные типы для конкретных сервисов
Nested Schema for os
Заголовок раздела «Nested Schema for os»Optional:
hostname(String)local_domain(String)metadata(Attributes) (see below for nested schema)standard_dns_records(Boolean)
Nested Schema for os.metadata
Заголовок раздела «Nested Schema for os.metadata»Optional:
attributes(Map of String)
Nested Schema for timeouts
Заголовок раздела «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).
Nested Schema for status
Заголовок раздела «Nested Schema for status»Read-Only:
hardware(Attributes) (see below for nested schema)id(String, Deprecated)network(Attributes) (see below for nested schema)os(Attributes) (see below for nested schema)ready(Attributes) Информация о статусе реконсиляции (see below for nested schema)service_account(Attributes) Cтатус привязанного сервисного аккаунта (see below for nested schema)storage(Attributes) (see below for nested schema)
Nested Schema for status.hardware
Заголовок раздела «Nested Schema for status.hardware»Read-Only:
graceful_shutdown_timeout(String) Время ожидания (таймаут) при отключении по ACPI
Выключение виртуальной машины происходит в 2 этапа:
- Гостевой ОС передается сигнал ACPI shutdown.
- В случае если гостевая ОС не завершила работу за заданное время, агент принудительно останавливает ВМ.
При timeout=0 первый этап пропускается
power(String) Текущее состояние питания виртуальной машины
Nested Schema for status.network
Заголовок раздела «Nested Schema for status.network»Read-Only:
network_interfaces(Attributes List) (see below for nested schema)
Nested Schema for status.network.network_interfaces
Заголовок раздела «Nested Schema for status.network.network_interfaces»Read-Only:
addresses(Attributes List) (see below for nested schema)ip_forwarding_enabled(Boolean) Признак, может ли сетевой интерфейс (адаптер) принимать трафик с нецелевого ipname(String) Уникальный в рамках ВМ псевдоним (alias) сетевого интерфейса
Nested Schema for status.network.network_interfaces.addresses
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses»Read-Only:
dns(Attributes List) (see below for nested schema)ip_address(String) Выделенный IP-адресnetwork(String) Сеть, в которой был создан адресone_to_one_nat(Attributes) (see below for nested schema)ready(Attributes) Статус ресурса Адрес (see below for nested schema)ref(String) ref на ресурс Адресstandard_dns(Attributes) (see below for nested schema)subnet(String) Подсеть, в которой был создан адрес
Nested Schema for status.network.network_interfaces.addresses.dns
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses.dns»Read-Only:
name(String) DNS-имя виртуальной машины в MWS Cloud Platformptr(Boolean) Создать обратную DNS-записьttl(String) Продолжительность хранения DNS записи в кеше
Nested Schema for status.network.network_interfaces.addresses.one_to_one_nat
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses.one_to_one_nat»Read-Only:
external(Attributes) Статус внешнего (публичного) Адреса (see below for nested schema)ready(Attributes) Ссылка на ресурс состояние ресурса OneToOneNat (see below for nested schema)ref(String) Ссылка на ресурс OneToOneNat
Nested Schema for status.network.network_interfaces.addresses.one_to_one_nat.external
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses.one_to_one_nat.external»Read-Only:
ip_address(String) Фактически присвоенный публичный Адресref(String) ref на публичный Адрес
Nested Schema for status.network.network_interfaces.addresses.one_to_one_nat.ready
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses.one_to_one_nat.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса
Nested Schema for status.network.network_interfaces.addresses.ready
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса
Nested Schema for status.network.network_interfaces.addresses.standard_dns
Заголовок раздела «Nested Schema for status.network.network_interfaces.addresses.standard_dns»Read-Only:
name(String) DNS-имя виртуальной машины в MWS Cloud Platformptr(Boolean) Создать обратную DNS-записьttl(String) Продолжительность хранения DNS записи в кеше
Nested Schema for status.os
Заголовок раздела «Nested Schema for status.os»Read-Only:
fqdn(String) Предоставляет информацию о результирующем FQDN, доступном в виртуальной машине с помощью запуска утилиты ‘hostname -f’. Результат обработки полей spec/os/hostname и spec/os/localDomain, а также дефолтов на основе metadata/name в случае, если эти поля не заданы.os_type(String) Тип гостевой операционной системыstandard_dns_records(Boolean)
Nested Schema for status.ready
Заголовок раздела «Nested Schema for status.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса
Nested Schema for status.service_account
Заголовок раздела «Nested Schema for status.service_account»Read-Only:
display_name(String) Отображаемое имя сервисного аккаунта (может отличаться от имени в ID).ready(Attributes) Информация о статусе реконсиляции (see below for nested schema)ref(String) Ссылка на сервисный аккаунт
Nested Schema for status.service_account.ready
Заголовок раздела «Nested Schema for status.service_account.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса
Nested Schema for status.storage
Заголовок раздела «Nested Schema for status.storage»Read-Only:
disks(Attributes List) (see below for nested schema)
Nested Schema for status.storage.disks
Заголовок раздела «Nested Schema for status.storage.disks»Read-Only:
boot(Boolean) Является ли диск загрузочнымdevice_name(String) Суффикс deviceName в dev/disk/by-id/iops(Number) Количество операций ввода-вывода в секунду (IOPS) для дискаname(String) Уникальный в рамках ВМ псевдоним (alias) дискаready(Attributes) Состояние ресурса Диска (see below for nested schema)ref(String) Ссылка на ресурс “Диск”size(String)
Nested Schema for status.storage.disks.ready
Заголовок раздела «Nested Schema for status.storage.disks.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса