docs: def list_nodes(call=None, **kwargs):
      '''
      Return a list of the VMs that in this location
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes function must be called with -f or --function.'
          )
  
      ret = {}
      conn = get_conn()
      server_list = conn.server_list()
  
      if not server_list:
          return {}
      for server in server_list:
          server_tmp = conn.server_show(server_list[server]['id']).get(server)
  
          # If the server is deleted while looking it up, skip
          if server_tmp is None:
              continue
  
          private = []
          public = []
          if 'addresses' not in server_tmp:
              server_tmp['addresses'] = {}
          for network in server_tmp['addresses']:
              for address in server_tmp['addresses'][network]:
                  if salt.utils.cloud.is_public_ip(address.get('addr', '')):
                      public.append(address['addr'])
                  elif ':' in address['addr']:
                      public.append(address['addr'])
                  elif '.' in address['addr']:
                      private.append(address['addr'])
  
          if server_tmp['accessIPv4']:
              if salt.utils.cloud.is_public_ip(server_tmp['accessIPv4']):
                  public.append(server_tmp['accessIPv4'])
              else:
                  private.append(server_tmp['accessIPv4'])
          if server_tmp['accessIPv6']:
              public.append(server_tmp['accessIPv6'])
  
          ret[server] = {
              'id': server_tmp['id'],
              'image': server_tmp['image']['id'],
              'size': server_tmp['flavor']['id'],
              'state': server_tmp['state'],
              'private_ips': private,
              'public_ips': public,
          }
      return ret