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/05 20:44:42 UTC

[40/52] [partial] airavata git commit: AIRAVATA-2505 Upgrade Airavata to Thrift 0.10.0

http://git-wip-us.apache.org/repos/asf/airavata/blob/8e775660/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/userresourceprofile/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/userresourceprofile/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/userresourceprofile/ttypes.py
index 5903ba0..1ce8736 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/userresourceprofile/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/userresourceprofile/ttypes.py
@@ -1,538 +1,498 @@
 #
-# Autogenerated by Thrift Compiler (0.9.3)
+# Autogenerated by Thrift Compiler (0.10.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
 #  options string: py
 #
 
-from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
 import apache.airavata.model.appcatalog.computeresource.ttypes
 import apache.airavata.model.data.movement.ttypes
 import apache.airavata.model.user.ttypes
 
-
 from thrift.transport import TTransport
-from thrift.protocol import TBinaryProtocol, TProtocol
-try:
-  from thrift.protocol import fastbinary
-except:
-  fastbinary = None
-
-
-
-class UserComputeResourcePreference:
-  """
-  User specific preferences for a Computer Resource
-
-  computeResourceId:
-    Corelate the preference to a compute resource.
-
-
-  loginUserName:
-    If turned true, Airavata will override the preferences of better alternatives exist.
-
-
-  preferredBatchQueue:
-   Gateways can choose a defualt batch queue based on average job dimention, reservations or other metrics.
-
-  scratchLocation:
-   Path to the local scratch space on a HPC cluster. Typically used to create working directory for job execution.
-
-  allocationProjectNumber:
-   Typically used on HPC machines to charge computing usage to a account number. For instance, on XSEDE once an
-     allocation is approved, an allocation number is assigned. Before passing this number with job submittions, the
-     account to be used has to be added to the allocation.
-
-  resourceSpecificCredentialStoreToken:
-   Resource specific credential store token. If this token is specified, then it is superceeded by the gateway's
-    default credential store.
-
-
-  Attributes:
-   - computeResourceId
-   - loginUserName
-   - preferredBatchQueue
-   - scratchLocation
-   - allocationProjectNumber
-   - resourceSpecificCredentialStoreToken
-   - qualityOfService
-   - reservation
-   - reservationStartTime
-   - reservationEndTime
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'computeResourceId', None, None, ), # 1
-    (2, TType.STRING, 'loginUserName', None, None, ), # 2
-    (3, TType.STRING, 'preferredBatchQueue', None, None, ), # 3
-    (4, TType.STRING, 'scratchLocation', None, None, ), # 4
-    (5, TType.STRING, 'allocationProjectNumber', None, None, ), # 5
-    (6, TType.STRING, 'resourceSpecificCredentialStoreToken', None, None, ), # 6
-    (7, TType.STRING, 'qualityOfService', None, None, ), # 7
-    (8, TType.STRING, 'reservation', None, None, ), # 8
-    (9, TType.I64, 'reservationStartTime', None, None, ), # 9
-    (10, TType.I64, 'reservationEndTime', None, None, ), # 10
-  )
-
-  def __init__(self, computeResourceId=None, loginUserName=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, qualityOfService=None, reservation=None, reservationStartTime=None, reservationEndTime=None,):
-    self.computeResourceId = computeResourceId
-    self.loginUserName = loginUserName
-    self.preferredBatchQueue = preferredBatchQueue
-    self.scratchLocation = scratchLocation
-    self.allocationProjectNumber = allocationProjectNumber
-    self.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken
-    self.qualityOfService = qualityOfService
-    self.reservation = reservation
-    self.reservationStartTime = reservationStartTime
-    self.reservationEndTime = reservationEndTime
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.computeResourceId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.loginUserName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.preferredBatchQueue = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.scratchLocation = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.STRING:
-          self.allocationProjectNumber = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 6:
-        if ftype == TType.STRING:
-          self.resourceSpecificCredentialStoreToken = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 7:
-        if ftype == TType.STRING:
-          self.qualityOfService = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 8:
-        if ftype == TType.STRING:
-          self.reservation = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 9:
-        if ftype == TType.I64:
-          self.reservationStartTime = iprot.readI64()
-        else:
-          iprot.skip(ftype)
-      elif fid == 10:
-        if ftype == TType.I64:
-          self.reservationEndTime = iprot.readI64()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('UserComputeResourcePreference')
-    if self.computeResourceId is not None:
-      oprot.writeFieldBegin('computeResourceId', TType.STRING, 1)
-      oprot.writeString(self.computeResourceId)
-      oprot.writeFieldEnd()
-    if self.loginUserName is not None:
-      oprot.writeFieldBegin('loginUserName', TType.STRING, 2)
-      oprot.writeString(self.loginUserName)
-      oprot.writeFieldEnd()
-    if self.preferredBatchQueue is not None:
-      oprot.writeFieldBegin('preferredBatchQueue', TType.STRING, 3)
-      oprot.writeString(self.preferredBatchQueue)
-      oprot.writeFieldEnd()
-    if self.scratchLocation is not None:
-      oprot.writeFieldBegin('scratchLocation', TType.STRING, 4)
-      oprot.writeString(self.scratchLocation)
-      oprot.writeFieldEnd()
-    if self.allocationProjectNumber is not None:
-      oprot.writeFieldBegin('allocationProjectNumber', TType.STRING, 5)
-      oprot.writeString(self.allocationProjectNumber)
-      oprot.writeFieldEnd()
-    if self.resourceSpecificCredentialStoreToken is not None:
-      oprot.writeFieldBegin('resourceSpecificCredentialStoreToken', TType.STRING, 6)
-      oprot.writeString(self.resourceSpecificCredentialStoreToken)
-      oprot.writeFieldEnd()
-    if self.qualityOfService is not None:
-      oprot.writeFieldBegin('qualityOfService', TType.STRING, 7)
-      oprot.writeString(self.qualityOfService)
-      oprot.writeFieldEnd()
-    if self.reservation is not None:
-      oprot.writeFieldBegin('reservation', TType.STRING, 8)
-      oprot.writeString(self.reservation)
-      oprot.writeFieldEnd()
-    if self.reservationStartTime is not None:
-      oprot.writeFieldBegin('reservationStartTime', TType.I64, 9)
-      oprot.writeI64(self.reservationStartTime)
-      oprot.writeFieldEnd()
-    if self.reservationEndTime is not None:
-      oprot.writeFieldBegin('reservationEndTime', TType.I64, 10)
-      oprot.writeI64(self.reservationEndTime)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.computeResourceId is None:
-      raise TProtocol.TProtocolException(message='Required field computeResourceId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.computeResourceId)
-    value = (value * 31) ^ hash(self.loginUserName)
-    value = (value * 31) ^ hash(self.preferredBatchQueue)
-    value = (value * 31) ^ hash(self.scratchLocation)
-    value = (value * 31) ^ hash(self.allocationProjectNumber)
-    value = (value * 31) ^ hash(self.resourceSpecificCredentialStoreToken)
-    value = (value * 31) ^ hash(self.qualityOfService)
-    value = (value * 31) ^ hash(self.reservation)
-    value = (value * 31) ^ hash(self.reservationStartTime)
-    value = (value * 31) ^ hash(self.reservationEndTime)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class UserStoragePreference:
-  """
-  Attributes:
-   - storageResourceId
-   - loginUserName
-   - fileSystemRootLocation
-   - resourceSpecificCredentialStoreToken
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'storageResourceId', None, None, ), # 1
-    (2, TType.STRING, 'loginUserName', None, None, ), # 2
-    (3, TType.STRING, 'fileSystemRootLocation', None, None, ), # 3
-    (4, TType.STRING, 'resourceSpecificCredentialStoreToken', None, None, ), # 4
-  )
-
-  def __init__(self, storageResourceId=None, loginUserName=None, fileSystemRootLocation=None, resourceSpecificCredentialStoreToken=None,):
-    self.storageResourceId = storageResourceId
-    self.loginUserName = loginUserName
-    self.fileSystemRootLocation = fileSystemRootLocation
-    self.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.storageResourceId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.loginUserName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.fileSystemRootLocation = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.resourceSpecificCredentialStoreToken = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('UserStoragePreference')
-    if self.storageResourceId is not None:
-      oprot.writeFieldBegin('storageResourceId', TType.STRING, 1)
-      oprot.writeString(self.storageResourceId)
-      oprot.writeFieldEnd()
-    if self.loginUserName is not None:
-      oprot.writeFieldBegin('loginUserName', TType.STRING, 2)
-      oprot.writeString(self.loginUserName)
-      oprot.writeFieldEnd()
-    if self.fileSystemRootLocation is not None:
-      oprot.writeFieldBegin('fileSystemRootLocation', TType.STRING, 3)
-      oprot.writeString(self.fileSystemRootLocation)
-      oprot.writeFieldEnd()
-    if self.resourceSpecificCredentialStoreToken is not None:
-      oprot.writeFieldBegin('resourceSpecificCredentialStoreToken', TType.STRING, 4)
-      oprot.writeString(self.resourceSpecificCredentialStoreToken)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.storageResourceId is None:
-      raise TProtocol.TProtocolException(message='Required field storageResourceId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.storageResourceId)
-    value = (value * 31) ^ hash(self.loginUserName)
-    value = (value * 31) ^ hash(self.fileSystemRootLocation)
-    value = (value * 31) ^ hash(self.resourceSpecificCredentialStoreToken)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class UserResourceProfile:
-  """
-  User Resource Profile
-
-  userId:
-  Unique identifier used to link user to corresponding user data model
-
-  gatewayID:
-   Unique identifier for the gateway assigned by Airavata. Corelate this to Airavata Admin API Gateway Registration.
-
-  credentialStoreToken:
-   Gateway's defualt credential store token.
-
-  computeResourcePreferences:
-   List of resource preferences for each of the registered compute resources.
-
-   identityServerTenant:
-
-   identityServerPwdCredToken:
-
-  isNull:
-   Indicates that this instance is just a container for a null value.
-
-
-  Attributes:
-   - userId
-   - gatewayID
-   - credentialStoreToken
-   - userComputeResourcePreferences
-   - userStoragePreferences
-   - identityServerTenant
-   - identityServerPwdCredToken
-   - isNull
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'userId', None, None, ), # 1
-    (2, TType.STRING, 'gatewayID', None, None, ), # 2
-    (3, TType.STRING, 'credentialStoreToken', None, None, ), # 3
-    (4, TType.LIST, 'userComputeResourcePreferences', (TType.STRUCT,(UserComputeResourcePreference, UserComputeResourcePreference.thrift_spec)), None, ), # 4
-    (5, TType.LIST, 'userStoragePreferences', (TType.STRUCT,(UserStoragePreference, UserStoragePreference.thrift_spec)), None, ), # 5
-    (6, TType.STRING, 'identityServerTenant', None, None, ), # 6
-    (7, TType.STRING, 'identityServerPwdCredToken', None, None, ), # 7
-    (8, TType.BOOL, 'isNull', None, False, ), # 8
-  )
-
-  def __init__(self, userId=None, gatewayID=None, credentialStoreToken=None, userComputeResourcePreferences=None, userStoragePreferences=None, identityServerTenant=None, identityServerPwdCredToken=None, isNull=thrift_spec[8][4],):
-    self.userId = userId
-    self.gatewayID = gatewayID
-    self.credentialStoreToken = credentialStoreToken
-    self.userComputeResourcePreferences = userComputeResourcePreferences
-    self.userStoragePreferences = userStoragePreferences
-    self.identityServerTenant = identityServerTenant
-    self.identityServerPwdCredToken = identityServerPwdCredToken
-    self.isNull = isNull
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.userId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.gatewayID = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.credentialStoreToken = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.LIST:
-          self.userComputeResourcePreferences = []
-          (_etype3, _size0) = iprot.readListBegin()
-          for _i4 in xrange(_size0):
-            _elem5 = UserComputeResourcePreference()
-            _elem5.read(iprot)
-            self.userComputeResourcePreferences.append(_elem5)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.LIST:
-          self.userStoragePreferences = []
-          (_etype9, _size6) = iprot.readListBegin()
-          for _i10 in xrange(_size6):
-            _elem11 = UserStoragePreference()
-            _elem11.read(iprot)
-            self.userStoragePreferences.append(_elem11)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 6:
-        if ftype == TType.STRING:
-          self.identityServerTenant = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 7:
-        if ftype == TType.STRING:
-          self.identityServerPwdCredToken = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 8:
-        if ftype == TType.BOOL:
-          self.isNull = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('UserResourceProfile')
-    if self.userId is not None:
-      oprot.writeFieldBegin('userId', TType.STRING, 1)
-      oprot.writeString(self.userId)
-      oprot.writeFieldEnd()
-    if self.gatewayID is not None:
-      oprot.writeFieldBegin('gatewayID', TType.STRING, 2)
-      oprot.writeString(self.gatewayID)
-      oprot.writeFieldEnd()
-    if self.credentialStoreToken is not None:
-      oprot.writeFieldBegin('credentialStoreToken', TType.STRING, 3)
-      oprot.writeString(self.credentialStoreToken)
-      oprot.writeFieldEnd()
-    if self.userComputeResourcePreferences is not None:
-      oprot.writeFieldBegin('userComputeResourcePreferences', TType.LIST, 4)
-      oprot.writeListBegin(TType.STRUCT, len(self.userComputeResourcePreferences))
-      for iter12 in self.userComputeResourcePreferences:
-        iter12.write(oprot)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.userStoragePreferences is not None:
-      oprot.writeFieldBegin('userStoragePreferences', TType.LIST, 5)
-      oprot.writeListBegin(TType.STRUCT, len(self.userStoragePreferences))
-      for iter13 in self.userStoragePreferences:
-        iter13.write(oprot)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.identityServerTenant is not None:
-      oprot.writeFieldBegin('identityServerTenant', TType.STRING, 6)
-      oprot.writeString(self.identityServerTenant)
-      oprot.writeFieldEnd()
-    if self.identityServerPwdCredToken is not None:
-      oprot.writeFieldBegin('identityServerPwdCredToken', TType.STRING, 7)
-      oprot.writeString(self.identityServerPwdCredToken)
-      oprot.writeFieldEnd()
-    if self.isNull is not None:
-      oprot.writeFieldBegin('isNull', TType.BOOL, 8)
-      oprot.writeBool(self.isNull)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.userId is None:
-      raise TProtocol.TProtocolException(message='Required field userId is unset!')
-    if self.gatewayID is None:
-      raise TProtocol.TProtocolException(message='Required field gatewayID is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.userId)
-    value = (value * 31) ^ hash(self.gatewayID)
-    value = (value * 31) ^ hash(self.credentialStoreToken)
-    value = (value * 31) ^ hash(self.userComputeResourcePreferences)
-    value = (value * 31) ^ hash(self.userStoragePreferences)
-    value = (value * 31) ^ hash(self.identityServerTenant)
-    value = (value * 31) ^ hash(self.identityServerPwdCredToken)
-    value = (value * 31) ^ hash(self.isNull)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
+
+
+class UserComputeResourcePreference(object):
+    """
+    User specific preferences for a Computer Resource
+
+    computeResourceId:
+      Corelate the preference to a compute resource.
+
+
+    loginUserName:
+      If turned true, Airavata will override the preferences of better alternatives exist.
+
+
+    preferredBatchQueue:
+     Gateways can choose a defualt batch queue based on average job dimention, reservations or other metrics.
+
+    scratchLocation:
+     Path to the local scratch space on a HPC cluster. Typically used to create working directory for job execution.
+
+    allocationProjectNumber:
+     Typically used on HPC machines to charge computing usage to a account number. For instance, on XSEDE once an
+       allocation is approved, an allocation number is assigned. Before passing this number with job submittions, the
+       account to be used has to be added to the allocation.
+
+    resourceSpecificCredentialStoreToken:
+     Resource specific credential store token. If this token is specified, then it is superceeded by the gateway's
+      default credential store.
+
+
+    Attributes:
+     - computeResourceId
+     - loginUserName
+     - preferredBatchQueue
+     - scratchLocation
+     - allocationProjectNumber
+     - resourceSpecificCredentialStoreToken
+     - qualityOfService
+     - reservation
+     - reservationStartTime
+     - reservationEndTime
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 3
+        (4, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 4
+        (5, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 5
+        (6, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 6
+        (7, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 7
+        (8, TType.STRING, 'reservation', 'UTF8', None, ),  # 8
+        (9, TType.I64, 'reservationStartTime', None, None, ),  # 9
+        (10, TType.I64, 'reservationEndTime', None, None, ),  # 10
+    )
+
+    def __init__(self, computeResourceId=None, loginUserName=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, qualityOfService=None, reservation=None, reservationStartTime=None, reservationEndTime=None,):
+        self.computeResourceId = computeResourceId
+        self.loginUserName = loginUserName
+        self.preferredBatchQueue = preferredBatchQueue
+        self.scratchLocation = scratchLocation
+        self.allocationProjectNumber = allocationProjectNumber
+        self.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken
+        self.qualityOfService = qualityOfService
+        self.reservation = reservation
+        self.reservationStartTime = reservationStartTime
+        self.reservationEndTime = reservationEndTime
+
+    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.computeResourceId = 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.loginUserName = 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.preferredBatchQueue = 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.scratchLocation = 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.allocationProjectNumber = 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.resourceSpecificCredentialStoreToken = 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.qualityOfService = 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.reservation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 9:
+                if ftype == TType.I64:
+                    self.reservationStartTime = iprot.readI64()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 10:
+                if ftype == TType.I64:
+                    self.reservationEndTime = 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('UserComputeResourcePreference')
+        if self.computeResourceId is not None:
+            oprot.writeFieldBegin('computeResourceId', TType.STRING, 1)
+            oprot.writeString(self.computeResourceId.encode('utf-8') if sys.version_info[0] == 2 else self.computeResourceId)
+            oprot.writeFieldEnd()
+        if self.loginUserName is not None:
+            oprot.writeFieldBegin('loginUserName', TType.STRING, 2)
+            oprot.writeString(self.loginUserName.encode('utf-8') if sys.version_info[0] == 2 else self.loginUserName)
+            oprot.writeFieldEnd()
+        if self.preferredBatchQueue is not None:
+            oprot.writeFieldBegin('preferredBatchQueue', TType.STRING, 3)
+            oprot.writeString(self.preferredBatchQueue.encode('utf-8') if sys.version_info[0] == 2 else self.preferredBatchQueue)
+            oprot.writeFieldEnd()
+        if self.scratchLocation is not None:
+            oprot.writeFieldBegin('scratchLocation', TType.STRING, 4)
+            oprot.writeString(self.scratchLocation.encode('utf-8') if sys.version_info[0] == 2 else self.scratchLocation)
+            oprot.writeFieldEnd()
+        if self.allocationProjectNumber is not None:
+            oprot.writeFieldBegin('allocationProjectNumber', TType.STRING, 5)
+            oprot.writeString(self.allocationProjectNumber.encode('utf-8') if sys.version_info[0] == 2 else self.allocationProjectNumber)
+            oprot.writeFieldEnd()
+        if self.resourceSpecificCredentialStoreToken is not None:
+            oprot.writeFieldBegin('resourceSpecificCredentialStoreToken', TType.STRING, 6)
+            oprot.writeString(self.resourceSpecificCredentialStoreToken.encode('utf-8') if sys.version_info[0] == 2 else self.resourceSpecificCredentialStoreToken)
+            oprot.writeFieldEnd()
+        if self.qualityOfService is not None:
+            oprot.writeFieldBegin('qualityOfService', TType.STRING, 7)
+            oprot.writeString(self.qualityOfService.encode('utf-8') if sys.version_info[0] == 2 else self.qualityOfService)
+            oprot.writeFieldEnd()
+        if self.reservation is not None:
+            oprot.writeFieldBegin('reservation', TType.STRING, 8)
+            oprot.writeString(self.reservation.encode('utf-8') if sys.version_info[0] == 2 else self.reservation)
+            oprot.writeFieldEnd()
+        if self.reservationStartTime is not None:
+            oprot.writeFieldBegin('reservationStartTime', TType.I64, 9)
+            oprot.writeI64(self.reservationStartTime)
+            oprot.writeFieldEnd()
+        if self.reservationEndTime is not None:
+            oprot.writeFieldBegin('reservationEndTime', TType.I64, 10)
+            oprot.writeI64(self.reservationEndTime)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.computeResourceId is None:
+            raise TProtocolException(message='Required field computeResourceId 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 UserStoragePreference(object):
+    """
+    Attributes:
+     - storageResourceId
+     - loginUserName
+     - fileSystemRootLocation
+     - resourceSpecificCredentialStoreToken
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'fileSystemRootLocation', 'UTF8', None, ),  # 3
+        (4, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 4
+    )
+
+    def __init__(self, storageResourceId=None, loginUserName=None, fileSystemRootLocation=None, resourceSpecificCredentialStoreToken=None,):
+        self.storageResourceId = storageResourceId
+        self.loginUserName = loginUserName
+        self.fileSystemRootLocation = fileSystemRootLocation
+        self.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken
+
+    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.storageResourceId = 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.loginUserName = 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.fileSystemRootLocation = 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.resourceSpecificCredentialStoreToken = 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('UserStoragePreference')
+        if self.storageResourceId is not None:
+            oprot.writeFieldBegin('storageResourceId', TType.STRING, 1)
+            oprot.writeString(self.storageResourceId.encode('utf-8') if sys.version_info[0] == 2 else self.storageResourceId)
+            oprot.writeFieldEnd()
+        if self.loginUserName is not None:
+            oprot.writeFieldBegin('loginUserName', TType.STRING, 2)
+            oprot.writeString(self.loginUserName.encode('utf-8') if sys.version_info[0] == 2 else self.loginUserName)
+            oprot.writeFieldEnd()
+        if self.fileSystemRootLocation is not None:
+            oprot.writeFieldBegin('fileSystemRootLocation', TType.STRING, 3)
+            oprot.writeString(self.fileSystemRootLocation.encode('utf-8') if sys.version_info[0] == 2 else self.fileSystemRootLocation)
+            oprot.writeFieldEnd()
+        if self.resourceSpecificCredentialStoreToken is not None:
+            oprot.writeFieldBegin('resourceSpecificCredentialStoreToken', TType.STRING, 4)
+            oprot.writeString(self.resourceSpecificCredentialStoreToken.encode('utf-8') if sys.version_info[0] == 2 else self.resourceSpecificCredentialStoreToken)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.storageResourceId is None:
+            raise TProtocolException(message='Required field storageResourceId 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 UserResourceProfile(object):
+    """
+    User Resource Profile
+
+    userId:
+    Unique identifier used to link user to corresponding user data model
+
+    gatewayID:
+     Unique identifier for the gateway assigned by Airavata. Corelate this to Airavata Admin API Gateway Registration.
+
+    credentialStoreToken:
+     Gateway's defualt credential store token.
+
+    computeResourcePreferences:
+     List of resource preferences for each of the registered compute resources.
+
+     identityServerTenant:
+
+     identityServerPwdCredToken:
+
+    isNull:
+     Indicates that this instance is just a container for a null value.
+
+
+    Attributes:
+     - userId
+     - gatewayID
+     - credentialStoreToken
+     - userComputeResourcePreferences
+     - userStoragePreferences
+     - identityServerTenant
+     - identityServerPwdCredToken
+     - isNull
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'userId', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+        (3, TType.STRING, 'credentialStoreToken', 'UTF8', None, ),  # 3
+        (4, TType.LIST, 'userComputeResourcePreferences', (TType.STRUCT, (UserComputeResourcePreference, UserComputeResourcePreference.thrift_spec), False), None, ),  # 4
+        (5, TType.LIST, 'userStoragePreferences', (TType.STRUCT, (UserStoragePreference, UserStoragePreference.thrift_spec), False), None, ),  # 5
+        (6, TType.STRING, 'identityServerTenant', 'UTF8', None, ),  # 6
+        (7, TType.STRING, 'identityServerPwdCredToken', 'UTF8', None, ),  # 7
+        (8, TType.BOOL, 'isNull', None, False, ),  # 8
+    )
+
+    def __init__(self, userId=None, gatewayID=None, credentialStoreToken=None, userComputeResourcePreferences=None, userStoragePreferences=None, identityServerTenant=None, identityServerPwdCredToken=None, isNull=thrift_spec[8][4],):
+        self.userId = userId
+        self.gatewayID = gatewayID
+        self.credentialStoreToken = credentialStoreToken
+        self.userComputeResourcePreferences = userComputeResourcePreferences
+        self.userStoragePreferences = userStoragePreferences
+        self.identityServerTenant = identityServerTenant
+        self.identityServerPwdCredToken = identityServerPwdCredToken
+        self.isNull = isNull
+
+    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.userId = 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.credentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.LIST:
+                    self.userComputeResourcePreferences = []
+                    (_etype3, _size0) = iprot.readListBegin()
+                    for _i4 in range(_size0):
+                        _elem5 = UserComputeResourcePreference()
+                        _elem5.read(iprot)
+                        self.userComputeResourcePreferences.append(_elem5)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.LIST:
+                    self.userStoragePreferences = []
+                    (_etype9, _size6) = iprot.readListBegin()
+                    for _i10 in range(_size6):
+                        _elem11 = UserStoragePreference()
+                        _elem11.read(iprot)
+                        self.userStoragePreferences.append(_elem11)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 6:
+                if ftype == TType.STRING:
+                    self.identityServerTenant = 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.identityServerPwdCredToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 8:
+                if ftype == TType.BOOL:
+                    self.isNull = 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('UserResourceProfile')
+        if self.userId is not None:
+            oprot.writeFieldBegin('userId', TType.STRING, 1)
+            oprot.writeString(self.userId.encode('utf-8') if sys.version_info[0] == 2 else self.userId)
+            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.credentialStoreToken is not None:
+            oprot.writeFieldBegin('credentialStoreToken', TType.STRING, 3)
+            oprot.writeString(self.credentialStoreToken.encode('utf-8') if sys.version_info[0] == 2 else self.credentialStoreToken)
+            oprot.writeFieldEnd()
+        if self.userComputeResourcePreferences is not None:
+            oprot.writeFieldBegin('userComputeResourcePreferences', TType.LIST, 4)
+            oprot.writeListBegin(TType.STRUCT, len(self.userComputeResourcePreferences))
+            for iter12 in self.userComputeResourcePreferences:
+                iter12.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.userStoragePreferences is not None:
+            oprot.writeFieldBegin('userStoragePreferences', TType.LIST, 5)
+            oprot.writeListBegin(TType.STRUCT, len(self.userStoragePreferences))
+            for iter13 in self.userStoragePreferences:
+                iter13.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.identityServerTenant is not None:
+            oprot.writeFieldBegin('identityServerTenant', TType.STRING, 6)
+            oprot.writeString(self.identityServerTenant.encode('utf-8') if sys.version_info[0] == 2 else self.identityServerTenant)
+            oprot.writeFieldEnd()
+        if self.identityServerPwdCredToken is not None:
+            oprot.writeFieldBegin('identityServerPwdCredToken', TType.STRING, 7)
+            oprot.writeString(self.identityServerPwdCredToken.encode('utf-8') if sys.version_info[0] == 2 else self.identityServerPwdCredToken)
+            oprot.writeFieldEnd()
+        if self.isNull is not None:
+            oprot.writeFieldBegin('isNull', TType.BOOL, 8)
+            oprot.writeBool(self.isNull)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.userId is None:
+            raise TProtocolException(message='Required field userId 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)

http://git-wip-us.apache.org/repos/asf/airavata/blob/8e775660/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
index 4a6492b..eb0d35a 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
@@ -1,11 +1,12 @@
 #
-# Autogenerated by Thrift Compiler (0.9.3)
+# Autogenerated by Thrift Compiler (0.10.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
 #  options string: py
 #
 
-from thrift.Thrift import TType, TMessageType, TException, TApplicationException
-from ttypes import *
-
+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/blob/8e775660/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
index 0e678da..da1e363 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
@@ -1,523 +1,486 @@
 #
-# Autogenerated by Thrift Compiler (0.9.3)
+# Autogenerated by Thrift Compiler (0.10.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
 #  options string: py
 #
 
-from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
 import apache.airavata.model.appcatalog.computeresource.ttypes
 
-
 from thrift.transport import TTransport
-from thrift.protocol import TBinaryProtocol, TProtocol
-try:
-  from thrift.protocol import fastbinary
-except:
-  fastbinary = None
-
-
-class DataType:
-  """
-  Data Types supported in Airavata. The primitive data types
-
-  """
-  STRING = 0
-  INTEGER = 1
-  FLOAT = 2
-  URI = 3
-  URI_COLLECTION = 4
-  STDOUT = 5
-  STDERR = 6
-
-  _VALUES_TO_NAMES = {
-    0: "STRING",
-    1: "INTEGER",
-    2: "FLOAT",
-    3: "URI",
-    4: "URI_COLLECTION",
-    5: "STDOUT",
-    6: "STDERR",
-  }
-
-  _NAMES_TO_VALUES = {
-    "STRING": 0,
-    "INTEGER": 1,
-    "FLOAT": 2,
-    "URI": 3,
-    "URI_COLLECTION": 4,
-    "STDOUT": 5,
-    "STDERR": 6,
-  }
-
-
-class InputDataObjectType:
-  """
-  Application Inputs. The paramters describe how inputs are passed to the application.
-
-  name:
-    Name of the parameter.
-
-  value:
-    Value of the parameter. A default value could be set during registration.
-
-  type:
-    Data type of the parameter
-
-  applicationArguement:
-    The argument flag sent to the application. Such as -p pressure.
-
-  standardInput:
-    When this value is set, the parameter is sent as standard input rather than a parameter.
-    Typically this is passed using redirection operator ">".
-
-  userFriendlyDescription:
-    Description to be displayed at the user interface.
-
-  metaData:
-    Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
-
-
-  Attributes:
-   - name
-   - value
-   - type
-   - applicationArgument
-   - standardInput
-   - userFriendlyDescription
-   - metaData
-   - inputOrder
-   - isRequired
-   - requiredToAddedToCommandLine
-   - dataStaged
-   - storageResourceId
-   - isReadOnly
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'name', None, None, ), # 1
-    (2, TType.STRING, 'value', None, None, ), # 2
-    (3, TType.I32, 'type', None, None, ), # 3
-    (4, TType.STRING, 'applicationArgument', None, None, ), # 4
-    (5, TType.BOOL, 'standardInput', None, None, ), # 5
-    (6, TType.STRING, 'userFriendlyDescription', None, None, ), # 6
-    (7, TType.STRING, 'metaData', None, None, ), # 7
-    (8, TType.I32, 'inputOrder', None, None, ), # 8
-    (9, TType.BOOL, 'isRequired', None, None, ), # 9
-    (10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ), # 10
-    (11, TType.BOOL, 'dataStaged', None, None, ), # 11
-    (12, TType.STRING, 'storageResourceId', None, None, ), # 12
-    (13, TType.BOOL, 'isReadOnly', None, None, ), # 13
-  )
-
-  def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None, storageResourceId=None, isReadOnly=None,):
-    self.name = name
-    self.value = value
-    self.type = type
-    self.applicationArgument = applicationArgument
-    self.standardInput = standardInput
-    self.userFriendlyDescription = userFriendlyDescription
-    self.metaData = metaData
-    self.inputOrder = inputOrder
-    self.isRequired = isRequired
-    self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
-    self.dataStaged = dataStaged
-    self.storageResourceId = storageResourceId
-    self.isReadOnly = isReadOnly
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.name = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.value = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.I32:
-          self.type = iprot.readI32()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.applicationArgument = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.BOOL:
-          self.standardInput = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 6:
-        if ftype == TType.STRING:
-          self.userFriendlyDescription = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 7:
-        if ftype == TType.STRING:
-          self.metaData = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 8:
-        if ftype == TType.I32:
-          self.inputOrder = iprot.readI32()
-        else:
-          iprot.skip(ftype)
-      elif fid == 9:
-        if ftype == TType.BOOL:
-          self.isRequired = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 10:
-        if ftype == TType.BOOL:
-          self.requiredToAddedToCommandLine = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 11:
-        if ftype == TType.BOOL:
-          self.dataStaged = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 12:
-        if ftype == TType.STRING:
-          self.storageResourceId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 13:
-        if ftype == TType.BOOL:
-          self.isReadOnly = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('InputDataObjectType')
-    if self.name is not None:
-      oprot.writeFieldBegin('name', TType.STRING, 1)
-      oprot.writeString(self.name)
-      oprot.writeFieldEnd()
-    if self.value is not None:
-      oprot.writeFieldBegin('value', TType.STRING, 2)
-      oprot.writeString(self.value)
-      oprot.writeFieldEnd()
-    if self.type is not None:
-      oprot.writeFieldBegin('type', TType.I32, 3)
-      oprot.writeI32(self.type)
-      oprot.writeFieldEnd()
-    if self.applicationArgument is not None:
-      oprot.writeFieldBegin('applicationArgument', TType.STRING, 4)
-      oprot.writeString(self.applicationArgument)
-      oprot.writeFieldEnd()
-    if self.standardInput is not None:
-      oprot.writeFieldBegin('standardInput', TType.BOOL, 5)
-      oprot.writeBool(self.standardInput)
-      oprot.writeFieldEnd()
-    if self.userFriendlyDescription is not None:
-      oprot.writeFieldBegin('userFriendlyDescription', TType.STRING, 6)
-      oprot.writeString(self.userFriendlyDescription)
-      oprot.writeFieldEnd()
-    if self.metaData is not None:
-      oprot.writeFieldBegin('metaData', TType.STRING, 7)
-      oprot.writeString(self.metaData)
-      oprot.writeFieldEnd()
-    if self.inputOrder is not None:
-      oprot.writeFieldBegin('inputOrder', TType.I32, 8)
-      oprot.writeI32(self.inputOrder)
-      oprot.writeFieldEnd()
-    if self.isRequired is not None:
-      oprot.writeFieldBegin('isRequired', TType.BOOL, 9)
-      oprot.writeBool(self.isRequired)
-      oprot.writeFieldEnd()
-    if self.requiredToAddedToCommandLine is not None:
-      oprot.writeFieldBegin('requiredToAddedToCommandLine', TType.BOOL, 10)
-      oprot.writeBool(self.requiredToAddedToCommandLine)
-      oprot.writeFieldEnd()
-    if self.dataStaged is not None:
-      oprot.writeFieldBegin('dataStaged', TType.BOOL, 11)
-      oprot.writeBool(self.dataStaged)
-      oprot.writeFieldEnd()
-    if self.storageResourceId is not None:
-      oprot.writeFieldBegin('storageResourceId', TType.STRING, 12)
-      oprot.writeString(self.storageResourceId)
-      oprot.writeFieldEnd()
-    if self.isReadOnly is not None:
-      oprot.writeFieldBegin('isReadOnly', TType.BOOL, 13)
-      oprot.writeBool(self.isReadOnly)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.name is None:
-      raise TProtocol.TProtocolException(message='Required field name is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.name)
-    value = (value * 31) ^ hash(self.value)
-    value = (value * 31) ^ hash(self.type)
-    value = (value * 31) ^ hash(self.applicationArgument)
-    value = (value * 31) ^ hash(self.standardInput)
-    value = (value * 31) ^ hash(self.userFriendlyDescription)
-    value = (value * 31) ^ hash(self.metaData)
-    value = (value * 31) ^ hash(self.inputOrder)
-    value = (value * 31) ^ hash(self.isRequired)
-    value = (value * 31) ^ hash(self.requiredToAddedToCommandLine)
-    value = (value * 31) ^ hash(self.dataStaged)
-    value = (value * 31) ^ hash(self.storageResourceId)
-    value = (value * 31) ^ hash(self.isReadOnly)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class OutputDataObjectType:
-  """
-  Application Outputs. The paramters describe how outputs generated by the application.
-
-  name:
-    Name of the parameter.
-
-  value:
-    Value of the parameter.
-
-  type:
-    Data type of the parameter
-
-  applicationArguement:
-    The argument flag sent to the application. Such as -p pressure.
-
-  standardInput:
-    When this value is set, the parameter is sent as standard input rather than a parameter.
-    Typically this is passed using redirection operator ">".
-
-  userFriendlyDescription:
-    Description to be displayed at the user interface.
-
-  metaData:
-    Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
-
-
-  Attributes:
-   - name
-   - value
-   - type
-   - applicationArgument
-   - isRequired
-   - requiredToAddedToCommandLine
-   - dataMovement
-   - location
-   - searchQuery
-   - outputStreaming
-   - storageResourceId
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'name', None, None, ), # 1
-    (2, TType.STRING, 'value', None, None, ), # 2
-    (3, TType.I32, 'type', None, None, ), # 3
-    (4, TType.STRING, 'applicationArgument', None, None, ), # 4
-    (5, TType.BOOL, 'isRequired', None, None, ), # 5
-    (6, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ), # 6
-    (7, TType.BOOL, 'dataMovement', None, None, ), # 7
-    (8, TType.STRING, 'location', None, None, ), # 8
-    (9, TType.STRING, 'searchQuery', None, None, ), # 9
-    (10, TType.BOOL, 'outputStreaming', None, None, ), # 10
-    (11, TType.STRING, 'storageResourceId', None, None, ), # 11
-  )
-
-  def __init__(self, name=None, value=None, type=None, applicationArgument=None, isRequired=None, requiredToAddedToCommandLine=None, dataMovement=None, location=None, searchQuery=None, outputStreaming=None, storageResourceId=None,):
-    self.name = name
-    self.value = value
-    self.type = type
-    self.applicationArgument = applicationArgument
-    self.isRequired = isRequired
-    self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
-    self.dataMovement = dataMovement
-    self.location = location
-    self.searchQuery = searchQuery
-    self.outputStreaming = outputStreaming
-    self.storageResourceId = storageResourceId
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.name = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.value = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.I32:
-          self.type = iprot.readI32()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.applicationArgument = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.BOOL:
-          self.isRequired = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 6:
-        if ftype == TType.BOOL:
-          self.requiredToAddedToCommandLine = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 7:
-        if ftype == TType.BOOL:
-          self.dataMovement = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 8:
-        if ftype == TType.STRING:
-          self.location = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 9:
-        if ftype == TType.STRING:
-          self.searchQuery = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 10:
-        if ftype == TType.BOOL:
-          self.outputStreaming = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      elif fid == 11:
-        if ftype == TType.STRING:
-          self.storageResourceId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('OutputDataObjectType')
-    if self.name is not None:
-      oprot.writeFieldBegin('name', TType.STRING, 1)
-      oprot.writeString(self.name)
-      oprot.writeFieldEnd()
-    if self.value is not None:
-      oprot.writeFieldBegin('value', TType.STRING, 2)
-      oprot.writeString(self.value)
-      oprot.writeFieldEnd()
-    if self.type is not None:
-      oprot.writeFieldBegin('type', TType.I32, 3)
-      oprot.writeI32(self.type)
-      oprot.writeFieldEnd()
-    if self.applicationArgument is not None:
-      oprot.writeFieldBegin('applicationArgument', TType.STRING, 4)
-      oprot.writeString(self.applicationArgument)
-      oprot.writeFieldEnd()
-    if self.isRequired is not None:
-      oprot.writeFieldBegin('isRequired', TType.BOOL, 5)
-      oprot.writeBool(self.isRequired)
-      oprot.writeFieldEnd()
-    if self.requiredToAddedToCommandLine is not None:
-      oprot.writeFieldBegin('requiredToAddedToCommandLine', TType.BOOL, 6)
-      oprot.writeBool(self.requiredToAddedToCommandLine)
-      oprot.writeFieldEnd()
-    if self.dataMovement is not None:
-      oprot.writeFieldBegin('dataMovement', TType.BOOL, 7)
-      oprot.writeBool(self.dataMovement)
-      oprot.writeFieldEnd()
-    if self.location is not None:
-      oprot.writeFieldBegin('location', TType.STRING, 8)
-      oprot.writeString(self.location)
-      oprot.writeFieldEnd()
-    if self.searchQuery is not None:
-      oprot.writeFieldBegin('searchQuery', TType.STRING, 9)
-      oprot.writeString(self.searchQuery)
-      oprot.writeFieldEnd()
-    if self.outputStreaming is not None:
-      oprot.writeFieldBegin('outputStreaming', TType.BOOL, 10)
-      oprot.writeBool(self.outputStreaming)
-      oprot.writeFieldEnd()
-    if self.storageResourceId is not None:
-      oprot.writeFieldBegin('storageResourceId', TType.STRING, 11)
-      oprot.writeString(self.storageResourceId)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.name is None:
-      raise TProtocol.TProtocolException(message='Required field name is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.name)
-    value = (value * 31) ^ hash(self.value)
-    value = (value * 31) ^ hash(self.type)
-    value = (value * 31) ^ hash(self.applicationArgument)
-    value = (value * 31) ^ hash(self.isRequired)
-    value = (value * 31) ^ hash(self.requiredToAddedToCommandLine)
-    value = (value * 31) ^ hash(self.dataMovement)
-    value = (value * 31) ^ hash(self.location)
-    value = (value * 31) ^ hash(self.searchQuery)
-    value = (value * 31) ^ hash(self.outputStreaming)
-    value = (value * 31) ^ hash(self.storageResourceId)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
+
+
+class DataType(object):
+    """
+    Data Types supported in Airavata. The primitive data types
+
+    """
+    STRING = 0
+    INTEGER = 1
+    FLOAT = 2
+    URI = 3
+    URI_COLLECTION = 4
+    STDOUT = 5
+    STDERR = 6
+
+    _VALUES_TO_NAMES = {
+        0: "STRING",
+        1: "INTEGER",
+        2: "FLOAT",
+        3: "URI",
+        4: "URI_COLLECTION",
+        5: "STDOUT",
+        6: "STDERR",
+    }
+
+    _NAMES_TO_VALUES = {
+        "STRING": 0,
+        "INTEGER": 1,
+        "FLOAT": 2,
+        "URI": 3,
+        "URI_COLLECTION": 4,
+        "STDOUT": 5,
+        "STDERR": 6,
+    }
+
+
+class InputDataObjectType(object):
+    """
+    Application Inputs. The paramters describe how inputs are passed to the application.
+
+    name:
+      Name of the parameter.
+
+    value:
+      Value of the parameter. A default value could be set during registration.
+
+    type:
+      Data type of the parameter
+
+    applicationArguement:
+      The argument flag sent to the application. Such as -p pressure.
+
+    standardInput:
+      When this value is set, the parameter is sent as standard input rather than a parameter.
+      Typically this is passed using redirection operator ">".
+
+    userFriendlyDescription:
+      Description to be displayed at the user interface.
+
+    metaData:
+      Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+
+
+    Attributes:
+     - name
+     - value
+     - type
+     - applicationArgument
+     - standardInput
+     - userFriendlyDescription
+     - metaData
+     - inputOrder
+     - isRequired
+     - requiredToAddedToCommandLine
+     - dataStaged
+     - storageResourceId
+     - isReadOnly
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+        (3, TType.I32, 'type', None, None, ),  # 3
+        (4, TType.STRING, 'applicationArgument', 'UTF8', None, ),  # 4
+        (5, TType.BOOL, 'standardInput', None, None, ),  # 5
+        (6, TType.STRING, 'userFriendlyDescription', 'UTF8', None, ),  # 6
+        (7, TType.STRING, 'metaData', 'UTF8', None, ),  # 7
+        (8, TType.I32, 'inputOrder', None, None, ),  # 8
+        (9, TType.BOOL, 'isRequired', None, None, ),  # 9
+        (10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ),  # 10
+        (11, TType.BOOL, 'dataStaged', None, None, ),  # 11
+        (12, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 12
+        (13, TType.BOOL, 'isReadOnly', None, None, ),  # 13
+    )
+
+    def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None, storageResourceId=None, isReadOnly=None,):
+        self.name = name
+        self.value = value
+        self.type = type
+        self.applicationArgument = applicationArgument
+        self.standardInput = standardInput
+        self.userFriendlyDescription = userFriendlyDescription
+        self.metaData = metaData
+        self.inputOrder = inputOrder
+        self.isRequired = isRequired
+        self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
+        self.dataStaged = dataStaged
+        self.storageResourceId = storageResourceId
+        self.isReadOnly = isReadOnly
+
+    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.name = 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.value = 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.type = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.STRING:
+                    self.applicationArgument = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.BOOL:
+                    self.standardInput = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 6:
+                if ftype == TType.STRING:
+                    self.userFriendlyDescription = 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.metaData = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 8:
+                if ftype == TType.I32:
+                    self.inputOrder = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 9:
+                if ftype == TType.BOOL:
+                    self.isRequired = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 10:
+                if ftype == TType.BOOL:
+                    self.requiredToAddedToCommandLine = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 11:
+                if ftype == TType.BOOL:
+                    self.dataStaged = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 12:
+                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 == 13:
+                if ftype == TType.BOOL:
+                    self.isReadOnly = 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('InputDataObjectType')
+        if self.name is not None:
+            oprot.writeFieldBegin('name', TType.STRING, 1)
+            oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+            oprot.writeFieldEnd()
+        if self.value is not None:
+            oprot.writeFieldBegin('value', TType.STRING, 2)
+            oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value)
+            oprot.writeFieldEnd()
+        if self.type is not None:
+            oprot.writeFieldBegin('type', TType.I32, 3)
+            oprot.writeI32(self.type)
+            oprot.writeFieldEnd()
+        if self.applicationArgument is not None:
+            oprot.writeFieldBegin('applicationArgument', TType.STRING, 4)
+            oprot.writeString(self.applicationArgument.encode('utf-8') if sys.version_info[0] == 2 else self.applicationArgument)
+            oprot.writeFieldEnd()
+        if self.standardInput is not None:
+            oprot.writeFieldBegin('standardInput', TType.BOOL, 5)
+            oprot.writeBool(self.standardInput)
+            oprot.writeFieldEnd()
+        if self.userFriendlyDescription is not None:
+            oprot.writeFieldBegin('userFriendlyDescription', TType.STRING, 6)
+            oprot.writeString(self.userFriendlyDescription.encode('utf-8') if sys.version_info[0] == 2 else self.userFriendlyDescription)
+            oprot.writeFieldEnd()
+        if self.metaData is not None:
+            oprot.writeFieldBegin('metaData', TType.STRING, 7)
+            oprot.writeString(self.metaData.encode('utf-8') if sys.version_info[0] == 2 else self.metaData)
+            oprot.writeFieldEnd()
+        if self.inputOrder is not None:
+            oprot.writeFieldBegin('inputOrder', TType.I32, 8)
+            oprot.writeI32(self.inputOrder)
+            oprot.writeFieldEnd()
+        if self.isRequired is not None:
+            oprot.writeFieldBegin('isRequired', TType.BOOL, 9)
+            oprot.writeBool(self.isRequired)
+            oprot.writeFieldEnd()
+        if self.requiredToAddedToCommandLine is not None:
+            oprot.writeFieldBegin('requiredToAddedToCommandLine', TType.BOOL, 10)
+            oprot.writeBool(self.requiredToAddedToCommandLine)
+            oprot.writeFieldEnd()
+        if self.dataStaged is not None:
+            oprot.writeFieldBegin('dataStaged', TType.BOOL, 11)
+            oprot.writeBool(self.dataStaged)
+            oprot.writeFieldEnd()
+        if self.storageResourceId is not None:
+            oprot.writeFieldBegin('storageResourceId', TType.STRING, 12)
+            oprot.writeString(self.storageResourceId.encode('utf-8') if sys.version_info[0] == 2 else self.storageResourceId)
+            oprot.writeFieldEnd()
+        if self.isReadOnly is not None:
+            oprot.writeFieldBegin('isReadOnly', TType.BOOL, 13)
+            oprot.writeBool(self.isReadOnly)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        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 OutputDataObjectType(object):
+    """
+    Application Outputs. The paramters describe how outputs generated by the application.
+
+    name:
+      Name of the parameter.
+
+    value:
+      Value of the parameter.
+
+    type:
+      Data type of the parameter
+
+    applicationArguement:
+      The argument flag sent to the application. Such as -p pressure.
+
+    standardInput:
+      When this value is set, the parameter is sent as standard input rather than a parameter.
+      Typically this is passed using redirection operator ">".
+
+    userFriendlyDescription:
+      Description to be displayed at the user interface.
+
+    metaData:
+      Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+
+
+    Attributes:
+     - name
+     - value
+     - type
+     - applicationArgument
+     - isRequired
+     - requiredToAddedToCommandLine
+     - dataMovement
+     - location
+     - searchQuery
+     - outputStreaming
+     - storageResourceId
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+        (3, TType.I32, 'type', None, None, ),  # 3
+        (4, TType.STRING, 'applicationArgument', 'UTF8', None, ),  # 4
+        (5, TType.BOOL, 'isRequired', None, None, ),  # 5
+        (6, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ),  # 6
+        (7, TType.BOOL, 'dataMovement', None, None, ),  # 7
+        (8, TType.STRING, 'location', 'UTF8', None, ),  # 8
+        (9, TType.STRING, 'searchQuery', 'UTF8', None, ),  # 9
+        (10, TType.BOOL, 'outputStreaming', None, None, ),  # 10
+        (11, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 11
+    )
+
+    def __init__(self, name=None, value=None, type=None, applicationArgument=None, isRequired=None, requiredToAddedToCommandLine=None, dataMovement=None, location=None, searchQuery=None, outputStreaming=None, storageResourceId=None,):
+        self.name = name
+        self.value = value
+        self.type = type
+        self.applicationArgument = applicationArgument
+        self.isRequired = isRequired
+        self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
+        self.dataMovement = dataMovement
+        self.location = location
+        self.searchQuery = searchQuery
+        self.outputStreaming = outputStreaming
+        self.storageResourceId = storageResourceId
+
+    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.name = 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.value = 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.type = iprot.readI32()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.STRING:
+                    self.applicationArgument = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.BOOL:
+                    self.isRequired = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 6:
+                if ftype == TType.BOOL:
+                    self.requiredToAddedToCommandLine = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 7:
+                if ftype == TType.BOOL:
+                    self.dataMovement = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 8:
+                if ftype == TType.STRING:
+                    self.location = 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.searchQuery = 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.outputStreaming = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 11:
+                if ftype == TType.STRING:
+                    self.storageResourceId = 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('OutputDataObjectType')
+        if self.name is not None:
+            oprot.writeFieldBegin('name', TType.STRING, 1)
+            oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
+            oprot.writeFieldEnd()
+        if self.value is not None:
+            oprot.writeFieldBegin('value', TType.STRING, 2)
+            oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value)
+            oprot.writeFieldEnd()
+        if self.type is not None:
+            oprot.writeFieldBegin('type', TType.I32, 3)
+            oprot.writeI32(self.type)
+            oprot.writeFieldEnd()
+        if self.applicationArgument is not None:
+            oprot.writeFieldBegin('applicationArgument', TType.STRING, 4)
+            oprot.writeString(self.applicationArgument.encode('utf-8') if sys.version_info[0] == 2 else self.applicationArgument)
+            oprot.writeFieldEnd()
+        if self.isRequired is not None:
+            oprot.writeFieldBegin('isRequired', TType.BOOL, 5)
+            oprot.writeBool(self.isRequired)
+            oprot.writeFieldEnd()
+        if self.requiredToAddedToCommandLine is not None:
+            oprot.writeFieldBegin('requiredToAddedToCommandLine', TType.BOOL, 6)
+            oprot.writeBool(self.requiredToAddedToCommandLine)
+            oprot.writeFieldEnd()
+        if self.dataMovement is not None:
+            oprot.writeFieldBegin('dataMovement', TType.BOOL, 7)
+            oprot.writeBool(self.dataMovement)
+            oprot.writeFieldEnd()
+        if self.location is not None:
+            oprot.writeFieldBegin('location', TType.STRING, 8)
+            oprot.writeString(self.location.encode('utf-8') if sys.version_info[0] == 2 else self.location)
+            oprot.writeFieldEnd()
+        if self.searchQuery is not None:
+            oprot.writeFieldBegin('searchQuery', TType.STRING, 9)
+            oprot.writeString(self.searchQuery.encode('utf-8') if sys.version_info[0] == 2 else self.searchQuery)
+            oprot.writeFieldEnd()
+        if self.outputStreaming is not None:
+            oprot.writeFieldBegin('outputStreaming', TType.BOOL, 10)
+            oprot.writeBool(self.outputStreaming)
+            oprot.writeFieldEnd()
+        if self.storageResourceId is not None:
+            oprot.writeFieldBegin('storageResourceId', TType.STRING, 11)
+            oprot.writeString(self.storageResourceId.encode('utf-8') if sys.version_info[0] == 2 else self.storageResourceId)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        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)

http://git-wip-us.apache.org/repos/asf/airavata/blob/8e775660/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
index abf8bc6..2b09fa9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
@@ -1,12 +1,13 @@
 #
-# Autogenerated by Thrift Compiler (0.9.3)
+# Autogenerated by Thrift Compiler (0.10.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
 #  options string: py
 #
 
-from thrift.Thrift import TType, TMessageType, TException, TApplicationException
-from ttypes import *
-
+from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+import sys
+from .ttypes import *
 DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"