Thrift module: user_profile_model
Constants
Constant | Type | Value |
USER_PROFILE_VERSION | string | "1.0" |
Enumerations
Enumeration: 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 |
|
Enumeration: 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 |
|
Enumeration: 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 |
|
Enumeration: 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 |
|
Enumeration: disability
HEARING_IMAPAIRED | 0 |
|
VISUAL_IMPAIRED | 1 |
|
MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT | 2 |
|
OTHER_IMPAIRMENT | 3 |
|
Data structures
Struct: NSFDemographics
Key | Field | Type | Description | Requiredness | Default value |
1 | airavataInternalUserId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | gender | string | | optional | |
3 | usCitizenship | USCitizenship | | optional | |
4 | ethnicities | list<ethnicity > | | optional | |
5 | races | list<race > | | optional | |
6 | disabilities | list<disability > | | optional | |
A structure holding the NSF Demographic information.
Struct: CustomDashboard
Key | Field | Type | Description | Requiredness | Default value |
1 | airavataInternalUserId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | experimentId | string | | optional | |
3 | name | string | | optional | |
4 | description | string | | optional | |
5 | project | string | | optional | |
6 | owner | string | | optional | |
7 | application | string | | optional | |
8 | computeResource | string | | optional | |
9 | jobName | string | | optional | |
10 | jobId | string | | optional | |
11 | jobStatus | string | | optional | |
12 | jobCreationTime | string | | optional | |
13 | notificationsTo | string | | optional | |
14 | workingDir | string | | optional | |
15 | jobDescription | string | | optional | |
16 | creationTime | string | | optional | |
17 | lastModifiedTime | string | | optional | |
18 | wallTime | string | | optional | |
19 | cpuCount | string | | optional | |
20 | nodeCount | string | | optional | |
21 | queue | string | | optional | |
22 | inputs | string | | optional | |
23 | outputs | string | | optional | |
24 | storageDir | string | | optional | |
25 | errors | string | | optional | |
A structure holding the cutomized admin dashboard information.
Struct: UserProfile
Key | Field | Type | Description | Requiredness | Default value |
1 | userModelVersion | string | | required | "1.0" |
2 | airavataInternalUserId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
3 | userId | string | | required | |
4 | gatewayId | string | | required | |
5 | emails | list<string > | | required | |
6 | firstName | string | | required | |
7 | lastName | string | | required | |
8 | middleName | string | | optional | |
9 | namePrefix | string | | optional | |
10 | nameSuffix | string | | optional | |
11 | orcidId | string | | optional | |
12 | phones | list<string > | | optional | |
13 | country | string | | optional | |
14 | nationality | list<string > | | optional | |
15 | homeOrganization | string | | optional | |
16 | orginationAffiliation | string | | optional | |
17 | creationTime | i64 | | required | |
18 | lastAccessTime | i64 | | required | |
19 | validUntil | i64 | | required | |
20 | State | Status | | required | |
21 | comments | string | | optional | |
22 | labeledURI | list<string > | | optional | |
23 | gpgKey | string | | optional | |
24 | timeZone | string | | optional | |
25 | nsfDemographics | NSFDemographics | | optional | |
26 | customDashboard | CustomDashboard | | optional | |
* 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.
*