docs: def list_nodes(conn=None, call=None):
      '''
      Return a list of VMs that are on the provider
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes function must be called with -f or --function.'
          )
  
      if not conn:
          conn = get_conn()
  
      ret = {}
      nodes = conn.list_servers()
  
      for node in nodes:
          public_ips = []
          private_ips = []
          ret = {}
  
          size = node.get('hardware').get('fixed_instance_size_id', 'Custom size')
  
          if node.get('private_networks'):
              for private_ip in node['private_networks']:
                  private_ips.append(private_ip)
  
          if node.get('ips'):
              for public_ip in node['ips']:
                  public_ips.append(public_ip['ip'])
  
          server = {
              'id': node['id'],
              'image': node['image']['id'],
              'size': size,
              'state': node['status']['state'],
              'private_ips': private_ips,
              'public_ips': public_ips
          }
          ret[node['name']] = server
  
      return ret