You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/09/21 17:00:10 UTC

[40/54] [abbrv] [partial] airavata-django-portal git commit: Moving admin_view JS into django app and moving django project back

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/experiment/ttypes.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/experiment/ttypes.py b/apache/airavata/model/experiment/ttypes.py
new file mode 100644
index 0000000..e4e2e45
--- /dev/null
+++ b/apache/airavata/model/experiment/ttypes.py
@@ -0,0 +1,1061 @@
+#
+# 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, 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
+
+
+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.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 range(_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 range(_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._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('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 TProtocolException(message='Required field allExperimentCount is unset!')
+        if self.completedExperimentCount is None:
+            raise TProtocolException(message='Required field completedExperimentCount is unset!')
+        if self.failedExperimentCount is None:
+            raise TProtocolException(message='Required field failedExperimentCount is unset!')
+        if self.createdExperimentCount is None:
+            raise TProtocolException(message='Required field createdExperimentCount is unset!')
+        if self.runningExperimentCount is None:
+            raise TProtocolException(message='Required field runningExperimentCount is unset!')
+        if self.allExperiments is None:
+            raise TProtocolException(message='Required field allExperiments 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)

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/group/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/group/__init__.py b/apache/airavata/model/group/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/apache/airavata/model/group/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/group/constants.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/group/constants.py b/apache/airavata/model/group/constants.py
new file mode 100644
index 0000000..eb0d35a
--- /dev/null
+++ b/apache/airavata/model/group/constants.py
@@ -0,0 +1,12 @@
+#
+# 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, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+from .ttypes import *

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/group/ttypes.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/group/ttypes.py b/apache/airavata/model/group/ttypes.py
new file mode 100644
index 0000000..17632e6
--- /dev/null
+++ b/apache/airavata/model/group/ttypes.py
@@ -0,0 +1,169 @@
+#
+# 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, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+import apache.airavata.model.commons.ttypes
+
+from thrift.transport import TTransport
+
+
+class ResourceType(object):
+    PROJECT = 0
+    EXPERIMENT = 1
+    DATA = 2
+    OTHER = 3
+
+    _VALUES_TO_NAMES = {
+        0: "PROJECT",
+        1: "EXPERIMENT",
+        2: "DATA",
+        3: "OTHER",
+    }
+
+    _NAMES_TO_VALUES = {
+        "PROJECT": 0,
+        "EXPERIMENT": 1,
+        "DATA": 2,
+        "OTHER": 3,
+    }
+
+
+class ResourcePermissionType(object):
+    WRITE = 0
+    READ = 1
+    OWNER = 2
+
+    _VALUES_TO_NAMES = {
+        0: "WRITE",
+        1: "READ",
+        2: "OWNER",
+    }
+
+    _NAMES_TO_VALUES = {
+        "WRITE": 0,
+        "READ": 1,
+        "OWNER": 2,
+    }
+
+
+class GroupModel(object):
+    """
+    Attributes:
+     - id
+     - name
+     - ownerId
+     - description
+     - members
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
+        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+        (5, TType.LIST, 'members', (TType.STRING, 'UTF8', False), None, ),  # 5
+    )
+
+    def __init__(self, id=None, name=None, ownerId=None, description=None, members=None,):
+        self.id = id
+        self.name = name
+        self.ownerId = ownerId
+        self.description = description
+        self.members = members
+
+    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.id = 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.name = 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.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                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 == 5:
+                if ftype == TType.LIST:
+                    self.members = []
+                    (_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.members.append(_elem5)
+                    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('GroupModel')
+        if self.id is not None:
+            oprot.writeFieldBegin('id', TType.STRING, 1)
+            oprot.writeString(self.id.encode('utf-8') if sys.version_info[0] == 2 else self.id)
+            oprot.writeFieldEnd()
+        if self.name is not None:
+            oprot.writeFieldBegin('name', TType.STRING, 2)
+            oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+            oprot.writeFieldEnd()
+        if self.ownerId is not None:
+            oprot.writeFieldBegin('ownerId', TType.STRING, 3)
+            oprot.writeString(self.ownerId.encode('utf-8') if sys.version_info[0] == 2 else self.ownerId)
+            oprot.writeFieldEnd()
+        if self.description is not None:
+            oprot.writeFieldBegin('description', TType.STRING, 4)
+            oprot.writeString(self.description.encode('utf-8') if sys.version_info[0] == 2 else self.description)
+            oprot.writeFieldEnd()
+        if self.members is not None:
+            oprot.writeFieldBegin('members', TType.LIST, 5)
+            oprot.writeListBegin(TType.STRING, len(self.members))
+            for iter6 in self.members:
+                oprot.writeString(iter6.encode('utf-8') if sys.version_info[0] == 2 else iter6)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        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)

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/job/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/job/__init__.py b/apache/airavata/model/job/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/apache/airavata/model/job/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/job/constants.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/job/constants.py b/apache/airavata/model/job/constants.py
new file mode 100644
index 0000000..eb0d35a
--- /dev/null
+++ b/apache/airavata/model/job/constants.py
@@ -0,0 +1,12 @@
+#
+# 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, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+from .ttypes import *

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/job/ttypes.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/job/ttypes.py b/apache/airavata/model/job/ttypes.py
new file mode 100644
index 0000000..ed4e249
--- /dev/null
+++ b/apache/airavata/model/job/ttypes.py
@@ -0,0 +1,223 @@
+#
+# 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, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+import apache.airavata.model.status.ttypes
+
+from thrift.transport import TTransport
+
+
+class JobModel(object):
+    """
+    Attributes:
+     - jobId
+     - taskId
+     - processId
+     - jobDescription
+     - creationTime
+     - jobStatuses
+     - computeResourceConsumed
+     - jobName
+     - workingDir
+     - stdOut
+     - stdErr
+     - exitCode
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'jobId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'taskId', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'processId', 'UTF8', None, ),  # 3
+        (4, TType.STRING, 'jobDescription', 'UTF8', None, ),  # 4
+        (5, TType.I64, 'creationTime', None, None, ),  # 5
+        (6, TType.LIST, 'jobStatuses', (TType.STRUCT, (apache.airavata.model.status.ttypes.JobStatus, apache.airavata.model.status.ttypes.JobStatus.thrift_spec), False), None, ),  # 6
+        (7, TType.STRING, 'computeResourceConsumed', 'UTF8', None, ),  # 7
+        (8, TType.STRING, 'jobName', 'UTF8', None, ),  # 8
+        (9, TType.STRING, 'workingDir', 'UTF8', None, ),  # 9
+        (10, TType.STRING, 'stdOut', 'UTF8', None, ),  # 10
+        (11, TType.STRING, 'stdErr', 'UTF8', None, ),  # 11
+        (12, TType.I32, 'exitCode', None, None, ),  # 12
+    )
+
+    def __init__(self, jobId=None, taskId=None, processId=None, jobDescription=None, creationTime=None, jobStatuses=None, computeResourceConsumed=None, jobName=None, workingDir=None, stdOut=None, stdErr=None, exitCode=None,):
+        self.jobId = jobId
+        self.taskId = taskId
+        self.processId = processId
+        self.jobDescription = jobDescription
+        self.creationTime = creationTime
+        self.jobStatuses = jobStatuses
+        self.computeResourceConsumed = computeResourceConsumed
+        self.jobName = jobName
+        self.workingDir = workingDir
+        self.stdOut = stdOut
+        self.stdErr = stdErr
+        self.exitCode = exitCode
+
+    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.jobId = 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.taskId = 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.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.STRING:
+                    self.jobDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.I64:
+                    self.creationTime = iprot.readI64()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 6:
+                if ftype == TType.LIST:
+                    self.jobStatuses = []
+                    (_etype3, _size0) = iprot.readListBegin()
+                    for _i4 in range(_size0):
+                        _elem5 = apache.airavata.model.status.ttypes.JobStatus()
+                        _elem5.read(iprot)
+                        self.jobStatuses.append(_elem5)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 7:
+                if ftype == TType.STRING:
+                    self.computeResourceConsumed = 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.jobName = 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.workingDir = 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.stdOut = 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.stdErr = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 12:
+                if ftype == TType.I32:
+                    self.exitCode = iprot.readI32()
+                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('JobModel')
+        if self.jobId is not None:
+            oprot.writeFieldBegin('jobId', TType.STRING, 1)
+            oprot.writeString(self.jobId.encode('utf-8') if sys.version_info[0] == 2 else self.jobId)
+            oprot.writeFieldEnd()
+        if self.taskId is not None:
+            oprot.writeFieldBegin('taskId', TType.STRING, 2)
+            oprot.writeString(self.taskId.encode('utf-8') if sys.version_info[0] == 2 else self.taskId)
+            oprot.writeFieldEnd()
+        if self.processId is not None:
+            oprot.writeFieldBegin('processId', TType.STRING, 3)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
+        if self.jobDescription is not None:
+            oprot.writeFieldBegin('jobDescription', TType.STRING, 4)
+            oprot.writeString(self.jobDescription.encode('utf-8') if sys.version_info[0] == 2 else self.jobDescription)
+            oprot.writeFieldEnd()
+        if self.creationTime is not None:
+            oprot.writeFieldBegin('creationTime', TType.I64, 5)
+            oprot.writeI64(self.creationTime)
+            oprot.writeFieldEnd()
+        if self.jobStatuses is not None:
+            oprot.writeFieldBegin('jobStatuses', TType.LIST, 6)
+            oprot.writeListBegin(TType.STRUCT, len(self.jobStatuses))
+            for iter6 in self.jobStatuses:
+                iter6.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.computeResourceConsumed is not None:
+            oprot.writeFieldBegin('computeResourceConsumed', TType.STRING, 7)
+            oprot.writeString(self.computeResourceConsumed.encode('utf-8') if sys.version_info[0] == 2 else self.computeResourceConsumed)
+            oprot.writeFieldEnd()
+        if self.jobName is not None:
+            oprot.writeFieldBegin('jobName', TType.STRING, 8)
+            oprot.writeString(self.jobName.encode('utf-8') if sys.version_info[0] == 2 else self.jobName)
+            oprot.writeFieldEnd()
+        if self.workingDir is not None:
+            oprot.writeFieldBegin('workingDir', TType.STRING, 9)
+            oprot.writeString(self.workingDir.encode('utf-8') if sys.version_info[0] == 2 else self.workingDir)
+            oprot.writeFieldEnd()
+        if self.stdOut is not None:
+            oprot.writeFieldBegin('stdOut', TType.STRING, 10)
+            oprot.writeString(self.stdOut.encode('utf-8') if sys.version_info[0] == 2 else self.stdOut)
+            oprot.writeFieldEnd()
+        if self.stdErr is not None:
+            oprot.writeFieldBegin('stdErr', TType.STRING, 11)
+            oprot.writeString(self.stdErr.encode('utf-8') if sys.version_info[0] == 2 else self.stdErr)
+            oprot.writeFieldEnd()
+        if self.exitCode is not None:
+            oprot.writeFieldBegin('exitCode', TType.I32, 12)
+            oprot.writeI32(self.exitCode)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.jobId is None:
+            raise TProtocolException(message='Required field jobId is unset!')
+        if self.taskId is None:
+            raise TProtocolException(message='Required field taskId is unset!')
+        if self.processId is None:
+            raise TProtocolException(message='Required field processId is unset!')
+        if self.jobDescription is None:
+            raise TProtocolException(message='Required field jobDescription 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)

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/messaging/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/messaging/__init__.py b/apache/airavata/model/messaging/__init__.py
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/messaging/event/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/messaging/event/__init__.py b/apache/airavata/model/messaging/event/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/apache/airavata/model/messaging/event/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/messaging/event/constants.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/messaging/event/constants.py b/apache/airavata/model/messaging/event/constants.py
new file mode 100644
index 0000000..eb0d35a
--- /dev/null
+++ b/apache/airavata/model/messaging/event/constants.py
@@ -0,0 +1,12 @@
+#
+# 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, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+from .ttypes import *