Virtual Machines - Create Or Update

Создайте или замените существующую виртуальную машину. Эта операция может занять некоторое время.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}?api-version=2018-09-15

Параметры URI

Имя В Обязательно Тип Описание
labName
path True

string

Имя лаборатории.

name
path True

string

Имя виртуальной машины.

resourceGroupName
path True

string

Имя группы ресурсов.

subscriptionId
path True

string

Идентификатор подписки.

api-version
query True

string

Версия API клиента.

Текст запроса

Имя Тип Описание
location

string

Расположение ресурса.

properties.allowClaim

boolean

Указывает, может ли другой пользователь стать владельцем виртуальной машины.

properties.artifacts

ArtifactInstallProperties[]

Артефакты, устанавливаемые на виртуальной машине.

properties.createdDate

string

Дата создания виртуальной машины.

properties.customImageId

string

Идентификатор пользовательского образа виртуальной машины.

properties.dataDiskParameters

DataDiskProperties[]

Новые или существующие диски данных для подключения к виртуальной машине после создания

properties.disallowPublicIpAddress

boolean

Указывает, будет ли виртуальная машина создана без общедоступного IP-адреса.

properties.environmentId

string

Идентификатор ресурса среды, содержащей эту виртуальную машину, если таковой есть.

properties.expirationDate

string

Дата окончания срока действия виртуальной машины.

properties.galleryImageReference

GalleryImageReference

Ссылка на образ виртуальной машины microsoft Azure Marketplace.

properties.isAuthenticationWithSshKey

boolean

Указывает, использует ли эта виртуальная машина ключ SSH для проверки подлинности.

properties.labSubnetName

string

Имя подсети лаборатории виртуальной машины.

properties.labVirtualNetworkId

string

Идентификатор виртуальной сети лаборатории виртуальной машины.

properties.networkInterface

NetworkInterfaceProperties

Свойства сетевого интерфейса.

properties.notes

string

Заметки виртуальной машины.

properties.ownerObjectId

string

Идентификатор объекта владельца виртуальной машины.

properties.ownerUserPrincipalName

string

Имя участника-пользователя владельца виртуальной машины.

properties.password

string

Пароль администратора виртуальной машины.

properties.planId

string

Идентификатор плана, связанного с образом виртуальной машины.

properties.scheduleParameters

ScheduleCreationParameter[]

Создаваемые расписания виртуальных машин

properties.size

string

Размер виртуальной машины.

properties.sshKey

string

Ключ SSH администратора виртуальной машины.

properties.storageType

string

Тип хранилища, используемого для виртуальной машины (например, "Стандартный", "Премиум").

properties.userName

string

Имя пользователя виртуальной машины.

tags

object

Теги ресурса.

Ответы

Имя Тип Описание
200 OK

LabVirtualMachine

ОК

201 Created

LabVirtualMachine

Создание

Other Status Codes

CloudError

BadRequest

Безопасность

azure_auth

Неявное предоставление OAuth2

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Имя Описание
user_impersonation Доступ к Microsoft Azure

Примеры

VirtualMachines_CreateOrUpdate

Sample Request

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/resourceGroupName/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{vmName}?api-version=2018-09-15

{
  "properties": {
    "size": "Standard_A2_v2",
    "userName": "{userName}",
    "password": "{userPassword}",
    "labSubnetName": "{virtualNetworkName}Subnet",
    "labVirtualNetworkId": "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualnetworks/{virtualNetworkName}",
    "disallowPublicIpAddress": true,
    "galleryImageReference": {
      "offer": "UbuntuServer",
      "publisher": "Canonical",
      "sku": "16.04-LTS",
      "osType": "Linux",
      "version": "Latest"
    },
    "allowClaim": true,
    "storageType": "Standard"
  },
  "location": "{location}",
  "tags": {
    "tagName1": "tagValue1"
  }
}

Sample Response

{
  "properties": {
    "ownerObjectId": "",
    "ownerUserPrincipalName": "",
    "createdByUserId": "",
    "createdByUser": "",
    "createdDate": "2018-10-01T16:53:02.4830866-07:00",
    "size": "Standard_A2_v2",
    "userName": "{userName}",
    "labSubnetName": "{virtualNetworkName}Subnet",
    "labVirtualNetworkId": "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualnetworks/{virtualNetworkName}",
    "disallowPublicIpAddress": true,
    "artifactDeploymentStatus": {
      "artifactsApplied": 0,
      "totalArtifacts": 0
    },
    "galleryImageReference": {
      "offer": "UbuntuServer",
      "publisher": "Canonical",
      "sku": "16.04-LTS",
      "osType": "Linux",
      "version": "Latest"
    },
    "networkInterface": {},
    "allowClaim": true,
    "storageType": "Standard",
    "virtualMachineCreationSource": "FromGalleryImage",
    "dataDiskParameters": [],
    "provisioningState": "Creating",
    "uniqueIdentifier": "{uniqueIdentifier}"
  },
  "id": "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/{vmName}",
  "name": "{vmName}",
  "type": "Microsoft.DevTestLab/labs/virtualMachines",
  "location": "{location}",
  "tags": {
    "tagName1": "tagValue1"
  }
}
{
  "properties": {
    "ownerObjectId": "",
    "ownerUserPrincipalName": "",
    "createdByUserId": "",
    "createdByUser": "",
    "createdDate": "2018-10-01T16:53:02.4830866-07:00",
    "size": "Standard_A2_v2",
    "userName": "{userName}",
    "labSubnetName": "{virtualNetworkName}Subnet",
    "labVirtualNetworkId": "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualnetworks/{virtualNetworkName}",
    "disallowPublicIpAddress": true,
    "artifactDeploymentStatus": {
      "artifactsApplied": 0,
      "totalArtifacts": 0
    },
    "galleryImageReference": {
      "offer": "UbuntuServer",
      "publisher": "Canonical",
      "sku": "16.04-LTS",
      "osType": "Linux",
      "version": "Latest"
    },
    "networkInterface": {},
    "allowClaim": true,
    "storageType": "Standard",
    "virtualMachineCreationSource": "FromGalleryImage",
    "dataDiskParameters": [],
    "provisioningState": "Creating",
    "uniqueIdentifier": "{uniqueIdentifier}"
  },
  "id": "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/{vmName}",
  "name": "{vmName}",
  "type": "Microsoft.DevTestLab/labs/virtualMachines",
  "location": "{location}",
  "tags": {
    "tagName1": "tagValue1"
  }
}

Определения

Имя Описание
ApplicableSchedule

Расписания, применимые к виртуальной машине. Расписания могли быть определены на виртуальной машине или на уровне лаборатории.

ArtifactDeploymentStatusProperties

Свойства развертывания артефакта.

ArtifactInstallProperties

Свойства артефакта.

ArtifactParameterProperties

Свойства параметра артефакта.

AttachNewDataDiskOptions

Свойства для подключения нового диска к виртуальной машине.

CloudError

Ошибка из запроса REST.

CloudErrorBody

Текст ошибки из запроса REST.

ComputeDataDisk

Диски данных, подключенные к виртуальной машине.

ComputeVmInstanceViewStatus

Сведения о состоянии виртуальной машины.

ComputeVmProperties

Свойства виртуальной машины, возвращаемые API Microsoft.Compute.

DataDiskProperties

Текст запроса на добавление нового или существующего диска данных в виртуальную машину.

DayDetails

Свойства ежедневного расписания.

EnableStatus

Состояние расписания (т. е. "Включено", "Отключено")

GalleryImageReference

Справочные сведения для Azure Marketplace изображения.

HostCachingOptions

Параметр кэширования для диска данных (т. е. None, ReadOnly, ReadWrite).

HourDetails

Свойства почасового расписания.

InboundNatRule

Правило для NAT — предоставление порта виртуальной машины (внутренний порт) на общедоступном IP-адресе с помощью подсистемы балансировки нагрузки.

LabVirtualMachine

Виртуальная машина.

NetworkInterfaceProperties

Свойства сетевого интерфейса.

NotificationSettings

Параметры уведомлений для расписания.

Schedule

Расписание.

ScheduleCreationParameter

Свойства для создания расписания.

SharedPublicIpAddressConfiguration

Свойства виртуальной машины, определяющие, как она подключена к подсистеме балансировки нагрузки.

StorageType

Тип хранилища для диска (например, "Стандартный", "Премиум").

TransportProtocol

Транспортный протокол для конечной точки.

VirtualMachineCreationSource

Сообщает источник создания виртуальной машины лаборатории. Только выходное свойство.

WeekDetails

Свойства еженедельного расписания.

ApplicableSchedule

Расписания, применимые к виртуальной машине. Расписания могли быть определены на виртуальной машине или на уровне лаборатории.

Имя Тип Описание
id

string

Идентификатор ресурса.

location

string

Расположение ресурса.

name

string

Имя ресурса.

properties.labVmsShutdown

Schedule

Расписание автоматического завершения работы, если оно было задано на уровне лаборатории или ресурса лаборатории.

properties.labVmsStartup

Schedule

Расписание автоматического запуска, если оно было задано на уровне лаборатории или ресурса лаборатории.

tags

object

Теги ресурса.

type

string

Тип ресурса.

ArtifactDeploymentStatusProperties

Свойства развертывания артефакта.

Имя Тип Описание
artifactsApplied

integer

Общее число успешно примененных артефактов.

deploymentStatus

string

Состояние развертывания артефакта.

totalArtifacts

integer

Общее количество артефактов, которые были применены предварительно.

ArtifactInstallProperties

Свойства артефакта.

Имя Тип Описание
artifactId

string

Идентификатор артефакта.

artifactTitle

string

Название артефакта.

deploymentStatusMessage

string

Сообщение о состоянии из развертывания.

installTime

string

Время начала установки артефакта на виртуальной машине.

parameters

ArtifactParameterProperties[]

Параметры артефакта.

status

string

Состояние артефакта.

vmExtensionStatusMessage

string

Сообщение о состоянии из расширения виртуальной машины.

ArtifactParameterProperties

Свойства параметра артефакта.

Имя Тип Описание
name

string

Имя параметра артефакта.

value

string

Значение параметра артефакта.

AttachNewDataDiskOptions

Свойства для подключения нового диска к виртуальной машине.

Имя Тип Описание
diskName

string

Имя подключаемого диска.

diskSizeGiB

integer

Размер подключаемого диска в гибибайтах.

diskType

StorageType

Тип хранилища для диска (например, "Стандартный", "Премиум").

CloudError

Ошибка из запроса REST.

Имя Тип Описание
error

CloudErrorBody

Произошла облачная ошибка

CloudErrorBody

Текст ошибки из запроса REST.

Имя Тип Описание
code

string

Код ошибки.

details

CloudErrorBody[]

Внутренние ошибки.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ComputeDataDisk

Диски данных, подключенные к виртуальной машине.

Имя Тип Описание
diskSizeGiB

integer

Возвращает размер диска данных в ГиБ.

diskUri

string

При поддержке большого двоичного объекта — универсальный код ресурса (URI) базового blob-объекта.

managedDiskId

string

При поддержке управляемого диска это идентификатор ресурса вычислительного диска.

name

string

Возвращает имя диска данных.

ComputeVmInstanceViewStatus

Сведения о состоянии виртуальной машины.

Имя Тип Описание
code

string

Возвращает код состояния.

displayStatus

string

Возвращает короткую локализуемую метку для состояния.

message

string

Возвращает сообщение, связанное с состоянием.

ComputeVmProperties

Свойства виртуальной машины, возвращаемые API Microsoft.Compute.

Имя Тип Описание
dataDiskIds

string[]

Возвращает URI blob-объекта дисков данных для виртуальной машины.

dataDisks

ComputeDataDisk[]

Возвращает все диски данных, подключенные к виртуальной машине.

networkInterfaceId

string

Возвращает идентификатор сетевого интерфейса виртуальной машины.

osDiskId

string

Возвращает URI большого двоичного объекта диска ОС для виртуальной машины.

osType

string

Возвращает тип ОС виртуальной машины.

statuses

ComputeVmInstanceViewStatus[]

Возвращает состояния виртуальной машины.

vmSize

string

Возвращает размер виртуальной машины.

DataDiskProperties

Текст запроса на добавление нового или существующего диска данных в виртуальную машину.

Имя Тип Описание
attachNewDataDiskOptions

AttachNewDataDiskOptions

Задает параметры для подключения нового диска к виртуальной машине.

existingLabDiskId

string

Указывает идентификатор существующего диска лаборатории для подключения к виртуальной машине.

hostCaching

HostCachingOptions

Параметр кэширования для диска данных (например, None, ReadOnly, ReadWrite).

DayDetails

Свойства ежедневного расписания.

Имя Тип Описание
time

string

Время суток, когда расписание будет выполняться.

EnableStatus

Состояние расписания (т. е. "Включено", "Отключено")

Имя Тип Описание
Disabled

string

Enabled

string

GalleryImageReference

Справочные сведения для Azure Marketplace изображения.

Имя Тип Описание
offer

string

Предложение образа коллекции.

osType

string

Тип ОС образа коллекции.

publisher

string

Издатель образа коллекции.

sku

string

Номер SKU образа коллекции.

version

string

Версия образа коллекции.

HostCachingOptions

Параметр кэширования для диска данных (т. е. None, ReadOnly, ReadWrite).

Имя Тип Описание
None

string

ReadOnly

string

ReadWrite

string

HourDetails

Свойства почасового расписания.

Имя Тип Описание
minute

integer

Минуты часа выполнения расписания.

InboundNatRule

Правило для NAT — предоставление порта виртуальной машины (внутренний порт) на общедоступном IP-адресе с помощью подсистемы балансировки нагрузки.

Имя Тип Описание
backendPort

integer

Порт, на который будет перенаправляться внешний трафик.

frontendPort

integer

Порт внешней конечной точки входящего подключения. Возможный диапазон значений — от 1 до 65 535 включительно. Если значение не указано, значение будет выделено автоматически.

transportProtocol

TransportProtocol

Транспортный протокол для конечной точки.

LabVirtualMachine

Виртуальная машина.

Имя Тип Значение по умолчанию Описание
id

string

Идентификатор ресурса.

location

string

Расположение ресурса.

name

string

Имя ресурса.

properties.allowClaim

boolean

False

Указывает, может ли другой пользователь стать владельцем виртуальной машины.

properties.applicableSchedule

ApplicableSchedule

Применимое расписание для виртуальной машины.

properties.artifactDeploymentStatus

ArtifactDeploymentStatusProperties

Состояние развертывания артефакта для виртуальной машины.

properties.artifacts

ArtifactInstallProperties[]

Артефакты, устанавливаемые на виртуальной машине.

properties.computeId

string

Идентификатор ресурса (Microsoft.Compute) виртуальной машины.

properties.computeVm

ComputeVmProperties

Свойства вычислительной виртуальной машины.

properties.createdByUser

string

Адрес электронной почты создателя виртуальной машины.

properties.createdByUserId

string

Идентификатор объекта создателя виртуальной машины.

properties.createdDate

string

Дата создания виртуальной машины.

properties.customImageId

string

Идентификатор пользовательского образа виртуальной машины.

properties.dataDiskParameters

DataDiskProperties[]

Новые или существующие диски данных для подключения к виртуальной машине после создания

properties.disallowPublicIpAddress

boolean

False

Указывает, будет ли виртуальная машина создана без общедоступного IP-адреса.

properties.environmentId

string

Идентификатор ресурса среды, содержащей эту виртуальную машину, если таковой есть.

properties.expirationDate

string

Дата окончания срока действия виртуальной машины.

properties.fqdn

string

Полное доменное имя виртуальной машины.

properties.galleryImageReference

GalleryImageReference

Ссылка на образ Azure Marketplace Microsoft для виртуальной машины.

properties.isAuthenticationWithSshKey

boolean

Указывает, использует ли эта виртуальная машина ключ SSH для проверки подлинности.

properties.labSubnetName

string

Имя подсети лаборатории виртуальной машины.

properties.labVirtualNetworkId

string

Идентификатор виртуальной сети лаборатории виртуальной машины.

properties.lastKnownPowerState

string

Последнее известное состояние вычислительной мощности, записанное в DTL

properties.networkInterface

NetworkInterfaceProperties

Свойства сетевого интерфейса.

properties.notes

string

Заметки о виртуальной машине.

properties.osType

string

Тип ОС виртуальной машины.

properties.ownerObjectId

string

dynamicValue

Идентификатор объекта владельца виртуальной машины.

properties.ownerUserPrincipalName

string

Имя участника-пользователя владельца виртуальной машины.

properties.password

string

Пароль администратора виртуальной машины.

properties.planId

string

Идентификатор плана, связанного с образом виртуальной машины

properties.provisioningState

string

Состояние подготовки ресурса.

properties.scheduleParameters

ScheduleCreationParameter[]

Создаваемые расписания виртуальных машин

properties.size

string

Размер виртуальной машины.

properties.sshKey

string

Ключ SSH администратора виртуальной машины.

properties.storageType

string

labStorageType

Тип хранилища, используемого для виртуальной машины (например, "Стандартный", "Премиум").

properties.uniqueIdentifier

string

Уникальный неизменяемый идентификатор ресурса (Guid).

properties.userName

string

Имя пользователя виртуальной машины.

properties.virtualMachineCreationSource

VirtualMachineCreationSource

Указывает источник создания виртуальной машины лаборатории. Только выходное свойство.

tags

object

Теги ресурса.

type

string

Тип ресурса.

NetworkInterfaceProperties

Свойства сетевого интерфейса.

Имя Тип Описание
dnsName

string

DNS-имя.

privateIpAddress

string

Частный IP-адрес.

publicIpAddress

string

Общедоступный IP-адрес.

publicIpAddressId

string

Идентификатор ресурса общедоступного IP-адреса.

rdpAuthority

string

Свойство RdpAuthority — это DNS-имя узла сервера или IP-адрес, за которым следует номер порта службы для протокола удаленного рабочего стола (RDP).

sharedPublicIpAddressConfiguration

SharedPublicIpAddressConfiguration

Конфигурация совместного использования общедоступного IP-адреса на нескольких виртуальных машинах.

sshAuthority

string

Свойство SshAuthority — это dns-имя узла сервера или IP-адрес, за которым следует номер порта службы для SSH.

subnetId

string

Идентификатор ресурса дочерней сети.

virtualNetworkId

string

Идентификатор ресурса виртуальной сети.

NotificationSettings

Параметры уведомлений для расписания.

Имя Тип Значение по умолчанию Описание
emailRecipient

string

Получатель электронной почты для отправки уведомлений (может быть списком адресов электронной почты, разделенных точкой с запятой).

notificationLocale

string

Языковой стандарт, используемый при отправке уведомления (резервным вариантом для неподдерживаемых языков является EN).

status

EnableStatus

Disabled

Если для этого расписания включены уведомления (т. е. включено, отключено).

timeInMinutes

integer

Время в минутах до события, когда будет отправлено уведомление.

webhookUrl

string

URL-адрес веб-перехватчика, по которому будет отправлено уведомление.

Schedule

Расписание.

Имя Тип Значение по умолчанию Описание
id

string

Идентификатор ресурса.

location

string

Расположение ресурса.

name

string

Имя ресурса.

properties.createdDate

string

Дата создания расписания.

properties.dailyRecurrence

DayDetails

Если расписание будет выполняться один раз в день недели, укажите ежедневное повторение.

properties.hourlyRecurrence

HourDetails

Если расписание будет выполняться несколько раз в день, укажите ежечасное повторение.

properties.notificationSettings

NotificationSettings

Параметры уведомлений.

properties.provisioningState

string

Состояние подготовки ресурса.

properties.status

EnableStatus

Disabled

Состояние расписания (т. е. "Включено", "Отключено")

properties.targetResourceId

string

Идентификатор ресурса, которому принадлежит расписание

properties.taskType

string

Тип задачи расписания (например, LabVmsShutdownTask, LabVmAutoStart).

properties.timeZoneId

string

Идентификатор часового пояса (например, стандартное время Китая, стандартное время Гренландии, стандартное тихоокеанское время и т. д.). Возможные значения для этого свойства можно найти в IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md)

properties.uniqueIdentifier

string

Уникальный неизменяемый идентификатор ресурса (Guid).

properties.weeklyRecurrence

WeekDetails

Если расписание будет выполняться только в некоторые дни недели, укажите еженедельное повторение.

tags

object

Теги ресурса.

type

string

Тип ресурса.

ScheduleCreationParameter

Свойства для создания расписания.

Имя Тип Значение по умолчанию Описание
location

string

Расположение новой виртуальной машины или среды

name

string

Имя виртуальной машины или среды

properties.dailyRecurrence

DayDetails

Если расписание будет выполняться один раз в день недели, укажите ежедневное повторение.

properties.hourlyRecurrence

HourDetails

Если расписание будет выполняться несколько раз в день, укажите ежечасное повторение.

properties.notificationSettings

NotificationSettings

Параметры уведомлений.

properties.status

EnableStatus

Disabled

Состояние расписания (т. е. Включено, Отключено)

properties.targetResourceId

string

Идентификатор ресурса, которому принадлежит расписание

properties.taskType

string

Тип задачи расписания (например, LabVmsShutdownTask, LabVmAutoStart).

properties.timeZoneId

string

Идентификатор часового пояса (например, стандартное время в Китае, стандартное время в Гренландии, тихоокеанское стандартное время и т. д.). Возможные значения для этого свойства можно найти в IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md).

properties.weeklyRecurrence

WeekDetails

Если расписание будет выполняться только в некоторые дни недели, укажите еженедельное повторение.

tags

object

Теги ресурса.

SharedPublicIpAddressConfiguration

Свойства виртуальной машины, определяющие, как она подключена к подсистеме балансировки нагрузки.

Имя Тип Описание
inboundNatRules

InboundNatRule[]

Входящие правила NAT

StorageType

Тип хранилища для диска (например, "Стандартный", "Премиум").

Имя Тип Описание
Premium

string

Standard

string

StandardSSD

string

TransportProtocol

Транспортный протокол для конечной точки.

Имя Тип Описание
Tcp

string

Udp

string

VirtualMachineCreationSource

Сообщает источник создания виртуальной машины лаборатории. Только выходное свойство.

Имя Тип Описание
FromCustomImage

string

FromGalleryImage

string

FromSharedGalleryImage

string

WeekDetails

Свойства еженедельного расписания.

Имя Тип Описание
time

string

Время суток, когда расписание будет выполняться.

weekdays

string[]

Дни недели, для которых задано расписание (например, воскресенье, понедельник, вторник и т. д.).