In Azure Classic all virtual machines are located in the “same” place. There is no need to select each region and list VMs.
The documentation about the topic is located here:
http://azure-sdk-for-python.readthedocs.org/en/latest/ref/azure.servicemanagement.models.html
Below code displays all Virtual Machines via Python:
from azure.servicemanagement import * subscription_id = 'XXXXXXXXXXXXXXXXXXXXXXX' cert_file = 'XXXXXXXXX.pem' sms = ServiceManagementService(subscription_id, cert_file) services = sms.list_hosted_services() count = 0 print("{:<25} {:<20} {:<10} {:<15} {:<25} {:<20}".format("VM name", \ "Status", "Size", "Power state", "Service creation", "Role size")) for service in services: props = sms.get_hosted_service_properties(service.service_name, True) for dep in props.deployments.deployments: for inst in range(0, len(dep.role_instance_list)): iname = dep.role_instance_list[inst].instance_name istatus = dep.role_instance_list[inst].instance_status isize = dep.role_instance_list[inst].instance_size ipower = dep.role_instance_list[inst].power_state typ = dep.role_list[inst].role_size count += 1 print("{:<25} {:<20} {:<10} {:<15} {:<25} {:<20}".format(\ iname, istatus, isize, ipower, dep.created_time, typ)) print(count)
Output:
VM name Status Size Power state Service creation Role size vm1 StoppedDeallocated Stopped 2015-03-20T09:41:00Z Large vm2 StoppedDeallocated Stopped 2015-03-20T09:41:00Z Large
The same with Azure PowerShell:
$vms = Get-AzureVM $count = 0 foreach($vm in $vms) { $count++ Write-Host $vm.name } Write-Host "Count: " $count
Leave a Reply