def request(type, cores, max_duration=None): """Request a number of *cores* of a certain compute resource *type* Returns a dictionary describing the newly created realtime request, with the same format as the requests returned by list_rt_cores. If specified, request will terminate after being active for *max_duration* hours """ if max_duration != None: if not isinstance(max_duration, (int, long)): raise TypeError('Optional parameter max_duration should be an integer value > 0') if max_duration <= 0: raise TypeError('Optional parameter max_duration should be an integer value > 0') conn = cloud._getcloudnetconnection() return fix_time_element(conn.send_request(_request_query, {'cores': cores, 'type' : type, 'cap_duration': max_duration if max_duration else 0}), 'start_time')
def list(request_id=""): """Returns a list of dictionaries describing realtime core requests. If *request_id* is specified, only show realtime core request with that request_id The keys within each returned dictionary are: * request_id: numeric ID associated with the request * type: Type of computation resource this request grants * cores: Number of (type) cores this request grants * start_time: Time when real time request was satisfied; None if still pending""" if request_id != "": try: int(request_id) except ValueError: raise TypeError('Optional parameter to list_rt_cores must be a numeric request_id') conn = cloud._getcloudnetconnection() rt_list = conn.send_request(_list_query, {'rid': str(request_id)}) return [fix_time_element(rt,'start_time') for rt in rt_list['requests']]