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 2019/05/09 16:19:59 UTC
[airavata-django-portal] 04/06: AIRAVATA-3030 Loading directly
granted sharings for editing
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 8e7ad61cf2881ade620bf46d0e0d260050f7cb3f
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Thu May 9 12:13:55 2019 -0400
AIRAVATA-3030 Loading directly granted sharings for editing
---
airavata/api/Airavata-remote | 14 +
airavata/api/Airavata.py | 1122 +++++++++++++++-----
airavata/api/sharing/SharingRegistryService-remote | 14 +
airavata/api/sharing/SharingRegistryService.py | 562 +++++++++-
django_airavata/apps/api/views.py | 66 +-
5 files changed, 1468 insertions(+), 310 deletions(-)
diff --git a/airavata/api/Airavata-remote b/airavata/api/Airavata-remote
index 9ff7ab4..6957696 100755
--- a/airavata/api/Airavata-remote
+++ b/airavata/api/Airavata-remote
@@ -189,6 +189,8 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
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(' getAllDirectlyAccessibleUsers(AuthzToken authzToken, string resourceId, ResourcePermissionType permissionType)')
+ print(' getAllDirectlyAccessibleGroups(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)')
@@ -1283,6 +1285,18 @@ elif cmd == 'getAllAccessibleGroups':
sys.exit(1)
pp.pprint(client.getAllAccessibleGroups(eval(args[0]), args[1], eval(args[2]),))
+elif cmd == 'getAllDirectlyAccessibleUsers':
+ if len(args) != 3:
+ print('getAllDirectlyAccessibleUsers requires 3 args')
+ sys.exit(1)
+ pp.pprint(client.getAllDirectlyAccessibleUsers(eval(args[0]), args[1], eval(args[2]),))
+
+elif cmd == 'getAllDirectlyAccessibleGroups':
+ if len(args) != 3:
+ print('getAllDirectlyAccessibleGroups requires 3 args')
+ sys.exit(1)
+ pp.pprint(client.getAllDirectlyAccessibleGroups(eval(args[0]), args[1], eval(args[2]),))
+
elif cmd == 'userHasAccess':
if len(args) != 3:
print('userHasAccess requires 3 args')
diff --git a/airavata/api/Airavata.py b/airavata/api/Airavata.py
index be91e70..b6e7762 100644
--- a/airavata/api/Airavata.py
+++ b/airavata/api/Airavata.py
@@ -3371,6 +3371,24 @@ class Iface(object):
"""
pass
+ def getAllDirectlyAccessibleUsers(self, authzToken, resourceId, permissionType):
+ """
+ Parameters:
+ - authzToken
+ - resourceId
+ - permissionType
+ """
+ pass
+
+ def getAllDirectlyAccessibleGroups(self, authzToken, resourceId, permissionType):
+ """
+ Parameters:
+ - authzToken
+ - resourceId
+ - permissionType
+ """
+ pass
+
def userHasAccess(self, authzToken, resourceId, permissionType):
"""
Parameters:
@@ -12525,6 +12543,92 @@ class Client(Iface):
raise result.ae
raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllAccessibleGroups failed: unknown result")
+ def getAllDirectlyAccessibleUsers(self, authzToken, resourceId, permissionType):
+ """
+ Parameters:
+ - authzToken
+ - resourceId
+ - permissionType
+ """
+ self.send_getAllDirectlyAccessibleUsers(authzToken, resourceId, permissionType)
+ return self.recv_getAllDirectlyAccessibleUsers()
+
+ def send_getAllDirectlyAccessibleUsers(self, authzToken, resourceId, permissionType):
+ self._oprot.writeMessageBegin('getAllDirectlyAccessibleUsers', TMessageType.CALL, self._seqid)
+ args = getAllDirectlyAccessibleUsers_args()
+ args.authzToken = authzToken
+ args.resourceId = resourceId
+ args.permissionType = permissionType
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getAllDirectlyAccessibleUsers(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getAllDirectlyAccessibleUsers_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, "getAllDirectlyAccessibleUsers failed: unknown result")
+
+ def getAllDirectlyAccessibleGroups(self, authzToken, resourceId, permissionType):
+ """
+ Parameters:
+ - authzToken
+ - resourceId
+ - permissionType
+ """
+ self.send_getAllDirectlyAccessibleGroups(authzToken, resourceId, permissionType)
+ return self.recv_getAllDirectlyAccessibleGroups()
+
+ def send_getAllDirectlyAccessibleGroups(self, authzToken, resourceId, permissionType):
+ self._oprot.writeMessageBegin('getAllDirectlyAccessibleGroups', TMessageType.CALL, self._seqid)
+ args = getAllDirectlyAccessibleGroups_args()
+ args.authzToken = authzToken
+ args.resourceId = resourceId
+ args.permissionType = permissionType
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getAllDirectlyAccessibleGroups(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getAllDirectlyAccessibleGroups_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, "getAllDirectlyAccessibleGroups failed: unknown result")
+
def userHasAccess(self, authzToken, resourceId, permissionType):
"""
Parameters:
@@ -13734,6 +13838,8 @@ class Processor(Iface, TProcessor):
self._processMap["revokeSharingOfResourceFromGroups"] = Processor.process_revokeSharingOfResourceFromGroups
self._processMap["getAllAccessibleUsers"] = Processor.process_getAllAccessibleUsers
self._processMap["getAllAccessibleGroups"] = Processor.process_getAllAccessibleGroups
+ self._processMap["getAllDirectlyAccessibleUsers"] = Processor.process_getAllDirectlyAccessibleUsers
+ self._processMap["getAllDirectlyAccessibleGroups"] = Processor.process_getAllDirectlyAccessibleGroups
self._processMap["userHasAccess"] = Processor.process_userHasAccess
self._processMap["createGroupResourceProfile"] = Processor.process_createGroupResourceProfile
self._processMap["updateGroupResourceProfile"] = Processor.process_updateGroupResourceProfile
@@ -18920,6 +19026,68 @@ class Processor(Iface, TProcessor):
oprot.writeMessageEnd()
oprot.trans.flush()
+ def process_getAllDirectlyAccessibleUsers(self, seqid, iprot, oprot):
+ args = getAllDirectlyAccessibleUsers_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getAllDirectlyAccessibleUsers_result()
+ try:
+ result.success = self._handler.getAllDirectlyAccessibleUsers(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("getAllDirectlyAccessibleUsers", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_getAllDirectlyAccessibleGroups(self, seqid, iprot, oprot):
+ args = getAllDirectlyAccessibleGroups_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getAllDirectlyAccessibleGroups_result()
+ try:
+ result.success = self._handler.getAllDirectlyAccessibleGroups(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("getAllDirectlyAccessibleGroups", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
def process_userHasAccess(self, seqid, iprot, oprot):
args = userHasAccess_args()
args.read(iprot)
@@ -50647,19 +50815,394 @@ class deleteUserStoragePreference_result(object):
return not (self == other)
-class getLatestQueueStatuses_args(object):
+class getLatestQueueStatuses_args(object):
+ """
+ Attributes:
+ - authzToken
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+ )
+
+ def __init__(self, authzToken=None,):
+ self.authzToken = authzToken
+
+ 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)
+ 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('getLatestQueueStatuses_args')
+ if self.authzToken is not None:
+ oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+ self.authzToken.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.authzToken is None:
+ raise TProtocolException(message='Required field authzToken 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 getLatestQueueStatuses_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+ - ae
+ """
+
+ thrift_spec = (
+ (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.status.ttypes.QueueStatusModel, airavata.model.status.ttypes.QueueStatusModel.thrift_spec), 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 = []
+ (_etype280, _size277) = iprot.readListBegin()
+ for _i281 in range(_size277):
+ _elem282 = airavata.model.status.ttypes.QueueStatusModel()
+ _elem282.read(iprot)
+ self.success.append(_elem282)
+ 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('getLatestQueueStatuses_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRUCT, len(self.success))
+ for iter283 in self.success:
+ iter283.write(oprot)
+ 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 registerDataProduct_args(object):
+ """
+ Attributes:
+ - authzToken
+ - dataProductModel
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+ (2, TType.STRUCT, 'dataProductModel', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ), # 2
+ )
+
+ def __init__(self, authzToken=None, dataProductModel=None,):
+ self.authzToken = authzToken
+ self.dataProductModel = dataProductModel
+
+ 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.STRUCT:
+ self.dataProductModel = airavata.model.data.replica.ttypes.DataProductModel()
+ self.dataProductModel.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('registerDataProduct_args')
+ if self.authzToken is not None:
+ oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+ self.authzToken.write(oprot)
+ oprot.writeFieldEnd()
+ if self.dataProductModel is not None:
+ oprot.writeFieldBegin('dataProductModel', TType.STRUCT, 2)
+ self.dataProductModel.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.authzToken is None:
+ raise TProtocolException(message='Required field authzToken is unset!')
+ if self.dataProductModel is None:
+ raise TProtocolException(message='Required field dataProductModel 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 registerDataProduct_result(object):
+ """
+ Attributes:
+ - success
+ - ire
+ - ace
+ - ase
+ - ae
+ """
+
+ thrift_spec = (
+ (0, TType.STRING, 'success', 'UTF8', 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.STRING:
+ self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ 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('registerDataProduct_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.STRING, 0)
+ oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
+ 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 getDataProduct_args(object):
"""
Attributes:
- authzToken
+ - dataProductUri
"""
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, 'dataProductUri', 'UTF8', None, ), # 2
)
- def __init__(self, authzToken=None,):
+ def __init__(self, authzToken=None, dataProductUri=None,):
self.authzToken = authzToken
+ self.dataProductUri = dataProductUri
def read(self, iprot):
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -50676,6 +51219,11 @@ class getLatestQueueStatuses_args(object):
self.authzToken.read(iprot)
else:
iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.dataProductUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -50685,17 +51233,23 @@ class getLatestQueueStatuses_args(object):
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('getLatestQueueStatuses_args')
+ oprot.writeStructBegin('getDataProduct_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
oprot.writeFieldEnd()
+ if self.dataProductUri is not None:
+ oprot.writeFieldBegin('dataProductUri', TType.STRING, 2)
+ oprot.writeString(self.dataProductUri.encode('utf-8') if sys.version_info[0] == 2 else self.dataProductUri)
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
def validate(self):
if self.authzToken is None:
raise TProtocolException(message='Required field authzToken is unset!')
+ if self.dataProductUri is None:
+ raise TProtocolException(message='Required field dataProductUri is unset!')
return
def __repr__(self):
@@ -50710,7 +51264,7 @@ class getLatestQueueStatuses_args(object):
return not (self == other)
-class getLatestQueueStatuses_result(object):
+class getDataProduct_result(object):
"""
Attributes:
- success
@@ -50721,7 +51275,7 @@ class getLatestQueueStatuses_result(object):
"""
thrift_spec = (
- (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.status.ttypes.QueueStatusModel, airavata.model.status.ttypes.QueueStatusModel.thrift_spec), False), None, ), # 0
+ (0, TType.STRUCT, 'success', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), 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
@@ -50745,14 +51299,9 @@ class getLatestQueueStatuses_result(object):
if ftype == TType.STOP:
break
if fid == 0:
- if ftype == TType.LIST:
- self.success = []
- (_etype280, _size277) = iprot.readListBegin()
- for _i281 in range(_size277):
- _elem282 = airavata.model.status.ttypes.QueueStatusModel()
- _elem282.read(iprot)
- self.success.append(_elem282)
- iprot.readListEnd()
+ if ftype == TType.STRUCT:
+ self.success = airavata.model.data.replica.ttypes.DataProductModel()
+ self.success.read(iprot)
else:
iprot.skip(ftype)
elif fid == 1:
@@ -50788,13 +51337,10 @@ class getLatestQueueStatuses_result(object):
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('getLatestQueueStatuses_result')
+ oprot.writeStructBegin('getDataProduct_result')
if self.success is not None:
- oprot.writeFieldBegin('success', TType.LIST, 0)
- oprot.writeListBegin(TType.STRUCT, len(self.success))
- for iter283 in self.success:
- iter283.write(oprot)
- oprot.writeListEnd()
+ oprot.writeFieldBegin('success', TType.STRUCT, 0)
+ self.success.write(oprot)
oprot.writeFieldEnd()
if self.ire is not None:
oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -50830,22 +51376,22 @@ class getLatestQueueStatuses_result(object):
return not (self == other)
-class registerDataProduct_args(object):
+class registerReplicaLocation_args(object):
"""
Attributes:
- authzToken
- - dataProductModel
+ - replicaLocationModel
"""
thrift_spec = (
None, # 0
(1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
- (2, TType.STRUCT, 'dataProductModel', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ), # 2
+ (2, TType.STRUCT, 'replicaLocationModel', (airavata.model.data.replica.ttypes.DataReplicaLocationModel, airavata.model.data.replica.ttypes.DataReplicaLocationModel.thrift_spec), None, ), # 2
)
- def __init__(self, authzToken=None, dataProductModel=None,):
+ def __init__(self, authzToken=None, replicaLocationModel=None,):
self.authzToken = authzToken
- self.dataProductModel = dataProductModel
+ self.replicaLocationModel = replicaLocationModel
def read(self, iprot):
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -50864,8 +51410,8 @@ class registerDataProduct_args(object):
iprot.skip(ftype)
elif fid == 2:
if ftype == TType.STRUCT:
- self.dataProductModel = airavata.model.data.replica.ttypes.DataProductModel()
- self.dataProductModel.read(iprot)
+ self.replicaLocationModel = airavata.model.data.replica.ttypes.DataReplicaLocationModel()
+ self.replicaLocationModel.read(iprot)
else:
iprot.skip(ftype)
else:
@@ -50877,14 +51423,14 @@ class registerDataProduct_args(object):
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('registerDataProduct_args')
+ oprot.writeStructBegin('registerReplicaLocation_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
oprot.writeFieldEnd()
- if self.dataProductModel is not None:
- oprot.writeFieldBegin('dataProductModel', TType.STRUCT, 2)
- self.dataProductModel.write(oprot)
+ if self.replicaLocationModel is not None:
+ oprot.writeFieldBegin('replicaLocationModel', TType.STRUCT, 2)
+ self.replicaLocationModel.write(oprot)
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -50892,8 +51438,8 @@ class registerDataProduct_args(object):
def validate(self):
if self.authzToken is None:
raise TProtocolException(message='Required field authzToken is unset!')
- if self.dataProductModel is None:
- raise TProtocolException(message='Required field dataProductModel is unset!')
+ if self.replicaLocationModel is None:
+ raise TProtocolException(message='Required field replicaLocationModel is unset!')
return
def __repr__(self):
@@ -50908,7 +51454,7 @@ class registerDataProduct_args(object):
return not (self == other)
-class registerDataProduct_result(object):
+class registerReplicaLocation_result(object):
"""
Attributes:
- success
@@ -50980,7 +51526,7 @@ class registerDataProduct_result(object):
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('registerDataProduct_result')
+ oprot.writeStructBegin('registerReplicaLocation_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.STRING, 0)
oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
@@ -51019,22 +51565,22 @@ class registerDataProduct_result(object):
return not (self == other)
-class getDataProduct_args(object):
+class getParentDataProduct_args(object):
"""
Attributes:
- authzToken
- - dataProductUri
+ - productUri
"""
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, 'dataProductUri', 'UTF8', None, ), # 2
+ (2, TType.STRING, 'productUri', 'UTF8', None, ), # 2
)
- def __init__(self, authzToken=None, dataProductUri=None,):
+ def __init__(self, authzToken=None, productUri=None,):
self.authzToken = authzToken
- self.dataProductUri = dataProductUri
+ self.productUri = productUri
def read(self, iprot):
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -51053,7 +51599,7 @@ class getDataProduct_args(object):
iprot.skip(ftype)
elif fid == 2:
if ftype == TType.STRING:
- self.dataProductUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
else:
iprot.skip(ftype)
else:
@@ -51065,14 +51611,14 @@ class getDataProduct_args(object):
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('getDataProduct_args')
+ oprot.writeStructBegin('getParentDataProduct_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
oprot.writeFieldEnd()
- if self.dataProductUri is not None:
- oprot.writeFieldBegin('dataProductUri', TType.STRING, 2)
- oprot.writeString(self.dataProductUri.encode('utf-8') if sys.version_info[0] == 2 else self.dataProductUri)
+ if self.productUri is not None:
+ oprot.writeFieldBegin('productUri', TType.STRING, 2)
+ oprot.writeString(self.productUri.encode('utf-8') if sys.version_info[0] == 2 else self.productUri)
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -51080,8 +51626,8 @@ class getDataProduct_args(object):
def validate(self):
if self.authzToken is None:
raise TProtocolException(message='Required field authzToken is unset!')
- if self.dataProductUri is None:
- raise TProtocolException(message='Required field dataProductUri is unset!')
+ if self.productUri is None:
+ raise TProtocolException(message='Required field productUri is unset!')
return
def __repr__(self):
@@ -51096,7 +51642,7 @@ class getDataProduct_args(object):
return not (self == other)
-class getDataProduct_result(object):
+class getParentDataProduct_result(object):
"""
Attributes:
- success
@@ -51169,7 +51715,7 @@ class getDataProduct_result(object):
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('getDataProduct_result')
+ oprot.writeStructBegin('getParentDataProduct_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.STRUCT, 0)
self.success.write(oprot)
@@ -51208,22 +51754,22 @@ class getDataProduct_result(object):
return not (self == other)
-class registerReplicaLocation_args(object):
+class getChildDataProducts_args(object):
"""
Attributes:
- authzToken
- - replicaLocationModel
+ - productUri
"""
thrift_spec = (
None, # 0
(1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
- (2, TType.STRUCT, 'replicaLocationModel', (airavata.model.data.replica.ttypes.DataReplicaLocationModel, airavata.model.data.replica.ttypes.DataReplicaLocationModel.thrift_spec), None, ), # 2
+ (2, TType.STRING, 'productUri', 'UTF8', None, ), # 2
)
- def __init__(self, authzToken=None, replicaLocationModel=None,):
+ def __init__(self, authzToken=None, productUri=None,):
self.authzToken = authzToken
- self.replicaLocationModel = replicaLocationModel
+ self.productUri = productUri
def read(self, iprot):
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -51241,9 +51787,8 @@ class registerReplicaLocation_args(object):
else:
iprot.skip(ftype)
elif fid == 2:
- if ftype == TType.STRUCT:
- self.replicaLocationModel = airavata.model.data.replica.ttypes.DataReplicaLocationModel()
- self.replicaLocationModel.read(iprot)
+ if ftype == TType.STRING:
+ self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
else:
iprot.skip(ftype)
else:
@@ -51255,14 +51800,14 @@ class registerReplicaLocation_args(object):
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('registerReplicaLocation_args')
+ oprot.writeStructBegin('getChildDataProducts_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
oprot.writeFieldEnd()
- if self.replicaLocationModel is not None:
- oprot.writeFieldBegin('replicaLocationModel', TType.STRUCT, 2)
- self.replicaLocationModel.write(oprot)
+ if self.productUri is not None:
+ oprot.writeFieldBegin('productUri', TType.STRING, 2)
+ oprot.writeString(self.productUri.encode('utf-8') if sys.version_info[0] == 2 else self.productUri)
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -51270,8 +51815,8 @@ class registerReplicaLocation_args(object):
def validate(self):
if self.authzToken is None:
raise TProtocolException(message='Required field authzToken is unset!')
- if self.replicaLocationModel is None:
- raise TProtocolException(message='Required field replicaLocationModel is unset!')
+ if self.productUri is None:
+ raise TProtocolException(message='Required field productUri is unset!')
return
def __repr__(self):
@@ -51286,7 +51831,7 @@ class registerReplicaLocation_args(object):
return not (self == other)
-class registerReplicaLocation_result(object):
+class getChildDataProducts_result(object):
"""
Attributes:
- success
@@ -51297,7 +51842,7 @@ class registerReplicaLocation_result(object):
"""
thrift_spec = (
- (0, TType.STRING, 'success', 'UTF8', None, ), # 0
+ (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), 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
@@ -51321,8 +51866,14 @@ class registerReplicaLocation_result(object):
if ftype == TType.STOP:
break
if fid == 0:
- if ftype == TType.STRING:
- self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ if ftype == TType.LIST:
+ self.success = []
+ (_etype287, _size284) = iprot.readListBegin()
+ for _i288 in range(_size284):
+ _elem289 = airavata.model.data.replica.ttypes.DataProductModel()
+ _elem289.read(iprot)
+ self.success.append(_elem289)
+ iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 1:
@@ -51358,10 +51909,13 @@ class registerReplicaLocation_result(object):
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('registerReplicaLocation_result')
+ oprot.writeStructBegin('getChildDataProducts_result')
if self.success is not None:
- oprot.writeFieldBegin('success', TType.STRING, 0)
- oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRUCT, len(self.success))
+ for iter290 in self.success:
+ iter290.write(oprot)
+ oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -51397,22 +51951,26 @@ class registerReplicaLocation_result(object):
return not (self == other)
-class getParentDataProduct_args(object):
+class shareResourceWithUsers_args(object):
"""
Attributes:
- authzToken
- - productUri
+ - resourceId
+ - userPermissionList
"""
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, 'productUri', 'UTF8', None, ), # 2
+ (2, TType.STRING, 'resourceId', 'UTF8', None, ), # 2
+ None, # 3
+ (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 4
)
- def __init__(self, authzToken=None, productUri=None,):
+ def __init__(self, authzToken=None, resourceId=None, userPermissionList=None,):
self.authzToken = authzToken
- self.productUri = productUri
+ self.resourceId = resourceId
+ self.userPermissionList = userPermissionList
def read(self, iprot):
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -51431,7 +51989,18 @@ class getParentDataProduct_args(object):
iprot.skip(ftype)
elif fid == 2:
if ftype == TType.STRING:
- self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ 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.MAP:
+ self.userPermissionList = {}
+ (_ktype292, _vtype293, _size291) = iprot.readMapBegin()
+ for _i295 in range(_size291):
+ _key296 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ _val297 = iprot.readI32()
+ self.userPermissionList[_key296] = _val297
+ iprot.readMapEnd()
else:
iprot.skip(ftype)
else:
@@ -51443,14 +52012,22 @@ class getParentDataProduct_args(object):
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('getParentDataProduct_args')
+ oprot.writeStructBegin('shareResourceWithUsers_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
oprot.writeFieldEnd()
- if self.productUri is not None:
- oprot.writeFieldBegin('productUri', TType.STRING, 2)
- oprot.writeString(self.productUri.encode('utf-8') if sys.version_info[0] == 2 else self.productUri)
+ 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.userPermissionList is not None:
+ oprot.writeFieldBegin('userPermissionList', TType.MAP, 4)
+ oprot.writeMapBegin(TType.STRING, TType.I32, len(self.userPermissionList))
+ for kiter298, viter299 in self.userPermissionList.items():
+ oprot.writeString(kiter298.encode('utf-8') if sys.version_info[0] == 2 else kiter298)
+ oprot.writeI32(viter299)
+ oprot.writeMapEnd()
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -51458,8 +52035,8 @@ class getParentDataProduct_args(object):
def validate(self):
if self.authzToken is None:
raise TProtocolException(message='Required field authzToken is unset!')
- if self.productUri is None:
- raise TProtocolException(message='Required field productUri is unset!')
+ if self.resourceId is None:
+ raise TProtocolException(message='Required field resourceId is unset!')
return
def __repr__(self):
@@ -51474,7 +52051,7 @@ class getParentDataProduct_args(object):
return not (self == other)
-class getParentDataProduct_result(object):
+class shareResourceWithUsers_result(object):
"""
Attributes:
- success
@@ -51485,7 +52062,7 @@ class getParentDataProduct_result(object):
"""
thrift_spec = (
- (0, TType.STRUCT, 'success', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ), # 0
+ (0, TType.BOOL, 'success', None, 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
@@ -51509,9 +52086,8 @@ class getParentDataProduct_result(object):
if ftype == TType.STOP:
break
if fid == 0:
- if ftype == TType.STRUCT:
- self.success = airavata.model.data.replica.ttypes.DataProductModel()
- self.success.read(iprot)
+ if ftype == TType.BOOL:
+ self.success = iprot.readBool()
else:
iprot.skip(ftype)
elif fid == 1:
@@ -51547,10 +52123,10 @@ class getParentDataProduct_result(object):
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('getParentDataProduct_result')
+ oprot.writeStructBegin('shareResourceWithUsers_result')
if self.success is not None:
- oprot.writeFieldBegin('success', TType.STRUCT, 0)
- self.success.write(oprot)
+ oprot.writeFieldBegin('success', TType.BOOL, 0)
+ oprot.writeBool(self.success)
oprot.writeFieldEnd()
if self.ire is not None:
oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -51586,22 +52162,26 @@ class getParentDataProduct_result(object):
return not (self == other)
-class getChildDataProducts_args(object):
+class shareResourceWithGroups_args(object):
"""
Attributes:
- authzToken
- - productUri
+ - resourceId
+ - groupPermissionList
"""
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, 'productUri', 'UTF8', None, ), # 2
+ (2, TType.STRING, 'resourceId', 'UTF8', None, ), # 2
+ None, # 3
+ (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 4
)
- def __init__(self, authzToken=None, productUri=None,):
+ def __init__(self, authzToken=None, resourceId=None, groupPermissionList=None,):
self.authzToken = authzToken
- self.productUri = productUri
+ self.resourceId = resourceId
+ self.groupPermissionList = groupPermissionList
def read(self, iprot):
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -51620,7 +52200,18 @@ class getChildDataProducts_args(object):
iprot.skip(ftype)
elif fid == 2:
if ftype == TType.STRING:
- self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ 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.MAP:
+ self.groupPermissionList = {}
+ (_ktype301, _vtype302, _size300) = iprot.readMapBegin()
+ for _i304 in range(_size300):
+ _key305 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ _val306 = iprot.readI32()
+ self.groupPermissionList[_key305] = _val306
+ iprot.readMapEnd()
else:
iprot.skip(ftype)
else:
@@ -51632,14 +52223,22 @@ class getChildDataProducts_args(object):
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('getChildDataProducts_args')
+ oprot.writeStructBegin('shareResourceWithGroups_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
oprot.writeFieldEnd()
- if self.productUri is not None:
- oprot.writeFieldBegin('productUri', TType.STRING, 2)
- oprot.writeString(self.productUri.encode('utf-8') if sys.version_info[0] == 2 else self.productUri)
+ 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.groupPermissionList is not None:
+ oprot.writeFieldBegin('groupPermissionList', TType.MAP, 4)
+ oprot.writeMapBegin(TType.STRING, TType.I32, len(self.groupPermissionList))
+ for kiter307, viter308 in self.groupPermissionList.items():
+ oprot.writeString(kiter307.encode('utf-8') if sys.version_info[0] == 2 else kiter307)
+ oprot.writeI32(viter308)
+ oprot.writeMapEnd()
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -51647,8 +52246,8 @@ class getChildDataProducts_args(object):
def validate(self):
if self.authzToken is None:
raise TProtocolException(message='Required field authzToken is unset!')
- if self.productUri is None:
- raise TProtocolException(message='Required field productUri is unset!')
+ if self.resourceId is None:
+ raise TProtocolException(message='Required field resourceId is unset!')
return
def __repr__(self):
@@ -51663,7 +52262,7 @@ class getChildDataProducts_args(object):
return not (self == other)
-class getChildDataProducts_result(object):
+class shareResourceWithGroups_result(object):
"""
Attributes:
- success
@@ -51674,7 +52273,7 @@ class getChildDataProducts_result(object):
"""
thrift_spec = (
- (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), False), None, ), # 0
+ (0, TType.BOOL, 'success', None, 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
@@ -51698,14 +52297,8 @@ class getChildDataProducts_result(object):
if ftype == TType.STOP:
break
if fid == 0:
- if ftype == TType.LIST:
- self.success = []
- (_etype287, _size284) = iprot.readListBegin()
- for _i288 in range(_size284):
- _elem289 = airavata.model.data.replica.ttypes.DataProductModel()
- _elem289.read(iprot)
- self.success.append(_elem289)
- iprot.readListEnd()
+ if ftype == TType.BOOL:
+ self.success = iprot.readBool()
else:
iprot.skip(ftype)
elif fid == 1:
@@ -51741,13 +52334,10 @@ class getChildDataProducts_result(object):
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('getChildDataProducts_result')
+ oprot.writeStructBegin('shareResourceWithGroups_result')
if self.success is not None:
- oprot.writeFieldBegin('success', TType.LIST, 0)
- oprot.writeListBegin(TType.STRUCT, len(self.success))
- for iter290 in self.success:
- iter290.write(oprot)
- oprot.writeListEnd()
+ oprot.writeFieldBegin('success', TType.BOOL, 0)
+ oprot.writeBool(self.success)
oprot.writeFieldEnd()
if self.ire is not None:
oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -51783,7 +52373,7 @@ class getChildDataProducts_result(object):
return not (self == other)
-class shareResourceWithUsers_args(object):
+class revokeSharingOfResourceFromUsers_args(object):
"""
Attributes:
- authzToken
@@ -51827,11 +52417,11 @@ class shareResourceWithUsers_args(object):
elif fid == 4:
if ftype == TType.MAP:
self.userPermissionList = {}
- (_ktype292, _vtype293, _size291) = iprot.readMapBegin()
- for _i295 in range(_size291):
- _key296 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- _val297 = iprot.readI32()
- self.userPermissionList[_key296] = _val297
+ (_ktype310, _vtype311, _size309) = iprot.readMapBegin()
+ for _i313 in range(_size309):
+ _key314 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ _val315 = iprot.readI32()
+ self.userPermissionList[_key314] = _val315
iprot.readMapEnd()
else:
iprot.skip(ftype)
@@ -51844,7 +52434,7 @@ class shareResourceWithUsers_args(object):
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('shareResourceWithUsers_args')
+ oprot.writeStructBegin('revokeSharingOfResourceFromUsers_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
@@ -51856,9 +52446,9 @@ class shareResourceWithUsers_args(object):
if self.userPermissionList is not None:
oprot.writeFieldBegin('userPermissionList', TType.MAP, 4)
oprot.writeMapBegin(TType.STRING, TType.I32, len(self.userPermissionList))
- for kiter298, viter299 in self.userPermissionList.items():
- oprot.writeString(kiter298.encode('utf-8') if sys.version_info[0] == 2 else kiter298)
- oprot.writeI32(viter299)
+ for kiter316, viter317 in self.userPermissionList.items():
+ oprot.writeString(kiter316.encode('utf-8') if sys.version_info[0] == 2 else kiter316)
+ oprot.writeI32(viter317)
oprot.writeMapEnd()
oprot.writeFieldEnd()
oprot.writeFieldStop()
@@ -51883,7 +52473,7 @@ class shareResourceWithUsers_args(object):
return not (self == other)
-class shareResourceWithUsers_result(object):
+class revokeSharingOfResourceFromUsers_result(object):
"""
Attributes:
- success
@@ -51955,7 +52545,7 @@ class shareResourceWithUsers_result(object):
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('shareResourceWithUsers_result')
+ oprot.writeStructBegin('revokeSharingOfResourceFromUsers_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.BOOL, 0)
oprot.writeBool(self.success)
@@ -51994,7 +52584,7 @@ class shareResourceWithUsers_result(object):
return not (self == other)
-class shareResourceWithGroups_args(object):
+class revokeSharingOfResourceFromGroups_args(object):
"""
Attributes:
- authzToken
@@ -52038,11 +52628,11 @@ class shareResourceWithGroups_args(object):
elif fid == 4:
if ftype == TType.MAP:
self.groupPermissionList = {}
- (_ktype301, _vtype302, _size300) = iprot.readMapBegin()
- for _i304 in range(_size300):
- _key305 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- _val306 = iprot.readI32()
- self.groupPermissionList[_key305] = _val306
+ (_ktype319, _vtype320, _size318) = iprot.readMapBegin()
+ for _i322 in range(_size318):
+ _key323 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ _val324 = iprot.readI32()
+ self.groupPermissionList[_key323] = _val324
iprot.readMapEnd()
else:
iprot.skip(ftype)
@@ -52055,7 +52645,7 @@ class shareResourceWithGroups_args(object):
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('shareResourceWithGroups_args')
+ oprot.writeStructBegin('revokeSharingOfResourceFromGroups_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
@@ -52067,9 +52657,9 @@ class shareResourceWithGroups_args(object):
if self.groupPermissionList is not None:
oprot.writeFieldBegin('groupPermissionList', TType.MAP, 4)
oprot.writeMapBegin(TType.STRING, TType.I32, len(self.groupPermissionList))
- for kiter307, viter308 in self.groupPermissionList.items():
- oprot.writeString(kiter307.encode('utf-8') if sys.version_info[0] == 2 else kiter307)
- oprot.writeI32(viter308)
+ for kiter325, viter326 in self.groupPermissionList.items():
+ oprot.writeString(kiter325.encode('utf-8') if sys.version_info[0] == 2 else kiter325)
+ oprot.writeI32(viter326)
oprot.writeMapEnd()
oprot.writeFieldEnd()
oprot.writeFieldStop()
@@ -52094,7 +52684,7 @@ class shareResourceWithGroups_args(object):
return not (self == other)
-class shareResourceWithGroups_result(object):
+class revokeSharingOfResourceFromGroups_result(object):
"""
Attributes:
- success
@@ -52166,7 +52756,7 @@ class shareResourceWithGroups_result(object):
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('shareResourceWithGroups_result')
+ oprot.writeStructBegin('revokeSharingOfResourceFromGroups_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.BOOL, 0)
oprot.writeBool(self.success)
@@ -52205,12 +52795,12 @@ class shareResourceWithGroups_result(object):
return not (self == other)
-class revokeSharingOfResourceFromUsers_args(object):
+class getAllAccessibleUsers_args(object):
"""
Attributes:
- authzToken
- resourceId
- - userPermissionList
+ - permissionType
"""
thrift_spec = (
@@ -52218,13 +52808,13 @@ class revokeSharingOfResourceFromUsers_args(object):
(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.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 4
+ (4, TType.I32, 'permissionType', None, None, ), # 4
)
- def __init__(self, authzToken=None, resourceId=None, userPermissionList=None,):
+ def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
self.authzToken = authzToken
self.resourceId = resourceId
- self.userPermissionList = userPermissionList
+ 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:
@@ -52247,14 +52837,8 @@ class revokeSharingOfResourceFromUsers_args(object):
else:
iprot.skip(ftype)
elif fid == 4:
- if ftype == TType.MAP:
- self.userPermissionList = {}
- (_ktype310, _vtype311, _size309) = iprot.readMapBegin()
- for _i313 in range(_size309):
- _key314 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- _val315 = iprot.readI32()
- self.userPermissionList[_key314] = _val315
- iprot.readMapEnd()
+ if ftype == TType.I32:
+ self.permissionType = iprot.readI32()
else:
iprot.skip(ftype)
else:
@@ -52266,7 +52850,7 @@ class revokeSharingOfResourceFromUsers_args(object):
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('revokeSharingOfResourceFromUsers_args')
+ oprot.writeStructBegin('getAllAccessibleUsers_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
@@ -52275,13 +52859,9 @@ 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.userPermissionList is not None:
- oprot.writeFieldBegin('userPermissionList', TType.MAP, 4)
- oprot.writeMapBegin(TType.STRING, TType.I32, len(self.userPermissionList))
- for kiter316, viter317 in self.userPermissionList.items():
- oprot.writeString(kiter316.encode('utf-8') if sys.version_info[0] == 2 else kiter316)
- oprot.writeI32(viter317)
- oprot.writeMapEnd()
+ if self.permissionType is not None:
+ oprot.writeFieldBegin('permissionType', TType.I32, 4)
+ oprot.writeI32(self.permissionType)
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -52291,6 +52871,8 @@ 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.permissionType is None:
+ raise TProtocolException(message='Required field permissionType is unset!')
return
def __repr__(self):
@@ -52305,7 +52887,7 @@ class revokeSharingOfResourceFromUsers_args(object):
return not (self == other)
-class revokeSharingOfResourceFromUsers_result(object):
+class getAllAccessibleUsers_result(object):
"""
Attributes:
- success
@@ -52316,7 +52898,7 @@ class revokeSharingOfResourceFromUsers_result(object):
"""
thrift_spec = (
- (0, TType.BOOL, 'success', None, None, ), # 0
+ (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
@@ -52340,8 +52922,13 @@ class revokeSharingOfResourceFromUsers_result(object):
if ftype == TType.STOP:
break
if fid == 0:
- if ftype == TType.BOOL:
- self.success = iprot.readBool()
+ if ftype == TType.LIST:
+ self.success = []
+ (_etype330, _size327) = iprot.readListBegin()
+ for _i331 in range(_size327):
+ _elem332 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.success.append(_elem332)
+ iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 1:
@@ -52377,10 +52964,13 @@ class revokeSharingOfResourceFromUsers_result(object):
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('revokeSharingOfResourceFromUsers_result')
+ oprot.writeStructBegin('getAllAccessibleUsers_result')
if self.success is not None:
- oprot.writeFieldBegin('success', TType.BOOL, 0)
- oprot.writeBool(self.success)
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRING, len(self.success))
+ for iter333 in self.success:
+ oprot.writeString(iter333.encode('utf-8') if sys.version_info[0] == 2 else iter333)
+ oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -52416,12 +53006,12 @@ class revokeSharingOfResourceFromUsers_result(object):
return not (self == other)
-class revokeSharingOfResourceFromGroups_args(object):
+class getAllAccessibleGroups_args(object):
"""
Attributes:
- authzToken
- resourceId
- - groupPermissionList
+ - permissionType
"""
thrift_spec = (
@@ -52429,13 +53019,13 @@ class revokeSharingOfResourceFromGroups_args(object):
(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.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 4
+ (4, TType.I32, 'permissionType', None, None, ), # 4
)
- def __init__(self, authzToken=None, resourceId=None, groupPermissionList=None,):
+ def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
self.authzToken = authzToken
self.resourceId = resourceId
- self.groupPermissionList = groupPermissionList
+ 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:
@@ -52458,14 +53048,8 @@ class revokeSharingOfResourceFromGroups_args(object):
else:
iprot.skip(ftype)
elif fid == 4:
- if ftype == TType.MAP:
- self.groupPermissionList = {}
- (_ktype319, _vtype320, _size318) = iprot.readMapBegin()
- for _i322 in range(_size318):
- _key323 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- _val324 = iprot.readI32()
- self.groupPermissionList[_key323] = _val324
- iprot.readMapEnd()
+ if ftype == TType.I32:
+ self.permissionType = iprot.readI32()
else:
iprot.skip(ftype)
else:
@@ -52477,7 +53061,7 @@ class revokeSharingOfResourceFromGroups_args(object):
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('revokeSharingOfResourceFromGroups_args')
+ oprot.writeStructBegin('getAllAccessibleGroups_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
@@ -52486,13 +53070,9 @@ 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.groupPermissionList is not None:
- oprot.writeFieldBegin('groupPermissionList', TType.MAP, 4)
- oprot.writeMapBegin(TType.STRING, TType.I32, len(self.groupPermissionList))
- for kiter325, viter326 in self.groupPermissionList.items():
- oprot.writeString(kiter325.encode('utf-8') if sys.version_info[0] == 2 else kiter325)
- oprot.writeI32(viter326)
- oprot.writeMapEnd()
+ if self.permissionType is not None:
+ oprot.writeFieldBegin('permissionType', TType.I32, 4)
+ oprot.writeI32(self.permissionType)
oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -52502,6 +53082,8 @@ 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.permissionType is None:
+ raise TProtocolException(message='Required field permissionType is unset!')
return
def __repr__(self):
@@ -52516,7 +53098,7 @@ class revokeSharingOfResourceFromGroups_args(object):
return not (self == other)
-class revokeSharingOfResourceFromGroups_result(object):
+class getAllAccessibleGroups_result(object):
"""
Attributes:
- success
@@ -52527,7 +53109,7 @@ class revokeSharingOfResourceFromGroups_result(object):
"""
thrift_spec = (
- (0, TType.BOOL, 'success', None, None, ), # 0
+ (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
@@ -52551,8 +53133,13 @@ class revokeSharingOfResourceFromGroups_result(object):
if ftype == TType.STOP:
break
if fid == 0:
- if ftype == TType.BOOL:
- self.success = iprot.readBool()
+ if ftype == TType.LIST:
+ self.success = []
+ (_etype337, _size334) = iprot.readListBegin()
+ for _i338 in range(_size334):
+ _elem339 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.success.append(_elem339)
+ iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 1:
@@ -52588,10 +53175,13 @@ class revokeSharingOfResourceFromGroups_result(object):
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('revokeSharingOfResourceFromGroups_result')
+ oprot.writeStructBegin('getAllAccessibleGroups_result')
if self.success is not None:
- oprot.writeFieldBegin('success', TType.BOOL, 0)
- oprot.writeBool(self.success)
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRING, len(self.success))
+ for iter340 in self.success:
+ oprot.writeString(iter340.encode('utf-8') if sys.version_info[0] == 2 else iter340)
+ oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -52627,7 +53217,7 @@ class revokeSharingOfResourceFromGroups_result(object):
return not (self == other)
-class getAllAccessibleUsers_args(object):
+class getAllDirectlyAccessibleUsers_args(object):
"""
Attributes:
- authzToken
@@ -52682,7 +53272,7 @@ class getAllAccessibleUsers_args(object):
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('getAllAccessibleUsers_args')
+ oprot.writeStructBegin('getAllDirectlyAccessibleUsers_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
@@ -52719,7 +53309,7 @@ class getAllAccessibleUsers_args(object):
return not (self == other)
-class getAllAccessibleUsers_result(object):
+class getAllDirectlyAccessibleUsers_result(object):
"""
Attributes:
- success
@@ -52756,10 +53346,10 @@ class getAllAccessibleUsers_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype330, _size327) = iprot.readListBegin()
- for _i331 in range(_size327):
- _elem332 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- self.success.append(_elem332)
+ (_etype344, _size341) = iprot.readListBegin()
+ for _i345 in range(_size341):
+ _elem346 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.success.append(_elem346)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -52796,12 +53386,12 @@ class getAllAccessibleUsers_result(object):
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('getAllAccessibleUsers_result')
+ oprot.writeStructBegin('getAllDirectlyAccessibleUsers_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRING, len(self.success))
- for iter333 in self.success:
- oprot.writeString(iter333.encode('utf-8') if sys.version_info[0] == 2 else iter333)
+ for iter347 in self.success:
+ oprot.writeString(iter347.encode('utf-8') if sys.version_info[0] == 2 else iter347)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -52838,7 +53428,7 @@ class getAllAccessibleUsers_result(object):
return not (self == other)
-class getAllAccessibleGroups_args(object):
+class getAllDirectlyAccessibleGroups_args(object):
"""
Attributes:
- authzToken
@@ -52893,7 +53483,7 @@ class getAllAccessibleGroups_args(object):
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')
+ oprot.writeStructBegin('getAllDirectlyAccessibleGroups_args')
if self.authzToken is not None:
oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
self.authzToken.write(oprot)
@@ -52930,7 +53520,7 @@ class getAllAccessibleGroups_args(object):
return not (self == other)
-class getAllAccessibleGroups_result(object):
+class getAllDirectlyAccessibleGroups_result(object):
"""
Attributes:
- success
@@ -52967,10 +53557,10 @@ class getAllAccessibleGroups_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype337, _size334) = iprot.readListBegin()
- for _i338 in range(_size334):
- _elem339 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- self.success.append(_elem339)
+ (_etype351, _size348) = iprot.readListBegin()
+ for _i352 in range(_size348):
+ _elem353 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.success.append(_elem353)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -53007,12 +53597,12 @@ class getAllAccessibleGroups_result(object):
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')
+ oprot.writeStructBegin('getAllDirectlyAccessibleGroups_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRING, len(self.success))
- for iter340 in self.success:
- oprot.writeString(iter340.encode('utf-8') if sys.version_info[0] == 2 else iter340)
+ for iter354 in self.success:
+ oprot.writeString(iter354.encode('utf-8') if sys.version_info[0] == 2 else iter354)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -54109,11 +54699,11 @@ class getGroupResourceList_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype344, _size341) = iprot.readListBegin()
- for _i345 in range(_size341):
- _elem346 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile()
- _elem346.read(iprot)
- self.success.append(_elem346)
+ (_etype358, _size355) = iprot.readListBegin()
+ for _i359 in range(_size355):
+ _elem360 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile()
+ _elem360.read(iprot)
+ self.success.append(_elem360)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -54154,8 +54744,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 iter347 in self.success:
- iter347.write(oprot)
+ for iter361 in self.success:
+ iter361.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -55465,11 +56055,11 @@ class getGroupComputeResourcePrefList_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype351, _size348) = iprot.readListBegin()
- for _i352 in range(_size348):
- _elem353 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference()
- _elem353.read(iprot)
- self.success.append(_elem353)
+ (_etype365, _size362) = iprot.readListBegin()
+ for _i366 in range(_size362):
+ _elem367 = airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference()
+ _elem367.read(iprot)
+ self.success.append(_elem367)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -55510,8 +56100,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 iter354 in self.success:
- iter354.write(oprot)
+ for iter368 in self.success:
+ iter368.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -55662,11 +56252,11 @@ class getGroupBatchQueueResourcePolicyList_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype358, _size355) = iprot.readListBegin()
- for _i359 in range(_size355):
- _elem360 = airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy()
- _elem360.read(iprot)
- self.success.append(_elem360)
+ (_etype372, _size369) = iprot.readListBegin()
+ for _i373 in range(_size369):
+ _elem374 = airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy()
+ _elem374.read(iprot)
+ self.success.append(_elem374)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -55707,8 +56297,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 iter361 in self.success:
- iter361.write(oprot)
+ for iter375 in self.success:
+ iter375.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -55859,11 +56449,11 @@ class getGroupComputeResourcePolicyList_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype365, _size362) = iprot.readListBegin()
- for _i366 in range(_size362):
- _elem367 = airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy()
- _elem367.read(iprot)
- self.success.append(_elem367)
+ (_etype379, _size376) = iprot.readListBegin()
+ for _i380 in range(_size376):
+ _elem381 = airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy()
+ _elem381.read(iprot)
+ self.success.append(_elem381)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -55904,8 +56494,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 iter368 in self.success:
- iter368.write(oprot)
+ for iter382 in self.success:
+ iter382.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -56623,11 +57213,11 @@ class listAllParsers_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype372, _size369) = iprot.readListBegin()
- for _i373 in range(_size369):
- _elem374 = airavata.model.appcatalog.parser.ttypes.Parser()
- _elem374.read(iprot)
- self.success.append(_elem374)
+ (_etype386, _size383) = iprot.readListBegin()
+ for _i387 in range(_size383):
+ _elem388 = airavata.model.appcatalog.parser.ttypes.Parser()
+ _elem388.read(iprot)
+ self.success.append(_elem388)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -56668,8 +57258,8 @@ class listAllParsers_result(object):
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRUCT, len(self.success))
- for iter375 in self.success:
- iter375.write(oprot)
+ for iter389 in self.success:
+ iter389.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -57239,11 +57829,11 @@ class getParsingTemplatesForExperiment_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype379, _size376) = iprot.readListBegin()
- for _i380 in range(_size376):
- _elem381 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
- _elem381.read(iprot)
- self.success.append(_elem381)
+ (_etype393, _size390) = iprot.readListBegin()
+ for _i394 in range(_size390):
+ _elem395 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
+ _elem395.read(iprot)
+ self.success.append(_elem395)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -57284,8 +57874,8 @@ class getParsingTemplatesForExperiment_result(object):
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRUCT, len(self.success))
- for iter382 in self.success:
- iter382.write(oprot)
+ for iter396 in self.success:
+ iter396.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
@@ -57827,11 +58417,11 @@ class listAllParsingTemplates_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype386, _size383) = iprot.readListBegin()
- for _i387 in range(_size383):
- _elem388 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
- _elem388.read(iprot)
- self.success.append(_elem388)
+ (_etype400, _size397) = iprot.readListBegin()
+ for _i401 in range(_size397):
+ _elem402 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
+ _elem402.read(iprot)
+ self.success.append(_elem402)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -57872,8 +58462,8 @@ class listAllParsingTemplates_result(object):
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRUCT, len(self.success))
- for iter389 in self.success:
- iter389.write(oprot)
+ for iter403 in self.success:
+ iter403.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.ire is not None:
diff --git a/airavata/api/sharing/SharingRegistryService-remote b/airavata/api/sharing/SharingRegistryService-remote
index 4e45a36..4a0427e 100755
--- a/airavata/api/sharing/SharingRegistryService-remote
+++ b/airavata/api/sharing/SharingRegistryService-remote
@@ -67,7 +67,9 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print(' Entity getEntity(string domainId, string entityId)')
print(' searchEntities(string domainId, string userId, filters, i32 offset, i32 limit)')
print(' getListOfSharedUsers(string domainId, string entityId, string permissionTypeId)')
+ print(' getListOfDirectlySharedUsers(string domainId, string entityId, string permissionTypeId)')
print(' getListOfSharedGroups(string domainId, string entityId, string permissionTypeId)')
+ print(' getListOfDirectlySharedGroups(string domainId, string entityId, string permissionTypeId)')
print(' string createPermissionType(PermissionType permissionType)')
print(' bool updatePermissionType(PermissionType permissionType)')
print(' bool isPermissionExists(string dimainId, string permissionId)')
@@ -416,12 +418,24 @@ elif cmd == 'getListOfSharedUsers':
sys.exit(1)
pp.pprint(client.getListOfSharedUsers(args[0], args[1], args[2],))
+elif cmd == 'getListOfDirectlySharedUsers':
+ if len(args) != 3:
+ print('getListOfDirectlySharedUsers requires 3 args')
+ sys.exit(1)
+ pp.pprint(client.getListOfDirectlySharedUsers(args[0], args[1], args[2],))
+
elif cmd == 'getListOfSharedGroups':
if len(args) != 3:
print('getListOfSharedGroups requires 3 args')
sys.exit(1)
pp.pprint(client.getListOfSharedGroups(args[0], args[1], args[2],))
+elif cmd == 'getListOfDirectlySharedGroups':
+ if len(args) != 3:
+ print('getListOfDirectlySharedGroups requires 3 args')
+ sys.exit(1)
+ pp.pprint(client.getListOfDirectlySharedGroups(args[0], args[1], args[2],))
+
elif cmd == 'createPermissionType':
if len(args) != 1:
print('createPermissionType requires 1 args')
diff --git a/airavata/api/sharing/SharingRegistryService.py b/airavata/api/sharing/SharingRegistryService.py
index dd3c22f..1c4f702 100644
--- a/airavata/api/sharing/SharingRegistryService.py
+++ b/airavata/api/sharing/SharingRegistryService.py
@@ -454,6 +454,17 @@ class Iface(object):
"""
pass
+ def getListOfDirectlySharedUsers(self, domainId, entityId, permissionTypeId):
+ """
+ <p>API method to get a list of shared users given the entity id where the sharing type is directly applied</p>
+
+ Parameters:
+ - domainId
+ - entityId
+ - permissionTypeId
+ """
+ pass
+
def getListOfSharedGroups(self, domainId, entityId, permissionTypeId):
"""
<p>API method to get a list of shared groups given the entity id</p>
@@ -465,6 +476,17 @@ class Iface(object):
"""
pass
+ def getListOfDirectlySharedGroups(self, domainId, entityId, permissionTypeId):
+ """
+ <p>API method to get a list of directly shared groups given the entity id where the sharing type is directly applied</p>
+
+ Parameters:
+ - domainId
+ - entityId
+ - permissionTypeId
+ """
+ pass
+
def createPermissionType(self, permissionType):
"""
<p>API method to create permission type</p>
@@ -2204,6 +2226,45 @@ class Client(Iface):
raise result.sre
raise TApplicationException(TApplicationException.MISSING_RESULT, "getListOfSharedUsers failed: unknown result")
+ def getListOfDirectlySharedUsers(self, domainId, entityId, permissionTypeId):
+ """
+ <p>API method to get a list of shared users given the entity id where the sharing type is directly applied</p>
+
+ Parameters:
+ - domainId
+ - entityId
+ - permissionTypeId
+ """
+ self.send_getListOfDirectlySharedUsers(domainId, entityId, permissionTypeId)
+ return self.recv_getListOfDirectlySharedUsers()
+
+ def send_getListOfDirectlySharedUsers(self, domainId, entityId, permissionTypeId):
+ self._oprot.writeMessageBegin('getListOfDirectlySharedUsers', TMessageType.CALL, self._seqid)
+ args = getListOfDirectlySharedUsers_args()
+ args.domainId = domainId
+ args.entityId = entityId
+ args.permissionTypeId = permissionTypeId
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getListOfDirectlySharedUsers(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getListOfDirectlySharedUsers_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.sre is not None:
+ raise result.sre
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getListOfDirectlySharedUsers failed: unknown result")
+
def getListOfSharedGroups(self, domainId, entityId, permissionTypeId):
"""
<p>API method to get a list of shared groups given the entity id</p>
@@ -2243,6 +2304,45 @@ class Client(Iface):
raise result.sre
raise TApplicationException(TApplicationException.MISSING_RESULT, "getListOfSharedGroups failed: unknown result")
+ def getListOfDirectlySharedGroups(self, domainId, entityId, permissionTypeId):
+ """
+ <p>API method to get a list of directly shared groups given the entity id where the sharing type is directly applied</p>
+
+ Parameters:
+ - domainId
+ - entityId
+ - permissionTypeId
+ """
+ self.send_getListOfDirectlySharedGroups(domainId, entityId, permissionTypeId)
+ return self.recv_getListOfDirectlySharedGroups()
+
+ def send_getListOfDirectlySharedGroups(self, domainId, entityId, permissionTypeId):
+ self._oprot.writeMessageBegin('getListOfDirectlySharedGroups', TMessageType.CALL, self._seqid)
+ args = getListOfDirectlySharedGroups_args()
+ args.domainId = domainId
+ args.entityId = entityId
+ args.permissionTypeId = permissionTypeId
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_getListOfDirectlySharedGroups(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = getListOfDirectlySharedGroups_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.sre is not None:
+ raise result.sre
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "getListOfDirectlySharedGroups failed: unknown result")
+
def createPermissionType(self, permissionType):
"""
<p>API method to create permission type</p>
@@ -2722,7 +2822,9 @@ class Processor(Iface, TProcessor):
self._processMap["getEntity"] = Processor.process_getEntity
self._processMap["searchEntities"] = Processor.process_searchEntities
self._processMap["getListOfSharedUsers"] = Processor.process_getListOfSharedUsers
+ self._processMap["getListOfDirectlySharedUsers"] = Processor.process_getListOfDirectlySharedUsers
self._processMap["getListOfSharedGroups"] = Processor.process_getListOfSharedGroups
+ self._processMap["getListOfDirectlySharedGroups"] = Processor.process_getListOfDirectlySharedGroups
self._processMap["createPermissionType"] = Processor.process_createPermissionType
self._processMap["updatePermissionType"] = Processor.process_updatePermissionType
self._processMap["isPermissionExists"] = Processor.process_isPermissionExists
@@ -3702,6 +3804,28 @@ class Processor(Iface, TProcessor):
oprot.writeMessageEnd()
oprot.trans.flush()
+ def process_getListOfDirectlySharedUsers(self, seqid, iprot, oprot):
+ args = getListOfDirectlySharedUsers_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getListOfDirectlySharedUsers_result()
+ try:
+ result.success = self._handler.getListOfDirectlySharedUsers(args.domainId, args.entityId, args.permissionTypeId)
+ msg_type = TMessageType.REPLY
+ except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+ raise
+ except airavata.model.sharing.ttypes.SharingRegistryException as sre:
+ msg_type = TMessageType.REPLY
+ result.sre = sre
+ except Exception as ex:
+ msg_type = TMessageType.EXCEPTION
+ logging.exception(ex)
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("getListOfDirectlySharedUsers", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
def process_getListOfSharedGroups(self, seqid, iprot, oprot):
args = getListOfSharedGroups_args()
args.read(iprot)
@@ -3724,6 +3848,28 @@ class Processor(Iface, TProcessor):
oprot.writeMessageEnd()
oprot.trans.flush()
+ def process_getListOfDirectlySharedGroups(self, seqid, iprot, oprot):
+ args = getListOfDirectlySharedGroups_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = getListOfDirectlySharedGroups_result()
+ try:
+ result.success = self._handler.getListOfDirectlySharedGroups(args.domainId, args.entityId, args.permissionTypeId)
+ msg_type = TMessageType.REPLY
+ except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+ raise
+ except airavata.model.sharing.ttypes.SharingRegistryException as sre:
+ msg_type = TMessageType.REPLY
+ result.sre = sre
+ except Exception as ex:
+ msg_type = TMessageType.EXCEPTION
+ logging.exception(ex)
+ result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+ oprot.writeMessageBegin("getListOfDirectlySharedGroups", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
def process_createPermissionType(self, seqid, iprot, oprot):
args = createPermissionType_args()
args.read(iprot)
@@ -10603,7 +10749,7 @@ class getListOfSharedUsers_result(object):
return not (self == other)
-class getListOfSharedGroups_args(object):
+class getListOfDirectlySharedUsers_args(object):
"""
Attributes:
- domainId
@@ -10656,7 +10802,7 @@ class getListOfSharedGroups_args(object):
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('getListOfSharedGroups_args')
+ oprot.writeStructBegin('getListOfDirectlySharedUsers_args')
if self.domainId is not None:
oprot.writeFieldBegin('domainId', TType.STRING, 1)
oprot.writeString(self.domainId.encode('utf-8') if sys.version_info[0] == 2 else self.domainId)
@@ -10693,7 +10839,7 @@ class getListOfSharedGroups_args(object):
return not (self == other)
-class getListOfSharedGroups_result(object):
+class getListOfDirectlySharedUsers_result(object):
"""
Attributes:
- success
@@ -10701,7 +10847,7 @@ class getListOfSharedGroups_result(object):
"""
thrift_spec = (
- (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ), # 0
+ (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), False), None, ), # 0
(1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ), # 1
)
@@ -10723,7 +10869,7 @@ class getListOfSharedGroups_result(object):
self.success = []
(_etype108, _size105) = iprot.readListBegin()
for _i109 in range(_size105):
- _elem110 = airavata.model.sharing.ttypes.UserGroup()
+ _elem110 = airavata.model.sharing.ttypes.User()
_elem110.read(iprot)
self.success.append(_elem110)
iprot.readListEnd()
@@ -10744,7 +10890,7 @@ class getListOfSharedGroups_result(object):
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('getListOfSharedGroups_result')
+ oprot.writeStructBegin('getListOfDirectlySharedUsers_result')
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRUCT, len(self.success))
@@ -10774,6 +10920,348 @@ class getListOfSharedGroups_result(object):
return not (self == other)
+class getListOfSharedGroups_args(object):
+ """
+ Attributes:
+ - domainId
+ - entityId
+ - permissionTypeId
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'domainId', 'UTF8', None, ), # 1
+ (2, TType.STRING, 'entityId', 'UTF8', None, ), # 2
+ (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ), # 3
+ )
+
+ def __init__(self, domainId=None, entityId=None, permissionTypeId=None,):
+ self.domainId = domainId
+ self.entityId = entityId
+ self.permissionTypeId = permissionTypeId
+
+ 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.domainId = 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.entityId = 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.permissionTypeId = 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('getListOfSharedGroups_args')
+ if self.domainId is not None:
+ oprot.writeFieldBegin('domainId', TType.STRING, 1)
+ oprot.writeString(self.domainId.encode('utf-8') if sys.version_info[0] == 2 else self.domainId)
+ oprot.writeFieldEnd()
+ if self.entityId is not None:
+ oprot.writeFieldBegin('entityId', TType.STRING, 2)
+ oprot.writeString(self.entityId.encode('utf-8') if sys.version_info[0] == 2 else self.entityId)
+ oprot.writeFieldEnd()
+ if self.permissionTypeId is not None:
+ oprot.writeFieldBegin('permissionTypeId', TType.STRING, 3)
+ oprot.writeString(self.permissionTypeId.encode('utf-8') if sys.version_info[0] == 2 else self.permissionTypeId)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.domainId is None:
+ raise TProtocolException(message='Required field domainId is unset!')
+ if self.entityId is None:
+ raise TProtocolException(message='Required field entityId is unset!')
+ if self.permissionTypeId is None:
+ raise TProtocolException(message='Required field permissionTypeId 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 getListOfSharedGroups_result(object):
+ """
+ Attributes:
+ - success
+ - sre
+ """
+
+ thrift_spec = (
+ (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ), # 0
+ (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ), # 1
+ )
+
+ def __init__(self, success=None, sre=None,):
+ self.success = success
+ self.sre = sre
+
+ 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 = []
+ (_etype115, _size112) = iprot.readListBegin()
+ for _i116 in range(_size112):
+ _elem117 = airavata.model.sharing.ttypes.UserGroup()
+ _elem117.read(iprot)
+ self.success.append(_elem117)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
+ self.sre.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('getListOfSharedGroups_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRUCT, len(self.success))
+ for iter118 in self.success:
+ iter118.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.sre is not None:
+ oprot.writeFieldBegin('sre', TType.STRUCT, 1)
+ self.sre.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 getListOfDirectlySharedGroups_args(object):
+ """
+ Attributes:
+ - domainId
+ - entityId
+ - permissionTypeId
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'domainId', 'UTF8', None, ), # 1
+ (2, TType.STRING, 'entityId', 'UTF8', None, ), # 2
+ (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ), # 3
+ )
+
+ def __init__(self, domainId=None, entityId=None, permissionTypeId=None,):
+ self.domainId = domainId
+ self.entityId = entityId
+ self.permissionTypeId = permissionTypeId
+
+ 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.domainId = 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.entityId = 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.permissionTypeId = 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('getListOfDirectlySharedGroups_args')
+ if self.domainId is not None:
+ oprot.writeFieldBegin('domainId', TType.STRING, 1)
+ oprot.writeString(self.domainId.encode('utf-8') if sys.version_info[0] == 2 else self.domainId)
+ oprot.writeFieldEnd()
+ if self.entityId is not None:
+ oprot.writeFieldBegin('entityId', TType.STRING, 2)
+ oprot.writeString(self.entityId.encode('utf-8') if sys.version_info[0] == 2 else self.entityId)
+ oprot.writeFieldEnd()
+ if self.permissionTypeId is not None:
+ oprot.writeFieldBegin('permissionTypeId', TType.STRING, 3)
+ oprot.writeString(self.permissionTypeId.encode('utf-8') if sys.version_info[0] == 2 else self.permissionTypeId)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.domainId is None:
+ raise TProtocolException(message='Required field domainId is unset!')
+ if self.entityId is None:
+ raise TProtocolException(message='Required field entityId is unset!')
+ if self.permissionTypeId is None:
+ raise TProtocolException(message='Required field permissionTypeId 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 getListOfDirectlySharedGroups_result(object):
+ """
+ Attributes:
+ - success
+ - sre
+ """
+
+ thrift_spec = (
+ (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ), # 0
+ (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ), # 1
+ )
+
+ def __init__(self, success=None, sre=None,):
+ self.success = success
+ self.sre = sre
+
+ 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 = []
+ (_etype122, _size119) = iprot.readListBegin()
+ for _i123 in range(_size119):
+ _elem124 = airavata.model.sharing.ttypes.UserGroup()
+ _elem124.read(iprot)
+ self.success.append(_elem124)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
+ self.sre.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('getListOfDirectlySharedGroups_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRUCT, len(self.success))
+ for iter125 in self.success:
+ iter125.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.sre is not None:
+ oprot.writeFieldBegin('sre', TType.STRUCT, 1)
+ self.sre.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 createPermissionType_args(object):
"""
Attributes:
@@ -11620,11 +12108,11 @@ class getPermissionTypes_result(object):
if fid == 0:
if ftype == TType.LIST:
self.success = []
- (_etype115, _size112) = iprot.readListBegin()
- for _i116 in range(_size112):
- _elem117 = airavata.model.sharing.ttypes.PermissionType()
- _elem117.read(iprot)
- self.success.append(_elem117)
+ (_etype129, _size126) = iprot.readListBegin()
+ for _i130 in range(_size126):
+ _elem131 = airavata.model.sharing.ttypes.PermissionType()
+ _elem131.read(iprot)
+ self.success.append(_elem131)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -11647,8 +12135,8 @@ class getPermissionTypes_result(object):
if self.success is not None:
oprot.writeFieldBegin('success', TType.LIST, 0)
oprot.writeListBegin(TType.STRUCT, len(self.success))
- for iter118 in self.success:
- iter118.write(oprot)
+ for iter132 in self.success:
+ iter132.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.sre is not None:
@@ -11721,10 +12209,10 @@ class shareEntityWithUsers_args(object):
elif fid == 3:
if ftype == TType.LIST:
self.userList = []
- (_etype122, _size119) = iprot.readListBegin()
- for _i123 in range(_size119):
- _elem124 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- self.userList.append(_elem124)
+ (_etype136, _size133) = iprot.readListBegin()
+ for _i137 in range(_size133):
+ _elem138 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.userList.append(_elem138)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -11759,8 +12247,8 @@ class shareEntityWithUsers_args(object):
if self.userList is not None:
oprot.writeFieldBegin('userList', TType.LIST, 3)
oprot.writeListBegin(TType.STRING, len(self.userList))
- for iter125 in self.userList:
- oprot.writeString(iter125.encode('utf-8') if sys.version_info[0] == 2 else iter125)
+ for iter139 in self.userList:
+ oprot.writeString(iter139.encode('utf-8') if sys.version_info[0] == 2 else iter139)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.permissionTypeId is not None:
@@ -11916,10 +12404,10 @@ class revokeEntitySharingFromUsers_args(object):
elif fid == 3:
if ftype == TType.LIST:
self.userList = []
- (_etype129, _size126) = iprot.readListBegin()
- for _i130 in range(_size126):
- _elem131 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- self.userList.append(_elem131)
+ (_etype143, _size140) = iprot.readListBegin()
+ for _i144 in range(_size140):
+ _elem145 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.userList.append(_elem145)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -11949,8 +12437,8 @@ class revokeEntitySharingFromUsers_args(object):
if self.userList is not None:
oprot.writeFieldBegin('userList', TType.LIST, 3)
oprot.writeListBegin(TType.STRING, len(self.userList))
- for iter132 in self.userList:
- oprot.writeString(iter132.encode('utf-8') if sys.version_info[0] == 2 else iter132)
+ for iter146 in self.userList:
+ oprot.writeString(iter146.encode('utf-8') if sys.version_info[0] == 2 else iter146)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.permissionTypeId is not None:
@@ -12103,10 +12591,10 @@ class shareEntityWithGroups_args(object):
elif fid == 3:
if ftype == TType.LIST:
self.groupList = []
- (_etype136, _size133) = iprot.readListBegin()
- for _i137 in range(_size133):
- _elem138 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- self.groupList.append(_elem138)
+ (_etype150, _size147) = iprot.readListBegin()
+ for _i151 in range(_size147):
+ _elem152 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.groupList.append(_elem152)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -12141,8 +12629,8 @@ class shareEntityWithGroups_args(object):
if self.groupList is not None:
oprot.writeFieldBegin('groupList', TType.LIST, 3)
oprot.writeListBegin(TType.STRING, len(self.groupList))
- for iter139 in self.groupList:
- oprot.writeString(iter139.encode('utf-8') if sys.version_info[0] == 2 else iter139)
+ for iter153 in self.groupList:
+ oprot.writeString(iter153.encode('utf-8') if sys.version_info[0] == 2 else iter153)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.permissionTypeId is not None:
@@ -12298,10 +12786,10 @@ class revokeEntitySharingFromGroups_args(object):
elif fid == 3:
if ftype == TType.LIST:
self.groupList = []
- (_etype143, _size140) = iprot.readListBegin()
- for _i144 in range(_size140):
- _elem145 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
- self.groupList.append(_elem145)
+ (_etype157, _size154) = iprot.readListBegin()
+ for _i158 in range(_size154):
+ _elem159 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+ self.groupList.append(_elem159)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -12331,8 +12819,8 @@ class revokeEntitySharingFromGroups_args(object):
if self.groupList is not None:
oprot.writeFieldBegin('groupList', TType.LIST, 3)
oprot.writeListBegin(TType.STRING, len(self.groupList))
- for iter146 in self.groupList:
- oprot.writeString(iter146.encode('utf-8') if sys.version_info[0] == 2 else iter146)
+ for iter160 in self.groupList:
+ oprot.writeString(iter160.encode('utf-8') if sys.version_info[0] == 2 else iter160)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.permissionTypeId is not None:
diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index 40874fe..85c7869 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -903,17 +903,19 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
def get_instance(self, lookup_value):
users = {}
+ # Only load *directly* granted permissions since these are the only
+ # ones that can be edited
# Load accessible users in order of permission precedence: users that
# have WRITE permission should also have READ
- users.update(self._load_accessible_users(
+ users.update(self._load_directly_accessible_users(
lookup_value, ResourcePermissionType.READ))
- users.update(self._load_accessible_users(
+ users.update(self._load_directly_accessible_users(
lookup_value, ResourcePermissionType.WRITE))
- owner_ids = self._load_accessible_users(lookup_value,
- ResourcePermissionType.OWNER)
+ owner_ids = self._load_directly_accessible_users(
+ lookup_value, ResourcePermissionType.OWNER)
# Assume that there is one and only one DIRECT owner (there may be one
# or more INDIRECT cascading owners, which would the owners of the
- # ancestor entities, but getAllAccessibleUsers does not return
+ # ancestor entities, but getAllDirectlyAccessibleUsers does not return
# indirectly cascading owners)
owner_id = list(owner_ids.keys())[0]
# Remove owner from the users list
@@ -923,9 +925,9 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
user_list.append({'user': self._load_user_profile(user_id),
'permissionType': users[user_id]})
groups = {}
- groups.update(self._load_accessible_groups(
+ groups.update(self._load_directly_accessible_groups(
lookup_value, ResourcePermissionType.READ))
- groups.update(self._load_accessible_groups(
+ groups.update(self._load_directly_accessible_groups(
lookup_value, ResourcePermissionType.WRITE))
group_list = []
for group_id in groups:
@@ -941,6 +943,11 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
self.authz_token, entity_id, permission_type)
return {user_id: permission_type for user_id in users}
+ def _load_directly_accessible_users(self, entity_id, permission_type):
+ users = self.request.airavata_client.getAllDirectlyAccessibleUsers(
+ self.authz_token, entity_id, permission_type)
+ return {user_id: permission_type for user_id in users}
+
def _load_user_profile(self, user_id):
user_profile_client = self.request.profile_service['user_profile']
username = user_id[0:user_id.rindex('@')]
@@ -953,6 +960,11 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
self.authz_token, entity_id, permission_type)
return {group_id: permission_type for group_id in groups}
+ def _load_directly_accessible_groups(self, entity_id, permission_type):
+ groups = self.request.airavata_client.getAllDirectlyAccessibleGroups(
+ self.authz_token, entity_id, permission_type)
+ return {group_id: permission_type for group_id in groups}
+
def _load_group(self, group_id):
group_manager_client = self.request.profile_service['group_manager']
return group_manager_client.getGroup(self.authz_token, group_id)
@@ -1036,6 +1048,46 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
self.perform_update(merged_serializer)
return Response(merged_serializer.data)
+ @detail_route(methods=['get'])
+ def all(self, request, entity_id=None):
+ """Load direct plus indirectly (inherited) shared permissions."""
+ users = {}
+ # Load accessible users in order of permission precedence: users that
+ # have WRITE permission should also have READ
+ users.update(self._load_accessible_users(
+ entity_id, ResourcePermissionType.READ))
+ users.update(self._load_accessible_users(
+ entity_id, ResourcePermissionType.WRITE))
+ owner_ids = self._load_accessible_users(
+ entity_id, ResourcePermissionType.OWNER)
+ # Assume that there is one and only one DIRECT owner (there may be one
+ # or more INDIRECT cascading owners, which would the owners of the
+ # ancestor entities, but getAllAccessibleUsers does not return
+ # indirectly cascading owners)
+ owner_id = list(owner_ids.keys())[0]
+ # Remove owner from the users list
+ del users[owner_id]
+ user_list = []
+ for user_id in users:
+ user_list.append({'user': self._load_user_profile(user_id),
+ 'permissionType': users[user_id]})
+ groups = {}
+ groups.update(self._load_accessible_groups(
+ entity_id, ResourcePermissionType.READ))
+ groups.update(self._load_accessible_groups(
+ entity_id, ResourcePermissionType.WRITE))
+ group_list = []
+ for group_id in groups:
+ group_list.append({'group': self._load_group(group_id),
+ 'permissionType': groups[group_id]})
+ shared_entity = {'entityId': entity_id,
+ 'userPermissions': user_list,
+ 'groupPermissions': group_list,
+ 'owner': self._load_user_profile(owner_id)}
+ serializer = self.serializer_class(
+ shared_entity, context={'request': request})
+ return Response(serializer.data)
+
class CredentialSummaryViewSet(APIBackedViewSet):
serializer_class = serializers.CredentialSummarySerializer