You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2016/08/09 18:01:01 UTC
[21/32] airavata-sandbox git commit: Added_Apache
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/2352c0ff/Interacting_with_Airavata_using_ipython_Notebook/Admin-User/apache/airavata/model/workspace/experiment/ttypes.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/Admin-User/apache/airavata/model/workspace/experiment/ttypes.py b/Interacting_with_Airavata_using_ipython_Notebook/Admin-User/apache/airavata/model/workspace/experiment/ttypes.py
new file mode 100644
index 0000000..d227f3f
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/Admin-User/apache/airavata/model/workspace/experiment/ttypes.py
@@ -0,0 +1,3474 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+# options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.appcatalog.computeresource.ttypes
+import apache.airavata.model.appcatalog.appinterface.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+ from thrift.protocol import fastbinary
+except:
+ fastbinary = None
+
+
+class ExperimentState:
+ CREATED = 0
+ VALIDATED = 1
+ SCHEDULED = 2
+ LAUNCHED = 3
+ EXECUTING = 4
+ CANCELING = 5
+ CANCELED = 6
+ SUSPENDED = 7
+ COMPLETED = 8
+ FAILED = 9
+ UNKNOWN = 10
+
+ _VALUES_TO_NAMES = {
+ 0: "CREATED",
+ 1: "VALIDATED",
+ 2: "SCHEDULED",
+ 3: "LAUNCHED",
+ 4: "EXECUTING",
+ 5: "CANCELING",
+ 6: "CANCELED",
+ 7: "SUSPENDED",
+ 8: "COMPLETED",
+ 9: "FAILED",
+ 10: "UNKNOWN",
+ }
+
+ _NAMES_TO_VALUES = {
+ "CREATED": 0,
+ "VALIDATED": 1,
+ "SCHEDULED": 2,
+ "LAUNCHED": 3,
+ "EXECUTING": 4,
+ "CANCELING": 5,
+ "CANCELED": 6,
+ "SUSPENDED": 7,
+ "COMPLETED": 8,
+ "FAILED": 9,
+ "UNKNOWN": 10,
+ }
+
+class ExperimentSearchFields:
+ EXPERIMENT_NAME = 0
+ EXPERIMENT_DESC = 1
+ APPLICATION_ID = 2
+ FROM_DATE = 3
+ TO_DATE = 4
+ STATUS = 5
+
+ _VALUES_TO_NAMES = {
+ 0: "EXPERIMENT_NAME",
+ 1: "EXPERIMENT_DESC",
+ 2: "APPLICATION_ID",
+ 3: "FROM_DATE",
+ 4: "TO_DATE",
+ 5: "STATUS",
+ }
+
+ _NAMES_TO_VALUES = {
+ "EXPERIMENT_NAME": 0,
+ "EXPERIMENT_DESC": 1,
+ "APPLICATION_ID": 2,
+ "FROM_DATE": 3,
+ "TO_DATE": 4,
+ "STATUS": 5,
+ }
+
+class WorkflowNodeState:
+ INVOKED = 0
+ EXECUTING = 1
+ CANCELING = 2
+ CANCELED = 3
+ SUSPENDED = 4
+ COMPLETED = 5
+ FAILED = 6
+ UNKNOWN = 7
+
+ _VALUES_TO_NAMES = {
+ 0: "INVOKED",
+ 1: "EXECUTING",
+ 2: "CANCELING",
+ 3: "CANCELED",
+ 4: "SUSPENDED",
+ 5: "COMPLETED",
+ 6: "FAILED",
+ 7: "UNKNOWN",
+ }
+
+ _NAMES_TO_VALUES = {
+ "INVOKED": 0,
+ "EXECUTING": 1,
+ "CANCELING": 2,
+ "CANCELED": 3,
+ "SUSPENDED": 4,
+ "COMPLETED": 5,
+ "FAILED": 6,
+ "UNKNOWN": 7,
+ }
+
+class TaskState:
+ WAITING = 0
+ STARTED = 1
+ PRE_PROCESSING = 2
+ CONFIGURING_WORKSPACE = 3
+ INPUT_DATA_STAGING = 4
+ OUTPUT_DATA_STAGING = 5
+ POST_PROCESSING = 6
+ EXECUTING = 7
+ CANCELING = 8
+ CANCELED = 9
+ COMPLETED = 10
+ FAILED = 11
+ UNKNOWN = 12
+
+ _VALUES_TO_NAMES = {
+ 0: "WAITING",
+ 1: "STARTED",
+ 2: "PRE_PROCESSING",
+ 3: "CONFIGURING_WORKSPACE",
+ 4: "INPUT_DATA_STAGING",
+ 5: "OUTPUT_DATA_STAGING",
+ 6: "POST_PROCESSING",
+ 7: "EXECUTING",
+ 8: "CANCELING",
+ 9: "CANCELED",
+ 10: "COMPLETED",
+ 11: "FAILED",
+ 12: "UNKNOWN",
+ }
+
+ _NAMES_TO_VALUES = {
+ "WAITING": 0,
+ "STARTED": 1,
+ "PRE_PROCESSING": 2,
+ "CONFIGURING_WORKSPACE": 3,
+ "INPUT_DATA_STAGING": 4,
+ "OUTPUT_DATA_STAGING": 5,
+ "POST_PROCESSING": 6,
+ "EXECUTING": 7,
+ "CANCELING": 8,
+ "CANCELED": 9,
+ "COMPLETED": 10,
+ "FAILED": 11,
+ "UNKNOWN": 12,
+ }
+
+class JobState:
+ SUBMITTED = 0
+ UN_SUBMITTED = 1
+ SETUP = 2
+ QUEUED = 3
+ ACTIVE = 4
+ COMPLETE = 5
+ CANCELING = 6
+ CANCELED = 7
+ FAILED = 8
+ HELD = 9
+ SUSPENDED = 10
+ UNKNOWN = 11
+
+ _VALUES_TO_NAMES = {
+ 0: "SUBMITTED",
+ 1: "UN_SUBMITTED",
+ 2: "SETUP",
+ 3: "QUEUED",
+ 4: "ACTIVE",
+ 5: "COMPLETE",
+ 6: "CANCELING",
+ 7: "CANCELED",
+ 8: "FAILED",
+ 9: "HELD",
+ 10: "SUSPENDED",
+ 11: "UNKNOWN",
+ }
+
+ _NAMES_TO_VALUES = {
+ "SUBMITTED": 0,
+ "UN_SUBMITTED": 1,
+ "SETUP": 2,
+ "QUEUED": 3,
+ "ACTIVE": 4,
+ "COMPLETE": 5,
+ "CANCELING": 6,
+ "CANCELED": 7,
+ "FAILED": 8,
+ "HELD": 9,
+ "SUSPENDED": 10,
+ "UNKNOWN": 11,
+ }
+
+class TransferState:
+ DIRECTORY_SETUP = 0
+ UPLOAD = 1
+ DOWNLOAD = 2
+ ACTIVE = 3
+ COMPLETE = 4
+ STDOUT_DOWNLOAD = 5
+ STDERROR_DOWNLOAD = 6
+ CANCELING = 7
+ CANCELED = 8
+ FAILED = 9
+ HELD = 10
+ SUSPENDED = 11
+ UNKNOWN = 12
+
+ _VALUES_TO_NAMES = {
+ 0: "DIRECTORY_SETUP",
+ 1: "UPLOAD",
+ 2: "DOWNLOAD",
+ 3: "ACTIVE",
+ 4: "COMPLETE",
+ 5: "STDOUT_DOWNLOAD",
+ 6: "STDERROR_DOWNLOAD",
+ 7: "CANCELING",
+ 8: "CANCELED",
+ 9: "FAILED",
+ 10: "HELD",
+ 11: "SUSPENDED",
+ 12: "UNKNOWN",
+ }
+
+ _NAMES_TO_VALUES = {
+ "DIRECTORY_SETUP": 0,
+ "UPLOAD": 1,
+ "DOWNLOAD": 2,
+ "ACTIVE": 3,
+ "COMPLETE": 4,
+ "STDOUT_DOWNLOAD": 5,
+ "STDERROR_DOWNLOAD": 6,
+ "CANCELING": 7,
+ "CANCELED": 8,
+ "FAILED": 9,
+ "HELD": 10,
+ "SUSPENDED": 11,
+ "UNKNOWN": 12,
+ }
+
+class ActionableGroup:
+ RESOURCE_ADMINS = 0
+ AIRAVATA_ADMINS = 1
+ GATEWAYS_ADMINS = 2
+ USER = 3
+ CANNOT_BE_DETERMINED = 4
+
+ _VALUES_TO_NAMES = {
+ 0: "RESOURCE_ADMINS",
+ 1: "AIRAVATA_ADMINS",
+ 2: "GATEWAYS_ADMINS",
+ 3: "USER",
+ 4: "CANNOT_BE_DETERMINED",
+ }
+
+ _NAMES_TO_VALUES = {
+ "RESOURCE_ADMINS": 0,
+ "AIRAVATA_ADMINS": 1,
+ "GATEWAYS_ADMINS": 2,
+ "USER": 3,
+ "CANNOT_BE_DETERMINED": 4,
+ }
+
+class ErrorCategory:
+ FILE_SYSTEM_FAILURE = 0
+ APPLICATION_FAILURE = 1
+ RESOURCE_NODE_FAILURE = 2
+ DISK_FULL = 3
+ INSUFFICIENT_ALLOCATION = 4
+ SYSTEM_MAINTENANCE = 5
+ AIRAVATA_INTERNAL_ERROR = 6
+ CANNOT_BE_DETERMINED = 7
+
+ _VALUES_TO_NAMES = {
+ 0: "FILE_SYSTEM_FAILURE",
+ 1: "APPLICATION_FAILURE",
+ 2: "RESOURCE_NODE_FAILURE",
+ 3: "DISK_FULL",
+ 4: "INSUFFICIENT_ALLOCATION",
+ 5: "SYSTEM_MAINTENANCE",
+ 6: "AIRAVATA_INTERNAL_ERROR",
+ 7: "CANNOT_BE_DETERMINED",
+ }
+
+ _NAMES_TO_VALUES = {
+ "FILE_SYSTEM_FAILURE": 0,
+ "APPLICATION_FAILURE": 1,
+ "RESOURCE_NODE_FAILURE": 2,
+ "DISK_FULL": 3,
+ "INSUFFICIENT_ALLOCATION": 4,
+ "SYSTEM_MAINTENANCE": 5,
+ "AIRAVATA_INTERNAL_ERROR": 6,
+ "CANNOT_BE_DETERMINED": 7,
+ }
+
+class CorrectiveAction:
+ RETRY_SUBMISSION = 0
+ CONTACT_SUPPORT = 1
+ CANNOT_BE_DETERMINED = 2
+
+ _VALUES_TO_NAMES = {
+ 0: "RETRY_SUBMISSION",
+ 1: "CONTACT_SUPPORT",
+ 2: "CANNOT_BE_DETERMINED",
+ }
+
+ _NAMES_TO_VALUES = {
+ "RETRY_SUBMISSION": 0,
+ "CONTACT_SUPPORT": 1,
+ "CANNOT_BE_DETERMINED": 2,
+ }
+
+class ExecutionUnit:
+ INPUT = 0
+ APPLICATION = 1
+ OUTPUT = 2
+ OTHER = 3
+
+ _VALUES_TO_NAMES = {
+ 0: "INPUT",
+ 1: "APPLICATION",
+ 2: "OUTPUT",
+ 3: "OTHER",
+ }
+
+ _NAMES_TO_VALUES = {
+ "INPUT": 0,
+ "APPLICATION": 1,
+ "OUTPUT": 2,
+ "OTHER": 3,
+ }
+
+
+class ExperimentStatus:
+ """
+ Attributes:
+ - experimentState
+ - timeOfStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'experimentState', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ )
+
+ def __init__(self, experimentState=None, timeOfStateChange=None,):
+ self.experimentState = experimentState
+ self.timeOfStateChange = timeOfStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.experimentState = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('ExperimentStatus')
+ if self.experimentState is not None:
+ oprot.writeFieldBegin('experimentState', TType.I32, 1)
+ oprot.writeI32(self.experimentState)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.experimentState is None:
+ raise TProtocol.TProtocolException(message='Required field experimentState is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.experimentState)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class WorkflowNodeStatus:
+ """
+ Attributes:
+ - workflowNodeState
+ - timeOfStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'workflowNodeState', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ )
+
+ def __init__(self, workflowNodeState=None, timeOfStateChange=None,):
+ self.workflowNodeState = workflowNodeState
+ self.timeOfStateChange = timeOfStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.workflowNodeState = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('WorkflowNodeStatus')
+ if self.workflowNodeState is not None:
+ oprot.writeFieldBegin('workflowNodeState', TType.I32, 1)
+ oprot.writeI32(self.workflowNodeState)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.workflowNodeState is None:
+ raise TProtocol.TProtocolException(message='Required field workflowNodeState is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.workflowNodeState)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class TaskStatus:
+ """
+ Attributes:
+ - executionState
+ - timeOfStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'executionState', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ )
+
+ def __init__(self, executionState=None, timeOfStateChange=None,):
+ self.executionState = executionState
+ self.timeOfStateChange = timeOfStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.executionState = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('TaskStatus')
+ if self.executionState is not None:
+ oprot.writeFieldBegin('executionState', TType.I32, 1)
+ oprot.writeI32(self.executionState)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.executionState is None:
+ raise TProtocol.TProtocolException(message='Required field executionState is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.executionState)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class JobStatus:
+ """
+ Attributes:
+ - jobState
+ - timeOfStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'jobState', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ )
+
+ def __init__(self, jobState=None, timeOfStateChange=None,):
+ self.jobState = jobState
+ self.timeOfStateChange = timeOfStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.jobState = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('JobStatus')
+ if self.jobState is not None:
+ oprot.writeFieldBegin('jobState', TType.I32, 1)
+ oprot.writeI32(self.jobState)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.jobState is None:
+ raise TProtocol.TProtocolException(message='Required field jobState is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.jobState)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class TransferStatus:
+ """
+ Attributes:
+ - transferState
+ - timeOfStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'transferState', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ )
+
+ def __init__(self, transferState=None, timeOfStateChange=None,):
+ self.transferState = transferState
+ self.timeOfStateChange = timeOfStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.transferState = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('TransferStatus')
+ if self.transferState is not None:
+ oprot.writeFieldBegin('transferState', TType.I32, 1)
+ oprot.writeI32(self.transferState)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.transferState is None:
+ raise TProtocol.TProtocolException(message='Required field transferState is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.transferState)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class ApplicationStatus:
+ """
+ Attributes:
+ - applicationState
+ - timeOfStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'applicationState', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ )
+
+ def __init__(self, applicationState=None, timeOfStateChange=None,):
+ self.applicationState = applicationState
+ self.timeOfStateChange = timeOfStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.applicationState = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('ApplicationStatus')
+ if self.applicationState is not None:
+ oprot.writeFieldBegin('applicationState', TType.STRING, 1)
+ oprot.writeString(self.applicationState)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.applicationState is None:
+ raise TProtocol.TProtocolException(message='Required field applicationState is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.applicationState)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class ComputationalResourceScheduling:
+ """
+ A structure holding the Computational Resource Scheduling.
+
+
+ Attributes:
+ - resourceHostId
+ - totalCPUCount
+ - nodeCount
+ - numberOfThreads
+ - queueName
+ - wallTimeLimit
+ - jobStartTime
+ - totalPhysicalMemory
+ - computationalProjectAccount
+ - chassisName
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'resourceHostId', None, None, ), # 1
+ (2, TType.I32, 'totalCPUCount', None, None, ), # 2
+ (3, TType.I32, 'nodeCount', None, None, ), # 3
+ (4, TType.I32, 'numberOfThreads', None, None, ), # 4
+ (5, TType.STRING, 'queueName', None, None, ), # 5
+ (6, TType.I32, 'wallTimeLimit', None, None, ), # 6
+ (7, TType.I32, 'jobStartTime', None, None, ), # 7
+ (8, TType.I32, 'totalPhysicalMemory', None, None, ), # 8
+ (9, TType.STRING, 'computationalProjectAccount', None, None, ), # 9
+ (10, TType.STRING, 'chassisName', None, None, ), # 10
+ )
+
+ def __init__(self, resourceHostId=None, totalCPUCount=None, nodeCount=None, numberOfThreads=None, queueName=None, wallTimeLimit=None, jobStartTime=None, totalPhysicalMemory=None, computationalProjectAccount=None, chassisName=None,):
+ self.resourceHostId = resourceHostId
+ self.totalCPUCount = totalCPUCount
+ self.nodeCount = nodeCount
+ self.numberOfThreads = numberOfThreads
+ self.queueName = queueName
+ self.wallTimeLimit = wallTimeLimit
+ self.jobStartTime = jobStartTime
+ self.totalPhysicalMemory = totalPhysicalMemory
+ self.computationalProjectAccount = computationalProjectAccount
+ self.chassisName = chassisName
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.resourceHostId = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I32:
+ self.totalCPUCount = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.I32:
+ self.nodeCount = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.I32:
+ self.numberOfThreads = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.queueName = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.I32:
+ self.wallTimeLimit = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.I32:
+ self.jobStartTime = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.I32:
+ self.totalPhysicalMemory = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.STRING:
+ self.computationalProjectAccount = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 10:
+ if ftype == TType.STRING:
+ self.chassisName = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('ComputationalResourceScheduling')
+ if self.resourceHostId is not None:
+ oprot.writeFieldBegin('resourceHostId', TType.STRING, 1)
+ oprot.writeString(self.resourceHostId)
+ oprot.writeFieldEnd()
+ if self.totalCPUCount is not None:
+ oprot.writeFieldBegin('totalCPUCount', TType.I32, 2)
+ oprot.writeI32(self.totalCPUCount)
+ oprot.writeFieldEnd()
+ if self.nodeCount is not None:
+ oprot.writeFieldBegin('nodeCount', TType.I32, 3)
+ oprot.writeI32(self.nodeCount)
+ oprot.writeFieldEnd()
+ if self.numberOfThreads is not None:
+ oprot.writeFieldBegin('numberOfThreads', TType.I32, 4)
+ oprot.writeI32(self.numberOfThreads)
+ oprot.writeFieldEnd()
+ if self.queueName is not None:
+ oprot.writeFieldBegin('queueName', TType.STRING, 5)
+ oprot.writeString(self.queueName)
+ oprot.writeFieldEnd()
+ if self.wallTimeLimit is not None:
+ oprot.writeFieldBegin('wallTimeLimit', TType.I32, 6)
+ oprot.writeI32(self.wallTimeLimit)
+ oprot.writeFieldEnd()
+ if self.jobStartTime is not None:
+ oprot.writeFieldBegin('jobStartTime', TType.I32, 7)
+ oprot.writeI32(self.jobStartTime)
+ oprot.writeFieldEnd()
+ if self.totalPhysicalMemory is not None:
+ oprot.writeFieldBegin('totalPhysicalMemory', TType.I32, 8)
+ oprot.writeI32(self.totalPhysicalMemory)
+ oprot.writeFieldEnd()
+ if self.computationalProjectAccount is not None:
+ oprot.writeFieldBegin('computationalProjectAccount', TType.STRING, 9)
+ oprot.writeString(self.computationalProjectAccount)
+ oprot.writeFieldEnd()
+ if self.chassisName is not None:
+ oprot.writeFieldBegin('chassisName', TType.STRING, 10)
+ oprot.writeString(self.chassisName)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.resourceHostId)
+ value = (value * 31) ^ hash(self.totalCPUCount)
+ value = (value * 31) ^ hash(self.nodeCount)
+ value = (value * 31) ^ hash(self.numberOfThreads)
+ value = (value * 31) ^ hash(self.queueName)
+ value = (value * 31) ^ hash(self.wallTimeLimit)
+ value = (value * 31) ^ hash(self.jobStartTime)
+ value = (value * 31) ^ hash(self.totalPhysicalMemory)
+ value = (value * 31) ^ hash(self.computationalProjectAccount)
+ value = (value * 31) ^ hash(self.chassisName)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class AdvancedInputDataHandling:
+ """
+ A structure holding specified input data handling.
+
+
+ Attributes:
+ - stageInputFilesToWorkingDir
+ - parentWorkingDirectory
+ - uniqueWorkingDirectory
+ - cleanUpWorkingDirAfterJob
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.BOOL, 'stageInputFilesToWorkingDir', None, False, ), # 1
+ (2, TType.STRING, 'parentWorkingDirectory', None, None, ), # 2
+ (3, TType.STRING, 'uniqueWorkingDirectory', None, None, ), # 3
+ (4, TType.BOOL, 'cleanUpWorkingDirAfterJob', None, False, ), # 4
+ )
+
+ def __init__(self, stageInputFilesToWorkingDir=thrift_spec[1][4], parentWorkingDirectory=None, uniqueWorkingDirectory=None, cleanUpWorkingDirAfterJob=thrift_spec[4][4],):
+ self.stageInputFilesToWorkingDir = stageInputFilesToWorkingDir
+ self.parentWorkingDirectory = parentWorkingDirectory
+ self.uniqueWorkingDirectory = uniqueWorkingDirectory
+ self.cleanUpWorkingDirAfterJob = cleanUpWorkingDirAfterJob
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.BOOL:
+ self.stageInputFilesToWorkingDir = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.parentWorkingDirectory = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.uniqueWorkingDirectory = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.BOOL:
+ self.cleanUpWorkingDirAfterJob = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('AdvancedInputDataHandling')
+ if self.stageInputFilesToWorkingDir is not None:
+ oprot.writeFieldBegin('stageInputFilesToWorkingDir', TType.BOOL, 1)
+ oprot.writeBool(self.stageInputFilesToWorkingDir)
+ oprot.writeFieldEnd()
+ if self.parentWorkingDirectory is not None:
+ oprot.writeFieldBegin('parentWorkingDirectory', TType.STRING, 2)
+ oprot.writeString(self.parentWorkingDirectory)
+ oprot.writeFieldEnd()
+ if self.uniqueWorkingDirectory is not None:
+ oprot.writeFieldBegin('uniqueWorkingDirectory', TType.STRING, 3)
+ oprot.writeString(self.uniqueWorkingDirectory)
+ oprot.writeFieldEnd()
+ if self.cleanUpWorkingDirAfterJob is not None:
+ oprot.writeFieldBegin('cleanUpWorkingDirAfterJob', TType.BOOL, 4)
+ oprot.writeBool(self.cleanUpWorkingDirAfterJob)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.stageInputFilesToWorkingDir)
+ value = (value * 31) ^ hash(self.parentWorkingDirectory)
+ value = (value * 31) ^ hash(self.uniqueWorkingDirectory)
+ value = (value * 31) ^ hash(self.cleanUpWorkingDirAfterJob)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class AdvancedOutputDataHandling:
+ """
+ A structure holding specified output data handling.
+
+
+ Attributes:
+ - outputDataDir
+ - dataRegistryURL
+ - persistOutputData
+ """
+
+ thrift_spec = (
+ None, # 0
+ None, # 1
+ (2, TType.STRING, 'outputDataDir', None, None, ), # 2
+ (3, TType.STRING, 'dataRegistryURL', None, None, ), # 3
+ (4, TType.BOOL, 'persistOutputData', None, True, ), # 4
+ )
+
+ def __init__(self, outputDataDir=None, dataRegistryURL=None, persistOutputData=thrift_spec[4][4],):
+ self.outputDataDir = outputDataDir
+ self.dataRegistryURL = dataRegistryURL
+ self.persistOutputData = persistOutputData
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 2:
+ if ftype == TType.STRING:
+ self.outputDataDir = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.dataRegistryURL = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.BOOL:
+ self.persistOutputData = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('AdvancedOutputDataHandling')
+ if self.outputDataDir is not None:
+ oprot.writeFieldBegin('outputDataDir', TType.STRING, 2)
+ oprot.writeString(self.outputDataDir)
+ oprot.writeFieldEnd()
+ if self.dataRegistryURL is not None:
+ oprot.writeFieldBegin('dataRegistryURL', TType.STRING, 3)
+ oprot.writeString(self.dataRegistryURL)
+ oprot.writeFieldEnd()
+ if self.persistOutputData is not None:
+ oprot.writeFieldBegin('persistOutputData', TType.BOOL, 4)
+ oprot.writeBool(self.persistOutputData)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.outputDataDir)
+ value = (value * 31) ^ hash(self.dataRegistryURL)
+ value = (value * 31) ^ hash(self.persistOutputData)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class QualityOfServiceParams:
+ """
+ A structure holding Quality of Service Parameters.
+
+
+ Attributes:
+ - startExecutionAt
+ - executeBefore
+ - numberofRetries
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'startExecutionAt', None, None, ), # 1
+ (2, TType.STRING, 'executeBefore', None, None, ), # 2
+ (3, TType.I32, 'numberofRetries', None, None, ), # 3
+ )
+
+ def __init__(self, startExecutionAt=None, executeBefore=None, numberofRetries=None,):
+ self.startExecutionAt = startExecutionAt
+ self.executeBefore = executeBefore
+ self.numberofRetries = numberofRetries
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.startExecutionAt = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.executeBefore = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.I32:
+ self.numberofRetries = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('QualityOfServiceParams')
+ if self.startExecutionAt is not None:
+ oprot.writeFieldBegin('startExecutionAt', TType.STRING, 1)
+ oprot.writeString(self.startExecutionAt)
+ oprot.writeFieldEnd()
+ if self.executeBefore is not None:
+ oprot.writeFieldBegin('executeBefore', TType.STRING, 2)
+ oprot.writeString(self.executeBefore)
+ oprot.writeFieldEnd()
+ if self.numberofRetries is not None:
+ oprot.writeFieldBegin('numberofRetries', TType.I32, 3)
+ oprot.writeI32(self.numberofRetries)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.startExecutionAt)
+ value = (value * 31) ^ hash(self.executeBefore)
+ value = (value * 31) ^ hash(self.numberofRetries)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class UserConfigurationData:
+ """
+ A structure holding the experiment configuration.
+
+
+
+ Attributes:
+ - airavataAutoSchedule
+ - overrideManualScheduledParams
+ - shareExperimentPublicly
+ - computationalResourceScheduling
+ - advanceInputDataHandling
+ - advanceOutputDataHandling
+ - qosParams
+ - throttleResources
+ - userDN
+ - generateCert
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.BOOL, 'airavataAutoSchedule', None, False, ), # 1
+ (2, TType.BOOL, 'overrideManualScheduledParams', None, False, ), # 2
+ (3, TType.BOOL, 'shareExperimentPublicly', None, False, ), # 3
+ (4, TType.STRUCT, 'computationalResourceScheduling', (ComputationalResourceScheduling, ComputationalResourceScheduling.thrift_spec), None, ), # 4
+ (5, TType.STRUCT, 'advanceInputDataHandling', (AdvancedInputDataHandling, AdvancedInputDataHandling.thrift_spec), None, ), # 5
+ (6, TType.STRUCT, 'advanceOutputDataHandling', (AdvancedOutputDataHandling, AdvancedOutputDataHandling.thrift_spec), None, ), # 6
+ (7, TType.STRUCT, 'qosParams', (QualityOfServiceParams, QualityOfServiceParams.thrift_spec), None, ), # 7
+ (8, TType.BOOL, 'throttleResources', None, False, ), # 8
+ (9, TType.STRING, 'userDN', None, None, ), # 9
+ (10, TType.BOOL, 'generateCert', None, False, ), # 10
+ )
+
+ def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, advanceInputDataHandling=None, advanceOutputDataHandling=None, qosParams=None, throttleResources=thrift_spec[8][4], userDN=None, generateCert=thrift_spec[10][4],):
+ self.airavataAutoSchedule = airavataAutoSchedule
+ self.overrideManualScheduledParams = overrideManualScheduledParams
+ self.shareExperimentPublicly = shareExperimentPublicly
+ self.computationalResourceScheduling = computationalResourceScheduling
+ self.advanceInputDataHandling = advanceInputDataHandling
+ self.advanceOutputDataHandling = advanceOutputDataHandling
+ self.qosParams = qosParams
+ self.throttleResources = throttleResources
+ self.userDN = userDN
+ self.generateCert = generateCert
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.BOOL:
+ self.airavataAutoSchedule = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.BOOL:
+ self.overrideManualScheduledParams = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.BOOL:
+ self.shareExperimentPublicly = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRUCT:
+ self.computationalResourceScheduling = ComputationalResourceScheduling()
+ self.computationalResourceScheduling.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRUCT:
+ self.advanceInputDataHandling = AdvancedInputDataHandling()
+ self.advanceInputDataHandling.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.STRUCT:
+ self.advanceOutputDataHandling = AdvancedOutputDataHandling()
+ self.advanceOutputDataHandling.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.STRUCT:
+ self.qosParams = QualityOfServiceParams()
+ self.qosParams.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.BOOL:
+ self.throttleResources = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.STRING:
+ self.userDN = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 10:
+ if ftype == TType.BOOL:
+ self.generateCert = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('UserConfigurationData')
+ if self.airavataAutoSchedule is not None:
+ oprot.writeFieldBegin('airavataAutoSchedule', TType.BOOL, 1)
+ oprot.writeBool(self.airavataAutoSchedule)
+ oprot.writeFieldEnd()
+ if self.overrideManualScheduledParams is not None:
+ oprot.writeFieldBegin('overrideManualScheduledParams', TType.BOOL, 2)
+ oprot.writeBool(self.overrideManualScheduledParams)
+ oprot.writeFieldEnd()
+ if self.shareExperimentPublicly is not None:
+ oprot.writeFieldBegin('shareExperimentPublicly', TType.BOOL, 3)
+ oprot.writeBool(self.shareExperimentPublicly)
+ oprot.writeFieldEnd()
+ if self.computationalResourceScheduling is not None:
+ oprot.writeFieldBegin('computationalResourceScheduling', TType.STRUCT, 4)
+ self.computationalResourceScheduling.write(oprot)
+ oprot.writeFieldEnd()
+ if self.advanceInputDataHandling is not None:
+ oprot.writeFieldBegin('advanceInputDataHandling', TType.STRUCT, 5)
+ self.advanceInputDataHandling.write(oprot)
+ oprot.writeFieldEnd()
+ if self.advanceOutputDataHandling is not None:
+ oprot.writeFieldBegin('advanceOutputDataHandling', TType.STRUCT, 6)
+ self.advanceOutputDataHandling.write(oprot)
+ oprot.writeFieldEnd()
+ if self.qosParams is not None:
+ oprot.writeFieldBegin('qosParams', TType.STRUCT, 7)
+ self.qosParams.write(oprot)
+ oprot.writeFieldEnd()
+ if self.throttleResources is not None:
+ oprot.writeFieldBegin('throttleResources', TType.BOOL, 8)
+ oprot.writeBool(self.throttleResources)
+ oprot.writeFieldEnd()
+ if self.userDN is not None:
+ oprot.writeFieldBegin('userDN', TType.STRING, 9)
+ oprot.writeString(self.userDN)
+ oprot.writeFieldEnd()
+ if self.generateCert is not None:
+ oprot.writeFieldBegin('generateCert', TType.BOOL, 10)
+ oprot.writeBool(self.generateCert)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.airavataAutoSchedule is None:
+ raise TProtocol.TProtocolException(message='Required field airavataAutoSchedule is unset!')
+ if self.overrideManualScheduledParams is None:
+ raise TProtocol.TProtocolException(message='Required field overrideManualScheduledParams is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.airavataAutoSchedule)
+ value = (value * 31) ^ hash(self.overrideManualScheduledParams)
+ value = (value * 31) ^ hash(self.shareExperimentPublicly)
+ value = (value * 31) ^ hash(self.computationalResourceScheduling)
+ value = (value * 31) ^ hash(self.advanceInputDataHandling)
+ value = (value * 31) ^ hash(self.advanceOutputDataHandling)
+ value = (value * 31) ^ hash(self.qosParams)
+ value = (value * 31) ^ hash(self.throttleResources)
+ value = (value * 31) ^ hash(self.userDN)
+ value = (value * 31) ^ hash(self.generateCert)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class ErrorDetails:
+ """
+ Attributes:
+ - errorID
+ - creationTime
+ - actualErrorMessage
+ - userFriendlyMessage
+ - errorCategory
+ - transientOrPersistent
+ - correctiveAction
+ - actionableGroup
+ - rootCauseErrorIdList
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'errorID', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.I64, 'creationTime', None, None, ), # 2
+ (3, TType.STRING, 'actualErrorMessage', None, None, ), # 3
+ (4, TType.STRING, 'userFriendlyMessage', None, None, ), # 4
+ (5, TType.I32, 'errorCategory', None, None, ), # 5
+ (6, TType.BOOL, 'transientOrPersistent', None, False, ), # 6
+ (7, TType.I32, 'correctiveAction', None, None, ), # 7
+ (8, TType.I32, 'actionableGroup', None, None, ), # 8
+ (9, TType.LIST, 'rootCauseErrorIdList', (TType.STRING,None), None, ), # 9
+ )
+
+ def __init__(self, errorID=thrift_spec[1][4], creationTime=None, actualErrorMessage=None, userFriendlyMessage=None, errorCategory=None, transientOrPersistent=thrift_spec[6][4], correctiveAction=None, actionableGroup=None, rootCauseErrorIdList=None,):
+ self.errorID = errorID
+ self.creationTime = creationTime
+ self.actualErrorMessage = actualErrorMessage
+ self.userFriendlyMessage = userFriendlyMessage
+ self.errorCategory = errorCategory
+ self.transientOrPersistent = transientOrPersistent
+ self.correctiveAction = correctiveAction
+ self.actionableGroup = actionableGroup
+ self.rootCauseErrorIdList = rootCauseErrorIdList
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.errorID = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.actualErrorMessage = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.userFriendlyMessage = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.I32:
+ self.errorCategory = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.BOOL:
+ self.transientOrPersistent = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.I32:
+ self.correctiveAction = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.I32:
+ self.actionableGroup = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.LIST:
+ self.rootCauseErrorIdList = []
+ (_etype3, _size0) = iprot.readListBegin()
+ for _i4 in xrange(_size0):
+ _elem5 = iprot.readString();
+ self.rootCauseErrorIdList.append(_elem5)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('ErrorDetails')
+ if self.errorID is not None:
+ oprot.writeFieldBegin('errorID', TType.STRING, 1)
+ oprot.writeString(self.errorID)
+ oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 2)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
+ if self.actualErrorMessage is not None:
+ oprot.writeFieldBegin('actualErrorMessage', TType.STRING, 3)
+ oprot.writeString(self.actualErrorMessage)
+ oprot.writeFieldEnd()
+ if self.userFriendlyMessage is not None:
+ oprot.writeFieldBegin('userFriendlyMessage', TType.STRING, 4)
+ oprot.writeString(self.userFriendlyMessage)
+ oprot.writeFieldEnd()
+ if self.errorCategory is not None:
+ oprot.writeFieldBegin('errorCategory', TType.I32, 5)
+ oprot.writeI32(self.errorCategory)
+ oprot.writeFieldEnd()
+ if self.transientOrPersistent is not None:
+ oprot.writeFieldBegin('transientOrPersistent', TType.BOOL, 6)
+ oprot.writeBool(self.transientOrPersistent)
+ oprot.writeFieldEnd()
+ if self.correctiveAction is not None:
+ oprot.writeFieldBegin('correctiveAction', TType.I32, 7)
+ oprot.writeI32(self.correctiveAction)
+ oprot.writeFieldEnd()
+ if self.actionableGroup is not None:
+ oprot.writeFieldBegin('actionableGroup', TType.I32, 8)
+ oprot.writeI32(self.actionableGroup)
+ oprot.writeFieldEnd()
+ if self.rootCauseErrorIdList is not None:
+ oprot.writeFieldBegin('rootCauseErrorIdList', TType.LIST, 9)
+ oprot.writeListBegin(TType.STRING, len(self.rootCauseErrorIdList))
+ for iter6 in self.rootCauseErrorIdList:
+ oprot.writeString(iter6)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.errorID is None:
+ raise TProtocol.TProtocolException(message='Required field errorID is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.errorID)
+ value = (value * 31) ^ hash(self.creationTime)
+ value = (value * 31) ^ hash(self.actualErrorMessage)
+ value = (value * 31) ^ hash(self.userFriendlyMessage)
+ value = (value * 31) ^ hash(self.errorCategory)
+ value = (value * 31) ^ hash(self.transientOrPersistent)
+ value = (value * 31) ^ hash(self.correctiveAction)
+ value = (value * 31) ^ hash(self.actionableGroup)
+ value = (value * 31) ^ hash(self.rootCauseErrorIdList)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class JobDetails:
+ """
+ Attributes:
+ - jobID
+ - jobDescription
+ - creationTime
+ - jobStatus
+ - applicationStatus
+ - errors
+ - computeResourceConsumed
+ - jobName
+ - workingDir
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'jobID', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'jobDescription', None, None, ), # 2
+ (3, TType.I64, 'creationTime', None, None, ), # 3
+ (4, TType.STRUCT, 'jobStatus', (JobStatus, JobStatus.thrift_spec), None, ), # 4
+ (5, TType.STRUCT, 'applicationStatus', (ApplicationStatus, ApplicationStatus.thrift_spec), None, ), # 5
+ (6, TType.LIST, 'errors', (TType.STRUCT,(ErrorDetails, ErrorDetails.thrift_spec)), None, ), # 6
+ (7, TType.STRING, 'computeResourceConsumed', None, None, ), # 7
+ (8, TType.STRING, 'jobName', None, None, ), # 8
+ (9, TType.STRING, 'workingDir', None, None, ), # 9
+ )
+
+ def __init__(self, jobID=thrift_spec[1][4], jobDescription=None, creationTime=None, jobStatus=None, applicationStatus=None, errors=None, computeResourceConsumed=None, jobName=None, workingDir=None,):
+ self.jobID = jobID
+ self.jobDescription = jobDescription
+ self.creationTime = creationTime
+ self.jobStatus = jobStatus
+ self.applicationStatus = applicationStatus
+ self.errors = errors
+ self.computeResourceConsumed = computeResourceConsumed
+ self.jobName = jobName
+ self.workingDir = workingDir
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.jobID = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.jobDescription = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRUCT:
+ self.jobStatus = JobStatus()
+ self.jobStatus.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRUCT:
+ self.applicationStatus = ApplicationStatus()
+ self.applicationStatus.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.LIST:
+ self.errors = []
+ (_etype10, _size7) = iprot.readListBegin()
+ for _i11 in xrange(_size7):
+ _elem12 = ErrorDetails()
+ _elem12.read(iprot)
+ self.errors.append(_elem12)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.STRING:
+ self.computeResourceConsumed = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.STRING:
+ self.jobName = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.STRING:
+ self.workingDir = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('JobDetails')
+ if self.jobID is not None:
+ oprot.writeFieldBegin('jobID', TType.STRING, 1)
+ oprot.writeString(self.jobID)
+ oprot.writeFieldEnd()
+ if self.jobDescription is not None:
+ oprot.writeFieldBegin('jobDescription', TType.STRING, 2)
+ oprot.writeString(self.jobDescription)
+ oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 3)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
+ if self.jobStatus is not None:
+ oprot.writeFieldBegin('jobStatus', TType.STRUCT, 4)
+ self.jobStatus.write(oprot)
+ oprot.writeFieldEnd()
+ if self.applicationStatus is not None:
+ oprot.writeFieldBegin('applicationStatus', TType.STRUCT, 5)
+ self.applicationStatus.write(oprot)
+ oprot.writeFieldEnd()
+ if self.errors is not None:
+ oprot.writeFieldBegin('errors', TType.LIST, 6)
+ oprot.writeListBegin(TType.STRUCT, len(self.errors))
+ for iter13 in self.errors:
+ iter13.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.computeResourceConsumed is not None:
+ oprot.writeFieldBegin('computeResourceConsumed', TType.STRING, 7)
+ oprot.writeString(self.computeResourceConsumed)
+ oprot.writeFieldEnd()
+ if self.jobName is not None:
+ oprot.writeFieldBegin('jobName', TType.STRING, 8)
+ oprot.writeString(self.jobName)
+ oprot.writeFieldEnd()
+ if self.workingDir is not None:
+ oprot.writeFieldBegin('workingDir', TType.STRING, 9)
+ oprot.writeString(self.workingDir)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.jobID is None:
+ raise TProtocol.TProtocolException(message='Required field jobID is unset!')
+ if self.jobDescription is None:
+ raise TProtocol.TProtocolException(message='Required field jobDescription is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.jobID)
+ value = (value * 31) ^ hash(self.jobDescription)
+ value = (value * 31) ^ hash(self.creationTime)
+ value = (value * 31) ^ hash(self.jobStatus)
+ value = (value * 31) ^ hash(self.applicationStatus)
+ value = (value * 31) ^ hash(self.errors)
+ value = (value * 31) ^ hash(self.computeResourceConsumed)
+ value = (value * 31) ^ hash(self.jobName)
+ value = (value * 31) ^ hash(self.workingDir)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class DataTransferDetails:
+ """
+ Attributes:
+ - transferID
+ - creationTime
+ - transferDescription
+ - transferStatus
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'transferID', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.I64, 'creationTime', None, None, ), # 2
+ (3, TType.STRING, 'transferDescription', None, None, ), # 3
+ (4, TType.STRUCT, 'transferStatus', (TransferStatus, TransferStatus.thrift_spec), None, ), # 4
+ )
+
+ def __init__(self, transferID=thrift_spec[1][4], creationTime=None, transferDescription=None, transferStatus=None,):
+ self.transferID = transferID
+ self.creationTime = creationTime
+ self.transferDescription = transferDescription
+ self.transferStatus = transferStatus
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.transferID = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.transferDescription = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRUCT:
+ self.transferStatus = TransferStatus()
+ self.transferStatus.read(iprot)
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('DataTransferDetails')
+ if self.transferID is not None:
+ oprot.writeFieldBegin('transferID', TType.STRING, 1)
+ oprot.writeString(self.transferID)
+ oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 2)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
+ if self.transferDescription is not None:
+ oprot.writeFieldBegin('transferDescription', TType.STRING, 3)
+ oprot.writeString(self.transferDescription)
+ oprot.writeFieldEnd()
+ if self.transferStatus is not None:
+ oprot.writeFieldBegin('transferStatus', TType.STRUCT, 4)
+ self.transferStatus.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.transferID is None:
+ raise TProtocol.TProtocolException(message='Required field transferID is unset!')
+ if self.transferDescription is None:
+ raise TProtocol.TProtocolException(message='Required field transferDescription is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.transferID)
+ value = (value * 31) ^ hash(self.creationTime)
+ value = (value * 31) ^ hash(self.transferDescription)
+ value = (value * 31) ^ hash(self.transferStatus)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class TaskDetails:
+ """
+ A structure holding the actual execution context decided based on user provided configuration data or system inferred
+ information from scheduling and QoS parameters. One experiment can have multiple tasks. Each tasks results in
+ data transfers and jobs
+
+
+ Attributes:
+ - taskID
+ - creationTime
+ - applicationId
+ - applicationVersion
+ - applicationDeploymentId
+ - applicationInputs
+ - applicationOutputs
+ - taskScheduling
+ - advancedInputDataHandling
+ - advancedOutputDataHandling
+ - taskStatus
+ - jobDetailsList
+ - dataTransferDetailsList
+ - errors
+ - enableEmailNotification
+ - emailAddresses
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'taskID', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.I64, 'creationTime', None, None, ), # 2
+ (3, TType.STRING, 'applicationId', None, None, ), # 3
+ (4, TType.STRING, 'applicationVersion', None, None, ), # 4
+ (5, TType.STRING, 'applicationDeploymentId', None, None, ), # 5
+ (6, TType.LIST, 'applicationInputs', (TType.STRUCT,(apache.airavata.model.appcatalog.appinterface.ttypes.InputDataObjectType, apache.airavata.model.appcatalog.appinterface.ttypes.InputDataObjectType.thrift_spec)), None, ), # 6
+ (7, TType.LIST, 'applicationOutputs', (TType.STRUCT,(apache.airavata.model.appcatalog.appinterface.ttypes.OutputDataObjectType, apache.airavata.model.appcatalog.appinterface.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 7
+ (8, TType.STRUCT, 'taskScheduling', (ComputationalResourceScheduling, ComputationalResourceScheduling.thrift_spec), None, ), # 8
+ (9, TType.STRUCT, 'advancedInputDataHandling', (AdvancedInputDataHandling, AdvancedInputDataHandling.thrift_spec), None, ), # 9
+ (10, TType.STRUCT, 'advancedOutputDataHandling', (AdvancedOutputDataHandling, AdvancedOutputDataHandling.thrift_spec), None, ), # 10
+ (11, TType.STRUCT, 'taskStatus', (TaskStatus, TaskStatus.thrift_spec), None, ), # 11
+ (12, TType.LIST, 'jobDetailsList', (TType.STRUCT,(JobDetails, JobDetails.thrift_spec)), None, ), # 12
+ (13, TType.LIST, 'dataTransferDetailsList', (TType.STRUCT,(DataTransferDetails, DataTransferDetails.thrift_spec)), None, ), # 13
+ (14, TType.LIST, 'errors', (TType.STRUCT,(ErrorDetails, ErrorDetails.thrift_spec)), None, ), # 14
+ (15, TType.BOOL, 'enableEmailNotification', None, None, ), # 15
+ (16, TType.LIST, 'emailAddresses', (TType.STRING,None), None, ), # 16
+ )
+
+ def __init__(self, taskID=thrift_spec[1][4], creationTime=None, applicationId=None, applicationVersion=None, applicationDeploymentId=None, applicationInputs=None, applicationOutputs=None, taskScheduling=None, advancedInputDataHandling=None, advancedOutputDataHandling=None, taskStatus=None, jobDetailsList=None, dataTransferDetailsList=None, errors=None, enableEmailNotification=None, emailAddresses=None,):
+ self.taskID = taskID
+ self.creationTime = creationTime
+ self.applicationId = applicationId
+ self.applicationVersion = applicationVersion
+ self.applicationDeploymentId = applicationDeploymentId
+ self.applicationInputs = applicationInputs
+ self.applicationOutputs = applicationOutputs
+ self.taskScheduling = taskScheduling
+ self.advancedInputDataHandling = advancedInputDataHandling
+ self.advancedOutputDataHandling = advancedOutputDataHandling
+ self.taskStatus = taskStatus
+ self.jobDetailsList = jobDetailsList
+ self.dataTransferDetailsList = dataTransferDetailsList
+ self.errors = errors
+ self.enableEmailNotification = enableEmailNotification
+ self.emailAddresses = emailAddresses
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.taskID = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.applicationId = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.applicationVersion = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.applicationDeploymentId = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.LIST:
+ self.applicationInputs = []
+ (_etype17, _size14) = iprot.readListBegin()
+ for _i18 in xrange(_size14):
+ _elem19 = apache.airavata.model.appcatalog.appinterface.ttypes.InputDataObjectType()
+ _elem19.read(iprot)
+ self.applicationInputs.append(_elem19)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.LIST:
+ self.applicationOutputs = []
+ (_etype23, _size20) = iprot.readListBegin()
+ for _i24 in xrange(_size20):
+ _elem25 = apache.airavata.model.appcatalog.appinterface.ttypes.OutputDataObjectType()
+ _elem25.read(iprot)
+ self.applicationOutputs.append(_elem25)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.STRUCT:
+ self.taskScheduling = ComputationalResourceScheduling()
+ self.taskScheduling.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.STRUCT:
+ self.advancedInputDataHandling = AdvancedInputDataHandling()
+ self.advancedInputDataHandling.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 10:
+ if ftype == TType.STRUCT:
+ self.advancedOutputDataHandling = AdvancedOutputDataHandling()
+ self.advancedOutputDataHandling.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 11:
+ if ftype == TType.STRUCT:
+ self.taskStatus = TaskStatus()
+ self.taskStatus.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 12:
+ if ftype == TType.LIST:
+ self.jobDetailsList = []
+ (_etype29, _size26) = iprot.readListBegin()
+ for _i30 in xrange(_size26):
+ _elem31 = JobDetails()
+ _elem31.read(iprot)
+ self.jobDetailsList.append(_elem31)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 13:
+ if ftype == TType.LIST:
+ self.dataTransferDetailsList = []
+ (_etype35, _size32) = iprot.readListBegin()
+ for _i36 in xrange(_size32):
+ _elem37 = DataTransferDetails()
+ _elem37.read(iprot)
+ self.dataTransferDetailsList.append(_elem37)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 14:
+ if ftype == TType.LIST:
+ self.errors = []
+ (_etype41, _size38) = iprot.readListBegin()
+ for _i42 in xrange(_size38):
+ _elem43 = ErrorDetails()
+ _elem43.read(iprot)
+ self.errors.append(_elem43)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 15:
+ if ftype == TType.BOOL:
+ self.enableEmailNotification = iprot.readBool();
+ else:
+ iprot.skip(ftype)
+ elif fid == 16:
+ if ftype == TType.LIST:
+ self.emailAddresses = []
+ (_etype47, _size44) = iprot.readListBegin()
+ for _i48 in xrange(_size44):
+ _elem49 = iprot.readString();
+ self.emailAddresses.append(_elem49)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('TaskDetails')
+ if self.taskID is not None:
+ oprot.writeFieldBegin('taskID', TType.STRING, 1)
+ oprot.writeString(self.taskID)
+ oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 2)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
+ if self.applicationId is not None:
+ oprot.writeFieldBegin('applicationId', TType.STRING, 3)
+ oprot.writeString(self.applicationId)
+ oprot.writeFieldEnd()
+ if self.applicationVersion is not None:
+ oprot.writeFieldBegin('applicationVersion', TType.STRING, 4)
+ oprot.writeString(self.applicationVersion)
+ oprot.writeFieldEnd()
+ if self.applicationDeploymentId is not None:
+ oprot.writeFieldBegin('applicationDeploymentId', TType.STRING, 5)
+ oprot.writeString(self.applicationDeploymentId)
+ oprot.writeFieldEnd()
+ if self.applicationInputs is not None:
+ oprot.writeFieldBegin('applicationInputs', TType.LIST, 6)
+ oprot.writeListBegin(TType.STRUCT, len(self.applicationInputs))
+ for iter50 in self.applicationInputs:
+ iter50.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.applicationOutputs is not None:
+ oprot.writeFieldBegin('applicationOutputs', TType.LIST, 7)
+ oprot.writeListBegin(TType.STRUCT, len(self.applicationOutputs))
+ for iter51 in self.applicationOutputs:
+ iter51.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.taskScheduling is not None:
+ oprot.writeFieldBegin('taskScheduling', TType.STRUCT, 8)
+ self.taskScheduling.write(oprot)
+ oprot.writeFieldEnd()
+ if self.advancedInputDataHandling is not None:
+ oprot.writeFieldBegin('advancedInputDataHandling', TType.STRUCT, 9)
+ self.advancedInputDataHandling.write(oprot)
+ oprot.writeFieldEnd()
+ if self.advancedOutputDataHandling is not None:
+ oprot.writeFieldBegin('advancedOutputDataHandling', TType.STRUCT, 10)
+ self.advancedOutputDataHandling.write(oprot)
+ oprot.writeFieldEnd()
+ if self.taskStatus is not None:
+ oprot.writeFieldBegin('taskStatus', TType.STRUCT, 11)
+ self.taskStatus.write(oprot)
+ oprot.writeFieldEnd()
+ if self.jobDetailsList is not None:
+ oprot.writeFieldBegin('jobDetailsList', TType.LIST, 12)
+ oprot.writeListBegin(TType.STRUCT, len(self.jobDetailsList))
+ for iter52 in self.jobDetailsList:
+ iter52.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.dataTransferDetailsList is not None:
+ oprot.writeFieldBegin('dataTransferDetailsList', TType.LIST, 13)
+ oprot.writeListBegin(TType.STRUCT, len(self.dataTransferDetailsList))
+ for iter53 in self.dataTransferDetailsList:
+ iter53.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.errors is not None:
+ oprot.writeFieldBegin('errors', TType.LIST, 14)
+ oprot.writeListBegin(TType.STRUCT, len(self.errors))
+ for iter54 in self.errors:
+ iter54.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.enableEmailNotification is not None:
+ oprot.writeFieldBegin('enableEmailNotification', TType.BOOL, 15)
+ oprot.writeBool(self.enableEmailNotification)
+ oprot.writeFieldEnd()
+ if self.emailAddresses is not None:
+ oprot.writeFieldBegin('emailAddresses', TType.LIST, 16)
+ oprot.writeListBegin(TType.STRING, len(self.emailAddresses))
+ for iter55 in self.emailAddresses:
+ oprot.writeString(iter55)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.taskID is None:
+ raise TProtocol.TProtocolException(message='Required field taskID is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.taskID)
+ value = (value * 31) ^ hash(self.creationTime)
+ value = (value * 31) ^ hash(self.applicationId)
+ value = (value * 31) ^ hash(self.applicationVersion)
+ value = (value * 31) ^ hash(self.applicationDeploymentId)
+ value = (value * 31) ^ hash(self.applicationInputs)
+ value = (value * 31) ^ hash(self.applicationOutputs)
+ value = (value * 31) ^ hash(self.taskScheduling)
+ value = (value * 31) ^ hash(self.advancedInputDataHandling)
+ value = (value * 31) ^ hash(self.advancedOutputDataHandling)
+ value = (value * 31) ^ hash(self.taskStatus)
+ value = (value * 31) ^ hash(self.jobDetailsList)
+ value = (value * 31) ^ hash(self.dataTransferDetailsList)
+ value = (value * 31) ^ hash(self.errors)
+ value = (value * 31) ^ hash(self.enableEmailNotification)
+ value = (value * 31) ^ hash(self.emailAddresses)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class WorkflowNodeDetails:
+ """
+ A structure holding the node data.
+ nodeInstanceId - unique node identifier for each run
+
+ Attributes:
+ - nodeInstanceId
+ - creationTime
+ - nodeName
+ - executionUnit
+ - executionUnitData
+ - nodeInputs
+ - nodeOutputs
+ - workflowNodeStatus
+ - taskDetailsList
+ - errors
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'nodeInstanceId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.I64, 'creationTime', None, None, ), # 2
+ (3, TType.STRING, 'nodeName', None, "SINGLE_APP_NODE", ), # 3
+ (4, TType.I32, 'executionUnit', None, 1, ), # 4
+ (5, TType.STRING, 'executionUnitData', None, None, ), # 5
+ (6, TType.LIST, 'nodeInputs', (TType.STRUCT,(apache.airavata.model.appcatalog.appinterface.ttypes.InputDataObjectType, apache.airavata.model.appcatalog.appinterface.ttypes.InputDataObjectType.thrift_spec)), None, ), # 6
+ (7, TType.LIST, 'nodeOutputs', (TType.STRUCT,(apache.airavata.model.appcatalog.appinterface.ttypes.OutputDataObjectType, apache.airavata.model.appcatalog.appinterface.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 7
+ (8, TType.STRUCT, 'workflowNodeStatus', (WorkflowNodeStatus, WorkflowNodeStatus.thrift_spec), None, ), # 8
+ (9, TType.LIST, 'taskDetailsList', (TType.STRUCT,(TaskDetails, TaskDetails.thrift_spec)), None, ), # 9
+ (10, TType.LIST, 'errors', (TType.STRUCT,(ErrorDetails, ErrorDetails.thrift_spec)), None, ), # 10
+ )
+
+ def __init__(self, nodeInstanceId=thrift_spec[1][4], creationTime=None, nodeName=thrift_spec[3][4], executionUnit=thrift_spec[4][4], executionUnitData=None, nodeInputs=None, nodeOutputs=None, workflowNodeStatus=None, taskDetailsList=None, errors=None,):
+ self.nodeInstanceId = nodeInstanceId
+ self.creationTime = creationTime
+ self.nodeName = nodeName
+ self.executionUnit = executionUnit
+ self.executionUnitData = executionUnitData
+ self.nodeInputs = nodeInputs
+ self.nodeOutputs = nodeOutputs
+ self.workflowNodeStatus = workflowNodeStatus
+ self.taskDetailsList = taskDetailsList
+ self.errors = errors
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.nodeInstanceId = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.nodeName = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.I32:
+ self.executionUnit = iprot.readI32();
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.executionUnitData = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.LIST:
+ self.nodeInputs = []
+ (_etype59, _size56) = iprot.readListBegin()
+ for _i60 in xrange(_size56):
+ _elem61 = apache.airavata.model.appcatalog.appinterface.ttypes.InputDataObjectType()
+ _elem61.read(iprot)
+ self.nodeInputs.append(_elem61)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.LIST:
+ self.nodeOutputs = []
+ (_etype65, _size62) = iprot.readListBegin()
+ for _i66 in xrange(_size62):
+ _elem67 = apache.airavata.model.appcatalog.appinterface.ttypes.OutputDataObjectType()
+ _elem67.read(iprot)
+ self.nodeOutputs.append(_elem67)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.STRUCT:
+ self.workflowNodeStatus = WorkflowNodeStatus()
+ self.workflowNodeStatus.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.LIST:
+ self.taskDetailsList = []
+ (_etype71, _size68) = iprot.readListBegin()
+ for _i72 in xrange(_size68):
+ _elem73 = TaskDetails()
+ _elem73.read(iprot)
+ self.taskDetailsList.append(_elem73)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 10:
+ if ftype == TType.LIST:
+ self.errors = []
+ (_etype77, _size74) = iprot.readListBegin()
+ for _i78 in xrange(_size74):
+ _elem79 = ErrorDetails()
+ _elem79.read(iprot)
+ self.errors.append(_elem79)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('WorkflowNodeDetails')
+ if self.nodeInstanceId is not None:
+ oprot.writeFieldBegin('nodeInstanceId', TType.STRING, 1)
+ oprot.writeString(self.nodeInstanceId)
+ oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 2)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
+ if self.nodeName is not None:
+ oprot.writeFieldBegin('nodeName', TType.STRING, 3)
+ oprot.writeString(self.nodeName)
+ oprot.writeFieldEnd()
+ if self.executionUnit is not None:
+ oprot.writeFieldBegin('executionUnit', TType.I32, 4)
+ oprot.writeI32(self.executionUnit)
+ oprot.writeFieldEnd()
+ if self.executionUnitData is not None:
+ oprot.writeFieldBegin('executionUnitData', TType.STRING, 5)
+ oprot.writeString(self.executionUnitData)
+ oprot.writeFieldEnd()
+ if self.nodeInputs is not None:
+ oprot.writeFieldBegin('nodeInputs', TType.LIST, 6)
+ oprot.writeListBegin(TType.STRUCT, len(self.nodeInputs))
+ for iter80 in self.nodeInputs:
+ iter80.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.nodeOutputs is not None:
+ oprot.writeFieldBegin('nodeOutputs', TType.LIST, 7)
+ oprot.writeListBegin(TType.STRUCT, len(self.nodeOutputs))
+ for iter81 in self.nodeOutputs:
+ iter81.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.workflowNodeStatus is not None:
+ oprot.writeFieldBegin('workflowNodeStatus', TType.STRUCT, 8)
+ self.workflowNodeStatus.write(oprot)
+ oprot.writeFieldEnd()
+ if self.taskDetailsList is not None:
+ oprot.writeFieldBegin('taskDetailsList', TType.LIST, 9)
+ oprot.writeListBegin(TType.STRUCT, len(self.taskDetailsList))
+ for iter82 in self.taskDetailsList:
+ iter82.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.errors is not None:
+ oprot.writeFieldBegin('errors', TType.LIST, 10)
+ oprot.writeListBegin(TType.STRUCT, len(self.errors))
+ for iter83 in self.errors:
+ iter83.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.nodeInstanceId is None:
+ raise TProtocol.TProtocolException(message='Required field nodeInstanceId is unset!')
+ if self.nodeName is None:
+ raise TProtocol.TProtocolException(message='Required field nodeName is unset!')
+ if self.executionUnit is None:
+ raise TProtocol.TProtocolException(message='Required field executionUnit is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.nodeInstanceId)
+ value = (value * 31) ^ hash(self.creationTime)
+ value = (value * 31) ^ hash(self.nodeName)
+ value = (value * 31) ^ hash(self.executionUnit)
+ value = (value * 31) ^ hash(self.executionUnitData)
+ value = (value * 31) ^ hash(self.nodeInputs)
+ value = (value * 31) ^ hash(self.nodeOutputs)
+ value = (value * 31) ^ hash(self.workflowNodeStatus)
+ value = (value * 31) ^ hash(self.taskDetailsList)
+ value = (value * 31) ^ hash(self.errors)
<TRUNCATED>