Метод create
Создает виртуальную машину в указанном каталоге. Метод запускает асинхронную операцию, которую можно отменить перед тем, как она завершится.
HTTP-запрос
POST https://compute.api.cloud.yandex.net/compute/v1/instances
Параметры в теле запроса
{
"folderId": "string",
"name": "string",
"description": "string",
"labels": "object",
"zoneId": "string",
"platformId": "string",
"resourcesSpec": {
"memory": "string",
"cores": "string",
"coreFraction": "string",
"gpus": "string"
},
"metadata": "object",
"bootDiskSpec": {
"mode": "string",
"deviceName": "string",
"autoDelete": true,
// `bootDiskSpec` включает только одно из полей `diskSpec`, `diskId`
"diskSpec": {
"name": "string",
"description": "string",
"typeId": "string",
"size": "string",
// `bootDiskSpec.diskSpec` включает только одно из полей `imageId`, `snapshotId`
"imageId": "string",
"snapshotId": "string",
// конец списка возможных полей`bootDiskSpec.diskSpec`
},
"diskId": "string",
// конец списка возможных полей`bootDiskSpec`
},
"secondaryDiskSpecs": [
{
"mode": "string",
"deviceName": "string",
"autoDelete": true,
// `secondaryDiskSpecs[]` включает только одно из полей `diskSpec`, `diskId`
"diskSpec": {
"name": "string",
"description": "string",
"typeId": "string",
"size": "string",
// `secondaryDiskSpecs[].diskSpec` включает только одно из полей `imageId`, `snapshotId`
"imageId": "string",
"snapshotId": "string",
// конец списка возможных полей`secondaryDiskSpecs[].diskSpec`
},
"diskId": "string",
// конец списка возможных полей`secondaryDiskSpecs[]`
}
],
"networkInterfaceSpecs": [
{
"subnetId": "string",
"primaryV4AddressSpec": {
"address": "string",
"oneToOneNatSpec": {
"ipVersion": "string"
}
},
"primaryV6AddressSpec": {
"address": "string",
"oneToOneNatSpec": {
"ipVersion": "string"
}
}
}
],
"hostname": "string",
"schedulingPolicy": {
"preemptible": true
},
"serviceAccountId": "string",
"networkSettings": {
"type": "string"
}
}
Поле | Описание |
---|---|
folderId | string Обязательное поле. Идентификатор каталога для создания виртуальной машины. Чтобы получить идентификатор каталога, используйте запрос list. Максимальная длина строки в символах — 50. |
name | string Имя виртуальной машины. Значение должно соответствовать регулярному выражению |
description | string Описание виртуальной машины. Максимальная длина строки в символах — 256. |
labels | object Метки ресурса в формате Не более 64 на ресурс. Длина строки в символах для каждого ключа должна быть от 1 до 63. Каждый ключ должен соответствовать регулярному выражению |
zoneId | string Обязательное поле. Идентификатор зоны доступности, где находится виртуальная машина. Чтобы получить список доступных зон, используйте запрос list. Максимальная длина строки в символах — 50. |
platformId | string Обязательное поле. Идентификатор аппаратной платформы виртуальной машины. Это поле влияет на допустимые значения поля resourcesSpec. Платформы позволяют создавать виртуальные машины разных типов: с большим объемом памяти, с большим количеством ядер или с высокой производительностью. Дополнительные сведения см. в разделе Платформы. |
resourcesSpec | object Обязательное поле. Вычислительные ресурсы виртуальной машины, такие как объем памяти и количество ядер. Чтобы узнать список допустимых значений, см. раздел Уровни производительности vCPU. |
resourcesSpec. memory |
string (int64) Обязательное поле. Объем памяти в байтах, доступный виртуальной машине. Максимальное значение — 274877906944. |
resourcesSpec. cores |
string (int64) Обязательное поле. Количество ядер, доступное виртуальной машине. Значение должно быть равно 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 или 32. |
resourcesSpec. coreFraction |
string (int64) Базовый уровень производительности CPU с возможностью повышения производительности выше этого уровня. Это поле устанавливает базовую производительность для каждого ядра. Например, если требуется только 5% производительности CPU, можно задать значение Значение должно быть равно 0, 5, 20, 50 или 100. |
resourcesSpec. gpus |
string (int64) Количество GPU, доступное виртуальной машине. Значение должно быть равно 0, 1, 2 или 4. |
metadata | object Метаданные, назначаемые данной виртуальной машине, в формате пар Значениями являются строки и используются только программами, которые настраивают виртуальную машину. Значения должны быть не более 256 КБ. Например, можно использовать метаданные для доставки открытого ключа SSH на виртуальную машину. Дополнительные сведения см. в разделе Метаданные виртуальной машины. |
bootDiskSpec | object Обязательное поле. Загрузочный диск для подключения к виртуальной машине. |
bootDiskSpec. mode |
string Режим, в котором необходимо подключить этот диск.
|
bootDiskSpec. deviceName |
string Задает уникальный серийный номер, который на виртуальной машине с операционной системой Linux отображается в директории /dev/disk/by-id/. Это значение может использоваться для ссылки на устройство внутри виртуальной машины при монтировании, изменении размера и т. д. Если значение не указано, будет сгенерировано случайное значение. Значение должно соответствовать регулярному выражению |
bootDiskSpec. autoDelete |
boolean (boolean) Указывает, должен ли диск автоматически удалиться при удалении виртуальной машины. |
bootDiskSpec. diskSpec |
object Спецификация диска. bootDiskSpec включает только одно из полей diskSpec , diskId |
bootDiskSpec. diskSpec. name |
string Имя диска. Значение должно соответствовать регулярному выражению |
bootDiskSpec. diskSpec. description |
string Описание диска. Максимальная длина строки в символах — 256. |
bootDiskSpec. diskSpec. typeId |
string Идентификатор типа диска. Чтобы получить список доступных типов дисков, используйте запрос list. Максимальная длина строки в символах — 50. |
bootDiskSpec. diskSpec. size |
string (int64) Обязательное поле. Размер диска в байтах. Допустимые значения — от 4194304 до 4398046511104 включительно. |
bootDiskSpec. diskSpec. imageId |
string bootDiskSpec.diskSpec включает только одно из полей imageId , snapshotId Идентификатор образа для создания диска. Максимальная длина строки в символах — 50. |
bootDiskSpec. diskSpec. snapshotId |
string bootDiskSpec.diskSpec включает только одно из полей imageId , snapshotId Идентификатор снимка для восстановления диска. Максимальная длина строки в символах — 50. |
bootDiskSpec. diskId |
string bootDiskSpec включает только одно из полей diskSpec , diskId Идентификатор диска, который должен быть подключен. Максимальная длина строки в символах — 50. |
secondaryDiskSpecs[] | object Массив дополнительных дисков для подключения к виртуальной машине. Максимальное количество элементов — 3. |
secondaryDiskSpecs[]. mode |
string Режим, в котором необходимо подключить этот диск.
|
secondaryDiskSpecs[]. deviceName |
string Задает уникальный серийный номер, который на виртуальной машине с операционной системой Linux отображается в директории /dev/disk/by-id/. Это значение может использоваться для ссылки на устройство внутри виртуальной машины при монтировании, изменении размера и т. д. Если значение не указано, будет сгенерировано случайное значение. Значение должно соответствовать регулярному выражению |
secondaryDiskSpecs[]. autoDelete |
boolean (boolean) Указывает, должен ли диск автоматически удалиться при удалении виртуальной машины. |
secondaryDiskSpecs[]. diskSpec |
object Спецификация диска. secondaryDiskSpecs[] включает только одно из полей diskSpec , diskId |
secondaryDiskSpecs[]. diskSpec. name |
string Имя диска. Значение должно соответствовать регулярному выражению |
secondaryDiskSpecs[]. diskSpec. description |
string Описание диска. Максимальная длина строки в символах — 256. |
secondaryDiskSpecs[]. diskSpec. typeId |
string Идентификатор типа диска. Чтобы получить список доступных типов дисков, используйте запрос list. Максимальная длина строки в символах — 50. |
secondaryDiskSpecs[]. diskSpec. size |
string (int64) Обязательное поле. Размер диска в байтах. Допустимые значения — от 4194304 до 4398046511104 включительно. |
secondaryDiskSpecs[]. diskSpec. imageId |
string secondaryDiskSpecs[].diskSpec включает только одно из полей imageId , snapshotId Идентификатор образа для создания диска. Максимальная длина строки в символах — 50. |
secondaryDiskSpecs[]. diskSpec. snapshotId |
string secondaryDiskSpecs[].diskSpec включает только одно из полей imageId , snapshotId Идентификатор снимка для восстановления диска. Максимальная длина строки в символах — 50. |
secondaryDiskSpecs[]. diskId |
string secondaryDiskSpecs[] включает только одно из полей diskSpec , diskId Идентификатор диска, который должен быть подключен. Максимальная длина строки в символах — 50. |
networkInterfaceSpecs[] | object Обязательное поле. Конфигурация сети для виртуальной машины. Указывает, как должен быть настроен сетевой интерфейс для взаимодействия с другими сервисами во внутренней сети и в интернете. В настоящее время для каждой виртуальной машины поддерживается только один сетевой интерфейс. Должен содержать ровно 1 элемент. |
networkInterfaceSpecs[]. subnetId |
string Обязательное поле. Идентификатор подсети. Максимальная длина строки в символах — 50. |
networkInterfaceSpecs[]. primaryV4AddressSpec |
object Основной IPv4-адрес, который будет назначен виртуальной машине для данного сетевого интерфейса. |
networkInterfaceSpecs[]. primaryV4AddressSpec. address |
string Внутренний IPv4-адрес, назначенный виртуальной машине для данного сетевого интерфейса. Если он не указан, системой будет назначен неиспользуемый внутренний IP-адрес. |
networkInterfaceSpecs[]. primaryV4AddressSpec. oneToOneNatSpec |
object Конфигурация внешнего IP-адреса. Если она не указана, то у виртуальной машины не будет доступа в интернет. |
networkInterfaceSpecs[]. primaryV4AddressSpec. oneToOneNatSpec. ipVersion |
string Обязательное поле. Версия публичного IP-адреса.
|
networkInterfaceSpecs[]. primaryV6AddressSpec |
object Основной IPv6-адрес, который будет назначен виртуальной машине для данного сетевого интерфейса. IPv6 еще не доступен. |
networkInterfaceSpecs[]. primaryV6AddressSpec. address |
string Внутренний IPv4-адрес, назначенный виртуальной машине для данного сетевого интерфейса. Если он не указан, системой будет назначен неиспользуемый внутренний IP-адрес. |
networkInterfaceSpecs[]. primaryV6AddressSpec. oneToOneNatSpec |
object Конфигурация внешнего IP-адреса. Если она не указана, то у виртуальной машины не будет доступа в интернет. |
networkInterfaceSpecs[]. primaryV6AddressSpec. oneToOneNatSpec. ipVersion |
string Обязательное поле. Версия публичного IP-адреса.
|
hostname | string Имя хоста виртуальной машины. Это поле используется для генерации значения Instance.fqdn. Имя хоста должно быть уникальным в пределах сети и региона. Если не указано, то имя хоста будет равно Instance.id виртуальной машины и FQDN будет Значение должно соответствовать регулярному выражению |
schedulingPolicy | object Конфигурация политики планирования. |
schedulingPolicy. preemptible |
boolean (boolean) Если значение равно true — будет создана прерываемая виртуальная машина. Дополнительные сведения см. в разделе Прерываемые виртуальные машины. |
serviceAccountId | string Идентификатор сервисного аккаунта для аутентификации изнутри виртуальной машины. Чтобы получить идентификатор сервисного аккаунта, используйте запрос list. |
networkSettings | object Сетевые настройки. |
networkSettings. type |
string Не указывайте это поле, сетевые настройки пока не поддерживаются.
|
Ответ
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": true,
"metadata": "object",
// включает только одно из полей `error`, `response`
"error": {
"code": "integer",
"message": "string",
"details": [
"object"
]
},
"response": "object",
// конец списка возможных полей
}
Ресурс Operation. Дополнительные сведения см. в разделе Объект Operation.
Поле | Описание |
---|---|
id | string Идентификатор операции. |
description | string Описание операции. Длина описания должна быть от 0 до 256 символов. |
createdAt | string (date-time) Время создания ресурса в формате в RFC3339. Строка в формате RFC3339. |
createdBy | string Идентификатор пользователя или сервисного аккаунта, инициировавшего операцию. |
modifiedAt | string (date-time) Время, когда ресурс Operation последний раз обновлялся. Значение в формате RFC3339. Строка в формате RFC3339. |
done | boolean (boolean) Если значение равно |
metadata | object Метаданные операции. Обычно в поле содержится идентификатор ресурса, над которым выполняется операция. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля |
error | object Описание ошибки в случае сбоя или отмены операции. включает только одно из полей error , response Описание ошибки в случае сбоя или отмены операции. |
error. code |
integer (int32) Код ошибки. Значение из списка google.rpc.Code. |
error. message |
string Текст ошибки. |
error. details[] |
object Список сообщений с подробными сведениями об ошибке. |
response | object включает только одно из полей error , response Результат операции в случае успешного завершения. Если исходный метод не возвращает никаких данных при успешном завершении, например метод Delete, поле содержит объект google.protobuf.Empty. Если исходный метод — это стандартный метод Create / Update, поле содержит целевой ресурс операции. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля |