code: def list(cls, label=None, cluster_id=None, state=None, page=None, per_page=None):
          
          if cluster_id is not None:
              return cls.show(cluster_id)
          if label is not None:
              return cls.show(label)
          params = {}
          if page:
              params['page'] = page
          if per_page:
              params['per_page'] = per_page
          params = None if not params else params
          conn = Qubole.agent(version="v2")
          cluster_list = conn.get(cls.rest_entity_path)
          if state is None:
              # return the complete list since state is None
              return conn.get(cls.rest_entity_path, params=params)
          # filter clusters based on state
          result = []
          if 'clusters' in cluster_list:
              for cluster in cluster_list['clusters']:
                  if state.lower() == cluster['state'].lower():
                      result.append(cluster)
          return result
docs: List existing clusters present in your account.
  
          Kwargs:
              `state`: list only those clusters which are in this state
              `page`: page number
              `per_page`: number of clusters to be retrieved per page
  
          Returns:
              List of clusters satisfying the given criteria