airavata 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
|