【问题标题】:Get OS Type of an VM Image in azure RM在 azure RM 中获取 VM 映像的操作系统类型
【发布时间】:2018-01-03 11:06:30
【问题描述】:

根据this我们可以在AzureRM Cloud中获得offer、publisher和Sku。

现在如何使用 azure 中的任何 API 获取图像的操作系统类型(Windows 或 Linux)?因为使用this只能获取Publisher、offer和sku详细信息,无法获取OS类型。

我的问题是如何以编程方式获取任何图像的操作系统类型?

【问题讨论】:

  • 我明白了!但我在 Azure Cloud 中需要它!adminmanagement.local.azurestack.external/subscriptions/…
  • azure stack 有几乎相同的 api,所以只需像使用 Azure 一样查询它
  • @4c74356b41 我得到了 Azure Stack 的答案,我已经更新了问题。我在 Azure RM 中需要它,。我有 Sku、出版商、报价和版本。可以获取平台图片的OsType吗?

标签: azure azure-virtual-machine azure-resource-manager azure-stack


【解决方案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 shell。

如果你使用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

【讨论】:

  • 非常感谢!你节省了很多时间。
  • 如果您是 MSFT 成员之一,我建议您将其添加到其中一份文件中。因为有相同需求的人可能很难找到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
  • 1970-01-01
  • 2021-11-03
相关资源
最近更新 更多