airavata 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.rspec +3 -0
- data/.travis.yml +6 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +11 -0
- data/README.md +61 -0
- data/Rakefile +6 -0
- data/airavata.gemspec +26 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/account_provisioning_model_constants.rb +9 -0
- data/lib/account_provisioning_model_types.rb +69 -0
- data/lib/airavata.rb +15774 -0
- data/lib/airavata_api_constants.rb +11 -0
- data/lib/airavata_api_types.rb +34 -0
- data/lib/airavata_commons_constants.rb +11 -0
- data/lib/airavata_commons_types.rb +79 -0
- data/lib/airavata_data_models_constants.rb +9 -0
- data/lib/airavata_data_models_types.rb +28 -0
- data/lib/airavata_errors_constants.rb +9 -0
- data/lib/airavata_errors_types.rb +317 -0
- data/lib/airavata_workflow_model_constants.rb +9 -0
- data/lib/airavata_workflow_model_types.rb +335 -0
- data/lib/application_deployment_model_constants.rb +9 -0
- data/lib/application_deployment_model_types.rb +186 -0
- data/lib/application_interface_model_constants.rb +9 -0
- data/lib/application_interface_model_types.rb +54 -0
- data/lib/application_io_models_constants.rb +9 -0
- data/lib/application_io_models_types.rb +160 -0
- data/lib/base_a_p_i.rb +77 -0
- data/lib/base_api_constants.rb +9 -0
- data/lib/base_api_types.rb +8 -0
- data/lib/compute_resource_model_constants.rb +9 -0
- data/lib/compute_resource_model_types.rb +470 -0
- data/lib/credential_store_data_models_constants.rb +11 -0
- data/lib/credential_store_data_models_types.rb +172 -0
- data/lib/data_movement_models_constants.rb +9 -0
- data/lib/data_movement_models_types.rb +199 -0
- data/lib/db_event_model_constants.rb +9 -0
- data/lib/db_event_model_types.rb +155 -0
- data/lib/experiment_model_constants.rb +9 -0
- data/lib/experiment_model_types.rb +246 -0
- data/lib/gateway_groups_model_constants.rb +9 -0
- data/lib/gateway_groups_model_types.rb +34 -0
- data/lib/gateway_resource_profile_model_constants.rb +9 -0
- data/lib/gateway_resource_profile_model_types.rb +165 -0
- data/lib/group_manager_model_constants.rb +9 -0
- data/lib/group_manager_model_types.rb +58 -0
- data/lib/group_resource_profile_model_constants.rb +9 -0
- data/lib/group_resource_profile_model_types.rb +230 -0
- data/lib/job_model_constants.rb +9 -0
- data/lib/job_model_types.rb +52 -0
- data/lib/messaging_events_constants.rb +9 -0
- data/lib/messaging_events_types.rb +399 -0
- data/lib/parallelism_model_constants.rb +9 -0
- data/lib/parallelism_model_types.rb +19 -0
- data/lib/parser_model_constants.rb +9 -0
- data/lib/parser_model_types.rb +229 -0
- data/lib/process_model_constants.rb +9 -0
- data/lib/process_model_types.rb +113 -0
- data/lib/replica_catalog_models_constants.rb +9 -0
- data/lib/replica_catalog_models_types.rb +116 -0
- data/lib/scheduling_model_constants.rb +9 -0
- data/lib/scheduling_model_types.rb +49 -0
- data/lib/security_model_constants.rb +9 -0
- data/lib/security_model_types.rb +27 -0
- data/lib/status_models_constants.rb +9 -0
- data/lib/status_models_types.rb +212 -0
- data/lib/storage_resource_model_constants.rb +9 -0
- data/lib/storage_resource_model_types.rb +56 -0
- data/lib/task_model_constants.rb +9 -0
- data/lib/task_model_types.rb +197 -0
- data/lib/tenant_profile_model_constants.rb +9 -0
- data/lib/tenant_profile_model_types.rb +108 -0
- data/lib/user_profile_model_constants.rb +11 -0
- data/lib/user_profile_model_types.rb +300 -0
- data/lib/user_resource_profile_model_constants.rb +9 -0
- data/lib/user_resource_profile_model_types.rb +150 -0
- data/lib/workspace_model_constants.rb +9 -0
- data/lib/workspace_model_types.rb +230 -0
- metadata +128 -0
@@ -0,0 +1,108 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (0.10.0)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
require 'airavata_commons_types'
|
9
|
+
|
10
|
+
|
11
|
+
module TenantApprovalStatus
|
12
|
+
REQUESTED = 0
|
13
|
+
APPROVED = 1
|
14
|
+
ACTIVE = 2
|
15
|
+
DEACTIVATED = 3
|
16
|
+
CANCELLED = 4
|
17
|
+
DENIED = 5
|
18
|
+
CREATED = 6
|
19
|
+
DEPLOYED = 7
|
20
|
+
VALUE_MAP = {0 => "REQUESTED", 1 => "APPROVED", 2 => "ACTIVE", 3 => "DEACTIVATED", 4 => "CANCELLED", 5 => "DENIED", 6 => "CREATED", 7 => "DEPLOYED"}
|
21
|
+
VALID_VALUES = Set.new([REQUESTED, APPROVED, ACTIVE, DEACTIVATED, CANCELLED, DENIED, CREATED, DEPLOYED]).freeze
|
22
|
+
end
|
23
|
+
|
24
|
+
class TenantPreferences
|
25
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
26
|
+
TENANTADMINFIRSTNAME = 10
|
27
|
+
TENANTADMINLASTNAME = 11
|
28
|
+
TENANTADMINEMAIL = 12
|
29
|
+
|
30
|
+
FIELDS = {
|
31
|
+
TENANTADMINFIRSTNAME => {:type => ::Thrift::Types::STRING, :name => 'tenantAdminFirstName', :optional => true},
|
32
|
+
TENANTADMINLASTNAME => {:type => ::Thrift::Types::STRING, :name => 'tenantAdminLastName', :optional => true},
|
33
|
+
TENANTADMINEMAIL => {:type => ::Thrift::Types::STRING, :name => 'tenantAdminEmail', :optional => true}
|
34
|
+
}
|
35
|
+
|
36
|
+
def struct_fields; FIELDS; end
|
37
|
+
|
38
|
+
def validate
|
39
|
+
end
|
40
|
+
|
41
|
+
::Thrift::Struct.generate_accessors self
|
42
|
+
end
|
43
|
+
|
44
|
+
class TenantConfig
|
45
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
46
|
+
OAUTHCLIENTID = 16
|
47
|
+
OAUTHCLIENTSECRET = 17
|
48
|
+
IDENTITYSERVERUSERNAME = 13
|
49
|
+
IDENTITYSERVERPASSWORDTOKEN = 14
|
50
|
+
|
51
|
+
FIELDS = {
|
52
|
+
OAUTHCLIENTID => {:type => ::Thrift::Types::STRING, :name => 'oauthClientId', :optional => true},
|
53
|
+
OAUTHCLIENTSECRET => {:type => ::Thrift::Types::STRING, :name => 'oauthClientSecret', :optional => true},
|
54
|
+
IDENTITYSERVERUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'identityServerUserName', :optional => true},
|
55
|
+
IDENTITYSERVERPASSWORDTOKEN => {:type => ::Thrift::Types::STRING, :name => 'identityServerPasswordToken', :optional => true}
|
56
|
+
}
|
57
|
+
|
58
|
+
def struct_fields; FIELDS; end
|
59
|
+
|
60
|
+
def validate
|
61
|
+
end
|
62
|
+
|
63
|
+
::Thrift::Struct.generate_accessors self
|
64
|
+
end
|
65
|
+
|
66
|
+
class Tenant
|
67
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
68
|
+
TENANTID = 1
|
69
|
+
TENANTAPPROVALSTATUS = 2
|
70
|
+
TENANTNAME = 3
|
71
|
+
DOMAIN = 4
|
72
|
+
EMAILADDRESS = 5
|
73
|
+
TENANTACRONYM = 6
|
74
|
+
TENANTURL = 7
|
75
|
+
TENANTPUBLICABSTRACT = 8
|
76
|
+
REVIEWPROPOSALDESCRIPTION = 9
|
77
|
+
DECLINEDREASON = 15
|
78
|
+
REQUESTCREATIONTIME = 18
|
79
|
+
REQUESTERUSERNAME = 19
|
80
|
+
|
81
|
+
FIELDS = {
|
82
|
+
TENANTID => {:type => ::Thrift::Types::STRING, :name => 'tenantId'},
|
83
|
+
TENANTAPPROVALSTATUS => {:type => ::Thrift::Types::I32, :name => 'tenantApprovalStatus', :enum_class => ::TenantApprovalStatus},
|
84
|
+
TENANTNAME => {:type => ::Thrift::Types::STRING, :name => 'tenantName', :optional => true},
|
85
|
+
DOMAIN => {:type => ::Thrift::Types::STRING, :name => 'domain', :optional => true},
|
86
|
+
EMAILADDRESS => {:type => ::Thrift::Types::STRING, :name => 'emailAddress', :optional => true},
|
87
|
+
TENANTACRONYM => {:type => ::Thrift::Types::STRING, :name => 'tenantAcronym', :optional => true},
|
88
|
+
TENANTURL => {:type => ::Thrift::Types::STRING, :name => 'tenantURL', :optional => true},
|
89
|
+
TENANTPUBLICABSTRACT => {:type => ::Thrift::Types::STRING, :name => 'tenantPublicAbstract', :optional => true},
|
90
|
+
REVIEWPROPOSALDESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'reviewProposalDescription', :optional => true},
|
91
|
+
DECLINEDREASON => {:type => ::Thrift::Types::STRING, :name => 'declinedReason', :optional => true},
|
92
|
+
REQUESTCREATIONTIME => {:type => ::Thrift::Types::I64, :name => 'requestCreationTime', :optional => true},
|
93
|
+
REQUESTERUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'requesterUsername', :optional => true}
|
94
|
+
}
|
95
|
+
|
96
|
+
def struct_fields; FIELDS; end
|
97
|
+
|
98
|
+
def validate
|
99
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field tenantId is unset!') unless @tenantId
|
100
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field tenantApprovalStatus is unset!') unless @tenantApprovalStatus
|
101
|
+
unless @tenantApprovalStatus.nil? || ::TenantApprovalStatus::VALID_VALUES.include?(@tenantApprovalStatus)
|
102
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field tenantApprovalStatus!')
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
::Thrift::Struct.generate_accessors self
|
107
|
+
end
|
108
|
+
|
@@ -0,0 +1,300 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (0.10.0)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
require 'airavata_commons_types'
|
9
|
+
|
10
|
+
|
11
|
+
module Status
|
12
|
+
ACTIVE = 0
|
13
|
+
CONFIRMED = 1
|
14
|
+
APPROVED = 2
|
15
|
+
DELETED = 3
|
16
|
+
DUPLICATE = 4
|
17
|
+
GRACE_PERIOD = 5
|
18
|
+
INVITED = 6
|
19
|
+
DENIED = 7
|
20
|
+
PENDING = 8
|
21
|
+
PENDING_APPROVAL = 9
|
22
|
+
PENDING_CONFIRMATION = 10
|
23
|
+
SUSPENDED = 11
|
24
|
+
DECLINED = 12
|
25
|
+
EXPIRED = 13
|
26
|
+
VALUE_MAP = {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"}
|
27
|
+
VALID_VALUES = Set.new([ACTIVE, CONFIRMED, APPROVED, DELETED, DUPLICATE, GRACE_PERIOD, INVITED, DENIED, PENDING, PENDING_APPROVAL, PENDING_CONFIRMATION, SUSPENDED, DECLINED, EXPIRED]).freeze
|
28
|
+
end
|
29
|
+
|
30
|
+
module USCitizenship
|
31
|
+
US_CITIZEN = 0
|
32
|
+
US_PERMANENT_RESIDENT = 1
|
33
|
+
OTHER_NON_US_CITIZEN = 2
|
34
|
+
VALUE_MAP = {0 => "US_CITIZEN", 1 => "US_PERMANENT_RESIDENT", 2 => "OTHER_NON_US_CITIZEN"}
|
35
|
+
VALID_VALUES = Set.new([US_CITIZEN, US_PERMANENT_RESIDENT, OTHER_NON_US_CITIZEN]).freeze
|
36
|
+
end
|
37
|
+
|
38
|
+
module Ethnicity
|
39
|
+
HISPANIC_LATINO = 0
|
40
|
+
NOT_HISPANIC_LATINO = 1
|
41
|
+
VALUE_MAP = {0 => "HISPANIC_LATINO", 1 => "NOT_HISPANIC_LATINO"}
|
42
|
+
VALID_VALUES = Set.new([HISPANIC_LATINO, NOT_HISPANIC_LATINO]).freeze
|
43
|
+
end
|
44
|
+
|
45
|
+
module Race
|
46
|
+
ASIAN = 0
|
47
|
+
AMERICAN_INDIAN_OR_ALASKAN_NATIVE = 1
|
48
|
+
BLACK_OR_AFRICAN_AMERICAN = 2
|
49
|
+
NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER = 3
|
50
|
+
WHITE = 4
|
51
|
+
VALUE_MAP = {0 => "ASIAN", 1 => "AMERICAN_INDIAN_OR_ALASKAN_NATIVE", 2 => "BLACK_OR_AFRICAN_AMERICAN", 3 => "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER", 4 => "WHITE"}
|
52
|
+
VALID_VALUES = Set.new([ASIAN, AMERICAN_INDIAN_OR_ALASKAN_NATIVE, BLACK_OR_AFRICAN_AMERICAN, NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER, WHITE]).freeze
|
53
|
+
end
|
54
|
+
|
55
|
+
module Disability
|
56
|
+
HEARING_IMAPAIRED = 0
|
57
|
+
VISUAL_IMPAIRED = 1
|
58
|
+
MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT = 2
|
59
|
+
OTHER_IMPAIRMENT = 3
|
60
|
+
VALUE_MAP = {0 => "HEARING_IMAPAIRED", 1 => "VISUAL_IMPAIRED", 2 => "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT", 3 => "OTHER_IMPAIRMENT"}
|
61
|
+
VALID_VALUES = Set.new([HEARING_IMAPAIRED, VISUAL_IMPAIRED, MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT, OTHER_IMPAIRMENT]).freeze
|
62
|
+
end
|
63
|
+
|
64
|
+
# A structure holding the NSF Demographic information.
|
65
|
+
#
|
66
|
+
#
|
67
|
+
class NSFDemographics
|
68
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
69
|
+
AIRAVATAINTERNALUSERID = 1
|
70
|
+
GENDER = 2
|
71
|
+
USCITIZENSHIP = 3
|
72
|
+
ETHNICITIES = 4
|
73
|
+
RACES = 5
|
74
|
+
DISABILITIES = 6
|
75
|
+
|
76
|
+
FIELDS = {
|
77
|
+
AIRAVATAINTERNALUSERID => {:type => ::Thrift::Types::STRING, :name => 'airavataInternalUserId', :default => %q"DO_NOT_SET_AT_CLIENTS"},
|
78
|
+
GENDER => {:type => ::Thrift::Types::STRING, :name => 'gender', :optional => true},
|
79
|
+
USCITIZENSHIP => {:type => ::Thrift::Types::I32, :name => 'usCitizenship', :optional => true, :enum_class => ::USCitizenship},
|
80
|
+
ETHNICITIES => {:type => ::Thrift::Types::LIST, :name => 'ethnicities', :element => {:type => ::Thrift::Types::I32, :enum_class => ::Ethnicity}, :optional => true},
|
81
|
+
RACES => {:type => ::Thrift::Types::LIST, :name => 'races', :element => {:type => ::Thrift::Types::I32, :enum_class => ::Race}, :optional => true},
|
82
|
+
DISABILITIES => {:type => ::Thrift::Types::LIST, :name => 'disabilities', :element => {:type => ::Thrift::Types::I32, :enum_class => ::Disability}, :optional => true}
|
83
|
+
}
|
84
|
+
|
85
|
+
def struct_fields; FIELDS; end
|
86
|
+
|
87
|
+
def validate
|
88
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field airavataInternalUserId is unset!') unless @airavataInternalUserId
|
89
|
+
unless @usCitizenship.nil? || ::USCitizenship::VALID_VALUES.include?(@usCitizenship)
|
90
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field usCitizenship!')
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
::Thrift::Struct.generate_accessors self
|
95
|
+
end
|
96
|
+
|
97
|
+
# A structure holding the cutomized admin dashboard information.
|
98
|
+
#
|
99
|
+
#
|
100
|
+
class CustomDashboard
|
101
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
102
|
+
AIRAVATAINTERNALUSERID = 1
|
103
|
+
EXPERIMENTID = 2
|
104
|
+
NAME = 3
|
105
|
+
DESCRIPTION = 4
|
106
|
+
PROJECT = 5
|
107
|
+
OWNER = 6
|
108
|
+
APPLICATION = 7
|
109
|
+
COMPUTERESOURCE = 8
|
110
|
+
JOBNAME = 9
|
111
|
+
JOBID = 10
|
112
|
+
JOBSTATUS = 11
|
113
|
+
JOBCREATIONTIME = 12
|
114
|
+
NOTIFICATIONSTO = 13
|
115
|
+
WORKINGDIR = 14
|
116
|
+
JOBDESCRIPTION = 15
|
117
|
+
CREATIONTIME = 16
|
118
|
+
LASTMODIFIEDTIME = 17
|
119
|
+
WALLTIME = 18
|
120
|
+
CPUCOUNT = 19
|
121
|
+
NODECOUNT = 20
|
122
|
+
QUEUE = 21
|
123
|
+
INPUTS = 22
|
124
|
+
OUTPUTS = 23
|
125
|
+
STORAGEDIR = 24
|
126
|
+
ERRORS = 25
|
127
|
+
|
128
|
+
FIELDS = {
|
129
|
+
AIRAVATAINTERNALUSERID => {:type => ::Thrift::Types::STRING, :name => 'airavataInternalUserId', :default => %q"DO_NOT_SET_AT_CLIENTS"},
|
130
|
+
EXPERIMENTID => {:type => ::Thrift::Types::STRING, :name => 'experimentId', :optional => true},
|
131
|
+
NAME => {:type => ::Thrift::Types::STRING, :name => 'name', :optional => true},
|
132
|
+
DESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'description', :optional => true},
|
133
|
+
PROJECT => {:type => ::Thrift::Types::STRING, :name => 'project', :optional => true},
|
134
|
+
OWNER => {:type => ::Thrift::Types::STRING, :name => 'owner', :optional => true},
|
135
|
+
APPLICATION => {:type => ::Thrift::Types::STRING, :name => 'application', :optional => true},
|
136
|
+
COMPUTERESOURCE => {:type => ::Thrift::Types::STRING, :name => 'computeResource', :optional => true},
|
137
|
+
JOBNAME => {:type => ::Thrift::Types::STRING, :name => 'jobName', :optional => true},
|
138
|
+
JOBID => {:type => ::Thrift::Types::STRING, :name => 'jobId', :optional => true},
|
139
|
+
JOBSTATUS => {:type => ::Thrift::Types::STRING, :name => 'jobStatus', :optional => true},
|
140
|
+
JOBCREATIONTIME => {:type => ::Thrift::Types::STRING, :name => 'jobCreationTime', :optional => true},
|
141
|
+
NOTIFICATIONSTO => {:type => ::Thrift::Types::STRING, :name => 'notificationsTo', :optional => true},
|
142
|
+
WORKINGDIR => {:type => ::Thrift::Types::STRING, :name => 'workingDir', :optional => true},
|
143
|
+
JOBDESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'jobDescription', :optional => true},
|
144
|
+
CREATIONTIME => {:type => ::Thrift::Types::STRING, :name => 'creationTime', :optional => true},
|
145
|
+
LASTMODIFIEDTIME => {:type => ::Thrift::Types::STRING, :name => 'lastModifiedTime', :optional => true},
|
146
|
+
WALLTIME => {:type => ::Thrift::Types::STRING, :name => 'wallTime', :optional => true},
|
147
|
+
CPUCOUNT => {:type => ::Thrift::Types::STRING, :name => 'cpuCount', :optional => true},
|
148
|
+
NODECOUNT => {:type => ::Thrift::Types::STRING, :name => 'nodeCount', :optional => true},
|
149
|
+
QUEUE => {:type => ::Thrift::Types::STRING, :name => 'queue', :optional => true},
|
150
|
+
INPUTS => {:type => ::Thrift::Types::STRING, :name => 'inputs', :optional => true},
|
151
|
+
OUTPUTS => {:type => ::Thrift::Types::STRING, :name => 'outputs', :optional => true},
|
152
|
+
STORAGEDIR => {:type => ::Thrift::Types::STRING, :name => 'storageDir', :optional => true},
|
153
|
+
ERRORS => {:type => ::Thrift::Types::STRING, :name => 'errors', :optional => true}
|
154
|
+
}
|
155
|
+
|
156
|
+
def struct_fields; FIELDS; end
|
157
|
+
|
158
|
+
def validate
|
159
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field airavataInternalUserId is unset!') unless @airavataInternalUserId
|
160
|
+
end
|
161
|
+
|
162
|
+
::Thrift::Struct.generate_accessors self
|
163
|
+
end
|
164
|
+
|
165
|
+
# * A structure holding the user profile and its child models.
|
166
|
+
# *
|
167
|
+
# * Notes:
|
168
|
+
# * The model does not include passwords as it is assumed an external identity provider is used to authenticate user.
|
169
|
+
# * References:
|
170
|
+
# * NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc
|
171
|
+
# * LDAP Schema - https://tools.ietf.org/html/rfc4519
|
172
|
+
# * SCIM 2.0 - https://tools.ietf.org/html/rfc7643
|
173
|
+
# *
|
174
|
+
# * userModelVersion:
|
175
|
+
# * Version number of profile
|
176
|
+
# *
|
177
|
+
# * airavataInternalUserId:
|
178
|
+
# * internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways
|
179
|
+
# * (that is, never shown to users), never reassigned, REQUIRED
|
180
|
+
# *
|
181
|
+
# * userId:
|
182
|
+
# * Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
|
183
|
+
# * user name less opaque. OpenID Connect maintains them to be opaque.
|
184
|
+
# *
|
185
|
+
# * firstName, middleName, lastName:
|
186
|
+
# * First and Last names as assertede by the user
|
187
|
+
# *
|
188
|
+
# * namePrefix, nameSuffix:
|
189
|
+
# * prefix and suffix to the users name as asserted by the user
|
190
|
+
# *
|
191
|
+
# * emails:
|
192
|
+
# * Email identifier are Verified, REQUIRED and MULTIVALUED
|
193
|
+
# *
|
194
|
+
# * userName:
|
195
|
+
# * Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string.
|
196
|
+
# * In the future these can be enumerated as:
|
197
|
+
# * Official name (as asserted possibly by some external identity provider)
|
198
|
+
# * Prefered name (as asserted or suggested by user directly)
|
199
|
+
# * Components:
|
200
|
+
# * givenName
|
201
|
+
# * surname (familyName)
|
202
|
+
# * displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like)
|
203
|
+
# *
|
204
|
+
# * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid)
|
205
|
+
# *
|
206
|
+
# * phones: Telephone MULTIVALUED
|
207
|
+
# *
|
208
|
+
# * country: Country of Residance
|
209
|
+
# *
|
210
|
+
# * nationality Countries of citizenship
|
211
|
+
# *
|
212
|
+
# * comments:
|
213
|
+
# * Free-form information (treated as opaque by Airavata and simply passed to resource).
|
214
|
+
# *
|
215
|
+
# * labeledURI:
|
216
|
+
# * Google Scholar, Web of Science, ACS, e.t.c
|
217
|
+
# *
|
218
|
+
# * timeZone:
|
219
|
+
# * User’s preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones.
|
220
|
+
# *
|
221
|
+
class UserProfile
|
222
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
223
|
+
USERMODELVERSION = 1
|
224
|
+
AIRAVATAINTERNALUSERID = 2
|
225
|
+
USERID = 3
|
226
|
+
GATEWAYID = 4
|
227
|
+
EMAILS = 5
|
228
|
+
FIRSTNAME = 6
|
229
|
+
LASTNAME = 7
|
230
|
+
MIDDLENAME = 8
|
231
|
+
NAMEPREFIX = 9
|
232
|
+
NAMESUFFIX = 10
|
233
|
+
ORCIDID = 11
|
234
|
+
PHONES = 12
|
235
|
+
COUNTRY = 13
|
236
|
+
NATIONALITY = 14
|
237
|
+
HOMEORGANIZATION = 15
|
238
|
+
ORGINATIONAFFILIATION = 16
|
239
|
+
CREATIONTIME = 17
|
240
|
+
LASTACCESSTIME = 18
|
241
|
+
VALIDUNTIL = 19
|
242
|
+
STATE = 20
|
243
|
+
COMMENTS = 21
|
244
|
+
LABELEDURI = 22
|
245
|
+
GPGKEY = 23
|
246
|
+
TIMEZONE = 24
|
247
|
+
NSFDEMOGRAPHICS = 25
|
248
|
+
CUSTOMDASHBOARD = 26
|
249
|
+
|
250
|
+
FIELDS = {
|
251
|
+
USERMODELVERSION => {:type => ::Thrift::Types::STRING, :name => 'userModelVersion', :default => %q"1.0"},
|
252
|
+
AIRAVATAINTERNALUSERID => {:type => ::Thrift::Types::STRING, :name => 'airavataInternalUserId', :default => %q"DO_NOT_SET_AT_CLIENTS"},
|
253
|
+
USERID => {:type => ::Thrift::Types::STRING, :name => 'userId'},
|
254
|
+
GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayId'},
|
255
|
+
EMAILS => {:type => ::Thrift::Types::LIST, :name => 'emails', :element => {:type => ::Thrift::Types::STRING}},
|
256
|
+
FIRSTNAME => {:type => ::Thrift::Types::STRING, :name => 'firstName'},
|
257
|
+
LASTNAME => {:type => ::Thrift::Types::STRING, :name => 'lastName'},
|
258
|
+
MIDDLENAME => {:type => ::Thrift::Types::STRING, :name => 'middleName', :optional => true},
|
259
|
+
NAMEPREFIX => {:type => ::Thrift::Types::STRING, :name => 'namePrefix', :optional => true},
|
260
|
+
NAMESUFFIX => {:type => ::Thrift::Types::STRING, :name => 'nameSuffix', :optional => true},
|
261
|
+
ORCIDID => {:type => ::Thrift::Types::STRING, :name => 'orcidId', :optional => true},
|
262
|
+
PHONES => {:type => ::Thrift::Types::LIST, :name => 'phones', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
|
263
|
+
COUNTRY => {:type => ::Thrift::Types::STRING, :name => 'country', :optional => true},
|
264
|
+
NATIONALITY => {:type => ::Thrift::Types::LIST, :name => 'nationality', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
|
265
|
+
HOMEORGANIZATION => {:type => ::Thrift::Types::STRING, :name => 'homeOrganization', :optional => true},
|
266
|
+
ORGINATIONAFFILIATION => {:type => ::Thrift::Types::STRING, :name => 'orginationAffiliation', :optional => true},
|
267
|
+
CREATIONTIME => {:type => ::Thrift::Types::I64, :name => 'creationTime'},
|
268
|
+
LASTACCESSTIME => {:type => ::Thrift::Types::I64, :name => 'lastAccessTime'},
|
269
|
+
VALIDUNTIL => {:type => ::Thrift::Types::I64, :name => 'validUntil'},
|
270
|
+
STATE => {:type => ::Thrift::Types::I32, :name => 'State', :enum_class => ::Status},
|
271
|
+
COMMENTS => {:type => ::Thrift::Types::STRING, :name => 'comments', :optional => true},
|
272
|
+
LABELEDURI => {:type => ::Thrift::Types::LIST, :name => 'labeledURI', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
|
273
|
+
GPGKEY => {:type => ::Thrift::Types::STRING, :name => 'gpgKey', :optional => true},
|
274
|
+
TIMEZONE => {:type => ::Thrift::Types::STRING, :name => 'timeZone', :optional => true},
|
275
|
+
NSFDEMOGRAPHICS => {:type => ::Thrift::Types::STRUCT, :name => 'nsfDemographics', :class => ::NSFDemographics, :optional => true},
|
276
|
+
CUSTOMDASHBOARD => {:type => ::Thrift::Types::STRUCT, :name => 'customDashboard', :class => ::CustomDashboard, :optional => true}
|
277
|
+
}
|
278
|
+
|
279
|
+
def struct_fields; FIELDS; end
|
280
|
+
|
281
|
+
def validate
|
282
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field userModelVersion is unset!') unless @userModelVersion
|
283
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field airavataInternalUserId is unset!') unless @airavataInternalUserId
|
284
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field userId is unset!') unless @userId
|
285
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayId is unset!') unless @gatewayId
|
286
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field emails is unset!') unless @emails
|
287
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field firstName is unset!') unless @firstName
|
288
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field lastName is unset!') unless @lastName
|
289
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field creationTime is unset!') unless @creationTime
|
290
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field lastAccessTime is unset!') unless @lastAccessTime
|
291
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field validUntil is unset!') unless @validUntil
|
292
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field State is unset!') unless @State
|
293
|
+
unless @State.nil? || ::Status::VALID_VALUES.include?(@State)
|
294
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field State!')
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
::Thrift::Struct.generate_accessors self
|
299
|
+
end
|
300
|
+
|
@@ -0,0 +1,150 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (0.10.0)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
require 'compute_resource_model_types'
|
9
|
+
require 'data_movement_models_types'
|
10
|
+
require 'user_profile_model_types'
|
11
|
+
|
12
|
+
|
13
|
+
# User specific preferences for a Computer Resource
|
14
|
+
#
|
15
|
+
# computeResourceId:
|
16
|
+
# Corelate the preference to a compute resource.
|
17
|
+
#
|
18
|
+
#
|
19
|
+
# loginUserName:
|
20
|
+
# If turned true, Airavata will override the preferences of better alternatives exist.
|
21
|
+
#
|
22
|
+
#
|
23
|
+
# preferredBatchQueue:
|
24
|
+
# Gateways can choose a defualt batch queue based on average job dimention, reservations or other metrics.
|
25
|
+
#
|
26
|
+
# scratchLocation:
|
27
|
+
# Path to the local scratch space on a HPC cluster. Typically used to create working directory for job execution.
|
28
|
+
#
|
29
|
+
# allocationProjectNumber:
|
30
|
+
# Typically used on HPC machines to charge computing usage to a account number. For instance, on XSEDE once an
|
31
|
+
# allocation is approved, an allocation number is assigned. Before passing this number with job submittions, the
|
32
|
+
# account to be used has to be added to the allocation.
|
33
|
+
#
|
34
|
+
# resourceSpecificCredentialStoreToken:
|
35
|
+
# Resource specific credential store token. If this token is specified, then it is superceeded by the gateway's
|
36
|
+
# default credential store.
|
37
|
+
#
|
38
|
+
# validated:
|
39
|
+
# If true the the configuration has been validated in the sense that the username and credential can be used to
|
40
|
+
# login to the remote host and the scratchLocation is a valid location that the user has permission to write to.
|
41
|
+
# Should be treated as read-only and only mutated by Airavata middleware.
|
42
|
+
#
|
43
|
+
class UserComputeResourcePreference
|
44
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
45
|
+
COMPUTERESOURCEID = 1
|
46
|
+
LOGINUSERNAME = 2
|
47
|
+
PREFERREDBATCHQUEUE = 3
|
48
|
+
SCRATCHLOCATION = 4
|
49
|
+
ALLOCATIONPROJECTNUMBER = 5
|
50
|
+
RESOURCESPECIFICCREDENTIALSTORETOKEN = 6
|
51
|
+
QUALITYOFSERVICE = 7
|
52
|
+
RESERVATION = 8
|
53
|
+
RESERVATIONSTARTTIME = 9
|
54
|
+
RESERVATIONENDTIME = 10
|
55
|
+
VALIDATED = 11
|
56
|
+
|
57
|
+
FIELDS = {
|
58
|
+
COMPUTERESOURCEID => {:type => ::Thrift::Types::STRING, :name => 'computeResourceId'},
|
59
|
+
LOGINUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'loginUserName', :optional => true},
|
60
|
+
PREFERREDBATCHQUEUE => {:type => ::Thrift::Types::STRING, :name => 'preferredBatchQueue', :optional => true},
|
61
|
+
SCRATCHLOCATION => {:type => ::Thrift::Types::STRING, :name => 'scratchLocation', :optional => true},
|
62
|
+
ALLOCATIONPROJECTNUMBER => {:type => ::Thrift::Types::STRING, :name => 'allocationProjectNumber', :optional => true},
|
63
|
+
RESOURCESPECIFICCREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'resourceSpecificCredentialStoreToken', :optional => true},
|
64
|
+
QUALITYOFSERVICE => {:type => ::Thrift::Types::STRING, :name => 'qualityOfService', :optional => true},
|
65
|
+
RESERVATION => {:type => ::Thrift::Types::STRING, :name => 'reservation', :optional => true},
|
66
|
+
RESERVATIONSTARTTIME => {:type => ::Thrift::Types::I64, :name => 'reservationStartTime', :optional => true},
|
67
|
+
RESERVATIONENDTIME => {:type => ::Thrift::Types::I64, :name => 'reservationEndTime', :optional => true},
|
68
|
+
VALIDATED => {:type => ::Thrift::Types::BOOL, :name => 'validated', :default => false, :optional => true}
|
69
|
+
}
|
70
|
+
|
71
|
+
def struct_fields; FIELDS; end
|
72
|
+
|
73
|
+
def validate
|
74
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field computeResourceId is unset!') unless @computeResourceId
|
75
|
+
end
|
76
|
+
|
77
|
+
::Thrift::Struct.generate_accessors self
|
78
|
+
end
|
79
|
+
|
80
|
+
class UserStoragePreference
|
81
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
82
|
+
STORAGERESOURCEID = 1
|
83
|
+
LOGINUSERNAME = 2
|
84
|
+
FILESYSTEMROOTLOCATION = 3
|
85
|
+
RESOURCESPECIFICCREDENTIALSTORETOKEN = 4
|
86
|
+
|
87
|
+
FIELDS = {
|
88
|
+
STORAGERESOURCEID => {:type => ::Thrift::Types::STRING, :name => 'storageResourceId'},
|
89
|
+
LOGINUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'loginUserName', :optional => true},
|
90
|
+
FILESYSTEMROOTLOCATION => {:type => ::Thrift::Types::STRING, :name => 'fileSystemRootLocation', :optional => true},
|
91
|
+
RESOURCESPECIFICCREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'resourceSpecificCredentialStoreToken', :optional => true}
|
92
|
+
}
|
93
|
+
|
94
|
+
def struct_fields; FIELDS; end
|
95
|
+
|
96
|
+
def validate
|
97
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field storageResourceId is unset!') unless @storageResourceId
|
98
|
+
end
|
99
|
+
|
100
|
+
::Thrift::Struct.generate_accessors self
|
101
|
+
end
|
102
|
+
|
103
|
+
# User Resource Profile
|
104
|
+
#
|
105
|
+
# userId:
|
106
|
+
# Unique identifier used to link user to corresponding user data model
|
107
|
+
#
|
108
|
+
# gatewayID:
|
109
|
+
# Unique identifier for the gateway assigned by Airavata. Corelate this to Airavata Admin API Gateway Registration.
|
110
|
+
#
|
111
|
+
# credentialStoreToken:
|
112
|
+
# Gateway's defualt credential store token.
|
113
|
+
#
|
114
|
+
# computeResourcePreferences:
|
115
|
+
# List of resource preferences for each of the registered compute resources.
|
116
|
+
#
|
117
|
+
# identityServerTenant:
|
118
|
+
#
|
119
|
+
# identityServerPwdCredToken:
|
120
|
+
#
|
121
|
+
class UserResourceProfile
|
122
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
123
|
+
USERID = 1
|
124
|
+
GATEWAYID = 2
|
125
|
+
CREDENTIALSTORETOKEN = 3
|
126
|
+
USERCOMPUTERESOURCEPREFERENCES = 4
|
127
|
+
USERSTORAGEPREFERENCES = 5
|
128
|
+
IDENTITYSERVERTENANT = 6
|
129
|
+
IDENTITYSERVERPWDCREDTOKEN = 7
|
130
|
+
|
131
|
+
FIELDS = {
|
132
|
+
USERID => {:type => ::Thrift::Types::STRING, :name => 'userId'},
|
133
|
+
GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayID'},
|
134
|
+
CREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'credentialStoreToken', :optional => true},
|
135
|
+
USERCOMPUTERESOURCEPREFERENCES => {:type => ::Thrift::Types::LIST, :name => 'userComputeResourcePreferences', :element => {:type => ::Thrift::Types::STRUCT, :class => ::UserComputeResourcePreference}, :optional => true},
|
136
|
+
USERSTORAGEPREFERENCES => {:type => ::Thrift::Types::LIST, :name => 'userStoragePreferences', :element => {:type => ::Thrift::Types::STRUCT, :class => ::UserStoragePreference}, :optional => true},
|
137
|
+
IDENTITYSERVERTENANT => {:type => ::Thrift::Types::STRING, :name => 'identityServerTenant', :optional => true},
|
138
|
+
IDENTITYSERVERPWDCREDTOKEN => {:type => ::Thrift::Types::STRING, :name => 'identityServerPwdCredToken', :optional => true}
|
139
|
+
}
|
140
|
+
|
141
|
+
def struct_fields; FIELDS; end
|
142
|
+
|
143
|
+
def validate
|
144
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field userId is unset!') unless @userId
|
145
|
+
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayID is unset!') unless @gatewayID
|
146
|
+
end
|
147
|
+
|
148
|
+
::Thrift::Struct.generate_accessors self
|
149
|
+
end
|
150
|
+
|