Using az command line to List VM images
We need to have details of VM images to use them programmatically through ansible or other tools.
below I have listed a few examples of Azure CLI commands to list the Publishers, Offers, SKUs, Versions and Image details in general.
- To list publishers
bash-3.2$ az vm image list-publishers -l eastus --query "[?starts_with(name, 'cloudera')]"
[
{
"id": "/Subscriptions/da35404a-2612-4419-baef-45fcdce6045e/Providers/Microsoft.Compute/Locations/eastus/Publishers/cloudera",
"location": "eastus",
"name": "cloudera",
"tags": null
}
]
- To list all offers
bash-3.2$ az vm image list-offers -l eastus -p cloudera
[
{
"id": "/Subscriptions/da35404a-2612-4419-baef-45fcdce6045e/Providers/Microsoft.Compute/Locations/eastus/Publishers/cloudera/ArtifactTypes/VMImage/Offers/cloudera-altus-centos-os",
"location": "eastus",
"name": "cloudera-altus-centos-os",
"tags": null
},
...
{
"id": "/Subscriptions/da35404a-2612-4419-baef-45fcdce6045e/Providers/Microsoft.Compute/Locations/eastus/Publishers/cloudera/ArtifactTypes/VMImage/Offers/test-image",
"location": "eastus",
"name": "test-image",
"tags": null
}
]
- To list all SKUs
bash-3.2$ az vm image list-skus -l eastus -p cloudera -f cloudera-centos-os
[
{
"id": "/Subscriptions/da35404a-2612-4419-baef-45fcdce6045e/Providers/Microsoft.Compute/Locations/eastus/Publishers/cloudera/ArtifactTypes/VMImage/Offers/cloudera-centos-os/Skus/6_7",
"location": "eastus",
"name": "6_7",
"properties": {
"automaticOSUpgradeProperties": {
"automaticOSUpgradeSupported": false
}
},
"tags": null
},
......
{
"id": "/Subscriptions/da35404a-2612-4419-baef-45fcdce6045e/Providers/Microsoft.Compute/Locations/eastus/Publishers/cloudera/ArtifactTypes/VMImage/Offers/cloudera-centos-os/Skus/7_4",
"location": "eastus",
"name": "7_4",
"properties": {
"automaticOSUpgradeProperties": {
"automaticOSUpgradeSupported": false
}
},
"tags": null
}
]
- to list all images
bash-3.2$ az vm image list -l eastus -p cloudera -f cloudera-centos-os -o tsv --all
cloudera-centos-os cloudera 6_7 cloudera:cloudera-centos-os:6_7:1.0.0 1.0.0
cloudera-centos-os cloudera 6_7 cloudera:cloudera-centos-os:6_7:1.0.1 1.0.1
cloudera-centos-os cloudera 6_7 cloudera:cloudera-centos-os:6_7:2.0.1 2.0.1
cloudera-centos-os cloudera 6_7 cloudera:cloudera-centos-os:6_7:2.0.4 2.0.4
cloudera-centos-os cloudera 6_8 cloudera:cloudera-centos-os:6_8:1.0.0 1.0.0
cloudera-centos-os cloudera 6_8 cloudera:cloudera-centos-os:6_8:2.0.1 2.0.1
cloudera-centos-os cloudera 6_8 cloudera:cloudera-centos-os:6_8:2.0.4 2.0.4
cloudera-centos-os cloudera 7_2 cloudera:cloudera-centos-os:7_2:1.0.2 1.0.2
cloudera-centos-os cloudera 7_2 cloudera:cloudera-centos-os:7_2:1.0.5 1.0.5
cloudera-centos-os cloudera 7_2 cloudera:cloudera-centos-os:7_2:1.0.7 1.0.7
cloudera-centos-os cloudera 7_2 cloudera:cloudera-centos-os:7_2:1.0.8 1.0.8
cloudera-centos-os cloudera 7_2 cloudera:cloudera-centos-os:7_2:2.0.3 2.0.3
cloudera-centos-os cloudera 7_2 cloudera:cloudera-centos-os:7_2:2.0.4 2.0.4
cloudera-centos-os cloudera 7_4 cloudera:cloudera-centos-os:7_4:2.0.7 2.0.7
- to list details of a specific image
bash-3.2$ az vm image show -l eastus -p cloudera -f cloudera-centos-os -s 7_2 --version 1.0.2
{
"dataDiskImages": [],
"id": "/Subscriptions/da35404a-2612-4419-baef-45fcdce6045e/Providers/Microsoft.Compute/Locations/eastus/Publishers/cloudera/ArtifactTypes/VMImage/Offers/cloudera-centos-os/Skus/7_2/Versions/1.0.2",
"location": "eastus",
"name": "1.0.2",
"osDiskImage": {
"operatingSystem": "Linux"
},
"plan": {
"name": "7_2",
"product": "cloudera-centos-os",
"publisher": "cloudera"
},
"tags": null
}