Параметры автоматического выключения для виртуальной машины на портале используют поставщик Microsoft.DevTestLab. Это что-то вроде хака со стороны Microsoft, и, вероятно, он изменится в будущем.
К сожалению, пространство имен Microsoft.Azure.Management.DevTestLabs в SDK содержит только методы, созданные для взаимодействия с настоящими лабораториями DevTest. это означает, что все вызовы API управления привязаны к URI / labs /, тем самым аннулируя запросы API;Фактический ресурс:
https://management.azure.com/subscriptions/{Subsciption-Id}/resourceGroups/{Resource-Group}/providers/Microsoft.DevTestLab/schedules/shutdown-computevm-{VM-Name}?api-version=2018-09-15
(обратите внимание, что URI не содержит "/ labs /")
Он может быть развернут с использованием ARM и можетбыть развернутым / обновленным путем вызова API управления с использованием правильного URI.
Вот пример:
PUT https://management.azure.com/subscriptions/{SUBSCRIPTION-ID}/resourceGroups/{RESOURCE-GROUP-NAME}/providers/Microsoft.DevTestLab/schedules/shutdown-computevm-{VMNAME}?api-version=2018-09-15 HTTP/1.1
User-Agent: Fiddler
Authorization: Bearer {BEARER-TOKEN-HERE}
Host: management.azure.com
Content-Type: application/json
Content-Length: 1048
{
"id": "/subscriptions/{SUBSCRIPTION-ID}/resourcegroups/{RESOURCE-GROUP-NAME}/providers/microsoft.devtestlab/schedules/shutdown-computevm-{VMNAME}",
"identity": null,
"kind": null,
"location": "{VM-LOCATION}",
"managedBy": null,
"name": "shutdown-computevm-{VM-NAME}",
"plan": null,
"properties": {
"createdDate": "2019-10-29T19:45:57.0033318+00:00",
"dailyRecurrence": {
"time": "{4-DIGIT-24HOUR-TIME-HHmm}"
},
"notificationSettings": {
"notificationLocale": "en",
"status": "Disabled",
"timeInMinutes": 30
},
"provisioningState": "Succeeded",
"status": "Enabled",
"targetResourceId": "/subscriptions/{SUBSCIPTION-ID}/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Compute/virtualMachines/{VMNAME}",
"taskType": "ComputeVmShutdownTask",
"timeZoneId": "GMT Standard Time",
"uniqueIdentifier": "7c394xxx-3fdd-4xxa-8cdc-7c7e6xxxxxxc"
},
"resourceGroup": "{RESOURCE-GROUP-NAME}",
"sku": null,
"tags": null,
"type": "microsoft.devtestlab/schedules"
}
Вы можете использовать этот JSON, подставляя значения, заключенные в фигурные скобки, и создавая илиобновите ресурс по мере необходимости. Если ресурс уже существует, он будет перезаписан.