I follow this example from microsoft to get a list of virtual machines: https://github.com/Azure-Samples/virtual-machines-python-manage/blob/master/example.py
My code:
from azure.mgmt.compute import ComputeManagementClient
from azure.common.credentials import ServicePrincipalCredentials
def get_credentials():
subscription_id = AZURE_SUBSCRIPTION_ID
credentials = ServicePrincipalCredentials(
client_id=AZURE_CLIENT_ID,
secret=AZURE_CLIENT_SECRET,
tenant=AZURE_TENANT_ID
)
return credentials, subscription_id
credentials, subscription_id = get_credentials()
compute_client = ComputeManagementClient(credentials, subscription_id)
for vm in compute_client.virtual_machines.list_all():
print(vm)
This works fine and return something like this:
{'additional_properties': {}, 'id': '/subscriptions/17bf586e-6072-4e5f-900d-90467e227f73/resourceGroups/VPN-2-IKSI/providers/Microsoft.Compute/virtualMachines/vpntest02', 'name': 'vpntest02', 'type': 'Microsoft.Compute/virtualMachines', 'location': 'southcentralus', 'tags': None, 'plan': None, 'hardware_profile': , 'storage_profile': , 'additional_capabilities': None, 'os_profile': , 'network_profile': , 'diagnostics_profile': , 'availability_set': None, 'provisioning_state': 'Succeeded', 'instance_view': None, 'license_type': None, 'vm_id': '8c246fff-22ab-4bd7-9f00-708f3b6e60b3', 'resources': None, 'identity': None, 'zones': None}
But i need the OS name (like ubuntu, or centos, etc.), total disk, total ram, cpu usage, i find in azure sdk docs but is very complicated (the documentation it's sucks), Has someone done something similar? how they did it? some link with examples or with a decent documentation