docs: def find_cluster(cid=None, name=None):
          """
          find the cluster according to provided ID or name
          :param cid: id of cluster to find
          :param name: name of cluster to find
          :return: the cluster if found else None
          """
          LOGGER.debug("ClusterService.find_cluster")
          ret = None
          if (cid is None or not cid) and (name is None or not name):
              raise exceptions.ArianeCallParametersError('id or name')
  
          if (cid is not None and cid) and (name is not None and name):
              LOGGER.debug('ClusterService.find_cluster - Both id and name are defined. Will give you search on id.')
              # traceback.print_stack()
              name = None
  
          params = None
          if cid is not None and cid:
              params = SessionService.complete_transactional_req({'ID': cid})
              if MappingService.driver_type != DriverFactory.DRIVER_REST:
                  params['OPERATION'] = 'getCluster'
          elif name is not None and name:
              params = SessionService.complete_transactional_req({'name': name})
              if MappingService.driver_type != DriverFactory.DRIVER_REST:
                  params['OPERATION'] = 'getClusterByName'
  
          if MappingService.driver_type != DriverFactory.DRIVER_REST:
              args = {'properties': params}
          else:
              args = {'http_operation': 'GET', 'operation_path': 'get', 'parameters': params}
  
          response = ClusterService.requester.call(args)
  
          if MappingService.driver_type != DriverFactory.DRIVER_REST:
              response = response.get()
  
          if response.rc == 0:
              ret = Cluster.json_2_cluster(response.response_content)
          elif response.rc != 404:
              err_msg = 'ClusterService.find_cluster - Problem while finding cluster (id:' + str(cid) + '). ' + \
                        'Reason: ' + str(response.response_content) + ' - ' + str(response.error_message) + \
                        " (" + str(response.rc) + ")"
              LOGGER.warning(err_msg)
              if response.rc == 500 and ArianeMappingOverloadError.ERROR_MSG in response.error_message:
                  raise ArianeMappingOverloadError("ClusterService.find_cluster", ArianeMappingOverloadError.ERROR_MSG)
              # traceback.print_stack()
          return ret