code: def list_nodes(call=None):
      '''
      Return a list of the VMs that are on the provider
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes function must be called with -f or --function.'
          )
  
      ret = {}
      items = query(action='ve')
  
      for item in items:
          name = item.attrib['name']
          node = show_instance(name, call='action')
  
          ret[name] = {
              'id': node['id'],
              'image': node['platform']['template-info']['name'],
              'state': node['state'],
          }
          if 'private-ip' in node['network']:
              ret[name]['private_ips'] = [node['network']['private-ip']]
          if 'public-ip' in node['network']:
              ret[name]['public_ips'] = [node['network']['public-ip']]
  
      return ref list_nodes(call=None):
      '''
      Return a list of the VMs that are on the provider
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes function must be called with -f or --function.'
          )
  
      ret = {}
      items = query(action='ve')
  
      for item in items:
          name = item.attrib['name']
          node = show_instance(name, call='action')
  
          ret[name] = {
              'id': node['id'],
              'image': node['platform']['template-info']['name'],
              'state': node['state'],
          }
          if 'private-ip' in node['network']:
              ret[name]['private_ips'] = [node['network']['private-ip']]
          if 'public-ip' in node['network']:
              ret[name]['public_ips'] = [node['network']['public-ip']]
  
      return ret
docs: Return a list of the VMs that are on the provider