Azure SDK C # - планирование автоматического отключения виртуальной машины - PullRequest
0 голосов
/ 29 октября 2019

Я ищу документацию / примеры того, как спланировать завершение работы виртуальной машины Azure из Azure C # SDK.

Идея состоит в том, что при создании виртуальной машины из SDK я хочу установить время, когда виртуальная машина автоматически отключится. Кажется, я не могу найти какую-либо функцию в API, чтобы сделать это очевидным образом.

1 Ответ

0 голосов
/ 29 октября 2019

Параметры автоматического выключения для виртуальной машины на портале используют поставщик 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, подставляя значения, заключенные в фигурные скобки, и создавая илиобновите ресурс по мере необходимости. Если ресурс уже существует, он будет перезаписан.

...