def get_import_task(self):
     params = {'InstanceId': config.get_worker_id()}
     task = self.conn.get_object('GetInstanceImportTask', params, InstanceImportTask, verb='POST')
     if not task or not task.task_id:
         return None
     else:
         return task
 def put_import_task_status(self, task_id=None, status=None, volume_id=None, bytes_converted=None):
     if task_id == None or status == None:
         raise RuntimeError("Invalid parameters")
     params = {'InstanceId': config.get_worker_id(), 'ImportTaskId': task_id, 'Status': status}
     if bytes_converted != None:
         params['BytesConverted'] = bytes_converted
     if volume_id != None:
         params['VolumeId'] = volume_id
     resp = self.conn.make_request('PutInstanceImportTaskStatus', params, path='/', verb='POST')
     if resp.status != 200:
         raise httplib.HTTPException(resp.status, resp.reason, resp.read())
     root = objectify.XML(resp.read())
     return 'true' == root.cancelled.text if hasattr(root, 'cancelled') else False