http://git-wip-us.apache.org/repos/asf/airavata/blob/39fba1f5/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py index 9144a24..e4e2e45 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py @@ -1,1132 +1,1061 @@ # -# Autogenerated by Thrift Compiler (0.9.3) +# Autogenerated by Thrift Compiler (0.10.0) # # 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 +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.protocol.TProtocol import TProtocolException +import sys import apache.airavata.model.commons.ttypes import apache.airavata.model.application.io.ttypes import apache.airavata.model.scheduling.ttypes import apache.airavata.model.status.ttypes import apache.airavata.model.process.ttypes - from thrift.transport import TTransport -from thrift.protocol import TBinaryProtocol, TProtocol -try: - from thrift.protocol import fastbinary -except: - fastbinary = None - - -class ExperimentType: - SINGLE_APPLICATION = 0 - WORKFLOW = 1 - - _VALUES_TO_NAMES = { - 0: "SINGLE_APPLICATION", - 1: "WORKFLOW", - } - - _NAMES_TO_VALUES = { - "SINGLE_APPLICATION": 0, - "WORKFLOW": 1, - } - -class ExperimentSearchFields: - EXPERIMENT_NAME = 0 - EXPERIMENT_DESC = 1 - APPLICATION_ID = 2 - FROM_DATE = 3 - TO_DATE = 4 - STATUS = 5 - PROJECT_ID = 6 - - _VALUES_TO_NAMES = { - 0: "EXPERIMENT_NAME", - 1: "EXPERIMENT_DESC", - 2: "APPLICATION_ID", - 3: "FROM_DATE", - 4: "TO_DATE", - 5: "STATUS", - 6: "PROJECT_ID", - } - - _NAMES_TO_VALUES = { - "EXPERIMENT_NAME": 0, - "EXPERIMENT_DESC": 1, - "APPLICATION_ID": 2, - "FROM_DATE": 3, - "TO_DATE": 4, - "STATUS": 5, - "PROJECT_ID": 6, - } - -class ProjectSearchFields: - PROJECT_NAME = 0 - PROJECT_DESCRIPTION = 1 - - _VALUES_TO_NAMES = { - 0: "PROJECT_NAME", - 1: "PROJECT_DESCRIPTION", - } - - _NAMES_TO_VALUES = { - "PROJECT_NAME": 0, - "PROJECT_DESCRIPTION": 1, - } - - -class UserConfigurationDataModel: - """ - A structure holding the experiment configuration. - - - - Attributes: - - airavataAutoSchedule - - overrideManualScheduledParams - - shareExperimentPublicly - - computationalResourceScheduling - - throttleResources - - userDN - - generateCert - - storageId - - experimentDataDir - - useUserCRPref - """ - - 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', (apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ), # 4 - (5, TType.BOOL, 'throttleResources', None, False, ), # 5 - (6, TType.STRING, 'userDN', None, None, ), # 6 - (7, TType.BOOL, 'generateCert', None, False, ), # 7 - (8, TType.STRING, 'storageId', None, None, ), # 8 - (9, TType.STRING, 'experimentDataDir', None, None, ), # 9 - (10, TType.BOOL, 'useUserCRPref', None, None, ), # 10 - ) - - def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, throttleResources=thrift_spec[5][4], userDN=None, generateCert=thrift_spec[7][4], storageId=None, experimentDataDir=None, useUserCRPref=None,): - self.airavataAutoSchedule = airavataAutoSchedule - self.overrideManualScheduledParams = overrideManualScheduledParams - self.shareExperimentPublicly = shareExperimentPublicly - self.computationalResourceScheduling = computationalResourceScheduling - self.throttleResources = throttleResources - self.userDN = userDN - self.generateCert = generateCert - self.storageId = storageId - self.experimentDataDir = experimentDataDir - self.useUserCRPref = useUserCRPref - - 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 = apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel() - self.computationalResourceScheduling.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.BOOL: - self.throttleResources = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.userDN = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.BOOL: - self.generateCert = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRING: - self.storageId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.STRING: - self.experimentDataDir = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.BOOL: - self.useUserCRPref = 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('UserConfigurationDataModel') - 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.throttleResources is not None: - oprot.writeFieldBegin('throttleResources', TType.BOOL, 5) - oprot.writeBool(self.throttleResources) - oprot.writeFieldEnd() - if self.userDN is not None: - oprot.writeFieldBegin('userDN', TType.STRING, 6) - oprot.writeString(self.userDN) - oprot.writeFieldEnd() - if self.generateCert is not None: - oprot.writeFieldBegin('generateCert', TType.BOOL, 7) - oprot.writeBool(self.generateCert) - oprot.writeFieldEnd() - if self.storageId is not None: - oprot.writeFieldBegin('storageId', TType.STRING, 8) - oprot.writeString(self.storageId) - oprot.writeFieldEnd() - if self.experimentDataDir is not None: - oprot.writeFieldBegin('experimentDataDir', TType.STRING, 9) - oprot.writeString(self.experimentDataDir) - oprot.writeFieldEnd() - if self.useUserCRPref is not None: - oprot.writeFieldBegin('useUserCRPref', TType.BOOL, 10) - oprot.writeBool(self.useUserCRPref) - 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.throttleResources) - value = (value * 31) ^ hash(self.userDN) - value = (value * 31) ^ hash(self.generateCert) - value = (value * 31) ^ hash(self.storageId) - value = (value * 31) ^ hash(self.experimentDataDir) - value = (value * 31) ^ hash(self.useUserCRPref) - 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 ExperimentModel: - """ - A structure holding the experiment metadata and its child models. - - userName: - The user name of the targeted gateway end user on whose behalf the experiment is being created. - the associated gateway identity can only be inferred from the security hand-shake so as to avoid - authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with - Airavata, an authorization exception is thrown. - - experimentName: - The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced - by the generated experiment id. - - experimentDescription: - The verbose description of the experiment. This is an optional parameter. - - Attributes: - - experimentId - - projectId - - gatewayId - - experimentType - - userName - - experimentName - - creationTime - - description - - executionId - - gatewayExecutionId - - gatewayInstanceId - - enableEmailNotification - - emailAddresses - - userConfigurationData - - experimentInputs - - experimentOutputs - - experimentStatus - - errors - - processes - """ - - thrift_spec = ( - None, # 0 - (1, TType.STRING, 'experimentId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1 - (2, TType.STRING, 'projectId', None, None, ), # 2 - (3, TType.STRING, 'gatewayId', None, None, ), # 3 - (4, TType.I32, 'experimentType', None, 0, ), # 4 - (5, TType.STRING, 'userName', None, None, ), # 5 - (6, TType.STRING, 'experimentName', None, None, ), # 6 - (7, TType.I64, 'creationTime', None, None, ), # 7 - (8, TType.STRING, 'description', None, None, ), # 8 - (9, TType.STRING, 'executionId', None, None, ), # 9 - (10, TType.STRING, 'gatewayExecutionId', None, None, ), # 10 - (11, TType.STRING, 'gatewayInstanceId', None, None, ), # 11 - (12, TType.BOOL, 'enableEmailNotification', None, None, ), # 12 - (13, TType.LIST, 'emailAddresses', (TType.STRING,None), None, ), # 13 - (14, TType.STRUCT, 'userConfigurationData', (UserConfigurationDataModel, UserConfigurationDataModel.thrift_spec), None, ), # 14 - (15, TType.LIST, 'experimentInputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec)), None, ), # 15 - (16, TType.LIST, 'experimentOutputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 16 - (17, TType.LIST, 'experimentStatus', (TType.STRUCT,(apache.airavata.model.status.ttypes.ExperimentStatus, apache.airavata.model.status.ttypes.ExperimentStatus.thrift_spec)), None, ), # 17 - (18, TType.LIST, 'errors', (TType.STRUCT,(apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec)), None, ), # 18 - (19, TType.LIST, 'processes', (TType.STRUCT,(apache.airavata.model.process.ttypes.ProcessModel, apache.airavata.model.process.ttypes.ProcessModel.thrift_spec)), None, ), # 19 - ) - - def __init__(self, experimentId=thrift_spec[1][4], projectId=None, gatewayId=None, experimentType=thrift_spec[4][4], userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, gatewayInstanceId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None, processes=None,): - self.experimentId = experimentId - self.projectId = projectId - self.gatewayId = gatewayId - self.experimentType = experimentType - self.userName = userName - self.experimentName = experimentName - self.creationTime = creationTime - self.description = description - self.executionId = executionId - self.gatewayExecutionId = gatewayExecutionId - self.gatewayInstanceId = gatewayInstanceId - self.enableEmailNotification = enableEmailNotification - self.emailAddresses = emailAddresses - self.userConfigurationData = userConfigurationData - self.experimentInputs = experimentInputs - self.experimentOutputs = experimentOutputs - self.experimentStatus = experimentStatus - self.errors = errors - self.processes = processes - - 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.experimentId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.projectId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.gatewayId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.experimentType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.userName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.experimentName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.I64: - self.creationTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRING: - self.description = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.STRING: - self.executionId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRING: - self.gatewayExecutionId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.STRING: - self.gatewayInstanceId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 12: - if ftype == TType.BOOL: - self.enableEmailNotification = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 13: - if ftype == TType.LIST: - self.emailAddresses = [] - (_etype3, _size0) = iprot.readListBegin() - for _i4 in xrange(_size0): - _elem5 = iprot.readString() - self.emailAddresses.append(_elem5) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 14: - if ftype == TType.STRUCT: - self.userConfigurationData = UserConfigurationDataModel() - self.userConfigurationData.read(iprot) - else: - iprot.skip(ftype) - elif fid == 15: - if ftype == TType.LIST: - self.experimentInputs = [] - (_etype9, _size6) = iprot.readListBegin() - for _i10 in xrange(_size6): - _elem11 = apache.airavata.model.application.io.ttypes.InputDataObjectType() - _elem11.read(iprot) - self.experimentInputs.append(_elem11) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 16: - if ftype == TType.LIST: - self.experimentOutputs = [] - (_etype15, _size12) = iprot.readListBegin() - for _i16 in xrange(_size12): - _elem17 = apache.airavata.model.application.io.ttypes.OutputDataObjectType() - _elem17.read(iprot) - self.experimentOutputs.append(_elem17) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 17: - if ftype == TType.LIST: - self.experimentStatus = [] - (_etype21, _size18) = iprot.readListBegin() - for _i22 in xrange(_size18): - _elem23 = apache.airavata.model.status.ttypes.ExperimentStatus() - _elem23.read(iprot) - self.experimentStatus.append(_elem23) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 18: - if ftype == TType.LIST: - self.errors = [] - (_etype27, _size24) = iprot.readListBegin() - for _i28 in xrange(_size24): - _elem29 = apache.airavata.model.commons.ttypes.ErrorModel() - _elem29.read(iprot) - self.errors.append(_elem29) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 19: - if ftype == TType.LIST: - self.processes = [] - (_etype33, _size30) = iprot.readListBegin() - for _i34 in xrange(_size30): - _elem35 = apache.airavata.model.process.ttypes.ProcessModel() - _elem35.read(iprot) - self.processes.append(_elem35) - 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('ExperimentModel') - if self.experimentId is not None: - oprot.writeFieldBegin('experimentId', TType.STRING, 1) - oprot.writeString(self.experimentId) - oprot.writeFieldEnd() - if self.projectId is not None: - oprot.writeFieldBegin('projectId', TType.STRING, 2) - oprot.writeString(self.projectId) - oprot.writeFieldEnd() - if self.gatewayId is not None: - oprot.writeFieldBegin('gatewayId', TType.STRING, 3) - oprot.writeString(self.gatewayId) - oprot.writeFieldEnd() - if self.experimentType is not None: - oprot.writeFieldBegin('experimentType', TType.I32, 4) - oprot.writeI32(self.experimentType) - oprot.writeFieldEnd() - if self.userName is not None: - oprot.writeFieldBegin('userName', TType.STRING, 5) - oprot.writeString(self.userName) - oprot.writeFieldEnd() - if self.experimentName is not None: - oprot.writeFieldBegin('experimentName', TType.STRING, 6) - oprot.writeString(self.experimentName) - oprot.writeFieldEnd() - if self.creationTime is not None: - oprot.writeFieldBegin('creationTime', TType.I64, 7) - oprot.writeI64(self.creationTime) - oprot.writeFieldEnd() - if self.description is not None: - oprot.writeFieldBegin('description', TType.STRING, 8) - oprot.writeString(self.description) - oprot.writeFieldEnd() - if self.executionId is not None: - oprot.writeFieldBegin('executionId', TType.STRING, 9) - oprot.writeString(self.executionId) - oprot.writeFieldEnd() - if self.gatewayExecutionId is not None: - oprot.writeFieldBegin('gatewayExecutionId', TType.STRING, 10) - oprot.writeString(self.gatewayExecutionId) - oprot.writeFieldEnd() - if self.gatewayInstanceId is not None: - oprot.writeFieldBegin('gatewayInstanceId', TType.STRING, 11) - oprot.writeString(self.gatewayInstanceId) - oprot.writeFieldEnd() - if self.enableEmailNotification is not None: - oprot.writeFieldBegin('enableEmailNotification', TType.BOOL, 12) - oprot.writeBool(self.enableEmailNotification) - oprot.writeFieldEnd() - if self.emailAddresses is not None: - oprot.writeFieldBegin('emailAddresses', TType.LIST, 13) - oprot.writeListBegin(TType.STRING, len(self.emailAddresses)) - for iter36 in self.emailAddresses: - oprot.writeString(iter36) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.userConfigurationData is not None: - oprot.writeFieldBegin('userConfigurationData', TType.STRUCT, 14) - self.userConfigurationData.write(oprot) - oprot.writeFieldEnd() - if self.experimentInputs is not None: - oprot.writeFieldBegin('experimentInputs', TType.LIST, 15) - oprot.writeListBegin(TType.STRUCT, len(self.experimentInputs)) - for iter37 in self.experimentInputs: - iter37.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.experimentOutputs is not None: - oprot.writeFieldBegin('experimentOutputs', TType.LIST, 16) - oprot.writeListBegin(TType.STRUCT, len(self.experimentOutputs)) - for iter38 in self.experimentOutputs: - iter38.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.experimentStatus is not None: - oprot.writeFieldBegin('experimentStatus', TType.LIST, 17) - oprot.writeListBegin(TType.STRUCT, len(self.experimentStatus)) - for iter39 in self.experimentStatus: - iter39.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.errors is not None: - oprot.writeFieldBegin('errors', TType.LIST, 18) - oprot.writeListBegin(TType.STRUCT, len(self.errors)) - for iter40 in self.errors: - iter40.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.processes is not None: - oprot.writeFieldBegin('processes', TType.LIST, 19) - oprot.writeListBegin(TType.STRUCT, len(self.processes)) - for iter41 in self.processes: - iter41.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.experimentId is None: - raise TProtocol.TProtocolException(message='Required field experimentId is unset!') - if self.projectId is None: - raise TProtocol.TProtocolException(message='Required field projectId is unset!') - if self.gatewayId is None: - raise TProtocol.TProtocolException(message='Required field gatewayId is unset!') - if self.experimentType is None: - raise TProtocol.TProtocolException(message='Required field experimentType is unset!') - if self.userName is None: - raise TProtocol.TProtocolException(message='Required field userName is unset!') - if self.experimentName is None: - raise TProtocol.TProtocolException(message='Required field experimentName is unset!') - return - - - def __hash__(self): - value = 17 - value = (value * 31) ^ hash(self.experimentId) - value = (value * 31) ^ hash(self.projectId) - value = (value * 31) ^ hash(self.gatewayId) - value = (value * 31) ^ hash(self.experimentType) - value = (value * 31) ^ hash(self.userName) - value = (value * 31) ^ hash(self.experimentName) - value = (value * 31) ^ hash(self.creationTime) - value = (value * 31) ^ hash(self.description) - value = (value * 31) ^ hash(self.executionId) - value = (value * 31) ^ hash(self.gatewayExecutionId) - value = (value * 31) ^ hash(self.gatewayInstanceId) - value = (value * 31) ^ hash(self.enableEmailNotification) - value = (value * 31) ^ hash(self.emailAddresses) - value = (value * 31) ^ hash(self.userConfigurationData) - value = (value * 31) ^ hash(self.experimentInputs) - value = (value * 31) ^ hash(self.experimentOutputs) - value = (value * 31) ^ hash(self.experimentStatus) - value = (value * 31) ^ hash(self.errors) - value = (value * 31) ^ hash(self.processes) - 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 ExperimentSummaryModel: - """ - Attributes: - - experimentId - - projectId - - gatewayId - - creationTime - - userName - - name - - description - - executionId - - resourceHostId - - experimentStatus - - statusUpdateTime - """ - - thrift_spec = ( - None, # 0 - (1, TType.STRING, 'experimentId', None, None, ), # 1 - (2, TType.STRING, 'projectId', None, None, ), # 2 - (3, TType.STRING, 'gatewayId', None, None, ), # 3 - (4, TType.I64, 'creationTime', None, None, ), # 4 - (5, TType.STRING, 'userName', None, None, ), # 5 - (6, TType.STRING, 'name', None, None, ), # 6 - (7, TType.STRING, 'description', None, None, ), # 7 - (8, TType.STRING, 'executionId', None, None, ), # 8 - (9, TType.STRING, 'resourceHostId', None, None, ), # 9 - (10, TType.STRING, 'experimentStatus', None, None, ), # 10 - None, # 11 - (12, TType.I64, 'statusUpdateTime', None, None, ), # 12 - ) - - def __init__(self, experimentId=None, projectId=None, gatewayId=None, creationTime=None, userName=None, name=None, description=None, executionId=None, resourceHostId=None, experimentStatus=None, statusUpdateTime=None,): - self.experimentId = experimentId - self.projectId = projectId - self.gatewayId = gatewayId - self.creationTime = creationTime - self.userName = userName - self.name = name - self.description = description - self.executionId = executionId - self.resourceHostId = resourceHostId - self.experimentStatus = experimentStatus - self.statusUpdateTime = statusUpdateTime - - 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.experimentId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.projectId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.gatewayId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.creationTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.userName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.name = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRING: - self.description = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRING: - self.executionId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.STRING: - self.resourceHostId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRING: - self.experimentStatus = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 12: - if ftype == TType.I64: - self.statusUpdateTime = 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('ExperimentSummaryModel') - if self.experimentId is not None: - oprot.writeFieldBegin('experimentId', TType.STRING, 1) - oprot.writeString(self.experimentId) - oprot.writeFieldEnd() - if self.projectId is not None: - oprot.writeFieldBegin('projectId', TType.STRING, 2) - oprot.writeString(self.projectId) - oprot.writeFieldEnd() - if self.gatewayId is not None: - oprot.writeFieldBegin('gatewayId', TType.STRING, 3) - oprot.writeString(self.gatewayId) - oprot.writeFieldEnd() - if self.creationTime is not None: - oprot.writeFieldBegin('creationTime', TType.I64, 4) - oprot.writeI64(self.creationTime) - oprot.writeFieldEnd() - if self.userName is not None: - oprot.writeFieldBegin('userName', TType.STRING, 5) - oprot.writeString(self.userName) - oprot.writeFieldEnd() - if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 6) - oprot.writeString(self.name) - oprot.writeFieldEnd() - if self.description is not None: - oprot.writeFieldBegin('description', TType.STRING, 7) - oprot.writeString(self.description) - oprot.writeFieldEnd() - if self.executionId is not None: - oprot.writeFieldBegin('executionId', TType.STRING, 8) - oprot.writeString(self.executionId) - oprot.writeFieldEnd() - if self.resourceHostId is not None: - oprot.writeFieldBegin('resourceHostId', TType.STRING, 9) - oprot.writeString(self.resourceHostId) - oprot.writeFieldEnd() - if self.experimentStatus is not None: - oprot.writeFieldBegin('experimentStatus', TType.STRING, 10) - oprot.writeString(self.experimentStatus) - oprot.writeFieldEnd() - if self.statusUpdateTime is not None: - oprot.writeFieldBegin('statusUpdateTime', TType.I64, 12) - oprot.writeI64(self.statusUpdateTime) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.experimentId is None: - raise TProtocol.TProtocolException(message='Required field experimentId is unset!') - if self.projectId is None: - raise TProtocol.TProtocolException(message='Required field projectId is unset!') - if self.gatewayId is None: - raise TProtocol.TProtocolException(message='Required field gatewayId is unset!') - if self.userName is None: - raise TProtocol.TProtocolException(message='Required field userName is unset!') - if self.name is None: - raise TProtocol.TProtocolException(message='Required field name is unset!') - return - - - def __hash__(self): - value = 17 - value = (value * 31) ^ hash(self.experimentId) - value = (value * 31) ^ hash(self.projectId) - value = (value * 31) ^ hash(self.gatewayId) - value = (value * 31) ^ hash(self.creationTime) - value = (value * 31) ^ hash(self.userName) - value = (value * 31) ^ hash(self.name) - value = (value * 31) ^ hash(self.description) - value = (value * 31) ^ hash(self.executionId) - value = (value * 31) ^ hash(self.resourceHostId) - value = (value * 31) ^ hash(self.experimentStatus) - value = (value * 31) ^ hash(self.statusUpdateTime) - 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 ExperimentStatistics: - """ - Attributes: - - allExperimentCount - - completedExperimentCount - - cancelledExperimentCount - - failedExperimentCount - - createdExperimentCount - - runningExperimentCount - - allExperiments - - completedExperiments - - failedExperiments - - cancelledExperiments - - createdExperiments - - runningExperiments - """ - - thrift_spec = ( - None, # 0 - (1, TType.I32, 'allExperimentCount', None, None, ), # 1 - (2, TType.I32, 'completedExperimentCount', None, None, ), # 2 - (3, TType.I32, 'cancelledExperimentCount', None, None, ), # 3 - (4, TType.I32, 'failedExperimentCount', None, None, ), # 4 - (5, TType.I32, 'createdExperimentCount', None, None, ), # 5 - (6, TType.I32, 'runningExperimentCount', None, None, ), # 6 - (7, TType.LIST, 'allExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 7 - (8, TType.LIST, 'completedExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 8 - (9, TType.LIST, 'failedExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 9 - (10, TType.LIST, 'cancelledExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 10 - (11, TType.LIST, 'createdExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 11 - (12, TType.LIST, 'runningExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 12 - ) - - def __init__(self, allExperimentCount=None, completedExperimentCount=None, cancelledExperimentCount=None, failedExperimentCount=None, createdExperimentCount=None, runningExperimentCount=None, allExperiments=None, completedExperiments=None, failedExperiments=None, cancelledExperiments=None, createdExperiments=None, runningExperiments=None,): - self.allExperimentCount = allExperimentCount - self.completedExperimentCount = completedExperimentCount - self.cancelledExperimentCount = cancelledExperimentCount - self.failedExperimentCount = failedExperimentCount - self.createdExperimentCount = createdExperimentCount - self.runningExperimentCount = runningExperimentCount - self.allExperiments = allExperiments - self.completedExperiments = completedExperiments - self.failedExperiments = failedExperiments - self.cancelledExperiments = cancelledExperiments - self.createdExperiments = createdExperiments - self.runningExperiments = runningExperiments - - 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.allExperimentCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.completedExperimentCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.cancelledExperimentCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.failedExperimentCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I32: - self.createdExperimentCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.I32: - self.runningExperimentCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.LIST: - self.allExperiments = [] - (_etype45, _size42) = iprot.readListBegin() - for _i46 in xrange(_size42): - _elem47 = ExperimentSummaryModel() - _elem47.read(iprot) - self.allExperiments.append(_elem47) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.LIST: - self.completedExperiments = [] - (_etype51, _size48) = iprot.readListBegin() - for _i52 in xrange(_size48): - _elem53 = ExperimentSummaryModel() - _elem53.read(iprot) - self.completedExperiments.append(_elem53) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.LIST: - self.failedExperiments = [] - (_etype57, _size54) = iprot.readListBegin() - for _i58 in xrange(_size54): - _elem59 = ExperimentSummaryModel() - _elem59.read(iprot) - self.failedExperiments.append(_elem59) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.LIST: - self.cancelledExperiments = [] - (_etype63, _size60) = iprot.readListBegin() - for _i64 in xrange(_size60): - _elem65 = ExperimentSummaryModel() - _elem65.read(iprot) - self.cancelledExperiments.append(_elem65) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.LIST: - self.createdExperiments = [] - (_etype69, _size66) = iprot.readListBegin() - for _i70 in xrange(_size66): - _elem71 = ExperimentSummaryModel() - _elem71.read(iprot) - self.createdExperiments.append(_elem71) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 12: - if ftype == TType.LIST: - self.runningExperiments = [] - (_etype75, _size72) = iprot.readListBegin() - for _i76 in xrange(_size72): - _elem77 = ExperimentSummaryModel() - _elem77.read(iprot) - self.runningExperiments.append(_elem77) - 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('ExperimentStatistics') - if self.allExperimentCount is not None: - oprot.writeFieldBegin('allExperimentCount', TType.I32, 1) - oprot.writeI32(self.allExperimentCount) - oprot.writeFieldEnd() - if self.completedExperimentCount is not None: - oprot.writeFieldBegin('completedExperimentCount', TType.I32, 2) - oprot.writeI32(self.completedExperimentCount) - oprot.writeFieldEnd() - if self.cancelledExperimentCount is not None: - oprot.writeFieldBegin('cancelledExperimentCount', TType.I32, 3) - oprot.writeI32(self.cancelledExperimentCount) - oprot.writeFieldEnd() - if self.failedExperimentCount is not None: - oprot.writeFieldBegin('failedExperimentCount', TType.I32, 4) - oprot.writeI32(self.failedExperimentCount) - oprot.writeFieldEnd() - if self.createdExperimentCount is not None: - oprot.writeFieldBegin('createdExperimentCount', TType.I32, 5) - oprot.writeI32(self.createdExperimentCount) - oprot.writeFieldEnd() - if self.runningExperimentCount is not None: - oprot.writeFieldBegin('runningExperimentCount', TType.I32, 6) - oprot.writeI32(self.runningExperimentCount) - oprot.writeFieldEnd() - if self.allExperiments is not None: - oprot.writeFieldBegin('allExperiments', TType.LIST, 7) - oprot.writeListBegin(TType.STRUCT, len(self.allExperiments)) - for iter78 in self.allExperiments: - iter78.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.completedExperiments is not None: - oprot.writeFieldBegin('completedExperiments', TType.LIST, 8) - oprot.writeListBegin(TType.STRUCT, len(self.completedExperiments)) - for iter79 in self.completedExperiments: - iter79.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.failedExperiments is not None: - oprot.writeFieldBegin('failedExperiments', TType.LIST, 9) - oprot.writeListBegin(TType.STRUCT, len(self.failedExperiments)) - for iter80 in self.failedExperiments: - iter80.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.cancelledExperiments is not None: - oprot.writeFieldBegin('cancelledExperiments', TType.LIST, 10) - oprot.writeListBegin(TType.STRUCT, len(self.cancelledExperiments)) - for iter81 in self.cancelledExperiments: - iter81.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.createdExperiments is not None: - oprot.writeFieldBegin('createdExperiments', TType.LIST, 11) - oprot.writeListBegin(TType.STRUCT, len(self.createdExperiments)) - for iter82 in self.createdExperiments: - iter82.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.runningExperiments is not None: - oprot.writeFieldBegin('runningExperiments', TType.LIST, 12) - oprot.writeListBegin(TType.STRUCT, len(self.runningExperiments)) - for iter83 in self.runningExperiments: - iter83.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.allExperimentCount is None: - raise TProtocol.TProtocolException(message='Required field allExperimentCount is unset!') - if self.completedExperimentCount is None: - raise TProtocol.TProtocolException(message='Required field completedExperimentCount is unset!') - if self.failedExperimentCount is None: - raise TProtocol.TProtocolException(message='Required field failedExperimentCount is unset!') - if self.createdExperimentCount is None: - raise TProtocol.TProtocolException(message='Required field createdExperimentCount is unset!') - if self.runningExperimentCount is None: - raise TProtocol.TProtocolException(message='Required field runningExperimentCount is unset!') - if self.allExperiments is None: - raise TProtocol.TProtocolException(message='Required field allExperiments is unset!') - return - - - def __hash__(self): - value = 17 - value = (value * 31) ^ hash(self.allExperimentCount) - value = (value * 31) ^ hash(self.completedExperimentCount) - value = (value * 31) ^ hash(self.cancelledExperimentCount) - value = (value * 31) ^ hash(self.failedExperimentCount) - value = (value * 31) ^ hash(self.createdExperimentCount) - value = (value * 31) ^ hash(self.runningExperimentCount) - value = (value * 31) ^ hash(self.allExperiments) - value = (value * 31) ^ hash(self.completedExperiments) - value = (value * 31) ^ hash(self.failedExperiments) - value = (value * 31) ^ hash(self.cancelledExperiments) - value = (value * 31) ^ hash(self.createdExperiments) - value = (value * 31) ^ hash(self.runningExperiments) - 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 ExperimentType(object): + SINGLE_APPLICATION = 0 + WORKFLOW = 1 + + _VALUES_TO_NAMES = { + 0: "SINGLE_APPLICATION", + 1: "WORKFLOW", + } + + _NAMES_TO_VALUES = { + "SINGLE_APPLICATION": 0, + "WORKFLOW": 1, + } + + +class ExperimentSearchFields(object): + EXPERIMENT_NAME = 0 + EXPERIMENT_DESC = 1 + APPLICATION_ID = 2 + FROM_DATE = 3 + TO_DATE = 4 + STATUS = 5 + PROJECT_ID = 6 + + _VALUES_TO_NAMES = { + 0: "EXPERIMENT_NAME", + 1: "EXPERIMENT_DESC", + 2: "APPLICATION_ID", + 3: "FROM_DATE", + 4: "TO_DATE", + 5: "STATUS", + 6: "PROJECT_ID", + } + + _NAMES_TO_VALUES = { + "EXPERIMENT_NAME": 0, + "EXPERIMENT_DESC": 1, + "APPLICATION_ID": 2, + "FROM_DATE": 3, + "TO_DATE": 4, + "STATUS": 5, + "PROJECT_ID": 6, + } + + +class ProjectSearchFields(object): + PROJECT_NAME = 0 + PROJECT_DESCRIPTION = 1 + + _VALUES_TO_NAMES = { + 0: "PROJECT_NAME", + 1: "PROJECT_DESCRIPTION", + } + + _NAMES_TO_VALUES = { + "PROJECT_NAME": 0, + "PROJECT_DESCRIPTION": 1, + } + + +class UserConfigurationDataModel(object): + """ + A structure holding the experiment configuration. + + + + Attributes: + - airavataAutoSchedule + - overrideManualScheduledParams + - shareExperimentPublicly + - computationalResourceScheduling + - throttleResources + - userDN + - generateCert + - storageId + - experimentDataDir + - useUserCRPref + """ + + 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', (apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ), # 4 + (5, TType.BOOL, 'throttleResources', None, False, ), # 5 + (6, TType.STRING, 'userDN', 'UTF8', None, ), # 6 + (7, TType.BOOL, 'generateCert', None, False, ), # 7 + (8, TType.STRING, 'storageId', 'UTF8', None, ), # 8 + (9, TType.STRING, 'experimentDataDir', 'UTF8', None, ), # 9 + (10, TType.BOOL, 'useUserCRPref', None, None, ), # 10 + ) + + def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, throttleResources=thrift_spec[5][4], userDN=None, generateCert=thrift_spec[7][4], storageId=None, experimentDataDir=None, useUserCRPref=None,): + self.airavataAutoSchedule = airavataAutoSchedule + self.overrideManualScheduledParams = overrideManualScheduledParams + self.shareExperimentPublicly = shareExperimentPublicly + self.computationalResourceScheduling = computationalResourceScheduling + self.throttleResources = throttleResources + self.userDN = userDN + self.generateCert = generateCert + self.storageId = storageId + self.experimentDataDir = experimentDataDir + self.useUserCRPref = useUserCRPref + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, (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 = apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel() + self.computationalResourceScheduling.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.BOOL: + self.throttleResources = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.userDN = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.BOOL: + self.generateCert = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRING: + self.storageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.STRING: + self.experimentDataDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.BOOL: + self.useUserCRPref = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('UserConfigurationDataModel') + 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.throttleResources is not None: + oprot.writeFieldBegin('throttleResources', TType.BOOL, 5) + oprot.writeBool(self.throttleResources) + oprot.writeFieldEnd() + if self.userDN is not None: + oprot.writeFieldBegin('userDN', TType.STRING, 6) + oprot.writeString(self.userDN.encode('utf-8') if sys.version_info[0] == 2 else self.userDN) + oprot.writeFieldEnd() + if self.generateCert is not None: + oprot.writeFieldBegin('generateCert', TType.BOOL, 7) + oprot.writeBool(self.generateCert) + oprot.writeFieldEnd() + if self.storageId is not None: + oprot.writeFieldBegin('storageId', TType.STRING, 8) + oprot.writeString(self.storageId.encode('utf-8') if sys.version_info[0] == 2 else self.storageId) + oprot.writeFieldEnd() + if self.experimentDataDir is not None: + oprot.writeFieldBegin('experimentDataDir', TType.STRING, 9) + oprot.writeString(self.experimentDataDir.encode('utf-8') if sys.version_info[0] == 2 else self.experimentDataDir) + oprot.writeFieldEnd() + if self.useUserCRPref is not None: + oprot.writeFieldBegin('useUserCRPref', TType.BOOL, 10) + oprot.writeBool(self.useUserCRPref) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.airavataAutoSchedule is None: + raise TProtocolException(message='Required field airavataAutoSchedule is unset!') + if self.overrideManualScheduledParams is None: + raise TProtocolException(message='Required field overrideManualScheduledParams is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + 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 ExperimentModel(object): + """ + A structure holding the experiment metadata and its child models. + + userName: + The user name of the targeted gateway end user on whose behalf the experiment is being created. + the associated gateway identity can only be inferred from the security hand-shake so as to avoid + authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with + Airavata, an authorization exception is thrown. + + experimentName: + The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced + by the generated experiment id. + + experimentDescription: + The verbose description of the experiment. This is an optional parameter. + + Attributes: + - experimentId + - projectId + - gatewayId + - experimentType + - userName + - experimentName + - creationTime + - description + - executionId + - gatewayExecutionId + - gatewayInstanceId + - enableEmailNotification + - emailAddresses + - userConfigurationData + - experimentInputs + - experimentOutputs + - experimentStatus + - errors + - processes + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'experimentId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 1 + (2, TType.STRING, 'projectId', 'UTF8', None, ), # 2 + (3, TType.STRING, 'gatewayId', 'UTF8', None, ), # 3 + (4, TType.I32, 'experimentType', None, 0, ), # 4 + (5, TType.STRING, 'userName', 'UTF8', None, ), # 5 + (6, TType.STRING, 'experimentName', 'UTF8', None, ), # 6 + (7, TType.I64, 'creationTime', None, None, ), # 7 + (8, TType.STRING, 'description', 'UTF8', None, ), # 8 + (9, TType.STRING, 'executionId', 'UTF8', None, ), # 9 + (10, TType.STRING, 'gatewayExecutionId', 'UTF8', None, ), # 10 + (11, TType.STRING, 'gatewayInstanceId', 'UTF8', None, ), # 11 + (12, TType.BOOL, 'enableEmailNotification', None, None, ), # 12 + (13, TType.LIST, 'emailAddresses', (TType.STRING, 'UTF8', False), None, ), # 13 + (14, TType.STRUCT, 'userConfigurationData', (UserConfigurationDataModel, UserConfigurationDataModel.thrift_spec), None, ), # 14 + (15, TType.LIST, 'experimentInputs', (TType.STRUCT, (apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ), # 15 + (16, TType.LIST, 'experimentOutputs', (TType.STRUCT, (apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ), # 16 + (17, TType.LIST, 'experimentStatus', (TType.STRUCT, (apache.airavata.model.status.ttypes.ExperimentStatus, apache.airavata.model.status.ttypes.ExperimentStatus.thrift_spec), False), None, ), # 17 + (18, TType.LIST, 'errors', (TType.STRUCT, (apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ), # 18 + (19, TType.LIST, 'processes', (TType.STRUCT, (apache.airavata.model.process.ttypes.ProcessModel, apache.airavata.model.process.ttypes.ProcessModel.thrift_spec), False), None, ), # 19 + ) + + def __init__(self, experimentId=thrift_spec[1][4], projectId=None, gatewayId=None, experimentType=thrift_spec[4][4], userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, gatewayInstanceId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None, processes=None,): + self.experimentId = experimentId + self.projectId = projectId + self.gatewayId = gatewayId + self.experimentType = experimentType + self.userName = userName + self.experimentName = experimentName + self.creationTime = creationTime + self.description = description + self.executionId = executionId + self.gatewayExecutionId = gatewayExecutionId + self.gatewayInstanceId = gatewayInstanceId + self.enableEmailNotification = enableEmailNotification + self.emailAddresses = emailAddresses + self.userConfigurationData = userConfigurationData + self.experimentInputs = experimentInputs + self.experimentOutputs = experimentOutputs + self.experimentStatus = experimentStatus + self.errors = errors + self.processes = processes + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, (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.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.experimentType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.experimentName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.I64: + self.creationTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRING: + self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.STRING: + self.executionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRING: + self.gatewayExecutionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 11: + if ftype == TType.STRING: + self.gatewayInstanceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 12: + if ftype == TType.BOOL: + self.enableEmailNotification = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 13: + if ftype == TType.LIST: + self.emailAddresses = [] + (_etype3, _size0) = iprot.readListBegin() + for _i4 in range(_size0): + _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + self.emailAddresses.append(_elem5) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 14: + if ftype == TType.STRUCT: + self.userConfigurationData = UserConfigurationDataModel() + self.userConfigurationData.read(iprot) + else: + iprot.skip(ftype) + elif fid == 15: + if ftype == TType.LIST: + self.experimentInputs = [] + (_etype9, _size6) = iprot.readListBegin() + for _i10 in range(_size6): + _elem11 = apache.airavata.model.application.io.ttypes.InputDataObjectType() + _elem11.read(iprot) + self.experimentInputs.append(_elem11) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 16: + if ftype == TType.LIST: + self.experimentOutputs = [] + (_etype15, _size12) = iprot.readListBegin() + for _i16 in range(_size12): + _elem17 = apache.airavata.model.application.io.ttypes.OutputDataObjectType() + _elem17.read(iprot) + self.experimentOutputs.append(_elem17) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 17: + if ftype == TType.LIST: + self.experimentStatus = [] + (_etype21, _size18) = iprot.readListBegin() + for _i22 in range(_size18): + _elem23 = apache.airavata.model.status.ttypes.ExperimentStatus() + _elem23.read(iprot) + self.experimentStatus.append(_elem23) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 18: + if ftype == TType.LIST: + self.errors = [] + (_etype27, _size24) = iprot.readListBegin() + for _i28 in range(_size24): + _elem29 = apache.airavata.model.commons.ttypes.ErrorModel() + _elem29.read(iprot) + self.errors.append(_elem29) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 19: + if ftype == TType.LIST: + self.processes = [] + (_etype33, _size30) = iprot.readListBegin() + for _i34 in range(_size30): + _elem35 = apache.airavata.model.process.ttypes.ProcessModel() + _elem35.read(iprot) + self.processes.append(_elem35) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('ExperimentModel') + if self.experimentId is not None: + oprot.writeFieldBegin('experimentId', TType.STRING, 1) + oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId) + oprot.writeFieldEnd() + if self.projectId is not None: + oprot.writeFieldBegin('projectId', TType.STRING, 2) + oprot.writeString(self.projectId.encode('utf-8') if sys.version_info[0] == 2 else self.projectId) + oprot.writeFieldEnd() + if self.gatewayId is not None: + oprot.writeFieldBegin('gatewayId', TType.STRING, 3) + oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId) + oprot.writeFieldEnd() + if self.experimentType is not None: + oprot.writeFieldBegin('experimentType', TType.I32, 4) + oprot.writeI32(self.experimentType) + oprot.writeFieldEnd() + if self.userName is not None: + oprot.writeFieldBegin('userName', TType.STRING, 5) + oprot.writeString(self.userName.encode('utf-8') if sys.version_info[0] == 2 else self.userName) + oprot.writeFieldEnd() + if self.experimentName is not None: + oprot.writeFieldBegin('experimentName', TType.STRING, 6) + oprot.writeString(self.experimentName.encode('utf-8') if sys.version_info[0] == 2 else self.experimentName) + oprot.writeFieldEnd() + if self.creationTime is not None: + oprot.writeFieldBegin('creationTime', TType.I64, 7) + oprot.writeI64(self.creationTime) + oprot.writeFieldEnd() + if self.description is not None: + oprot.writeFieldBegin('description', TType.STRING, 8) + oprot.writeString(self.description.encode('utf-8') if sys.version_info[0] == 2 else self.description) + oprot.writeFieldEnd() + if self.executionId is not None: + oprot.writeFieldBegin('executionId', TType.STRING, 9) + oprot.writeString(self.executionId.encode('utf-8') if sys.version_info[0] == 2 else self.executionId) + oprot.writeFieldEnd() + if self.gatewayExecutionId is not None: + oprot.writeFieldBegin('gatewayExecutionId', TType.STRING, 10) + oprot.writeString(self.gatewayExecutionId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayExecutionId) + oprot.writeFieldEnd() + if self.gatewayInstanceId is not None: + oprot.writeFieldBegin('gatewayInstanceId', TType.STRING, 11) + oprot.writeString(self.gatewayInstanceId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayInstanceId) + oprot.writeFieldEnd() + if self.enableEmailNotification is not None: + oprot.writeFieldBegin('enableEmailNotification', TType.BOOL, 12) + oprot.writeBool(self.enableEmailNotification) + oprot.writeFieldEnd() + if self.emailAddresses is not None: + oprot.writeFieldBegin('emailAddresses', TType.LIST, 13) + oprot.writeListBegin(TType.STRING, len(self.emailAddresses)) + for iter36 in self.emailAddresses: + oprot.writeString(iter36.encode('utf-8') if sys.version_info[0] == 2 else iter36) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.userConfigurationData is not None: + oprot.writeFieldBegin('userConfigurationData', TType.STRUCT, 14) + self.userConfigurationData.write(oprot) + oprot.writeFieldEnd() + if self.experimentInputs is not None: + oprot.writeFieldBegin('experimentInputs', TType.LIST, 15) + oprot.writeListBegin(TType.STRUCT, len(self.experimentInputs)) + for iter37 in self.experimentInputs: + iter37.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.experimentOutputs is not None: + oprot.writeFieldBegin('experimentOutputs', TType.LIST, 16) + oprot.writeListBegin(TType.STRUCT, len(self.experimentOutputs)) + for iter38 in self.experimentOutputs: + iter38.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.experimentStatus is not None: + oprot.writeFieldBegin('experimentStatus', TType.LIST, 17) + oprot.writeListBegin(TType.STRUCT, len(self.experimentStatus)) + for iter39 in self.experimentStatus: + iter39.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.errors is not None: + oprot.writeFieldBegin('errors', TType.LIST, 18) + oprot.writeListBegin(TType.STRUCT, len(self.errors)) + for iter40 in self.errors: + iter40.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.processes is not None: + oprot.writeFieldBegin('processes', TType.LIST, 19) + oprot.writeListBegin(TType.STRUCT, len(self.processes)) + for iter41 in self.processes: + iter41.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.experimentId is None: + raise TProtocolException(message='Required field experimentId is unset!') + if self.projectId is None: + raise TProtocolException(message='Required field projectId is unset!') + if self.gatewayId is None: + raise TProtocolException(message='Required field gatewayId is unset!') + if self.experimentType is None: + raise TProtocolException(message='Required field experimentType is unset!') + if self.userName is None: + raise TProtocolException(message='Required field userName is unset!') + if self.experimentName is None: + raise TProtocolException(message='Required field experimentName is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + 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 ExperimentSummaryModel(object): + """ + Attributes: + - experimentId + - projectId + - gatewayId + - creationTime + - userName + - name + - description + - executionId + - resourceHostId + - experimentStatus + - statusUpdateTime + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'experimentId', 'UTF8', None, ), # 1 + (2, TType.STRING, 'projectId', 'UTF8', None, ), # 2 + (3, TType.STRING, 'gatewayId', 'UTF8', None, ), # 3 + (4, TType.I64, 'creationTime', None, None, ), # 4 + (5, TType.STRING, 'userName', 'UTF8', None, ), # 5 + (6, TType.STRING, 'name', 'UTF8', None, ), # 6 + (7, TType.STRING, 'description', 'UTF8', None, ), # 7 + (8, TType.STRING, 'executionId', 'UTF8', None, ), # 8 + (9, TType.STRING, 'resourceHostId', 'UTF8', None, ), # 9 + (10, TType.STRING, 'experimentStatus', 'UTF8', None, ), # 10 + None, # 11 + (12, TType.I64, 'statusUpdateTime', None, None, ), # 12 + ) + + def __init__(self, experimentId=None, projectId=None, gatewayId=None, creationTime=None, userName=None, name=None, description=None, executionId=None, resourceHostId=None, experimentStatus=None, statusUpdateTime=None,): + self.experimentId = experimentId + self.projectId = projectId + self.gatewayId = gatewayId + self.creationTime = creationTime + self.userName = userName + self.name = name + self.description = description + self.executionId = executionId + self.resourceHostId = resourceHostId + self.experimentStatus = experimentStatus + self.statusUpdateTime = statusUpdateTime + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, (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.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.creationTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRING: + self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRING: + self.executionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.STRING: + self.resourceHostId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRING: + self.experimentStatus = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 12: + if ftype == TType.I64: + self.statusUpdateTime = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('ExperimentSummaryModel') + if self.experimentId is not None: + oprot.writeFieldBegin('experimentId', TType.STRING, 1) + oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId) + oprot.writeFieldEnd() + if self.projectId is not None: + oprot.writeFieldBegin('projectId', TType.STRING, 2) + oprot.writeString(self.projectId.encode('utf-8') if sys.version_info[0] == 2 else self.projectId) + oprot.writeFieldEnd() + if self.gatewayId is not None: + oprot.writeFieldBegin('gatewayId', TType.STRING, 3) + oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId) + oprot.writeFieldEnd() + if self.creationTime is not None: + oprot.writeFieldBegin('creationTime', TType.I64, 4) + oprot.writeI64(self.creationTime) + oprot.writeFieldEnd() + if self.userName is not None: + oprot.writeFieldBegin('userName', TType.STRING, 5) + oprot.writeString(self.userName.encode('utf-8') if sys.version_info[0] == 2 else self.userName) + oprot.writeFieldEnd() + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 6) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.description is not None: + oprot.writeFieldBegin('description', TType.STRING, 7) + oprot.writeString(self.description.encode('utf-8') if sys.version_info[0] == 2 else self.description) + oprot.writeFieldEnd() + if self.executionId is not None: + oprot.writeFieldBegin('executionId', TType.STRING, 8) + oprot.writeString(self.executionId.encode('utf-8') if sys.version_info[0] == 2 else self.executionId) + oprot.writeFieldEnd() + if self.resourceHostId is not None: + oprot.writeFieldBegin('resourceHostId', TType.STRING, 9) + oprot.writeString(self.resourceHostId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceHostId) + oprot.writeFieldEnd() + if self.experimentStatus is not None: + oprot.writeFieldBegin('experimentStatus', TType.STRING, 10) + oprot.writeString(self.experimentStatus.encode('utf-8') if sys.version_info[0] == 2 else self.experimentStatus) + oprot.writeFieldEnd() + if self.statusUpdateTime is not None: + oprot.writeFieldBegin('statusUpdateTime', TType.I64, 12) + oprot.writeI64(self.statusUpdateTime) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.experimentId is None: + raise TProtocolException(message='Required field experimentId is unset!') + if self.projectId is None: + raise TProtocolException(message='Required field projectId is unset!') + if self.gatewayId is None: + raise TProtocolException(message='Required field gatewayId is unset!') + if self.userName is None: + raise TProtocolException(message='Required field userName is unset!') + if self.name is None: + raise TProtocolException(message='Required field name is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + 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 ExperimentStatistics(object): + """ + Attributes: + - allExperimentCount + - completedExperimentCount + - cancelledExperimentCount + - failedExperimentCount + - createdExperimentCount + - runningExperimentCount + - allExperiments + - completedExperiments + - failedExperiments + - cancelledExperiments + - createdExperiments + - runningExperiments + """ + + thrift_spec = ( + None, # 0 + (1, TType.I32, 'allExperimentCount', None, None, ), # 1 + (2, TType.I32, 'completedExperimentCount', None, None, ), # 2 + (3, TType.I32, 'cancelledExperimentCount', None, None, ), # 3 + (4, TType.I32, 'failedExperimentCount', None, None, ), # 4 + (5, TType.I32, 'createdExperimentCount', None, None, ), # 5 + (6, TType.I32, 'runningExperimentCount', None, None, ), # 6 + (7, TType.LIST, 'allExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ), # 7 + (8, TType.LIST, 'completedExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ), # 8 + (9, TType.LIST, 'failedExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ), # 9 + (10, TType.LIST, 'cancelledExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ), # 10 + (11, TType.LIST, 'createdExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ), # 11 + (12, TType.LIST, 'runningExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ), # 12 + ) + + def __init__(self, allExperimentCount=None, completedExperimentCount=None, cancelledExperimentCount=None, failedExperimentCount=None, createdExperimentCount=None, runningExperimentCount=None, allExperiments=None, completedExperiments=None, failedExperiments=None, cancelledExperiments=None, createdExperiments=None, runningExperiments=None,): + self.allExperimentCount = allExperimentCount + self.completedExperimentCount = completedExperimentCount + self.cancelledExperimentCount = cancelledExperimentCount + self.failedExperimentCount = failedExperimentCount + self.createdExperimentCount = createdExperimentCount + self.runningExperimentCount = runningExperimentCount + self.allExperiments = allExperiments + self.completedExperiments = completedExperiments + self.failedExperiments = failedExperiments + self.cancelledExperiments = cancelledExperiments + self.createdExperiments = createdExperiments + self.runningExperiments = runningExperiments + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, (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.allExperimentCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.completedExperimentCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.cancelledExperimentCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.failedExperimentCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I32: + self.createdExperimentCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.I32: + self.runningExperimentCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.LIST: + self.allExperiments = [] + (_etype45, _size42) = iprot.readListBegin() + for _i46 in range(_size42): + _elem47 = ExperimentSummaryModel() + _elem47.read(iprot) + self.allExperiments.append(_elem47) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.LIST: + self.completedExperiments = [] + (_etype51, _size48) = iprot.readListBegin() + for _i52 in range(_size48): + _elem53 = ExperimentSummaryModel() + _elem53.read(iprot) + self.completedExperiments.append(_elem53) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.LIST: + self.failedExperiments = [] + (_etype57, _size54) = iprot.readListBegin() + for _i58 in range(_size54): + _elem59 = ExperimentSummaryModel() + _elem59.read(iprot) + self.failedExperiments.append(_elem59) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.LIST: + self.cancelledExperiments = [] + (_etype63, _size60) = iprot.readListBegin() + for _i64 in range(_size60): + _elem65 = ExperimentSummaryModel() + _elem65.
<TRUNCATED>
