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 2018/07/03 21:58:29 UTC

[airavata-django-portal] 01/02: AIRAVATA-2834 Regenerate thrift stubs

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git

commit d0fab5d8a4d02befdc406b87004321820b24faf2
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Wed Jun 20 11:51:09 2018 -0400

    AIRAVATA-2834 Regenerate thrift stubs
---
 airavata/api/Airavata-remote                       |  47 +-
 airavata/api/Airavata.py                           | 501 +++++++++++++++------
 .../iam/admin/services/cpi/IamAdminServices-remote |   7 +
 .../iam/admin/services/cpi/IamAdminServices.py     | 233 ++++++++++
 4 files changed, 625 insertions(+), 163 deletions(-)

diff --git a/airavata/api/Airavata-remote b/airavata/api/Airavata-remote
index ca91113..c66f46f 100755
--- a/airavata/api/Airavata-remote
+++ b/airavata/api/Airavata-remote
@@ -191,11 +191,12 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
     print('  string registerReplicaLocation(AuthzToken authzToken, DataReplicaLocationModel replicaLocationModel)')
     print('  DataProductModel getParentDataProduct(AuthzToken authzToken, string productUri)')
     print('   getChildDataProducts(AuthzToken authzToken, string productUri)')
-    print('  bool shareResourceWithUsers(AuthzToken authzToken, string resourceId, ResourceType resourceType,  userPermissionList)')
-    print('  bool shareResourceWithGroups(AuthzToken authzToken, string resourceId, ResourceType resourceType,  groupPermissionList)')
-    print('  bool revokeSharingOfResourceFromUsers(AuthzToken authzToken, string resourceId, ResourceType resourceType,  userPermissionList)')
-    print('  bool revokeSharingOfResourceFromGroups(AuthzToken authzToken, string resourceId, ResourceType resourceType,  groupPermissionList)')
-    print('   getAllAccessibleUsers(AuthzToken authzToken, string resourceId, ResourceType resourceType, ResourcePermissionType permissionType)')
+    print('  bool shareResourceWithUsers(AuthzToken authzToken, string resourceId,  userPermissionList)')
+    print('  bool shareResourceWithGroups(AuthzToken authzToken, string resourceId,  groupPermissionList)')
+    print('  bool revokeSharingOfResourceFromUsers(AuthzToken authzToken, string resourceId,  userPermissionList)')
+    print('  bool revokeSharingOfResourceFromGroups(AuthzToken authzToken, string resourceId,  groupPermissionList)')
+    print('   getAllAccessibleUsers(AuthzToken authzToken, string resourceId, ResourcePermissionType permissionType)')
+    print('   getAllAccessibleGroups(AuthzToken authzToken, string resourceId, ResourcePermissionType permissionType)')
     print('  bool userHasAccess(AuthzToken authzToken, string resourceId, ResourcePermissionType permissionType)')
     print('  string createGroupResourceProfile(AuthzToken authzToken, GroupResourceProfile groupResourceProfile)')
     print('  void updateGroupResourceProfile(AuthzToken authzToken, GroupResourceProfile groupResourceProfile)')
@@ -1294,34 +1295,40 @@ elif cmd == 'getChildDataProducts':
     pp.pprint(client.getChildDataProducts(eval(args[0]), args[1],))
 
 elif cmd == 'shareResourceWithUsers':
-    if len(args) != 4:
-        print('shareResourceWithUsers requires 4 args')
+    if len(args) != 3:
+        print('shareResourceWithUsers requires 3 args')
         sys.exit(1)
-    pp.pprint(client.shareResourceWithUsers(eval(args[0]), args[1], eval(args[2]), eval(args[3]),))
+    pp.pprint(client.shareResourceWithUsers(eval(args[0]), args[1], eval(args[2]),))
 
 elif cmd == 'shareResourceWithGroups':
-    if len(args) != 4:
-        print('shareResourceWithGroups requires 4 args')
+    if len(args) != 3:
+        print('shareResourceWithGroups requires 3 args')
         sys.exit(1)
-    pp.pprint(client.shareResourceWithGroups(eval(args[0]), args[1], eval(args[2]), eval(args[3]),))
+    pp.pprint(client.shareResourceWithGroups(eval(args[0]), args[1], eval(args[2]),))
 
 elif cmd == 'revokeSharingOfResourceFromUsers':
-    if len(args) != 4:
-        print('revokeSharingOfResourceFromUsers requires 4 args')
+    if len(args) != 3:
+        print('revokeSharingOfResourceFromUsers requires 3 args')
         sys.exit(1)
-    pp.pprint(client.revokeSharingOfResourceFromUsers(eval(args[0]), args[1], eval(args[2]), eval(args[3]),))
+    pp.pprint(client.revokeSharingOfResourceFromUsers(eval(args[0]), args[1], eval(args[2]),))
 
 elif cmd == 'revokeSharingOfResourceFromGroups':
-    if len(args) != 4:
-        print('revokeSharingOfResourceFromGroups requires 4 args')
+    if len(args) != 3:
+        print('revokeSharingOfResourceFromGroups requires 3 args')
         sys.exit(1)
-    pp.pprint(client.revokeSharingOfResourceFromGroups(eval(args[0]), args[1], eval(args[2]), eval(args[3]),))
+    pp.pprint(client.revokeSharingOfResourceFromGroups(eval(args[0]), args[1], eval(args[2]),))
 
 elif cmd == 'getAllAccessibleUsers':
-    if len(args) != 4:
-        print('getAllAccessibleUsers requires 4 args')
+    if len(args) != 3:
+        print('getAllAccessibleUsers requires 3 args')
+        sys.exit(1)
+    pp.pprint(client.getAllAccessibleUsers(eval(args[0]), args[1], eval(args[2]),))
+
+elif cmd == 'getAllAccessibleGroups':
+    if len(args) != 3:
+        print('getAllAccessibleGroups requires 3 args')
         sys.exit(1)
-    pp.pprint(client.getAllAccessibleUsers(eval(args[0]), args[1], eval(args[2]), eval(args[3]),))
+    pp.pprint(client.getAllAccessibleGroups(eval(args[0]), args[1], eval(args[2]),))
 
 elif cmd == 'userHasAccess':
     if len(args) != 3:
diff --git a/airavata/api/Airavata.py b/airavata/api/Airavata.py
index 3b9fae2..0f42d1d 100644
--- a/airavata/api/Airavata.py
+++ b/airavata/api/Airavata.py
@@ -3473,7 +3473,7 @@ class Iface(object):
         """
         pass
 
-    def shareResourceWithUsers(self, authzToken, resourceId, resourceType, userPermissionList):
+    def shareResourceWithUsers(self, authzToken, resourceId, userPermissionList):
         """
         Group Manager and Data Sharing Related API methods
 
@@ -3481,47 +3481,51 @@ class Iface(object):
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - userPermissionList
         """
         pass
 
-    def shareResourceWithGroups(self, authzToken, resourceId, resourceType, groupPermissionList):
+    def shareResourceWithGroups(self, authzToken, resourceId, groupPermissionList):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - groupPermissionList
         """
         pass
 
-    def revokeSharingOfResourceFromUsers(self, authzToken, resourceId, resourceType, userPermissionList):
+    def revokeSharingOfResourceFromUsers(self, authzToken, resourceId, userPermissionList):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - userPermissionList
         """
         pass
 
-    def revokeSharingOfResourceFromGroups(self, authzToken, resourceId, resourceType, groupPermissionList):
+    def revokeSharingOfResourceFromGroups(self, authzToken, resourceId, groupPermissionList):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - groupPermissionList
         """
         pass
 
-    def getAllAccessibleUsers(self, authzToken, resourceId, resourceType, permissionType):
+    def getAllAccessibleUsers(self, authzToken, resourceId, permissionType):
+        """
+        Parameters:
+         - authzToken
+         - resourceId
+         - permissionType
+        """
+        pass
+
+    def getAllAccessibleGroups(self, authzToken, resourceId, permissionType):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - permissionType
         """
         pass
@@ -12764,7 +12768,7 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "getChildDataProducts failed: unknown result")
 
-    def shareResourceWithUsers(self, authzToken, resourceId, resourceType, userPermissionList):
+    def shareResourceWithUsers(self, authzToken, resourceId, userPermissionList):
         """
         Group Manager and Data Sharing Related API methods
 
@@ -12772,18 +12776,16 @@ class Client(Iface):
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - userPermissionList
         """
-        self.send_shareResourceWithUsers(authzToken, resourceId, resourceType, userPermissionList)
+        self.send_shareResourceWithUsers(authzToken, resourceId, userPermissionList)
         return self.recv_shareResourceWithUsers()
 
-    def send_shareResourceWithUsers(self, authzToken, resourceId, resourceType, userPermissionList):
+    def send_shareResourceWithUsers(self, authzToken, resourceId, userPermissionList):
         self._oprot.writeMessageBegin('shareResourceWithUsers', TMessageType.CALL, self._seqid)
         args = shareResourceWithUsers_args()
         args.authzToken = authzToken
         args.resourceId = resourceId
-        args.resourceType = resourceType
         args.userPermissionList = userPermissionList
         args.write(self._oprot)
         self._oprot.writeMessageEnd()
@@ -12812,23 +12814,21 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "shareResourceWithUsers failed: unknown result")
 
-    def shareResourceWithGroups(self, authzToken, resourceId, resourceType, groupPermissionList):
+    def shareResourceWithGroups(self, authzToken, resourceId, groupPermissionList):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - groupPermissionList
         """
-        self.send_shareResourceWithGroups(authzToken, resourceId, resourceType, groupPermissionList)
+        self.send_shareResourceWithGroups(authzToken, resourceId, groupPermissionList)
         return self.recv_shareResourceWithGroups()
 
-    def send_shareResourceWithGroups(self, authzToken, resourceId, resourceType, groupPermissionList):
+    def send_shareResourceWithGroups(self, authzToken, resourceId, groupPermissionList):
         self._oprot.writeMessageBegin('shareResourceWithGroups', TMessageType.CALL, self._seqid)
         args = shareResourceWithGroups_args()
         args.authzToken = authzToken
         args.resourceId = resourceId
-        args.resourceType = resourceType
         args.groupPermissionList = groupPermissionList
         args.write(self._oprot)
         self._oprot.writeMessageEnd()
@@ -12857,23 +12857,21 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "shareResourceWithGroups failed: unknown result")
 
-    def revokeSharingOfResourceFromUsers(self, authzToken, resourceId, resourceType, userPermissionList):
+    def revokeSharingOfResourceFromUsers(self, authzToken, resourceId, userPermissionList):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - userPermissionList
         """
-        self.send_revokeSharingOfResourceFromUsers(authzToken, resourceId, resourceType, userPermissionList)
+        self.send_revokeSharingOfResourceFromUsers(authzToken, resourceId, userPermissionList)
         return self.recv_revokeSharingOfResourceFromUsers()
 
-    def send_revokeSharingOfResourceFromUsers(self, authzToken, resourceId, resourceType, userPermissionList):
+    def send_revokeSharingOfResourceFromUsers(self, authzToken, resourceId, userPermissionList):
         self._oprot.writeMessageBegin('revokeSharingOfResourceFromUsers', TMessageType.CALL, self._seqid)
         args = revokeSharingOfResourceFromUsers_args()
         args.authzToken = authzToken
         args.resourceId = resourceId
-        args.resourceType = resourceType
         args.userPermissionList = userPermissionList
         args.write(self._oprot)
         self._oprot.writeMessageEnd()
@@ -12902,23 +12900,21 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "revokeSharingOfResourceFromUsers failed: unknown result")
 
-    def revokeSharingOfResourceFromGroups(self, authzToken, resourceId, resourceType, groupPermissionList):
+    def revokeSharingOfResourceFromGroups(self, authzToken, resourceId, groupPermissionList):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - groupPermissionList
         """
-        self.send_revokeSharingOfResourceFromGroups(authzToken, resourceId, resourceType, groupPermissionList)
+        self.send_revokeSharingOfResourceFromGroups(authzToken, resourceId, groupPermissionList)
         return self.recv_revokeSharingOfResourceFromGroups()
 
-    def send_revokeSharingOfResourceFromGroups(self, authzToken, resourceId, resourceType, groupPermissionList):
+    def send_revokeSharingOfResourceFromGroups(self, authzToken, resourceId, groupPermissionList):
         self._oprot.writeMessageBegin('revokeSharingOfResourceFromGroups', TMessageType.CALL, self._seqid)
         args = revokeSharingOfResourceFromGroups_args()
         args.authzToken = authzToken
         args.resourceId = resourceId
-        args.resourceType = resourceType
         args.groupPermissionList = groupPermissionList
         args.write(self._oprot)
         self._oprot.writeMessageEnd()
@@ -12947,23 +12943,21 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "revokeSharingOfResourceFromGroups failed: unknown result")
 
-    def getAllAccessibleUsers(self, authzToken, resourceId, resourceType, permissionType):
+    def getAllAccessibleUsers(self, authzToken, resourceId, permissionType):
         """
         Parameters:
          - authzToken
          - resourceId
-         - resourceType
          - permissionType
         """
-        self.send_getAllAccessibleUsers(authzToken, resourceId, resourceType, permissionType)
+        self.send_getAllAccessibleUsers(authzToken, resourceId, permissionType)
         return self.recv_getAllAccessibleUsers()
 
-    def send_getAllAccessibleUsers(self, authzToken, resourceId, resourceType, permissionType):
+    def send_getAllAccessibleUsers(self, authzToken, resourceId, permissionType):
         self._oprot.writeMessageBegin('getAllAccessibleUsers', TMessageType.CALL, self._seqid)
         args = getAllAccessibleUsers_args()
         args.authzToken = authzToken
         args.resourceId = resourceId
-        args.resourceType = resourceType
         args.permissionType = permissionType
         args.write(self._oprot)
         self._oprot.writeMessageEnd()
@@ -12992,6 +12986,49 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllAccessibleUsers failed: unknown result")
 
+    def getAllAccessibleGroups(self, authzToken, resourceId, permissionType):
+        """
+        Parameters:
+         - authzToken
+         - resourceId
+         - permissionType
+        """
+        self.send_getAllAccessibleGroups(authzToken, resourceId, permissionType)
+        return self.recv_getAllAccessibleGroups()
+
+    def send_getAllAccessibleGroups(self, authzToken, resourceId, permissionType):
+        self._oprot.writeMessageBegin('getAllAccessibleGroups', TMessageType.CALL, self._seqid)
+        args = getAllAccessibleGroups_args()
+        args.authzToken = authzToken
+        args.resourceId = resourceId
+        args.permissionType = permissionType
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getAllAccessibleGroups(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getAllAccessibleGroups_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.ire is not None:
+            raise result.ire
+        if result.ace is not None:
+            raise result.ace
+        if result.ase is not None:
+            raise result.ase
+        if result.ae is not None:
+            raise result.ae
+        raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllAccessibleGroups failed: unknown result")
+
     def userHasAccess(self, authzToken, resourceId, permissionType):
         """
         Parameters:
@@ -13829,6 +13866,7 @@ class Processor(Iface, TProcessor):
         self._processMap["revokeSharingOfResourceFromUsers"] = Processor.process_revokeSharingOfResourceFromUsers
         self._processMap["revokeSharingOfResourceFromGroups"] = Processor.process_revokeSharingOfResourceFromGroups
         self._processMap["getAllAccessibleUsers"] = Processor.process_getAllAccessibleUsers
+        self._processMap["getAllAccessibleGroups"] = Processor.process_getAllAccessibleGroups
         self._processMap["userHasAccess"] = Processor.process_userHasAccess
         self._processMap["createGroupResourceProfile"] = Processor.process_createGroupResourceProfile
         self._processMap["updateGroupResourceProfile"] = Processor.process_updateGroupResourceProfile
@@ -19059,7 +19097,7 @@ class Processor(Iface, TProcessor):
         iprot.readMessageEnd()
         result = shareResourceWithUsers_result()
         try:
-            result.success = self._handler.shareResourceWithUsers(args.authzToken, args.resourceId, args.resourceType, args.userPermissionList)
+            result.success = self._handler.shareResourceWithUsers(args.authzToken, args.resourceId, args.userPermissionList)
             msg_type = TMessageType.REPLY
         except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
             raise
@@ -19090,7 +19128,7 @@ class Processor(Iface, TProcessor):
         iprot.readMessageEnd()
         result = shareResourceWithGroups_result()
         try:
-            result.success = self._handler.shareResourceWithGroups(args.authzToken, args.resourceId, args.resourceType, args.groupPermissionList)
+            result.success = self._handler.shareResourceWithGroups(args.authzToken, args.resourceId, args.groupPermissionList)
             msg_type = TMessageType.REPLY
         except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
             raise
@@ -19121,7 +19159,7 @@ class Processor(Iface, TProcessor):
         iprot.readMessageEnd()
         result = revokeSharingOfResourceFromUsers_result()
         try:
-            result.success = self._handler.revokeSharingOfResourceFromUsers(args.authzToken, args.resourceId, args.resourceType, args.userPermissionList)
+            result.success = self._handler.revokeSharingOfResourceFromUsers(args.authzToken, args.resourceId, args.userPermissionList)
             msg_type = TMessageType.REPLY
         except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
             raise
@@ -19152,7 +19190,7 @@ class Processor(Iface, TProcessor):
         iprot.readMessageEnd()
         result = revokeSharingOfResourceFromGroups_result()
         try:
-            result.success = self._handler.revokeSharingOfResourceFromGroups(args.authzToken, args.resourceId, args.resourceType, args.groupPermissionList)
+            result.success = self._handler.revokeSharingOfResourceFromGroups(args.authzToken, args.resourceId, args.groupPermissionList)
             msg_type = TMessageType.REPLY
         except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
             raise
@@ -19183,7 +19221,7 @@ class Processor(Iface, TProcessor):
         iprot.readMessageEnd()
         result = getAllAccessibleUsers_result()
         try:
-            result.success = self._handler.getAllAccessibleUsers(args.authzToken, args.resourceId, args.resourceType, args.permissionType)
+            result.success = self._handler.getAllAccessibleUsers(args.authzToken, args.resourceId, args.permissionType)
             msg_type = TMessageType.REPLY
         except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
             raise
@@ -19208,6 +19246,37 @@ class Processor(Iface, TProcessor):
         oprot.writeMessageEnd()
         oprot.trans.flush()
 
+    def process_getAllAccessibleGroups(self, seqid, iprot, oprot):
+        args = getAllAccessibleGroups_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = getAllAccessibleGroups_result()
+        try:
+            result.success = self._handler.getAllAccessibleGroups(args.authzToken, args.resourceId, args.permissionType)
+            msg_type = TMessageType.REPLY
+        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+            raise
+        except airavata.api.error.ttypes.InvalidRequestException as ire:
+            msg_type = TMessageType.REPLY
+            result.ire = ire
+        except airavata.api.error.ttypes.AiravataClientException as ace:
+            msg_type = TMessageType.REPLY
+            result.ace = ace
+        except airavata.api.error.ttypes.AiravataSystemException as ase:
+            msg_type = TMessageType.REPLY
+            result.ase = ase
+        except airavata.api.error.ttypes.AuthorizationException as ae:
+            msg_type = TMessageType.REPLY
+            result.ae = ae
+        except Exception as ex:
+            msg_type = TMessageType.EXCEPTION
+            logging.exception(ex)
+            result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("getAllAccessibleGroups", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
     def process_userHasAccess(self, seqid, iprot, oprot):
         args = userHasAccess_args()
         args.read(iprot)
@@ -53427,7 +53496,6 @@ class shareResourceWithUsers_args(object):
     Attributes:
      - authzToken
      - resourceId
-     - resourceType
      - userPermissionList
     """
 
@@ -53435,14 +53503,13 @@ class shareResourceWithUsers_args(object):
         None,  # 0
         (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
         (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'resourceType', None, None, ),  # 3
+        None,  # 3
         (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
     )
 
-    def __init__(self, authzToken=None, resourceId=None, resourceType=None, userPermissionList=None,):
+    def __init__(self, authzToken=None, resourceId=None, userPermissionList=None,):
         self.authzToken = authzToken
         self.resourceId = resourceId
-        self.resourceType = resourceType
         self.userPermissionList = userPermissionList
 
     def read(self, iprot):
@@ -53465,11 +53532,6 @@ class shareResourceWithUsers_args(object):
                     self.resourceId = 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.resourceType = iprot.readI32()
-                else:
-                    iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.MAP:
                     self.userPermissionList = {}
@@ -53499,10 +53561,6 @@ class shareResourceWithUsers_args(object):
             oprot.writeFieldBegin('resourceId', TType.STRING, 2)
             oprot.writeString(self.resourceId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceId)
             oprot.writeFieldEnd()
-        if self.resourceType is not None:
-            oprot.writeFieldBegin('resourceType', TType.I32, 3)
-            oprot.writeI32(self.resourceType)
-            oprot.writeFieldEnd()
         if self.userPermissionList is not None:
             oprot.writeFieldBegin('userPermissionList', TType.MAP, 4)
             oprot.writeMapBegin(TType.STRING, TType.I32, len(self.userPermissionList))
@@ -53519,8 +53577,6 @@ class shareResourceWithUsers_args(object):
             raise TProtocolException(message='Required field authzToken is unset!')
         if self.resourceId is None:
             raise TProtocolException(message='Required field resourceId is unset!')
-        if self.resourceType is None:
-            raise TProtocolException(message='Required field resourceType is unset!')
         return
 
     def __repr__(self):
@@ -53651,7 +53707,6 @@ class shareResourceWithGroups_args(object):
     Attributes:
      - authzToken
      - resourceId
-     - resourceType
      - groupPermissionList
     """
 
@@ -53659,14 +53714,13 @@ class shareResourceWithGroups_args(object):
         None,  # 0
         (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
         (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'resourceType', None, None, ),  # 3
+        None,  # 3
         (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
     )
 
-    def __init__(self, authzToken=None, resourceId=None, resourceType=None, groupPermissionList=None,):
+    def __init__(self, authzToken=None, resourceId=None, groupPermissionList=None,):
         self.authzToken = authzToken
         self.resourceId = resourceId
-        self.resourceType = resourceType
         self.groupPermissionList = groupPermissionList
 
     def read(self, iprot):
@@ -53689,11 +53743,6 @@ class shareResourceWithGroups_args(object):
                     self.resourceId = 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.resourceType = iprot.readI32()
-                else:
-                    iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.MAP:
                     self.groupPermissionList = {}
@@ -53723,10 +53772,6 @@ class shareResourceWithGroups_args(object):
             oprot.writeFieldBegin('resourceId', TType.STRING, 2)
             oprot.writeString(self.resourceId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceId)
             oprot.writeFieldEnd()
-        if self.resourceType is not None:
-            oprot.writeFieldBegin('resourceType', TType.I32, 3)
-            oprot.writeI32(self.resourceType)
-            oprot.writeFieldEnd()
         if self.groupPermissionList is not None:
             oprot.writeFieldBegin('groupPermissionList', TType.MAP, 4)
             oprot.writeMapBegin(TType.STRING, TType.I32, len(self.groupPermissionList))
@@ -53743,8 +53788,6 @@ class shareResourceWithGroups_args(object):
             raise TProtocolException(message='Required field authzToken is unset!')
         if self.resourceId is None:
             raise TProtocolException(message='Required field resourceId is unset!')
-        if self.resourceType is None:
-            raise TProtocolException(message='Required field resourceType is unset!')
         return
 
     def __repr__(self):
@@ -53875,7 +53918,6 @@ class revokeSharingOfResourceFromUsers_args(object):
     Attributes:
      - authzToken
      - resourceId
-     - resourceType
      - userPermissionList
     """
 
@@ -53883,14 +53925,13 @@ class revokeSharingOfResourceFromUsers_args(object):
         None,  # 0
         (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
         (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'resourceType', None, None, ),  # 3
+        None,  # 3
         (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
     )
 
-    def __init__(self, authzToken=None, resourceId=None, resourceType=None, userPermissionList=None,):
+    def __init__(self, authzToken=None, resourceId=None, userPermissionList=None,):
         self.authzToken = authzToken
         self.resourceId = resourceId
-        self.resourceType = resourceType
         self.userPermissionList = userPermissionList
 
     def read(self, iprot):
@@ -53913,11 +53954,6 @@ class revokeSharingOfResourceFromUsers_args(object):
                     self.resourceId = 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.resourceType = iprot.readI32()
-                else:
-                    iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.MAP:
                     self.userPermissionList = {}
@@ -53947,10 +53983,6 @@ class revokeSharingOfResourceFromUsers_args(object):
             oprot.writeFieldBegin('resourceId', TType.STRING, 2)
             oprot.writeString(self.resourceId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceId)
             oprot.writeFieldEnd()
-        if self.resourceType is not None:
-            oprot.writeFieldBegin('resourceType', TType.I32, 3)
-            oprot.writeI32(self.resourceType)
-            oprot.writeFieldEnd()
         if self.userPermissionList is not None:
             oprot.writeFieldBegin('userPermissionList', TType.MAP, 4)
             oprot.writeMapBegin(TType.STRING, TType.I32, len(self.userPermissionList))
@@ -53967,8 +53999,6 @@ class revokeSharingOfResourceFromUsers_args(object):
             raise TProtocolException(message='Required field authzToken is unset!')
         if self.resourceId is None:
             raise TProtocolException(message='Required field resourceId is unset!')
-        if self.resourceType is None:
-            raise TProtocolException(message='Required field resourceType is unset!')
         return
 
     def __repr__(self):
@@ -54099,7 +54129,6 @@ class revokeSharingOfResourceFromGroups_args(object):
     Attributes:
      - authzToken
      - resourceId
-     - resourceType
      - groupPermissionList
     """
 
@@ -54107,14 +54136,13 @@ class revokeSharingOfResourceFromGroups_args(object):
         None,  # 0
         (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
         (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'resourceType', None, None, ),  # 3
+        None,  # 3
         (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
     )
 
-    def __init__(self, authzToken=None, resourceId=None, resourceType=None, groupPermissionList=None,):
+    def __init__(self, authzToken=None, resourceId=None, groupPermissionList=None,):
         self.authzToken = authzToken
         self.resourceId = resourceId
-        self.resourceType = resourceType
         self.groupPermissionList = groupPermissionList
 
     def read(self, iprot):
@@ -54137,11 +54165,6 @@ class revokeSharingOfResourceFromGroups_args(object):
                     self.resourceId = 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.resourceType = iprot.readI32()
-                else:
-                    iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.MAP:
                     self.groupPermissionList = {}
@@ -54171,10 +54194,6 @@ class revokeSharingOfResourceFromGroups_args(object):
             oprot.writeFieldBegin('resourceId', TType.STRING, 2)
             oprot.writeString(self.resourceId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceId)
             oprot.writeFieldEnd()
-        if self.resourceType is not None:
-            oprot.writeFieldBegin('resourceType', TType.I32, 3)
-            oprot.writeI32(self.resourceType)
-            oprot.writeFieldEnd()
         if self.groupPermissionList is not None:
             oprot.writeFieldBegin('groupPermissionList', TType.MAP, 4)
             oprot.writeMapBegin(TType.STRING, TType.I32, len(self.groupPermissionList))
@@ -54191,8 +54210,6 @@ class revokeSharingOfResourceFromGroups_args(object):
             raise TProtocolException(message='Required field authzToken is unset!')
         if self.resourceId is None:
             raise TProtocolException(message='Required field resourceId is unset!')
-        if self.resourceType is None:
-            raise TProtocolException(message='Required field resourceType is unset!')
         return
 
     def __repr__(self):
@@ -54323,7 +54340,6 @@ class getAllAccessibleUsers_args(object):
     Attributes:
      - authzToken
      - resourceId
-     - resourceType
      - permissionType
     """
 
@@ -54331,14 +54347,13 @@ class getAllAccessibleUsers_args(object):
         None,  # 0
         (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
         (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'resourceType', None, None, ),  # 3
+        None,  # 3
         (4, TType.I32, 'permissionType', None, None, ),  # 4
     )
 
-    def __init__(self, authzToken=None, resourceId=None, resourceType=None, permissionType=None,):
+    def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
         self.authzToken = authzToken
         self.resourceId = resourceId
-        self.resourceType = resourceType
         self.permissionType = permissionType
 
     def read(self, iprot):
@@ -54361,11 +54376,6 @@ class getAllAccessibleUsers_args(object):
                     self.resourceId = 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.resourceType = iprot.readI32()
-                else:
-                    iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.I32:
                     self.permissionType = iprot.readI32()
@@ -54389,10 +54399,6 @@ class getAllAccessibleUsers_args(object):
             oprot.writeFieldBegin('resourceId', TType.STRING, 2)
             oprot.writeString(self.resourceId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceId)
             oprot.writeFieldEnd()
-        if self.resourceType is not None:
-            oprot.writeFieldBegin('resourceType', TType.I32, 3)
-            oprot.writeI32(self.resourceType)
-            oprot.writeFieldEnd()
         if self.permissionType is not None:
             oprot.writeFieldBegin('permissionType', TType.I32, 4)
             oprot.writeI32(self.permissionType)
@@ -54405,8 +54411,6 @@ class getAllAccessibleUsers_args(object):
             raise TProtocolException(message='Required field authzToken is unset!')
         if self.resourceId is None:
             raise TProtocolException(message='Required field resourceId is unset!')
-        if self.resourceType is None:
-            raise TProtocolException(message='Required field resourceType is unset!')
         if self.permissionType is None:
             raise TProtocolException(message='Required field permissionType is unset!')
         return
@@ -54542,6 +54546,217 @@ class getAllAccessibleUsers_result(object):
         return not (self == other)
 
 
+class getAllAccessibleGroups_args(object):
+    """
+    Attributes:
+     - authzToken
+     - resourceId
+     - permissionType
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
+        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+        None,  # 3
+        (4, TType.I32, 'permissionType', None, None, ),  # 4
+    )
+
+    def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
+        self.authzToken = authzToken
+        self.resourceId = resourceId
+        self.permissionType = permissionType
+
+    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.STRUCT:
+                    self.authzToken = airavata.model.security.ttypes.AuthzToken()
+                    self.authzToken.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRING:
+                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.I32:
+                    self.permissionType = 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('getAllAccessibleGroups_args')
+        if self.authzToken is not None:
+            oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+            self.authzToken.write(oprot)
+            oprot.writeFieldEnd()
+        if self.resourceId is not None:
+            oprot.writeFieldBegin('resourceId', TType.STRING, 2)
+            oprot.writeString(self.resourceId.encode('utf-8') if sys.version_info[0] == 2 else self.resourceId)
+            oprot.writeFieldEnd()
+        if self.permissionType is not None:
+            oprot.writeFieldBegin('permissionType', TType.I32, 4)
+            oprot.writeI32(self.permissionType)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.authzToken is None:
+            raise TProtocolException(message='Required field authzToken is unset!')
+        if self.resourceId is None:
+            raise TProtocolException(message='Required field resourceId is unset!')
+        if self.permissionType is None:
+            raise TProtocolException(message='Required field permissionType 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 getAllAccessibleGroups_result(object):
+    """
+    Attributes:
+     - success
+     - ire
+     - ace
+     - ase
+     - ae
+    """
+
+    thrift_spec = (
+        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
+        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
+        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
+        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
+    )
+
+    def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+        self.success = success
+        self.ire = ire
+        self.ace = ace
+        self.ase = ase
+        self.ae = ae
+
+    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 == 0:
+                if ftype == TType.LIST:
+                    self.success = []
+                    (_etype362, _size359) = iprot.readListBegin()
+                    for _i363 in range(_size359):
+                        _elem364 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        self.success.append(_elem364)
+                    iprot.readListEnd()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 1:
+                if ftype == TType.STRUCT:
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
+                    self.ire.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.ace = airavata.api.error.ttypes.AiravataClientException()
+                    self.ace.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 3:
+                if ftype == TType.STRUCT:
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
+                    self.ase.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 4:
+                if ftype == TType.STRUCT:
+                    self.ae = airavata.api.error.ttypes.AuthorizationException()
+                    self.ae.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('getAllAccessibleGroups_result')
+        if self.success is not None:
+            oprot.writeFieldBegin('success', TType.LIST, 0)
+            oprot.writeListBegin(TType.STRING, len(self.success))
+            for iter365 in self.success:
+                oprot.writeString(iter365.encode('utf-8') if sys.version_info[0] == 2 else iter365)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
+        if self.ire is not None:
+            oprot.writeFieldBegin('ire', TType.STRUCT, 1)
+            self.ire.write(oprot)
+            oprot.writeFieldEnd()
+        if self.ace is not None:
+            oprot.writeFieldBegin('ace', TType.STRUCT, 2)
+            self.ace.write(oprot)
+            oprot.writeFieldEnd()
+        if self.ase is not None:
+            oprot.writeFieldBegin('ase', TType.STRUCT, 3)
+            self.ase.write(oprot)
+            oprot.writeFieldEnd()
+        if self.ae is not None:
+            oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+            self.ae.write(oprot)
+            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)
+
+
 class userHasAccess_args(object):
     """
     Attributes:
@@ -55602,11 +55817,11 @@ class getGroupResourceList_result(object):
             if fid == 0:
                 if ftype == TType.LIST:
                     self.success = []
-                    (_etype362, _size359) = iprot.readListBegin()
-                    for _i363 in range(_size359):
-                        _elem364 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile()
-                        _elem364.read(iprot)
-                        self.success.append(_elem364)
+                    (_etype369, _size366) = iprot.readListBegin()
+                    for _i370 in range(_size366):
+                        _elem371 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile()
+                        _elem371.read(iprot)
+                        self.success.append(_elem371)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -55647,8 +55862,8 @@ class getGroupResourceList_result(object):
         if self.success is not None:
             oprot.writeFieldBegin('success', TType.LIST, 0)
             oprot.writeListBegin(TType.STRUCT, len(self.success))
-            for iter365 in self.success:
-                iter365.write(oprot)
+            for iter372 in self.success:
+                iter372.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.ire is not None:
@@ -56958,11 +57173,11 @@ class getGroupComputeResourcePrefList_result(object):
             if fid == 0:
                 if ftype == TType.LIST:
                     self.success = []
-                    (_etype369, _size366) = iprot.readListBegin()
-                    for _i370 in range(_size366):
-                        _elem371 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference()
-                        _elem371.read(iprot)
-                        self.success.append(_elem371)
+                    (_etype376, _size373) = iprot.readListBegin()
+                    for _i377 in range(_size373):
+                        _elem378 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference()
+                        _elem378.read(iprot)
+                        self.success.append(_elem378)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -57003,8 +57218,8 @@ class getGroupComputeResourcePrefList_result(object):
         if self.success is not None:
             oprot.writeFieldBegin('success', TType.LIST, 0)
             oprot.writeListBegin(TType.STRUCT, len(self.success))
-            for iter372 in self.success:
-                iter372.write(oprot)
+            for iter379 in self.success:
+                iter379.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.ire is not None:
@@ -57155,11 +57370,11 @@ class getGroupBatchQueueResourcePolicyList_result(object):
             if fid == 0:
                 if ftype == TType.LIST:
                     self.success = []
-                    (_etype376, _size373) = iprot.readListBegin()
-                    for _i377 in range(_size373):
-                        _elem378 = airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy()
-                        _elem378.read(iprot)
-                        self.success.append(_elem378)
+                    (_etype383, _size380) = iprot.readListBegin()
+                    for _i384 in range(_size380):
+                        _elem385 = airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy()
+                        _elem385.read(iprot)
+                        self.success.append(_elem385)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -57200,8 +57415,8 @@ class getGroupBatchQueueResourcePolicyList_result(object):
         if self.success is not None:
             oprot.writeFieldBegin('success', TType.LIST, 0)
             oprot.writeListBegin(TType.STRUCT, len(self.success))
-            for iter379 in self.success:
-                iter379.write(oprot)
+            for iter386 in self.success:
+                iter386.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.ire is not None:
@@ -57352,11 +57567,11 @@ class getGroupComputeResourcePolicyList_result(object):
             if fid == 0:
                 if ftype == TType.LIST:
                     self.success = []
-                    (_etype383, _size380) = iprot.readListBegin()
-                    for _i384 in range(_size380):
-                        _elem385 = airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy()
-                        _elem385.read(iprot)
-                        self.success.append(_elem385)
+                    (_etype390, _size387) = iprot.readListBegin()
+                    for _i391 in range(_size387):
+                        _elem392 = airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy()
+                        _elem392.read(iprot)
+                        self.success.append(_elem392)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -57397,8 +57612,8 @@ class getGroupComputeResourcePolicyList_result(object):
         if self.success is not None:
             oprot.writeFieldBegin('success', TType.LIST, 0)
             oprot.writeListBegin(TType.STRUCT, len(self.success))
-            for iter386 in self.success:
-                iter386.write(oprot)
+            for iter393 in self.success:
+                iter393.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.ire is not None:
diff --git a/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote b/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote
index b626253..a54cafd 100755
--- a/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote
+++ b/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote
@@ -28,6 +28,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
     print('  Gateway setUpGateway(AuthzToken authzToken, Gateway gateway)')
     print('  bool registerUser(AuthzToken authzToken, string username, string emailAddress, string firstName, string lastName, string newPassword)')
     print('  bool enableUser(AuthzToken authzToken, string username)')
+    print('  bool isUserEnabled(AuthzToken authzToken, string username)')
     print('  bool resetUserPassword(AuthzToken authzToken, string username, string newPassword)')
     print('   findUsers(AuthzToken authzToken, string email, string userId)')
     print('  void updateUserProfile(AuthzToken authzToken, UserProfile userDetails)')
@@ -137,6 +138,12 @@ elif cmd == 'enableUser':
         sys.exit(1)
     pp.pprint(client.enableUser(eval(args[0]), args[1],))
 
+elif cmd == 'isUserEnabled':
+    if len(args) != 2:
+        print('isUserEnabled requires 2 args')
+        sys.exit(1)
+    pp.pprint(client.isUserEnabled(eval(args[0]), args[1],))
+
 elif cmd == 'resetUserPassword':
     if len(args) != 3:
         print('resetUserPassword requires 3 args')
diff --git a/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py b/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
index 20aab93..1e2cb09 100644
--- a/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
+++ b/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
@@ -51,6 +51,14 @@ class Iface(object):
         """
         pass
 
+    def isUserEnabled(self, authzToken, username):
+        """
+        Parameters:
+         - authzToken
+         - username
+        """
+        pass
+
     def resetUserPassword(self, authzToken, username, newPassword):
         """
         Parameters:
@@ -265,6 +273,43 @@ class Client(Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "enableUser failed: unknown result")
 
+    def isUserEnabled(self, authzToken, username):
+        """
+        Parameters:
+         - authzToken
+         - username
+        """
+        self.send_isUserEnabled(authzToken, username)
+        return self.recv_isUserEnabled()
+
+    def send_isUserEnabled(self, authzToken, username):
+        self._oprot.writeMessageBegin('isUserEnabled', TMessageType.CALL, self._seqid)
+        args = isUserEnabled_args()
+        args.authzToken = authzToken
+        args.username = username
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_isUserEnabled(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = isUserEnabled_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.Idse is not None:
+            raise result.Idse
+        if result.ae is not None:
+            raise result.ae
+        raise TApplicationException(TApplicationException.MISSING_RESULT, "isUserEnabled failed: unknown result")
+
     def resetUserPassword(self, authzToken, username, newPassword):
         """
         Parameters:
@@ -502,6 +547,7 @@ class Processor(Iface, TProcessor):
         self._processMap["setUpGateway"] = Processor.process_setUpGateway
         self._processMap["registerUser"] = Processor.process_registerUser
         self._processMap["enableUser"] = Processor.process_enableUser
+        self._processMap["isUserEnabled"] = Processor.process_isUserEnabled
         self._processMap["resetUserPassword"] = Processor.process_resetUserPassword
         self._processMap["findUsers"] = Processor.process_findUsers
         self._processMap["updateUserProfile"] = Processor.process_updateUserProfile
@@ -624,6 +670,31 @@ class Processor(Iface, TProcessor):
         oprot.writeMessageEnd()
         oprot.trans.flush()
 
+    def process_isUserEnabled(self, seqid, iprot, oprot):
+        args = isUserEnabled_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = isUserEnabled_result()
+        try:
+            result.success = self._handler.isUserEnabled(args.authzToken, args.username)
+            msg_type = TMessageType.REPLY
+        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+            raise
+        except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
+            msg_type = TMessageType.REPLY
+            result.Idse = Idse
+        except airavata.api.error.ttypes.AuthorizationException as ae:
+            msg_type = TMessageType.REPLY
+            result.ae = ae
+        except Exception as ex:
+            msg_type = TMessageType.EXCEPTION
+            logging.exception(ex)
+            result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("isUserEnabled", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
     def process_resetUserPassword(self, seqid, iprot, oprot):
         args = resetUserPassword_args()
         args.read(iprot)
@@ -1469,6 +1540,168 @@ class enableUser_result(object):
         return not (self == other)
 
 
+class isUserEnabled_args(object):
+    """
+    Attributes:
+     - authzToken
+     - username
+    """
+
+    thrift_spec = (
+        None,  # 0
+        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
+        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    )
+
+    def __init__(self, authzToken=None, username=None,):
+        self.authzToken = authzToken
+        self.username = username
+
+    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.STRUCT:
+                    self.authzToken = airavata.model.security.ttypes.AuthzToken()
+                    self.authzToken.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRING:
+                    self.username = 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('isUserEnabled_args')
+        if self.authzToken is not None:
+            oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+            self.authzToken.write(oprot)
+            oprot.writeFieldEnd()
+        if self.username is not None:
+            oprot.writeFieldBegin('username', TType.STRING, 2)
+            oprot.writeString(self.username.encode('utf-8') if sys.version_info[0] == 2 else self.username)
+            oprot.writeFieldEnd()
+        oprot.writeFieldStop()
+        oprot.writeStructEnd()
+
+    def validate(self):
+        if self.authzToken is None:
+            raise TProtocolException(message='Required field authzToken is unset!')
+        if self.username is None:
+            raise TProtocolException(message='Required field username 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 isUserEnabled_result(object):
+    """
+    Attributes:
+     - success
+     - Idse
+     - ae
+    """
+
+    thrift_spec = (
+        (0, TType.BOOL, 'success', None, None, ),  # 0
+        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
+        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
+    )
+
+    def __init__(self, success=None, Idse=None, ae=None,):
+        self.success = success
+        self.Idse = Idse
+        self.ae = ae
+
+    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 == 0:
+                if ftype == TType.BOOL:
+                    self.success = iprot.readBool()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 1:
+                if ftype == TType.STRUCT:
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
+                    self.Idse.read(iprot)
+                else:
+                    iprot.skip(ftype)
+            elif fid == 2:
+                if ftype == TType.STRUCT:
+                    self.ae = airavata.api.error.ttypes.AuthorizationException()
+                    self.ae.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('isUserEnabled_result')
+        if self.success is not None:
+            oprot.writeFieldBegin('success', TType.BOOL, 0)
+            oprot.writeBool(self.success)
+            oprot.writeFieldEnd()
+        if self.Idse is not None:
+            oprot.writeFieldBegin('Idse', TType.STRUCT, 1)
+            self.Idse.write(oprot)
+            oprot.writeFieldEnd()
+        if self.ae is not None:
+            oprot.writeFieldBegin('ae', TType.STRUCT, 2)
+            self.ae.write(oprot)
+            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)
+
+
 class resetUserPassword_args(object):
     """
     Attributes: