http://git-wip-us.apache.org/repos/asf/airavata/blob/8e775660/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py index 14b8baa..cf4f080 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/user/ttypes.py @@ -1,817 +1,777 @@ # -# Autogenerated by Thrift Compiler (0.9.3) +# Autogenerated by Thrift Compiler (0.10.0) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # # options string: py # -from thrift.Thrift import TType, TMessageType, TException, TApplicationException +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.protocol.TProtocol import TProtocolException +import sys import apache.airavata.model.commons.ttypes - from thrift.transport import TTransport -from thrift.protocol import TBinaryProtocol, TProtocol -try: - from thrift.protocol import fastbinary -except: - fastbinary = None - - -class Status: - ACTIVE = 0 - CONFIRMED = 1 - APPROVED = 2 - DELETED = 3 - DUPLICATE = 4 - GRACE_PERIOD = 5 - INVITED = 6 - DENIED = 7 - PENDING = 8 - PENDING_APPROVAL = 9 - PENDING_CONFIRMATION = 10 - SUSPENDED = 11 - DECLINED = 12 - EXPIRED = 13 - - _VALUES_TO_NAMES = { - 0: "ACTIVE", - 1: "CONFIRMED", - 2: "APPROVED", - 3: "DELETED", - 4: "DUPLICATE", - 5: "GRACE_PERIOD", - 6: "INVITED", - 7: "DENIED", - 8: "PENDING", - 9: "PENDING_APPROVAL", - 10: "PENDING_CONFIRMATION", - 11: "SUSPENDED", - 12: "DECLINED", - 13: "EXPIRED", - } - - _NAMES_TO_VALUES = { - "ACTIVE": 0, - "CONFIRMED": 1, - "APPROVED": 2, - "DELETED": 3, - "DUPLICATE": 4, - "GRACE_PERIOD": 5, - "INVITED": 6, - "DENIED": 7, - "PENDING": 8, - "PENDING_APPROVAL": 9, - "PENDING_CONFIRMATION": 10, - "SUSPENDED": 11, - "DECLINED": 12, - "EXPIRED": 13, - } - -class USCitizenship: - """ - U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - - """ - US_CITIZEN = 0 - US_PERMANENT_RESIDENT = 1 - OTHER_NON_US_CITIZEN = 2 - - _VALUES_TO_NAMES = { - 0: "US_CITIZEN", - 1: "US_PERMANENT_RESIDENT", - 2: "OTHER_NON_US_CITIZEN", - } - - _NAMES_TO_VALUES = { - "US_CITIZEN": 0, - "US_PERMANENT_RESIDENT": 1, - "OTHER_NON_US_CITIZEN": 2, - } - -class ethnicity: - """ - Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or - Central American, or other Spanish culture or origin, regardless of race. - - """ - HISPANIC_LATINO = 0 - NOT_HISPANIC_LATINO = 1 - - _VALUES_TO_NAMES = { - 0: "HISPANIC_LATINO", - 1: "NOT_HISPANIC_LATINO", - } - - _NAMES_TO_VALUES = { - "HISPANIC_LATINO": 0, - "NOT_HISPANIC_LATINO": 1, - } - -class race: - """ - * Asian - a person having origins in any of the original peoples of the Far East, - * Southeast Asia, or the Indian subcontinent including, for example, Cambodia, - * China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands, - * Thailand, and Vietnam. - * American Indian or Alaskan Native - a person having origins in any of the original - * peoples of North and South America (including Central America), and who maintains - * tribal affiliation or community attachment. - * Black or African American - a person having origins in any of the black racial groups - * of Africa. - * Native Hawaiian or Pacific Islander - a person having origins in any of the original - * peoples of Hawaii, Guan, Samoa, or other Pacific Islands. - * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa. - * - """ - ASIAN = 0 - AMERICAN_INDIAN_OR_ALASKAN_NATIVE = 1 - BLACK_OR_AFRICAN_AMERICAN = 2 - NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER = 3 - WHITE = 4 - - _VALUES_TO_NAMES = { - 0: "ASIAN", - 1: "AMERICAN_INDIAN_OR_ALASKAN_NATIVE", - 2: "BLACK_OR_AFRICAN_AMERICAN", - 3: "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER", - 4: "WHITE", - } - - _NAMES_TO_VALUES = { - "ASIAN": 0, - "AMERICAN_INDIAN_OR_ALASKAN_NATIVE": 1, - "BLACK_OR_AFRICAN_AMERICAN": 2, - "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER": 3, - "WHITE": 4, - } - -class disability: - HEARING_IMAPAIRED = 0 - VISUAL_IMPAIRED = 1 - MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT = 2 - OTHER_IMPAIRMENT = 3 - - _VALUES_TO_NAMES = { - 0: "HEARING_IMAPAIRED", - 1: "VISUAL_IMPAIRED", - 2: "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT", - 3: "OTHER_IMPAIRMENT", - } - - _NAMES_TO_VALUES = { - "HEARING_IMAPAIRED": 0, - "VISUAL_IMPAIRED": 1, - "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT": 2, - "OTHER_IMPAIRMENT": 3, - } - - -class NSFDemographics: - """ - A structure holding the NSF Demographic information. - - - - Attributes: - - airavataInternalUserId - - gender - - usCitizenship - - ethnicities - - races - - disabilities - """ - - thrift_spec = ( - None, # 0 - (1, TType.STRING, 'airavataInternalUserId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1 - (2, TType.STRING, 'gender', None, None, ), # 2 - (3, TType.I32, 'usCitizenship', None, None, ), # 3 - (4, TType.LIST, 'ethnicities', (TType.I32,None), None, ), # 4 - (5, TType.LIST, 'races', (TType.I32,None), None, ), # 5 - (6, TType.LIST, 'disabilities', (TType.I32,None), None, ), # 6 - ) - - def __init__(self, airavataInternalUserId=thrift_spec[1][4], gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,): - self.airavataInternalUserId = airavataInternalUserId - self.gender = gender - self.usCitizenship = usCitizenship - self.ethnicities = ethnicities - self.races = races - self.disabilities = disabilities - - def read(self, iprot): - if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: - fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.airavataInternalUserId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.gender = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.usCitizenship = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.LIST: - self.ethnicities = [] - (_etype3, _size0) = iprot.readListBegin() - for _i4 in xrange(_size0): - _elem5 = iprot.readI32() - self.ethnicities.append(_elem5) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.LIST: - self.races = [] - (_etype9, _size6) = iprot.readListBegin() - for _i10 in xrange(_size6): - _elem11 = iprot.readI32() - self.races.append(_elem11) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.LIST: - self.disabilities = [] - (_etype15, _size12) = iprot.readListBegin() - for _i16 in xrange(_size12): - _elem17 = iprot.readI32() - self.disabilities.append(_elem17) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: - oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) - return - oprot.writeStructBegin('NSFDemographics') - if self.airavataInternalUserId is not None: - oprot.writeFieldBegin('airavataInternalUserId', TType.STRING, 1) - oprot.writeString(self.airavataInternalUserId) - oprot.writeFieldEnd() - if self.gender is not None: - oprot.writeFieldBegin('gender', TType.STRING, 2) - oprot.writeString(self.gender) - oprot.writeFieldEnd() - if self.usCitizenship is not None: - oprot.writeFieldBegin('usCitizenship', TType.I32, 3) - oprot.writeI32(self.usCitizenship) - oprot.writeFieldEnd() - if self.ethnicities is not None: - oprot.writeFieldBegin('ethnicities', TType.LIST, 4) - oprot.writeListBegin(TType.I32, len(self.ethnicities)) - for iter18 in self.ethnicities: - oprot.writeI32(iter18) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.races is not None: - oprot.writeFieldBegin('races', TType.LIST, 5) - oprot.writeListBegin(TType.I32, len(self.races)) - for iter19 in self.races: - oprot.writeI32(iter19) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.disabilities is not None: - oprot.writeFieldBegin('disabilities', TType.LIST, 6) - oprot.writeListBegin(TType.I32, len(self.disabilities)) - for iter20 in self.disabilities: - oprot.writeI32(iter20) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.airavataInternalUserId is None: - raise TProtocol.TProtocolException(message='Required field airavataInternalUserId is unset!') - return - - - def __hash__(self): - value = 17 - value = (value * 31) ^ hash(self.airavataInternalUserId) - value = (value * 31) ^ hash(self.gender) - value = (value * 31) ^ hash(self.usCitizenship) - value = (value * 31) ^ hash(self.ethnicities) - value = (value * 31) ^ hash(self.races) - value = (value * 31) ^ hash(self.disabilities) - return value - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.iteritems()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) - -class UserProfile: - """ - * A structure holding the user profile and its child models. - * - * Notes: - * The model does not include passwords as it is assumed an external identity provider is used to authenticate user. - * References: - * NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc - * LDAP Schema - https://tools.ietf.org/html/rfc4519 - * SCIM 2.0 - https://tools.ietf.org/html/rfc7643 - * - * userModelVersion: - * Version number of profile - * - * airavataInternalUserId: - * internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways - * (that is, never shown to users), never reassigned, REQUIRED - * - * userId: - * Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep - * user name less opaque. OpenID Connect maintains them to be opaque. - * - * firstName, middleName, lastName: - * First and Last names as assertede by the user - * - * namePrefix, nameSuffix: - * prefix and suffix to the users name as asserted by the user - * - * emails: - * Email identifier are Verified, REQUIRED and MULTIVALUED - * - * userName: - * Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string. - * In the future these can be enumerated as: - * Official name (as asserted possibly by some external identity provider) - * Prefered name (as asserted or suggested by user directly) - * Components: - * givenName - * surname (familyName) - * displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like) - * - * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid) - * - * phones: Telephone MULTIVALUED - * - * country: Country of Residance - * - * nationality Countries of citizenship - * - * comments: - * Free-form information (treated as opaque by Airavata and simply passed to resource). - * - * labeledURI: - * Google Scholar, Web of Science, ACS, e.t.c - * - * timeZone: - * Userâs preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones. - * - - Attributes: - - userModelVersion - - airavataInternalUserId - - userId - - gatewayId - - emails - - firstName - - lastName - - middleName - - namePrefix - - nameSuffix - - orcidId - - phones - - country - - nationality - - homeOrganization - - orginationAffiliation - - creationTime - - lastAccessTime - - validUntil - - State - - comments - - labeledURI - - gpgKey - - timeZone - - nsfDemographics - """ - - thrift_spec = ( - None, # 0 - (1, TType.STRING, 'userModelVersion', None, "1.0", ), # 1 - (2, TType.STRING, 'airavataInternalUserId', None, "DO_NOT_SET_AT_CLIENTS", ), # 2 - (3, TType.STRING, 'userId', None, None, ), # 3 - (4, TType.STRING, 'gatewayId', None, None, ), # 4 - (5, TType.LIST, 'emails', (TType.STRING,None), None, ), # 5 - (6, TType.STRING, 'firstName', None, None, ), # 6 - (7, TType.STRING, 'lastName', None, None, ), # 7 - (8, TType.STRING, 'middleName', None, None, ), # 8 - (9, TType.STRING, 'namePrefix', None, None, ), # 9 - (10, TType.STRING, 'nameSuffix', None, None, ), # 10 - (11, TType.STRING, 'orcidId', None, None, ), # 11 - (12, TType.LIST, 'phones', (TType.STRING,None), None, ), # 12 - (13, TType.STRING, 'country', None, None, ), # 13 - (14, TType.LIST, 'nationality', (TType.STRING,None), None, ), # 14 - (15, TType.STRING, 'homeOrganization', None, None, ), # 15 - (16, TType.STRING, 'orginationAffiliation', None, None, ), # 16 - (17, TType.I64, 'creationTime', None, None, ), # 17 - (18, TType.I64, 'lastAccessTime', None, None, ), # 18 - (19, TType.I64, 'validUntil', None, None, ), # 19 - (20, TType.I32, 'State', None, None, ), # 20 - (21, TType.STRING, 'comments', None, None, ), # 21 - (22, TType.LIST, 'labeledURI', (TType.STRING,None), None, ), # 22 - (23, TType.STRING, 'gpgKey', None, None, ), # 23 - (24, TType.STRING, 'timeZone', None, None, ), # 24 - (25, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 25 - ) - - def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,): - self.userModelVersion = userModelVersion - self.airavataInternalUserId = airavataInternalUserId - self.userId = userId - self.gatewayId = gatewayId - self.emails = emails - self.firstName = firstName - self.lastName = lastName - self.middleName = middleName - self.namePrefix = namePrefix - self.nameSuffix = nameSuffix - self.orcidId = orcidId - self.phones = phones - self.country = country - self.nationality = nationality - self.homeOrganization = homeOrganization - self.orginationAffiliation = orginationAffiliation - self.creationTime = creationTime - self.lastAccessTime = lastAccessTime - self.validUntil = validUntil - self.State = State - self.comments = comments - self.labeledURI = labeledURI - self.gpgKey = gpgKey - self.timeZone = timeZone - self.nsfDemographics = nsfDemographics - - def read(self, iprot): - if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: - fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.userModelVersion = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.airavataInternalUserId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.userId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.gatewayId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.LIST: - self.emails = [] - (_etype24, _size21) = iprot.readListBegin() - for _i25 in xrange(_size21): - _elem26 = iprot.readString() - self.emails.append(_elem26) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.firstName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRING: - self.lastName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRING: - self.middleName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.STRING: - self.namePrefix = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRING: - self.nameSuffix = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.STRING: - self.orcidId = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 12: - if ftype == TType.LIST: - self.phones = [] - (_etype30, _size27) = iprot.readListBegin() - for _i31 in xrange(_size27): - _elem32 = iprot.readString() - self.phones.append(_elem32) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 13: - if ftype == TType.STRING: - self.country = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 14: - if ftype == TType.LIST: - self.nationality = [] - (_etype36, _size33) = iprot.readListBegin() - for _i37 in xrange(_size33): - _elem38 = iprot.readString() - self.nationality.append(_elem38) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 15: - if ftype == TType.STRING: - self.homeOrganization = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 16: - if ftype == TType.STRING: - self.orginationAffiliation = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 17: - if ftype == TType.I64: - self.creationTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 18: - if ftype == TType.I64: - self.lastAccessTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 19: - if ftype == TType.I64: - self.validUntil = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 20: - if ftype == TType.I32: - self.State = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 21: - if ftype == TType.STRING: - self.comments = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 22: - if ftype == TType.LIST: - self.labeledURI = [] - (_etype42, _size39) = iprot.readListBegin() - for _i43 in xrange(_size39): - _elem44 = iprot.readString() - self.labeledURI.append(_elem44) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 23: - if ftype == TType.STRING: - self.gpgKey = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 24: - if ftype == TType.STRING: - self.timeZone = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 25: - if ftype == TType.STRUCT: - self.nsfDemographics = NSFDemographics() - self.nsfDemographics.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: - oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) - return - oprot.writeStructBegin('UserProfile') - if self.userModelVersion is not None: - oprot.writeFieldBegin('userModelVersion', TType.STRING, 1) - oprot.writeString(self.userModelVersion) - oprot.writeFieldEnd() - if self.airavataInternalUserId is not None: - oprot.writeFieldBegin('airavataInternalUserId', TType.STRING, 2) - oprot.writeString(self.airavataInternalUserId) - oprot.writeFieldEnd() - if self.userId is not None: - oprot.writeFieldBegin('userId', TType.STRING, 3) - oprot.writeString(self.userId) - oprot.writeFieldEnd() - if self.gatewayId is not None: - oprot.writeFieldBegin('gatewayId', TType.STRING, 4) - oprot.writeString(self.gatewayId) - oprot.writeFieldEnd() - if self.emails is not None: - oprot.writeFieldBegin('emails', TType.LIST, 5) - oprot.writeListBegin(TType.STRING, len(self.emails)) - for iter45 in self.emails: - oprot.writeString(iter45) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.firstName is not None: - oprot.writeFieldBegin('firstName', TType.STRING, 6) - oprot.writeString(self.firstName) - oprot.writeFieldEnd() - if self.lastName is not None: - oprot.writeFieldBegin('lastName', TType.STRING, 7) - oprot.writeString(self.lastName) - oprot.writeFieldEnd() - if self.middleName is not None: - oprot.writeFieldBegin('middleName', TType.STRING, 8) - oprot.writeString(self.middleName) - oprot.writeFieldEnd() - if self.namePrefix is not None: - oprot.writeFieldBegin('namePrefix', TType.STRING, 9) - oprot.writeString(self.namePrefix) - oprot.writeFieldEnd() - if self.nameSuffix is not None: - oprot.writeFieldBegin('nameSuffix', TType.STRING, 10) - oprot.writeString(self.nameSuffix) - oprot.writeFieldEnd() - if self.orcidId is not None: - oprot.writeFieldBegin('orcidId', TType.STRING, 11) - oprot.writeString(self.orcidId) - oprot.writeFieldEnd() - if self.phones is not None: - oprot.writeFieldBegin('phones', TType.LIST, 12) - oprot.writeListBegin(TType.STRING, len(self.phones)) - for iter46 in self.phones: - oprot.writeString(iter46) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.country is not None: - oprot.writeFieldBegin('country', TType.STRING, 13) - oprot.writeString(self.country) - oprot.writeFieldEnd() - if self.nationality is not None: - oprot.writeFieldBegin('nationality', TType.LIST, 14) - oprot.writeListBegin(TType.STRING, len(self.nationality)) - for iter47 in self.nationality: - oprot.writeString(iter47) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.homeOrganization is not None: - oprot.writeFieldBegin('homeOrganization', TType.STRING, 15) - oprot.writeString(self.homeOrganization) - oprot.writeFieldEnd() - if self.orginationAffiliation is not None: - oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 16) - oprot.writeString(self.orginationAffiliation) - oprot.writeFieldEnd() - if self.creationTime is not None: - oprot.writeFieldBegin('creationTime', TType.I64, 17) - oprot.writeI64(self.creationTime) - oprot.writeFieldEnd() - if self.lastAccessTime is not None: - oprot.writeFieldBegin('lastAccessTime', TType.I64, 18) - oprot.writeI64(self.lastAccessTime) - oprot.writeFieldEnd() - if self.validUntil is not None: - oprot.writeFieldBegin('validUntil', TType.I64, 19) - oprot.writeI64(self.validUntil) - oprot.writeFieldEnd() - if self.State is not None: - oprot.writeFieldBegin('State', TType.I32, 20) - oprot.writeI32(self.State) - oprot.writeFieldEnd() - if self.comments is not None: - oprot.writeFieldBegin('comments', TType.STRING, 21) - oprot.writeString(self.comments) - oprot.writeFieldEnd() - if self.labeledURI is not None: - oprot.writeFieldBegin('labeledURI', TType.LIST, 22) - oprot.writeListBegin(TType.STRING, len(self.labeledURI)) - for iter48 in self.labeledURI: - oprot.writeString(iter48) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.gpgKey is not None: - oprot.writeFieldBegin('gpgKey', TType.STRING, 23) - oprot.writeString(self.gpgKey) - oprot.writeFieldEnd() - if self.timeZone is not None: - oprot.writeFieldBegin('timeZone', TType.STRING, 24) - oprot.writeString(self.timeZone) - oprot.writeFieldEnd() - if self.nsfDemographics is not None: - oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 25) - self.nsfDemographics.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.userModelVersion is None: - raise TProtocol.TProtocolException(message='Required field userModelVersion is unset!') - if self.airavataInternalUserId is None: - raise TProtocol.TProtocolException(message='Required field airavataInternalUserId is unset!') - if self.userId is None: - raise TProtocol.TProtocolException(message='Required field userId is unset!') - if self.gatewayId is None: - raise TProtocol.TProtocolException(message='Required field gatewayId is unset!') - if self.emails is None: - raise TProtocol.TProtocolException(message='Required field emails is unset!') - if self.firstName is None: - raise TProtocol.TProtocolException(message='Required field firstName is unset!') - if self.lastName is None: - raise TProtocol.TProtocolException(message='Required field lastName is unset!') - if self.creationTime is None: - raise TProtocol.TProtocolException(message='Required field creationTime is unset!') - if self.lastAccessTime is None: - raise TProtocol.TProtocolException(message='Required field lastAccessTime is unset!') - if self.validUntil is None: - raise TProtocol.TProtocolException(message='Required field validUntil is unset!') - if self.State is None: - raise TProtocol.TProtocolException(message='Required field State is unset!') - return - - - def __hash__(self): - value = 17 - value = (value * 31) ^ hash(self.userModelVersion) - value = (value * 31) ^ hash(self.airavataInternalUserId) - value = (value * 31) ^ hash(self.userId) - value = (value * 31) ^ hash(self.gatewayId) - value = (value * 31) ^ hash(self.emails) - value = (value * 31) ^ hash(self.firstName) - value = (value * 31) ^ hash(self.lastName) - value = (value * 31) ^ hash(self.middleName) - value = (value * 31) ^ hash(self.namePrefix) - value = (value * 31) ^ hash(self.nameSuffix) - value = (value * 31) ^ hash(self.orcidId) - value = (value * 31) ^ hash(self.phones) - value = (value * 31) ^ hash(self.country) - value = (value * 31) ^ hash(self.nationality) - value = (value * 31) ^ hash(self.homeOrganization) - value = (value * 31) ^ hash(self.orginationAffiliation) - value = (value * 31) ^ hash(self.creationTime) - value = (value * 31) ^ hash(self.lastAccessTime) - value = (value * 31) ^ hash(self.validUntil) - value = (value * 31) ^ hash(self.State) - value = (value * 31) ^ hash(self.comments) - value = (value * 31) ^ hash(self.labeledURI) - value = (value * 31) ^ hash(self.gpgKey) - value = (value * 31) ^ hash(self.timeZone) - value = (value * 31) ^ hash(self.nsfDemographics) - return value - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.iteritems()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + +class Status(object): + ACTIVE = 0 + CONFIRMED = 1 + APPROVED = 2 + DELETED = 3 + DUPLICATE = 4 + GRACE_PERIOD = 5 + INVITED = 6 + DENIED = 7 + PENDING = 8 + PENDING_APPROVAL = 9 + PENDING_CONFIRMATION = 10 + SUSPENDED = 11 + DECLINED = 12 + EXPIRED = 13 + + _VALUES_TO_NAMES = { + 0: "ACTIVE", + 1: "CONFIRMED", + 2: "APPROVED", + 3: "DELETED", + 4: "DUPLICATE", + 5: "GRACE_PERIOD", + 6: "INVITED", + 7: "DENIED", + 8: "PENDING", + 9: "PENDING_APPROVAL", + 10: "PENDING_CONFIRMATION", + 11: "SUSPENDED", + 12: "DECLINED", + 13: "EXPIRED", + } + + _NAMES_TO_VALUES = { + "ACTIVE": 0, + "CONFIRMED": 1, + "APPROVED": 2, + "DELETED": 3, + "DUPLICATE": 4, + "GRACE_PERIOD": 5, + "INVITED": 6, + "DENIED": 7, + "PENDING": 8, + "PENDING_APPROVAL": 9, + "PENDING_CONFIRMATION": 10, + "SUSPENDED": 11, + "DECLINED": 12, + "EXPIRED": 13, + } + + +class USCitizenship(object): + """ + U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + + """ + US_CITIZEN = 0 + US_PERMANENT_RESIDENT = 1 + OTHER_NON_US_CITIZEN = 2 + + _VALUES_TO_NAMES = { + 0: "US_CITIZEN", + 1: "US_PERMANENT_RESIDENT", + 2: "OTHER_NON_US_CITIZEN", + } + + _NAMES_TO_VALUES = { + "US_CITIZEN": 0, + "US_PERMANENT_RESIDENT": 1, + "OTHER_NON_US_CITIZEN": 2, + } + + +class ethnicity(object): + """ + Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or + Central American, or other Spanish culture or origin, regardless of race. + + """ + HISPANIC_LATINO = 0 + NOT_HISPANIC_LATINO = 1 + + _VALUES_TO_NAMES = { + 0: "HISPANIC_LATINO", + 1: "NOT_HISPANIC_LATINO", + } + + _NAMES_TO_VALUES = { + "HISPANIC_LATINO": 0, + "NOT_HISPANIC_LATINO": 1, + } + + +class race(object): + """ + * Asian - a person having origins in any of the original peoples of the Far East, + * Southeast Asia, or the Indian subcontinent including, for example, Cambodia, + * China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands, + * Thailand, and Vietnam. + * American Indian or Alaskan Native - a person having origins in any of the original + * peoples of North and South America (including Central America), and who maintains + * tribal affiliation or community attachment. + * Black or African American - a person having origins in any of the black racial groups + * of Africa. + * Native Hawaiian or Pacific Islander - a person having origins in any of the original + * peoples of Hawaii, Guan, Samoa, or other Pacific Islands. + * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa. + * + """ + ASIAN = 0 + AMERICAN_INDIAN_OR_ALASKAN_NATIVE = 1 + BLACK_OR_AFRICAN_AMERICAN = 2 + NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER = 3 + WHITE = 4 + + _VALUES_TO_NAMES = { + 0: "ASIAN", + 1: "AMERICAN_INDIAN_OR_ALASKAN_NATIVE", + 2: "BLACK_OR_AFRICAN_AMERICAN", + 3: "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER", + 4: "WHITE", + } + + _NAMES_TO_VALUES = { + "ASIAN": 0, + "AMERICAN_INDIAN_OR_ALASKAN_NATIVE": 1, + "BLACK_OR_AFRICAN_AMERICAN": 2, + "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER": 3, + "WHITE": 4, + } + + +class disability(object): + HEARING_IMAPAIRED = 0 + VISUAL_IMPAIRED = 1 + MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT = 2 + OTHER_IMPAIRMENT = 3 + + _VALUES_TO_NAMES = { + 0: "HEARING_IMAPAIRED", + 1: "VISUAL_IMPAIRED", + 2: "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT", + 3: "OTHER_IMPAIRMENT", + } + + _NAMES_TO_VALUES = { + "HEARING_IMAPAIRED": 0, + "VISUAL_IMPAIRED": 1, + "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT": 2, + "OTHER_IMPAIRMENT": 3, + } + + +class NSFDemographics(object): + """ + A structure holding the NSF Demographic information. + + + + Attributes: + - airavataInternalUserId + - gender + - usCitizenship + - ethnicities + - races + - disabilities + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 1 + (2, TType.STRING, 'gender', 'UTF8', None, ), # 2 + (3, TType.I32, 'usCitizenship', None, None, ), # 3 + (4, TType.LIST, 'ethnicities', (TType.I32, None, False), None, ), # 4 + (5, TType.LIST, 'races', (TType.I32, None, False), None, ), # 5 + (6, TType.LIST, 'disabilities', (TType.I32, None, False), None, ), # 6 + ) + + def __init__(self, airavataInternalUserId=thrift_spec[1][4], gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,): + self.airavataInternalUserId = airavataInternalUserId + self.gender = gender + self.usCitizenship = usCitizenship + self.ethnicities = ethnicities + self.races = races + self.disabilities = disabilities + + 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.airavataInternalUserId = 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.gender = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.usCitizenship = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.LIST: + self.ethnicities = [] + (_etype3, _size0) = iprot.readListBegin() + for _i4 in range(_size0): + _elem5 = iprot.readI32() + self.ethnicities.append(_elem5) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.LIST: + self.races = [] + (_etype9, _size6) = iprot.readListBegin() + for _i10 in range(_size6): + _elem11 = iprot.readI32() + self.races.append(_elem11) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.LIST: + self.disabilities = [] + (_etype15, _size12) = iprot.readListBegin() + for _i16 in range(_size12): + _elem17 = iprot.readI32() + self.disabilities.append(_elem17) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('NSFDemographics') + if self.airavataInternalUserId is not None: + oprot.writeFieldBegin('airavataInternalUserId', TType.STRING, 1) + oprot.writeString(self.airavataInternalUserId.encode('utf-8') if sys.version_info[0] == 2 else self.airavataInternalUserId) + oprot.writeFieldEnd() + if self.gender is not None: + oprot.writeFieldBegin('gender', TType.STRING, 2) + oprot.writeString(self.gender.encode('utf-8') if sys.version_info[0] == 2 else self.gender) + oprot.writeFieldEnd() + if self.usCitizenship is not None: + oprot.writeFieldBegin('usCitizenship', TType.I32, 3) + oprot.writeI32(self.usCitizenship) + oprot.writeFieldEnd() + if self.ethnicities is not None: + oprot.writeFieldBegin('ethnicities', TType.LIST, 4) + oprot.writeListBegin(TType.I32, len(self.ethnicities)) + for iter18 in self.ethnicities: + oprot.writeI32(iter18) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.races is not None: + oprot.writeFieldBegin('races', TType.LIST, 5) + oprot.writeListBegin(TType.I32, len(self.races)) + for iter19 in self.races: + oprot.writeI32(iter19) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.disabilities is not None: + oprot.writeFieldBegin('disabilities', TType.LIST, 6) + oprot.writeListBegin(TType.I32, len(self.disabilities)) + for iter20 in self.disabilities: + oprot.writeI32(iter20) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.airavataInternalUserId is None: + raise TProtocolException(message='Required field airavataInternalUserId 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 UserProfile(object): + """ + * A structure holding the user profile and its child models. + * + * Notes: + * The model does not include passwords as it is assumed an external identity provider is used to authenticate user. + * References: + * NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc + * LDAP Schema - https://tools.ietf.org/html/rfc4519 + * SCIM 2.0 - https://tools.ietf.org/html/rfc7643 + * + * userModelVersion: + * Version number of profile + * + * airavataInternalUserId: + * internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways + * (that is, never shown to users), never reassigned, REQUIRED + * + * userId: + * Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep + * user name less opaque. OpenID Connect maintains them to be opaque. + * + * firstName, middleName, lastName: + * First and Last names as assertede by the user + * + * namePrefix, nameSuffix: + * prefix and suffix to the users name as asserted by the user + * + * emails: + * Email identifier are Verified, REQUIRED and MULTIVALUED + * + * userName: + * Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string. + * In the future these can be enumerated as: + * Official name (as asserted possibly by some external identity provider) + * Prefered name (as asserted or suggested by user directly) + * Components: + * givenName + * surname (familyName) + * displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like) + * + * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid) + * + * phones: Telephone MULTIVALUED + * + * country: Country of Residance + * + * nationality Countries of citizenship + * + * comments: + * Free-form information (treated as opaque by Airavata and simply passed to resource). + * + * labeledURI: + * Google Scholar, Web of Science, ACS, e.t.c + * + * timeZone: + * Userâs preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones. + * + + Attributes: + - userModelVersion + - airavataInternalUserId + - userId + - gatewayId + - emails + - firstName + - lastName + - middleName + - namePrefix + - nameSuffix + - orcidId + - phones + - country + - nationality + - homeOrganization + - orginationAffiliation + - creationTime + - lastAccessTime + - validUntil + - State + - comments + - labeledURI + - gpgKey + - timeZone + - nsfDemographics + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'userModelVersion', 'UTF8', "1.0", ), # 1 + (2, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ), # 2 + (3, TType.STRING, 'userId', 'UTF8', None, ), # 3 + (4, TType.STRING, 'gatewayId', 'UTF8', None, ), # 4 + (5, TType.LIST, 'emails', (TType.STRING, 'UTF8', False), None, ), # 5 + (6, TType.STRING, 'firstName', 'UTF8', None, ), # 6 + (7, TType.STRING, 'lastName', 'UTF8', None, ), # 7 + (8, TType.STRING, 'middleName', 'UTF8', None, ), # 8 + (9, TType.STRING, 'namePrefix', 'UTF8', None, ), # 9 + (10, TType.STRING, 'nameSuffix', 'UTF8', None, ), # 10 + (11, TType.STRING, 'orcidId', 'UTF8', None, ), # 11 + (12, TType.LIST, 'phones', (TType.STRING, 'UTF8', False), None, ), # 12 + (13, TType.STRING, 'country', 'UTF8', None, ), # 13 + (14, TType.LIST, 'nationality', (TType.STRING, 'UTF8', False), None, ), # 14 + (15, TType.STRING, 'homeOrganization', 'UTF8', None, ), # 15 + (16, TType.STRING, 'orginationAffiliation', 'UTF8', None, ), # 16 + (17, TType.I64, 'creationTime', None, None, ), # 17 + (18, TType.I64, 'lastAccessTime', None, None, ), # 18 + (19, TType.I64, 'validUntil', None, None, ), # 19 + (20, TType.I32, 'State', None, None, ), # 20 + (21, TType.STRING, 'comments', 'UTF8', None, ), # 21 + (22, TType.LIST, 'labeledURI', (TType.STRING, 'UTF8', False), None, ), # 22 + (23, TType.STRING, 'gpgKey', 'UTF8', None, ), # 23 + (24, TType.STRING, 'timeZone', 'UTF8', None, ), # 24 + (25, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 25 + ) + + def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,): + self.userModelVersion = userModelVersion + self.airavataInternalUserId = airavataInternalUserId + self.userId = userId + self.gatewayId = gatewayId + self.emails = emails + self.firstName = firstName + self.lastName = lastName + self.middleName = middleName + self.namePrefix = namePrefix + self.nameSuffix = nameSuffix + self.orcidId = orcidId + self.phones = phones + self.country = country + self.nationality = nationality + self.homeOrganization = homeOrganization + self.orginationAffiliation = orginationAffiliation + self.creationTime = creationTime + self.lastAccessTime = lastAccessTime + self.validUntil = validUntil + self.State = State + self.comments = comments + self.labeledURI = labeledURI + self.gpgKey = gpgKey + self.timeZone = timeZone + self.nsfDemographics = nsfDemographics + + 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.userModelVersion = 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.airavataInternalUserId = 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.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.LIST: + self.emails = [] + (_etype24, _size21) = iprot.readListBegin() + for _i25 in range(_size21): + _elem26 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + self.emails.append(_elem26) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.firstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRING: + self.lastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRING: + self.middleName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.STRING: + self.namePrefix = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRING: + self.nameSuffix = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 11: + if ftype == TType.STRING: + self.orcidId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 12: + if ftype == TType.LIST: + self.phones = [] + (_etype30, _size27) = iprot.readListBegin() + for _i31 in range(_size27): + _elem32 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + self.phones.append(_elem32) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 13: + if ftype == TType.STRING: + self.country = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 14: + if ftype == TType.LIST: + self.nationality = [] + (_etype36, _size33) = iprot.readListBegin() + for _i37 in range(_size33): + _elem38 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + self.nationality.append(_elem38) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 15: + if ftype == TType.STRING: + self.homeOrganization = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 16: + if ftype == TType.STRING: + self.orginationAffiliation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 17: + if ftype == TType.I64: + self.creationTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 18: + if ftype == TType.I64: + self.lastAccessTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 19: + if ftype == TType.I64: + self.validUntil = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 20: + if ftype == TType.I32: + self.State = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 21: + if ftype == TType.STRING: + self.comments = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 22: + if ftype == TType.LIST: + self.labeledURI = [] + (_etype42, _size39) = iprot.readListBegin() + for _i43 in range(_size39): + _elem44 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + self.labeledURI.append(_elem44) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 23: + if ftype == TType.STRING: + self.gpgKey = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 24: + if ftype == TType.STRING: + self.timeZone = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 25: + if ftype == TType.STRUCT: + self.nsfDemographics = NSFDemographics() + self.nsfDemographics.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('UserProfile') + if self.userModelVersion is not None: + oprot.writeFieldBegin('userModelVersion', TType.STRING, 1) + oprot.writeString(self.userModelVersion.encode('utf-8') if sys.version_info[0] == 2 else self.userModelVersion) + oprot.writeFieldEnd() + if self.airavataInternalUserId is not None: + oprot.writeFieldBegin('airavataInternalUserId', TType.STRING, 2) + oprot.writeString(self.airavataInternalUserId.encode('utf-8') if sys.version_info[0] == 2 else self.airavataInternalUserId) + oprot.writeFieldEnd() + if self.userId is not None: + oprot.writeFieldBegin('userId', TType.STRING, 3) + oprot.writeString(self.userId.encode('utf-8') if sys.version_info[0] == 2 else self.userId) + oprot.writeFieldEnd() + if self.gatewayId is not None: + oprot.writeFieldBegin('gatewayId', TType.STRING, 4) + oprot.writeString(self.gatewayId.encode('utf-8') if sys.version_info[0] == 2 else self.gatewayId) + oprot.writeFieldEnd() + if self.emails is not None: + oprot.writeFieldBegin('emails', TType.LIST, 5) + oprot.writeListBegin(TType.STRING, len(self.emails)) + for iter45 in self.emails: + oprot.writeString(iter45.encode('utf-8') if sys.version_info[0] == 2 else iter45) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.firstName is not None: + oprot.writeFieldBegin('firstName', TType.STRING, 6) + oprot.writeString(self.firstName.encode('utf-8') if sys.version_info[0] == 2 else self.firstName) + oprot.writeFieldEnd() + if self.lastName is not None: + oprot.writeFieldBegin('lastName', TType.STRING, 7) + oprot.writeString(self.lastName.encode('utf-8') if sys.version_info[0] == 2 else self.lastName) + oprot.writeFieldEnd() + if self.middleName is not None: + oprot.writeFieldBegin('middleName', TType.STRING, 8) + oprot.writeString(self.middleName.encode('utf-8') if sys.version_info[0] == 2 else self.middleName) + oprot.writeFieldEnd() + if self.namePrefix is not None: + oprot.writeFieldBegin('namePrefix', TType.STRING, 9) + oprot.writeString(self.namePrefix.encode('utf-8') if sys.version_info[0] == 2 else self.namePrefix) + oprot.writeFieldEnd() + if self.nameSuffix is not None: + oprot.writeFieldBegin('nameSuffix', TType.STRING, 10) + oprot.writeString(self.nameSuffix.encode('utf-8') if sys.version_info[0] == 2 else self.nameSuffix) + oprot.writeFieldEnd() + if self.orcidId is not None: + oprot.writeFieldBegin('orcidId', TType.STRING, 11) + oprot.writeString(self.orcidId.encode('utf-8') if sys.version_info[0] == 2 else self.orcidId) + oprot.writeFieldEnd() + if self.phones is not None: + oprot.writeFieldBegin('phones', TType.LIST, 12) + oprot.writeListBegin(TType.STRING, len(self.phones)) + for iter46 in self.phones: + oprot.writeString(iter46.encode('utf-8') if sys.version_info[0] == 2 else iter46) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.country is not None: + oprot.writeFieldBegin('country', TType.STRING, 13) + oprot.writeString(self.country.encode('utf-8') if sys.version_info[0] == 2 else self.country) + oprot.writeFieldEnd() + if self.nationality is not None: + oprot.writeFieldBegin('nationality', TType.LIST, 14) + oprot.writeListBegin(TType.STRING, len(self.nationality)) + for iter47 in self.nationality: + oprot.writeString(iter47.encode('utf-8') if sys.version_info[0] == 2 else iter47) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.homeOrganization is not None: + oprot.writeFieldBegin('homeOrganization', TType.STRING, 15) + oprot.writeString(self.homeOrganization.encode('utf-8') if sys.version_info[0] == 2 else self.homeOrganization) + oprot.writeFieldEnd() + if self.orginationAffiliation is not None: + oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 16) + oprot.writeString(self.orginationAffiliation.encode('utf-8') if sys.version_info[0] == 2 else self.orginationAffiliation) + oprot.writeFieldEnd() + if self.creationTime is not None: + oprot.writeFieldBegin('creationTime', TType.I64, 17) + oprot.writeI64(self.creationTime) + oprot.writeFieldEnd() + if self.lastAccessTime is not None: + oprot.writeFieldBegin('lastAccessTime', TType.I64, 18) + oprot.writeI64(self.lastAccessTime) + oprot.writeFieldEnd() + if self.validUntil is not None: + oprot.writeFieldBegin('validUntil', TType.I64, 19) + oprot.writeI64(self.validUntil) + oprot.writeFieldEnd() + if self.State is not None: + oprot.writeFieldBegin('State', TType.I32, 20) + oprot.writeI32(self.State) + oprot.writeFieldEnd() + if self.comments is not None: + oprot.writeFieldBegin('comments', TType.STRING, 21) + oprot.writeString(self.comments.encode('utf-8') if sys.version_info[0] == 2 else self.comments) + oprot.writeFieldEnd() + if self.labeledURI is not None: + oprot.writeFieldBegin('labeledURI', TType.LIST, 22) + oprot.writeListBegin(TType.STRING, len(self.labeledURI)) + for iter48 in self.labeledURI: + oprot.writeString(iter48.encode('utf-8') if sys.version_info[0] == 2 else iter48) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.gpgKey is not None: + oprot.writeFieldBegin('gpgKey', TType.STRING, 23) + oprot.writeString(self.gpgKey.encode('utf-8') if sys.version_info[0] == 2 else self.gpgKey) + oprot.writeFieldEnd() + if self.timeZone is not None: + oprot.writeFieldBegin('timeZone', TType.STRING, 24) + oprot.writeString(self.timeZone.encode('utf-8') if sys.version_info[0] == 2 else self.timeZone) + oprot.writeFieldEnd() + if self.nsfDemographics is not None: + oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 25) + self.nsfDemographics.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.userModelVersion is None: + raise TProtocolException(message='Required field userModelVersion is unset!') + if self.airavataInternalUserId is None: + raise TProtocolException(message='Required field airavataInternalUserId is unset!') + if self.userId is None: + raise TProtocolException(message='Required field userId is unset!') + if self.gatewayId is None: + raise TProtocolException(message='Required field gatewayId is unset!') + if self.emails is None: + raise TProtocolException(message='Required field emails is unset!') + if self.firstName is None: + raise TProtocolException(message='Required field firstName is unset!') + if self.lastName is None: + raise TProtocolException(message='Required field lastName is unset!') + if self.creationTime is None: + raise TProtocolException(message='Required field creationTime is unset!') + if self.lastAccessTime is None: + raise TProtocolException(message='Required field lastAccessTime is unset!') + if self.validUntil is None: + raise TProtocolException(message='Required field validUntil is unset!') + if self.State is None: + raise TProtocolException(message='Required field State is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other)
http://git-wip-us.apache.org/repos/asf/airavata/blob/8e775660/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py index 4a6492b..eb0d35a 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py @@ -1,11 +1,12 @@ # -# Autogenerated by Thrift Compiler (0.9.3) +# Autogenerated by Thrift Compiler (0.10.0) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # # options string: py # -from thrift.Thrift import TType, TMessageType, TException, TApplicationException -from ttypes import * - +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.protocol.TProtocol import TProtocolException +import sys +from .ttypes import *