docs: def list_nodes_full(conn=None, call=None):
      '''
      List VMs on this Azure account, with full information
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes_full function must be called with -f or --function.'
          )
  
      if not conn:
          conn = get_conn()
  
      ret = {}
      services = list_hosted_services(conn=conn, call=call)
      for service in services:
          for deployment in services[service]['deployments']:
              deploy_dict = services[service]['deployments'][deployment]
              deploy_dict_no_role_info = copy.deepcopy(deploy_dict)
              del deploy_dict_no_role_info['role_list']
              del deploy_dict_no_role_info['role_instance_list']
              roles = deploy_dict['role_list']
              for role in roles:
                  role_instances = deploy_dict['role_instance_list']
                  ret[role] = roles[role]
                  ret[role].update(role_instances[role])
                  ret[role]['id'] = role
                  ret[role]['hosted_service'] = service
                  if role_instances[role]['power_state'] == 'Started':
                      ret[role]['state'] = 'running'
                  elif role_instances[role]['power_state'] == 'Stopped':
                      ret[role]['state'] = 'stopped'
                  else:
                      ret[role]['state'] = 'pending'
                  ret[role]['private_ips'] = []
                  ret[role]['public_ips'] = []
                  ret[role]['deployment'] = deploy_dict_no_role_info
                  ret[role]['url'] = deploy_dict['url']
                  ip_address = role_instances[role]['ip_address']
                  if ip_address:
                      if salt.utils.cloud.is_public_ip(ip_address):
                          ret[role]['public_ips'].append(ip_address)
                      else:
                          ret[role]['private_ips'].append(ip_address)
                  ret[role]['size'] = role_instances[role]['instance_size']
                  ret[role]['image'] = roles[role]['role_info']['os_virtual_hard_disk']['source_image_name']
      return ret