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:09 UTC

[39/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/messaging/event/ttypes.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/messaging/event/ttypes.py b/apache/airavata/model/messaging/event/ttypes.py
new file mode 100644
index 0000000..a5224ec
--- /dev/null
+++ b/apache/airavata/model/messaging/event/ttypes.py
@@ -0,0 +1,1407 @@
+#
+# 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
+import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.commons.ttypes
+
+from thrift.transport import TTransport
+
+
+class MessageLevel(object):
+    INFO = 0
+    DEBUG = 1
+    ERROR = 2
+    ACK = 3
+
+    _VALUES_TO_NAMES = {
+        0: "INFO",
+        1: "DEBUG",
+        2: "ERROR",
+        3: "ACK",
+    }
+
+    _NAMES_TO_VALUES = {
+        "INFO": 0,
+        "DEBUG": 1,
+        "ERROR": 2,
+        "ACK": 3,
+    }
+
+
+class MessageType(object):
+    EXPERIMENT = 0
+    EXPERIMENT_CANCEL = 1
+    TASK = 2
+    PROCESS = 3
+    JOB = 4
+    LAUNCHPROCESS = 5
+    TERMINATEPROCESS = 6
+    PROCESSOUTPUT = 7
+    DB_EVENT = 8
+
+    _VALUES_TO_NAMES = {
+        0: "EXPERIMENT",
+        1: "EXPERIMENT_CANCEL",
+        2: "TASK",
+        3: "PROCESS",
+        4: "JOB",
+        5: "LAUNCHPROCESS",
+        6: "TERMINATEPROCESS",
+        7: "PROCESSOUTPUT",
+        8: "DB_EVENT",
+    }
+
+    _NAMES_TO_VALUES = {
+        "EXPERIMENT": 0,
+        "EXPERIMENT_CANCEL": 1,
+        "TASK": 2,
+        "PROCESS": 3,
+        "JOB": 4,
+        "LAUNCHPROCESS": 5,
+        "TERMINATEPROCESS": 6,
+        "PROCESSOUTPUT": 7,
+        "DB_EVENT": 8,
+    }
+
+
+class ExperimentStatusChangeEvent(object):
+    """
+    Attributes:
+     - state
+     - experimentId
+     - gatewayId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+    )
+
+    def __init__(self, state=None, experimentId=None, gatewayId=None,):
+        self.state = state
+        self.experimentId = experimentId
+        self.gatewayId = gatewayId
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                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 == 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)
+            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('ExperimentStatusChangeEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.experimentId is not None:
+            oprot.writeFieldBegin('experimentId', TType.STRING, 2)
+            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+            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()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.experimentId is None:
+            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId 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 ProcessIdentifier(object):
+    """
+    Attributes:
+     - processId
+     - experimentId
+     - gatewayId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+    )
+
+    def __init__(self, processId=None, experimentId=None, gatewayId=None,):
+        self.processId = processId
+        self.experimentId = experimentId
+        self.gatewayId = gatewayId
+
+    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.processId = 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.experimentId = 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)
+            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('ProcessIdentifier')
+        if self.processId is not None:
+            oprot.writeFieldBegin('processId', TType.STRING, 1)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
+        if self.experimentId is not None:
+            oprot.writeFieldBegin('experimentId', TType.STRING, 2)
+            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+            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()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.processId is None:
+            raise TProtocolException(message='Required field processId is unset!')
+        if self.experimentId is None:
+            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId 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 TaskIdentifier(object):
+    """
+    Attributes:
+     - taskId
+     - processId
+     - experimentId
+     - gatewayId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'taskId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'processId', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
+        (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
+    )
+
+    def __init__(self, taskId=None, processId=None, experimentId=None, gatewayId=None,):
+        self.taskId = taskId
+        self.processId = processId
+        self.experimentId = experimentId
+        self.gatewayId = gatewayId
+
+    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.taskId = 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.processId = 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.experimentId = 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.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                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('TaskIdentifier')
+        if self.taskId is not None:
+            oprot.writeFieldBegin('taskId', TType.STRING, 1)
+            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, 2)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
+        if self.experimentId is not None:
+            oprot.writeFieldBegin('experimentId', TType.STRING, 3)
+            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+            oprot.writeFieldEnd()
+        if self.gatewayId is not None:
+            oprot.writeFieldBegin('gatewayId', TType.STRING, 4)
+            oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        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.experimentId is None:
+            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId 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 TaskStatusChangeEvent(object):
+    """
+    Attributes:
+     - state
+     - taskIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRUCT, 'taskIdentity', (TaskIdentifier, TaskIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, state=None, taskIdentity=None,):
+        self.state = state
+        self.taskIdentity = taskIdentity
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.taskIdentity = TaskIdentifier()
+                    self.taskIdentity.read(iprot)
+                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('TaskStatusChangeEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.taskIdentity is not None:
+            oprot.writeFieldBegin('taskIdentity', TType.STRUCT, 2)
+            self.taskIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.taskIdentity is None:
+            raise TProtocolException(message='Required field taskIdentity 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 TaskStatusChangeRequestEvent(object):
+    """
+    Attributes:
+     - state
+     - taskIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRUCT, 'taskIdentity', (TaskIdentifier, TaskIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, state=None, taskIdentity=None,):
+        self.state = state
+        self.taskIdentity = taskIdentity
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.taskIdentity = TaskIdentifier()
+                    self.taskIdentity.read(iprot)
+                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('TaskStatusChangeRequestEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.taskIdentity is not None:
+            oprot.writeFieldBegin('taskIdentity', TType.STRUCT, 2)
+            self.taskIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.taskIdentity is None:
+            raise TProtocolException(message='Required field taskIdentity 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 ProcessStatusChangeEvent(object):
+    """
+    Attributes:
+     - state
+     - processIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRUCT, 'processIdentity', (ProcessIdentifier, ProcessIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, state=None, processIdentity=None,):
+        self.state = state
+        self.processIdentity = processIdentity
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.processIdentity = ProcessIdentifier()
+                    self.processIdentity.read(iprot)
+                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('ProcessStatusChangeEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.processIdentity is not None:
+            oprot.writeFieldBegin('processIdentity', TType.STRUCT, 2)
+            self.processIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.processIdentity is None:
+            raise TProtocolException(message='Required field processIdentity 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 ProcessStatusChangeRequestEvent(object):
+    """
+    Attributes:
+     - state
+     - processIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRUCT, 'processIdentity', (ProcessIdentifier, ProcessIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, state=None, processIdentity=None,):
+        self.state = state
+        self.processIdentity = processIdentity
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.processIdentity = ProcessIdentifier()
+                    self.processIdentity.read(iprot)
+                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('ProcessStatusChangeRequestEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.processIdentity is not None:
+            oprot.writeFieldBegin('processIdentity', TType.STRUCT, 2)
+            self.processIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.processIdentity is None:
+            raise TProtocolException(message='Required field processIdentity 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 TaskOutputChangeEvent(object):
+    """
+    Attributes:
+     - output
+     - taskIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.LIST, 'output', (TType.STRUCT, (apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 1
+        (2, TType.STRUCT, 'taskIdentity', (TaskIdentifier, TaskIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, output=None, taskIdentity=None,):
+        self.output = output
+        self.taskIdentity = taskIdentity
+
+    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.LIST:
+                    self.output = []
+                    (_etype3, _size0) = iprot.readListBegin()
+                    for _i4 in range(_size0):
+                        _elem5 = apache.airavata.model.application.io.ttypes.OutputDataObjectType()
+                        _elem5.read(iprot)
+                        self.output.append(_elem5)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.taskIdentity = TaskIdentifier()
+                    self.taskIdentity.read(iprot)
+                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('TaskOutputChangeEvent')
+        if self.output is not None:
+            oprot.writeFieldBegin('output', TType.LIST, 1)
+            oprot.writeListBegin(TType.STRUCT, len(self.output))
+            for iter6 in self.output:
+                iter6.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.taskIdentity is not None:
+            oprot.writeFieldBegin('taskIdentity', TType.STRUCT, 2)
+            self.taskIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.output is None:
+            raise TProtocolException(message='Required field output is unset!')
+        if self.taskIdentity is None:
+            raise TProtocolException(message='Required field taskIdentity 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 JobIdentifier(object):
+    """
+    Attributes:
+     - jobId
+     - taskId
+     - processId
+     - experimentId
+     - gatewayId
+    """
+
+    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, 'experimentId', 'UTF8', None, ),  # 4
+        (5, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 5
+    )
+
+    def __init__(self, jobId=None, taskId=None, processId=None, experimentId=None, gatewayId=None,):
+        self.jobId = jobId
+        self.taskId = taskId
+        self.processId = processId
+        self.experimentId = experimentId
+        self.gatewayId = gatewayId
+
+    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.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.STRING:
+                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                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('JobIdentifier')
+        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.experimentId is not None:
+            oprot.writeFieldBegin('experimentId', TType.STRING, 4)
+            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+            oprot.writeFieldEnd()
+        if self.gatewayId is not None:
+            oprot.writeFieldBegin('gatewayId', TType.STRING, 5)
+            oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId)
+            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.experimentId is None:
+            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId 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 ExperimentSubmitEvent(object):
+    """
+    Attributes:
+     - experimentId
+     - gatewayId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    )
+
+    def __init__(self, experimentId=None, gatewayId=None,):
+        self.experimentId = experimentId
+        self.gatewayId = gatewayId
+
+    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.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                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('ExperimentSubmitEvent')
+        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.gatewayId is not None:
+            oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+            oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.experimentId is None:
+            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId 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 ProcessSubmitEvent(object):
+    """
+    Attributes:
+     - processId
+     - gatewayId
+     - experimentId
+     - tokenId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
+        (4, TType.STRING, 'tokenId', 'UTF8', None, ),  # 4
+    )
+
+    def __init__(self, processId=None, gatewayId=None, experimentId=None, tokenId=None,):
+        self.processId = processId
+        self.gatewayId = gatewayId
+        self.experimentId = experimentId
+        self.tokenId = tokenId
+
+    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.processId = 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.gatewayId = 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.experimentId = 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.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                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('ProcessSubmitEvent')
+        if self.processId is not None:
+            oprot.writeFieldBegin('processId', TType.STRING, 1)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
+        if self.gatewayId is not None:
+            oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+            oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId)
+            oprot.writeFieldEnd()
+        if self.experimentId is not None:
+            oprot.writeFieldBegin('experimentId', TType.STRING, 3)
+            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+            oprot.writeFieldEnd()
+        if self.tokenId is not None:
+            oprot.writeFieldBegin('tokenId', TType.STRING, 4)
+            oprot.writeString(self.tokenId.encode('utf-8') if sys.version_info[0] == 2 else self.tokenId)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.processId is None:
+            raise TProtocolException(message='Required field processId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId is unset!')
+        if self.experimentId is None:
+            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.tokenId is None:
+            raise TProtocolException(message='Required field tokenId 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 ProcessTerminateEvent(object):
+    """
+    Attributes:
+     - processId
+     - gatewayId
+     - tokenId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'tokenId', 'UTF8', None, ),  # 3
+    )
+
+    def __init__(self, processId=None, gatewayId=None, tokenId=None,):
+        self.processId = processId
+        self.gatewayId = gatewayId
+        self.tokenId = tokenId
+
+    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.processId = 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.gatewayId = 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.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                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('ProcessTerminateEvent')
+        if self.processId is not None:
+            oprot.writeFieldBegin('processId', TType.STRING, 1)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
+        if self.gatewayId is not None:
+            oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+            oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId)
+            oprot.writeFieldEnd()
+        if self.tokenId is not None:
+            oprot.writeFieldBegin('tokenId', TType.STRING, 3)
+            oprot.writeString(self.tokenId.encode('utf-8') if sys.version_info[0] == 2 else self.tokenId)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.processId is None:
+            raise TProtocolException(message='Required field processId is unset!')
+        if self.gatewayId is None:
+            raise TProtocolException(message='Required field gatewayId is unset!')
+        if self.tokenId is None:
+            raise TProtocolException(message='Required field tokenId 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 JobStatusChangeEvent(object):
+    """
+    Attributes:
+     - state
+     - jobIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRUCT, 'jobIdentity', (JobIdentifier, JobIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, state=None, jobIdentity=None,):
+        self.state = state
+        self.jobIdentity = jobIdentity
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.jobIdentity = JobIdentifier()
+                    self.jobIdentity.read(iprot)
+                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('JobStatusChangeEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.jobIdentity is not None:
+            oprot.writeFieldBegin('jobIdentity', TType.STRUCT, 2)
+            self.jobIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.jobIdentity is None:
+            raise TProtocolException(message='Required field jobIdentity 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 JobStatusChangeRequestEvent(object):
+    """
+    Attributes:
+     - state
+     - jobIdentity
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.I32, 'state', None, None, ),  # 1
+        (2, TType.STRUCT, 'jobIdentity', (JobIdentifier, JobIdentifier.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, state=None, jobIdentity=None,):
+        self.state = state
+        self.jobIdentity = jobIdentity
+
+    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.state = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.jobIdentity = JobIdentifier()
+                    self.jobIdentity.read(iprot)
+                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('JobStatusChangeRequestEvent')
+        if self.state is not None:
+            oprot.writeFieldBegin('state', TType.I32, 1)
+            oprot.writeI32(self.state)
+            oprot.writeFieldEnd()
+        if self.jobIdentity is not None:
+            oprot.writeFieldBegin('jobIdentity', TType.STRUCT, 2)
+            self.jobIdentity.write(oprot)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.state is None:
+            raise TProtocolException(message='Required field state is unset!')
+        if self.jobIdentity is None:
+            raise TProtocolException(message='Required field jobIdentity 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 Message(object):
+    """
+    Attributes:
+     - event
+     - messageId
+     - messageType
+     - updatedTime
+     - messageLevel
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'event', 'BINARY', None, ),  # 1
+        (2, TType.STRING, 'messageId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
+        (3, TType.I32, 'messageType', None, None, ),  # 3
+        (4, TType.I64, 'updatedTime', None, None, ),  # 4
+        (5, TType.I32, 'messageLevel', None, None, ),  # 5
+    )
+
+    def __init__(self, event=None, messageId=thrift_spec[2][4], messageType=None, updatedTime=None, messageLevel=None,):
+        self.event = event
+        self.messageId = messageId
+        self.messageType = messageType
+        self.updatedTime = updatedTime
+        self.messageLevel = messageLevel
+
+    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.event = iprot.readBinary()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRING:
+                    self.messageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 3:
+                if ftype == TType.I32:
+                    self.messageType = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.I64:
+                    self.updatedTime = iprot.readI64()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.I32:
+                    self.messageLevel = 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('Message')
+        if self.event is not None:
+            oprot.writeFieldBegin('event', TType.STRING, 1)
+            oprot.writeBinary(self.event)
+            oprot.writeFieldEnd()
+        if self.messageId is not None:
+            oprot.writeFieldBegin('messageId', TType.STRING, 2)
+            oprot.writeString(self.messageId.encode('utf-8') if sys.version_info[0] == 2 else self.messageId)
+            oprot.writeFieldEnd()
+        if self.messageType is not None:
+            oprot.writeFieldBegin('messageType', TType.I32, 3)
+            oprot.writeI32(self.messageType)
+            oprot.writeFieldEnd()
+        if self.updatedTime is not None:
+            oprot.writeFieldBegin('updatedTime', TType.I64, 4)
+            oprot.writeI64(self.updatedTime)
+            oprot.writeFieldEnd()
+        if self.messageLevel is not None:
+            oprot.writeFieldBegin('messageLevel', TType.I32, 5)
+            oprot.writeI32(self.messageLevel)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.event is None:
+            raise TProtocolException(message='Required field event is unset!')
+        if self.messageId is None:
+            raise TProtocolException(message='Required field messageId is unset!')
+        if self.messageType is None:
+            raise TProtocolException(message='Required field messageType 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/process/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/process/__init__.py b/apache/airavata/model/process/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/apache/airavata/model/process/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/process/constants.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/process/constants.py b/apache/airavata/model/process/constants.py
new file mode 100644
index 0000000..eb0d35a
--- /dev/null
+++ b/apache/airavata/model/process/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/process/ttypes.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/process/ttypes.py b/apache/airavata/model/process/ttypes.py
new file mode 100644
index 0000000..1dce0d0
--- /dev/null
+++ b/apache/airavata/model/process/ttypes.py
@@ -0,0 +1,420 @@
+#
+# 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.status.ttypes
+import apache.airavata.model.task.ttypes
+import apache.airavata.model.scheduling.ttypes
+
+from thrift.transport import TTransport
+
+
+class ProcessModel(object):
+    """
+    ProcessModel: A structure holding the process details. The infromation is derived based on user provided
+             configuration data or system inferred information from scheduling and QoS parameters.
+
+    processDetail:
+      A friendly description of the process, usally used to communicate information to users.
+
+
+
+    Attributes:
+     - processId
+     - experimentId
+     - creationTime
+     - lastUpdateTime
+     - processStatuses
+     - processDetail
+     - applicationInterfaceId
+     - applicationDeploymentId
+     - computeResourceId
+     - processInputs
+     - processOutputs
+     - processResourceSchedule
+     - tasks
+     - taskDag
+     - processErrors
+     - gatewayExecutionId
+     - enableEmailNotification
+     - emailAddresses
+     - storageResourceId
+     - userDn
+     - generateCert
+     - experimentDataDir
+     - userName
+     - useUserCRPref
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'processId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+        (3, TType.I64, 'creationTime', None, None, ),  # 3
+        (4, TType.I64, 'lastUpdateTime', None, None, ),  # 4
+        (5, TType.LIST, 'processStatuses', (TType.STRUCT, (apache.airavata.model.status.ttypes.ProcessStatus, apache.airavata.model.status.ttypes.ProcessStatus.thrift_spec), False), None, ),  # 5
+        (6, TType.STRING, 'processDetail', 'UTF8', None, ),  # 6
+        (7, TType.STRING, 'applicationInterfaceId', 'UTF8', None, ),  # 7
+        (8, TType.STRING, 'applicationDeploymentId', 'UTF8', None, ),  # 8
+        (9, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 9
+        (10, TType.LIST, 'processInputs', (TType.STRUCT, (apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ),  # 10
+        (11, TType.LIST, 'processOutputs', (TType.STRUCT, (apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 11
+        (12, TType.STRUCT, 'processResourceSchedule', (apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ),  # 12
+        (13, TType.LIST, 'tasks', (TType.STRUCT, (apache.airavata.model.task.ttypes.TaskModel, apache.airavata.model.task.ttypes.TaskModel.thrift_spec), False), None, ),  # 13
+        (14, TType.STRING, 'taskDag', 'UTF8', None, ),  # 14
+        (15, TType.LIST, 'processErrors', (TType.STRUCT, (apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 15
+        (16, TType.STRING, 'gatewayExecutionId', 'UTF8', None, ),  # 16
+        (17, TType.BOOL, 'enableEmailNotification', None, None, ),  # 17
+        (18, TType.LIST, 'emailAddresses', (TType.STRING, 'UTF8', False), None, ),  # 18
+        (19, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 19
+        (20, TType.STRING, 'userDn', 'UTF8', None, ),  # 20
+        (21, TType.BOOL, 'generateCert', None, False, ),  # 21
+        (22, TType.STRING, 'experimentDataDir', 'UTF8', None, ),  # 22
+        (23, TType.STRING, 'userName', 'UTF8', None, ),  # 23
+        (24, TType.BOOL, 'useUserCRPref', None, None, ),  # 24
+    )
+
+    def __init__(self, processId=thrift_spec[1][4], experimentId=None, creationTime=None, lastUpdateTime=None, processStatuses=None, processDetail=None, applicationInterfaceId=None, applicationDeploymentId=None, computeResourceId=None, processInputs=None, processOutputs=None, processResourceSchedule=None, tasks=None, taskDag=None, processErrors=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, storageResourceId=None, userDn=None, generateCert=thrift_spec[21][4], experimentDataDir=None, userName=None, useUserCRPref=None,):
+        self.processId = processId
+        self.experimentId = experimentId
+        self.creationTime = creationTime
+        self.lastUpdateTime = lastUpdateTime
+        self.processStatuses = processStatuses
+        self.processDetail = processDetail
+        self.applicationInterfaceId = applicationInterfaceId
+        self.applicationDeploymentId = applicationDeploymentId
+        self.computeResourceId = computeResourceId
+        self.processInputs = processInputs
+        self.processOutputs = processOutputs
+        self.processResourceSchedule = processResourceSchedule
+        self.tasks = tasks
+        self.taskDag = taskDag
+        self.processErrors = processErrors
+        self.gatewayExecutionId = gatewayExecutionId
+        self.enableEmailNotification = enableEmailNotification
+        self.emailAddresses = emailAddresses
+        self.storageResourceId = storageResourceId
+        self.userDn = userDn
+        self.generateCert = generateCert
+        self.experimentDataDir = experimentDataDir
+        self.userName = userName
+        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.STRING:
+                    self.processId = 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.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 3:
+                if ftype == TType.I64:
+                    self.creationTime = iprot.readI64()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.I64:
+                    self.lastUpdateTime = iprot.readI64()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.LIST:
+                    self.processStatuses = []
+                    (_etype3, _size0) = iprot.readListBegin()
+                    for _i4 in range(_size0):
+                        _elem5 = apache.airavata.model.status.ttypes.ProcessStatus()
+                        _elem5.read(iprot)
+                        self.processStatuses.append(_elem5)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 6:
+                if ftype == TType.STRING:
+                    self.processDetail = 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.applicationInterfaceId = 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.applicationDeploymentId = 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.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 10:
+                if ftype == TType.LIST:
+                    self.processInputs = []
+                    (_etype9, _size6) = iprot.readListBegin()
+                    for _i10 in range(_size6):
+                        _elem11 = apache.airavata.model.application.io.ttypes.InputDataObjectType()
+                        _elem11.read(iprot)
+                        self.processInputs.append(_elem11)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 11:
+                if ftype == TType.LIST:
+                    self.processOutputs = []
+                    (_etype15, _size12) = iprot.readListBegin()
+                    for _i16 in range(_size12):
+                        _elem17 = apache.airavata.model.application.io.ttypes.OutputDataObjectType()
+                        _elem17.read(iprot)
+                        self.processOutputs.append(_elem17)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 12:
+                if ftype == TType.STRUCT:
+                    self.processResourceSchedule = apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel()
+                    self.processResourceSchedule.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 13:
+                if ftype == TType.LIST:
+                    self.tasks = []
+                    (_etype21, _size18) = iprot.readListBegin()
+                    for _i22 in range(_size18):
+                        _elem23 = apache.airavata.model.task.ttypes.TaskModel()
+                        _elem23.read(iprot)
+                        self.tasks.append(_elem23)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 14:
+                if ftype == TType.STRING:
+                    self.taskDag = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 15:
+                if ftype == TType.LIST:
+                    self.processErrors = []
+                    (_etype27, _size24) = iprot.readListBegin()
+                    for _i28 in range(_size24):
+                        _elem29 = apache.airavata.model.commons.ttypes.ErrorModel()
+                        _elem29.read(iprot)
+                        self.processErrors.append(_elem29)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 16:
+                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 == 17:
+                if ftype == TType.BOOL:
+                    self.enableEmailNotification = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 18:
+                if ftype == TType.LIST:
+                    self.emailAddresses = []
+                    (_etype33, _size30) = iprot.readListBegin()
+                    for _i34 in range(_size30):
+                        _elem35 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        self.emailAddresses.append(_elem35)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 19:
+                if ftype == TType.STRING:
+                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 20:
+                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 == 21:
+                if ftype == TType.BOOL:
+                    self.generateCert = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 22:
+                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 == 23:
+                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 == 24:
+                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('ProcessModel')
+        if self.processId is not None:
+            oprot.writeFieldBegin('processId', TType.STRING, 1)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
+        if self.experimentId is not None:
+            oprot.writeFieldBegin('experimentId', TType.STRING, 2)
+            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+            oprot.writeFieldEnd()
+        if self.creationTime is not None:
+            oprot.writeFieldBegin('creationTime', TType.I64, 3)
+            oprot.writeI64(self.creationTime)
+            oprot.writeFieldEnd()
+        if self.lastUpdateTime is not None:
+            oprot.writeFieldBegin('lastUpdateTime', TType.I64, 4)
+            oprot.writeI64(self.lastUpdateTime)
+            oprot.writeFieldEnd()
+        if self.processStatuses is not None:
+            oprot.writeFieldBegin('processStatuses', TType.LIST, 5)
+            oprot.writeListBegin(TType.STRUCT, len(self.processStatuses))
+            for iter36 in self.processStatuses:
+                iter36.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.processDetail is not None:
+            oprot.writeFieldBegin('processDetail', TType.STRING, 6)
+            oprot.writeString(self.processDetail.encode('utf-8') if sys.version_info[0] == 2 else self.processDetail)
+            oprot.writeFieldEnd()
+        if self.applicationInterfaceId is not None:
+            oprot.writeFieldBegin('applicationInterfaceId', TType.STRING, 7)
+            oprot.writeString(self.applicationInterfaceId.encode('utf-8') if sys.version_info[0] == 2 else self.applicationInterfaceId)
+            oprot.writeFieldEnd()
+        if self.applicationDeploymentId is not None:
+            oprot.writeFieldBegin('applicationDeploymentId', TType.STRING, 8)
+            oprot.writeString(self.applicationDeploymentId.encode('utf-8') if sys.version_info[0] == 2 else self.applicationDeploymentId)
+            oprot.writeFieldEnd()
+        if self.computeResourceId is not None:
+            oprot.writeFieldBegin('computeResourceId', TType.STRING, 9)
+            oprot.writeString(self.computeResourceId.encode('utf-8') if sys.version_info[0] == 2 else self.computeResourceId)
+            oprot.writeFieldEnd()
+        if self.processInputs is not None:
+            oprot.writeFieldBegin('processInputs', TType.LIST, 10)
+            oprot.writeListBegin(TType.STRUCT, len(self.processInputs))
+            for iter37 in self.processInputs:
+                iter37.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.processOutputs is not None:
+            oprot.writeFieldBegin('processOutputs', TType.LIST, 11)
+            oprot.writeListBegin(TType.STRUCT, len(self.processOutputs))
+            for iter38 in self.processOutputs:
+                iter38.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.processResourceSchedule is not None:
+            oprot.writeFieldBegin('processResourceSchedule', TType.STRUCT, 12)
+            self.processResourceSchedule.write(oprot)
+            oprot.writeFieldEnd()
+        if self.tasks is not None:
+            oprot.writeFieldBegin('tasks', TType.LIST, 13)
+            oprot.writeListBegin(TType.STRUCT, len(self.tasks))
+            for iter39 in self.tasks:
+                iter39.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.taskDag is not None:
+            oprot.writeFieldBegin('taskDag', TType.STRING, 14)
+            oprot.writeString(self.taskDag.encode('utf-8') if sys.version_info[0] == 2 else self.taskDag)
+            oprot.writeFieldEnd()
+        if self.processErrors is not None:
+            oprot.writeFieldBegin('processErrors', TType.LIST, 15)
+            oprot.writeListBegin(TType.STRUCT, len(self.processErrors))
+            for iter40 in self.processErrors:
+                iter40.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.gatewayExecutionId is not None:
+            oprot.writeFieldBegin('gatewayExecutionId', TType.STRING, 16)
+            oprot.writeString(self.gatewayExecutionId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayExecutionId)
+            oprot.writeFieldEnd()
+        if self.enableEmailNotification is not None:
+            oprot.writeFieldBegin('enableEmailNotification', TType.BOOL, 17)
+            oprot.writeBool(self.enableEmailNotification)
+            oprot.writeFieldEnd()
+        if self.emailAddresses is not None:
+            oprot.writeFieldBegin('emailAddresses', TType.LIST, 18)
+            oprot.writeListBegin(TType.STRING, len(self.emailAddresses))
+            for iter41 in self.emailAddresses:
+                oprot.writeString(iter41.encode('utf-8') if sys.version_info[0] == 2 else iter41)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.storageResourceId is not None:
+            oprot.writeFieldBegin('storageResourceId', TType.STRING, 19)
+            oprot.writeString(self.storageResourceId.encode('utf-8') if sys.version_info[0] == 2 else self.storageResourceId)
+            oprot.writeFieldEnd()
+        if self.userDn is not None:
+            oprot.writeFieldBegin('userDn', TType.STRING, 20)
+            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, 21)
+            oprot.writeBool(self.generateCert)
+            oprot.writeFieldEnd()
+        if self.experimentDataDir is not None:
+            oprot.writeFieldBegin('experimentDataDir', TType.STRING, 22)
+            oprot.writeString(self.experimentDataDir.encode('utf-8') if sys.version_info[0] == 2 else self.experimentDataDir)
+            oprot.writeFieldEnd()
+        if self.userName is not None:
+            oprot.writeFieldBegin('userName', TType.STRING, 23)
+            oprot.writeString(self.userName.encode('utf-8') if sys.version_info[0] == 2 else self.userName)
+            oprot.writeFieldEnd()
+        if self.useUserCRPref is not None:
+            oprot.writeFieldBegin('useUserCRPref', TType.BOOL, 24)
+            oprot.writeBool(self.useUserCRPref)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.processId is None:
+            raise TProtocolException(message='Required field processId is unset!')
+        if self.experimentId is None:
+            raise TProtocolException(message='Required field experimentId 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/scheduling/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/scheduling/__init__.py b/apache/airavata/model/scheduling/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/apache/airavata/model/scheduling/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/d8d7c37a/apache/airavata/model/scheduling/constants.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/scheduling/constants.py b/apache/airavata/model/scheduling/constants.py
new file mode 100644
index 0000000..eb0d35a
--- /dev/null
+++ b/apache/airavata/model/scheduling/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/scheduling/ttypes.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/scheduling/ttypes.py b/apache/airavata/model/scheduling/ttypes.py
new file mode 100644
index 0000000..fcdae4c
--- /dev/null
+++ b/apache/airavata/model/scheduling/ttypes.py
@@ -0,0 +1,209 @@
+#
+# 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 thrift.transport import TTransport
+
+
+class ComputationalResourceSchedulingModel(object):
+    """
+    ComputationalResourceSchedulingModel:
+
+
+
+    Attributes:
+     - resourceHostId
+     - totalCPUCount
+     - nodeCount
+     - numberOfThreads
+     - queueName
+     - wallTimeLimit
+     - totalPhysicalMemory
+     - chessisNumber
+     - staticWorkingDir
+     - overrideLoginUserName
+     - overrideScratchLocation
+     - overrideAllocationProjectNumber
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'resourceHostId', 'UTF8', None, ),  # 1
+        (2, TType.I32, 'totalCPUCount', None, None, ),  # 2
+        (3, TType.I32, 'nodeCount', None, None, ),  # 3
+        (4, TType.I32, 'numberOfThreads', None, None, ),  # 4
+        (5, TType.STRING, 'queueName', 'UTF8', None, ),  # 5
+        (6, TType.I32, 'wallTimeLimit', None, None, ),  # 6
+        (7, TType.I32, 'totalPhysicalMemory', None, None, ),  # 7
+        (8, TType.STRING, 'chessisNumber', 'UTF8', None, ),  # 8
+        (9, TType.STRING, 'staticWorkingDir', 'UTF8', None, ),  # 9
+        (10, TType.STRING, 'overrideLoginUserName', 'UTF8', None, ),  # 10
+        (11, TType.STRING, 'overrideScratchLocation', 'UTF8', None, ),  # 11
+        (12, TType.STRING, 'overrideAllocationProjectNumber', 'UTF8', None, ),  # 12
+    )
+
+    def __init__(self, resourceHostId=None, totalCPUCount=None, nodeCount=None, numberOfThreads=None, queueName=None, wallTimeLimit=None, totalPhysicalMemory=None, chessisNumber=None, staticWorkingDir=None, overrideLoginUserName=None, overrideScratchLocation=None, overrideAllocationProjectNumber=None,):
+        self.resourceHostId = resourceHostId
+        self.totalCPUCount = totalCPUCount
+        self.nodeCount = nodeCount
+        self.numberOfThreads = numberOfThreads
+        self.queueName = queueName
+        self.wallTimeLimit = wallTimeLimit
+        self.totalPhysicalMemory = totalPhysicalMemory
+        self.chessisNumber = chessisNumber
+        self.staticWorkingDir = staticWorkingDir
+        self.overrideLoginUserName = overrideLoginUserName
+        self.overrideScratchLocation = overrideScratchLocation
+        self.overrideAllocationProjectNumber = overrideAllocationProjectNumber
+
+    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.resourceHostId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.I32:
+                    self.totalCPUCount = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 3:
+                if ftype == TType.I32:
+                    self.nodeCount = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.I32:
+                    self.numberOfThreads = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.STRING:
+                    self.queueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 6:
+                if ftype == TType.I32:
+                    self.wallTimeLimit = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 7:
+                if ftype == TType.I32:
+                    self.totalPhysicalMemory = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 8:
+                if ftype == TType.STRING:
+                    self.chessisNumber = 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.staticWorkingDir = 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.overrideLoginUserName = 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.overrideScratchLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 12:
+                if ftype == TType.STRING:
+                    self.overrideAllocationProjectNumber = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                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('ComputationalResourceSchedulingModel')
+        if self.resourceHostId is not None:
+            oprot.writeFieldBegin('resourceHostId', TType.STRING, 1)
+            oprot.writeString(self.resourceHostId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceHostId)
+            oprot.writeFieldEnd()
+        if self.totalCPUCount is not None:
+            oprot.writeFieldBegin('totalCPUCount', TType.I32, 2)
+            oprot.writeI32(self.totalCPUCount)
+            oprot.writeFieldEnd()
+        if self.nodeCount is not None:
+            oprot.writeFieldBegin('nodeCount', TType.I32, 3)
+            oprot.writeI32(self.nodeCount)
+            oprot.writeFieldEnd()
+        if self.numberOfThreads is not None:
+            oprot.writeFieldBegin('numberOfThreads', TType.I32, 4)
+            oprot.writeI32(self.numberOfThreads)
+            oprot.writeFieldEnd()
+        if self.queueName is not None:
+            oprot.writeFieldBegin('queueName', TType.STRING, 5)
+            oprot.writeString(self.queueName.encode('utf-8') if sys.version_info[0] == 2 else self.queueName)
+            oprot.writeFieldEnd()
+        if self.wallTimeLimit is not None:
+            oprot.writeFieldBegin('wallTimeLimit', TType.I32, 6)
+            oprot.writeI32(self.wallTimeLimit)
+            oprot.writeFieldEnd()
+        if self.totalPhysicalMemory is not None:
+            oprot.writeFieldBegin('totalPhysicalMemory', TType.I32, 7)
+            oprot.writeI32(self.totalPhysicalMemory)
+            oprot.writeFieldEnd()
+        if self.chessisNumber is not None:
+            oprot.writeFieldBegin('chessisNumber', TType.STRING, 8)
+            oprot.writeString(self.chessisNumber.encode('utf-8') if sys.version_info[0] == 2 else self.chessisNumber)
+            oprot.writeFieldEnd()
+        if self.staticWorkingDir is not None:
+            oprot.writeFieldBegin('staticWorkingDir', TType.STRING, 9)
+            oprot.writeString(self.staticWorkingDir.encode('utf-8') if sys.version_info[0] == 2 else self.staticWorkingDir)
+            oprot.writeFieldEnd()
+        if self.overrideLoginUserName is not None:
+            oprot.writeFieldBegin('overrideLoginUserName', TType.STRING, 10)
+            oprot.writeString(self.overrideLoginUserName.encode('utf-8') if sys.version_info[0] == 2 else self.overrideLoginUserName)
+            oprot.writeFieldEnd()
+        if self.overrideScratchLocation is not None:
+            oprot.writeFieldBegin('overrideScratchLocation', TType.STRING, 11)
+            oprot.writeString(self.overrideScratchLocation.encode('utf-8') if sys.version_info[0] == 2 else self.overrideScratchLocation)
+            oprot.writeFieldEnd()
+        if self.overrideAllocationProjectNumber is not None:
+            oprot.writeFieldBegin('overrideAllocationProjectNumber', TType.STRING, 12)
+            oprot.writeString(self.overrideAllocationProjectNumber.encode('utf-8') if sys.version_info[0] == 2 else self.overrideAllocationProjectNumber)
+            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/security/__init__.py
----------------------------------------------------------------------
diff --git a/apache/airavata/model/security/__init__.py b/apache/airavata/model/security/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/apache/airavata/model/security/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']