Получить тип ОС образа виртуальной машины в Azure RM

В соответствии с этим мы можем получить предложение издателя и Sku в AzureRM Cloud.

Теперь, как получить тип ОС образа (Windows или Linux), используя любой из API в Azure? Поскольку с помощью этого я могу только получить информацию об издателе, предложении и sku, не могу получить тип ОС.

Мой вопрос, как получить тип ОС для любых образов программно?

1 ответ

Решение

Вы можете использовать Azure CLi 2.0, чтобы получить тип ОС.

С помощью az vm image show, например:

latest=$(az vm image list -p OpenLogic -s 7.3 --all --query     "[?offer=='CentOS'].version" -o tsv | sort -u | tail -n 1)
az vm image show -l westus -f CentOS -p OpenLogic --s 7.3 --version ${latest}

Он вернет следующий результат

{
  "additionalProperties": {},
  "dataDiskImages": [],
  "id": "/Subscriptions/*************/Providers/Microsoft.Compute/Locations/westus/Publishers/OpenLogic/ArtifactTypes/VMImage/Offers/CentOS/Skus/7.3/Versions/7.3.20170925",
  "location": "westus",
  "name": "7.3.20170925",
  "osDiskImage": {
    "additionalProperties": {},
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

Замечания: operatingSystem это тип ОС вы хотите. Пример работает на оболочке bash.

Если вы используете az vm image show -l westus -f CentOS -p OpenLogic --s 7.3 --version ${latest} --debug, вы найдете API, который может получить тип ОС.

GET https://management.azure.com/subscriptions/{subscription id}/providers/Microsoft.Compute/locations/westus/publishers/OpenLogic/artifacttypes/vmimage/offers/CentOS/skus/7.3/versions/7.3.20170925?api-version=2017-12-01

Другие вопросы по тегам