airavata 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +6 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +11 -0
  7. data/README.md +61 -0
  8. data/Rakefile +6 -0
  9. data/airavata.gemspec +26 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/lib/account_provisioning_model_constants.rb +9 -0
  13. data/lib/account_provisioning_model_types.rb +69 -0
  14. data/lib/airavata.rb +15774 -0
  15. data/lib/airavata_api_constants.rb +11 -0
  16. data/lib/airavata_api_types.rb +34 -0
  17. data/lib/airavata_commons_constants.rb +11 -0
  18. data/lib/airavata_commons_types.rb +79 -0
  19. data/lib/airavata_data_models_constants.rb +9 -0
  20. data/lib/airavata_data_models_types.rb +28 -0
  21. data/lib/airavata_errors_constants.rb +9 -0
  22. data/lib/airavata_errors_types.rb +317 -0
  23. data/lib/airavata_workflow_model_constants.rb +9 -0
  24. data/lib/airavata_workflow_model_types.rb +335 -0
  25. data/lib/application_deployment_model_constants.rb +9 -0
  26. data/lib/application_deployment_model_types.rb +186 -0
  27. data/lib/application_interface_model_constants.rb +9 -0
  28. data/lib/application_interface_model_types.rb +54 -0
  29. data/lib/application_io_models_constants.rb +9 -0
  30. data/lib/application_io_models_types.rb +160 -0
  31. data/lib/base_a_p_i.rb +77 -0
  32. data/lib/base_api_constants.rb +9 -0
  33. data/lib/base_api_types.rb +8 -0
  34. data/lib/compute_resource_model_constants.rb +9 -0
  35. data/lib/compute_resource_model_types.rb +470 -0
  36. data/lib/credential_store_data_models_constants.rb +11 -0
  37. data/lib/credential_store_data_models_types.rb +172 -0
  38. data/lib/data_movement_models_constants.rb +9 -0
  39. data/lib/data_movement_models_types.rb +199 -0
  40. data/lib/db_event_model_constants.rb +9 -0
  41. data/lib/db_event_model_types.rb +155 -0
  42. data/lib/experiment_model_constants.rb +9 -0
  43. data/lib/experiment_model_types.rb +246 -0
  44. data/lib/gateway_groups_model_constants.rb +9 -0
  45. data/lib/gateway_groups_model_types.rb +34 -0
  46. data/lib/gateway_resource_profile_model_constants.rb +9 -0
  47. data/lib/gateway_resource_profile_model_types.rb +165 -0
  48. data/lib/group_manager_model_constants.rb +9 -0
  49. data/lib/group_manager_model_types.rb +58 -0
  50. data/lib/group_resource_profile_model_constants.rb +9 -0
  51. data/lib/group_resource_profile_model_types.rb +230 -0
  52. data/lib/job_model_constants.rb +9 -0
  53. data/lib/job_model_types.rb +52 -0
  54. data/lib/messaging_events_constants.rb +9 -0
  55. data/lib/messaging_events_types.rb +399 -0
  56. data/lib/parallelism_model_constants.rb +9 -0
  57. data/lib/parallelism_model_types.rb +19 -0
  58. data/lib/parser_model_constants.rb +9 -0
  59. data/lib/parser_model_types.rb +229 -0
  60. data/lib/process_model_constants.rb +9 -0
  61. data/lib/process_model_types.rb +113 -0
  62. data/lib/replica_catalog_models_constants.rb +9 -0
  63. data/lib/replica_catalog_models_types.rb +116 -0
  64. data/lib/scheduling_model_constants.rb +9 -0
  65. data/lib/scheduling_model_types.rb +49 -0
  66. data/lib/security_model_constants.rb +9 -0
  67. data/lib/security_model_types.rb +27 -0
  68. data/lib/status_models_constants.rb +9 -0
  69. data/lib/status_models_types.rb +212 -0
  70. data/lib/storage_resource_model_constants.rb +9 -0
  71. data/lib/storage_resource_model_types.rb +56 -0
  72. data/lib/task_model_constants.rb +9 -0
  73. data/lib/task_model_types.rb +197 -0
  74. data/lib/tenant_profile_model_constants.rb +9 -0
  75. data/lib/tenant_profile_model_types.rb +108 -0
  76. data/lib/user_profile_model_constants.rb +11 -0
  77. data/lib/user_profile_model_types.rb +300 -0
  78. data/lib/user_resource_profile_model_constants.rb +9 -0
  79. data/lib/user_resource_profile_model_types.rb +150 -0
  80. data/lib/workspace_model_constants.rb +9 -0
  81. data/lib/workspace_model_types.rb +230 -0
  82. metadata +128 -0
@@ -0,0 +1,9 @@
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 'experiment_model_types'
9
+
@@ -0,0 +1,246 @@
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
+ require 'application_io_models_types'
10
+ require 'scheduling_model_types'
11
+ require 'status_models_types'
12
+ require 'process_model_types'
13
+ require 'airavata_workflow_model_types'
14
+
15
+
16
+ module ExperimentType
17
+ SINGLE_APPLICATION = 0
18
+ WORKFLOW = 1
19
+ VALUE_MAP = {0 => "SINGLE_APPLICATION", 1 => "WORKFLOW"}
20
+ VALID_VALUES = Set.new([SINGLE_APPLICATION, WORKFLOW]).freeze
21
+ end
22
+
23
+ module ExperimentSearchFields
24
+ EXPERIMENT_NAME = 0
25
+ EXPERIMENT_DESC = 1
26
+ APPLICATION_ID = 2
27
+ FROM_DATE = 3
28
+ TO_DATE = 4
29
+ STATUS = 5
30
+ PROJECT_ID = 6
31
+ USER_NAME = 7
32
+ JOB_ID = 8
33
+ VALUE_MAP = {0 => "EXPERIMENT_NAME", 1 => "EXPERIMENT_DESC", 2 => "APPLICATION_ID", 3 => "FROM_DATE", 4 => "TO_DATE", 5 => "STATUS", 6 => "PROJECT_ID", 7 => "USER_NAME", 8 => "JOB_ID"}
34
+ VALID_VALUES = Set.new([EXPERIMENT_NAME, EXPERIMENT_DESC, APPLICATION_ID, FROM_DATE, TO_DATE, STATUS, PROJECT_ID, USER_NAME, JOB_ID]).freeze
35
+ end
36
+
37
+ module ProjectSearchFields
38
+ PROJECT_NAME = 0
39
+ PROJECT_DESCRIPTION = 1
40
+ VALUE_MAP = {0 => "PROJECT_NAME", 1 => "PROJECT_DESCRIPTION"}
41
+ VALID_VALUES = Set.new([PROJECT_NAME, PROJECT_DESCRIPTION]).freeze
42
+ end
43
+
44
+ # A structure holding the experiment configuration.
45
+ #
46
+ #
47
+ class UserConfigurationDataModel
48
+ include ::Thrift::Struct, ::Thrift::Struct_Union
49
+ AIRAVATAAUTOSCHEDULE = 1
50
+ OVERRIDEMANUALSCHEDULEDPARAMS = 2
51
+ SHAREEXPERIMENTPUBLICLY = 3
52
+ COMPUTATIONALRESOURCESCHEDULING = 4
53
+ THROTTLERESOURCES = 5
54
+ USERDN = 6
55
+ GENERATECERT = 7
56
+ STORAGEID = 8
57
+ EXPERIMENTDATADIR = 9
58
+ USEUSERCRPREF = 10
59
+ GROUPRESOURCEPROFILEID = 11
60
+
61
+ FIELDS = {
62
+ AIRAVATAAUTOSCHEDULE => {:type => ::Thrift::Types::BOOL, :name => 'airavataAutoSchedule', :default => false},
63
+ OVERRIDEMANUALSCHEDULEDPARAMS => {:type => ::Thrift::Types::BOOL, :name => 'overrideManualScheduledParams', :default => false},
64
+ SHAREEXPERIMENTPUBLICLY => {:type => ::Thrift::Types::BOOL, :name => 'shareExperimentPublicly', :default => false, :optional => true},
65
+ COMPUTATIONALRESOURCESCHEDULING => {:type => ::Thrift::Types::STRUCT, :name => 'computationalResourceScheduling', :class => ::ComputationalResourceSchedulingModel, :optional => true},
66
+ THROTTLERESOURCES => {:type => ::Thrift::Types::BOOL, :name => 'throttleResources', :default => false, :optional => true},
67
+ USERDN => {:type => ::Thrift::Types::STRING, :name => 'userDN', :optional => true},
68
+ GENERATECERT => {:type => ::Thrift::Types::BOOL, :name => 'generateCert', :default => false, :optional => true},
69
+ STORAGEID => {:type => ::Thrift::Types::STRING, :name => 'storageId', :optional => true},
70
+ EXPERIMENTDATADIR => {:type => ::Thrift::Types::STRING, :name => 'experimentDataDir', :optional => true},
71
+ USEUSERCRPREF => {:type => ::Thrift::Types::BOOL, :name => 'useUserCRPref', :optional => true},
72
+ GROUPRESOURCEPROFILEID => {:type => ::Thrift::Types::STRING, :name => 'groupResourceProfileId', :optional => true}
73
+ }
74
+
75
+ def struct_fields; FIELDS; end
76
+
77
+ def validate
78
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field airavataAutoSchedule is unset!') if @airavataAutoSchedule.nil?
79
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field overrideManualScheduledParams is unset!') if @overrideManualScheduledParams.nil?
80
+ end
81
+
82
+ ::Thrift::Struct.generate_accessors self
83
+ end
84
+
85
+ # A structure holding the experiment metadata and its child models.
86
+ #
87
+ # userName:
88
+ # The user name of the targeted gateway end user on whose behalf the experiment is being created.
89
+ # the associated gateway identity can only be inferred from the security hand-shake so as to avoid
90
+ # authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
91
+ # Airavata, an authorization exception is thrown.
92
+ #
93
+ # experimentName:
94
+ # The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
95
+ # by the generated experiment id.
96
+ #
97
+ # experimentDescription:
98
+ # The verbose description of the experiment. This is an optional parameter.
99
+ class ExperimentModel
100
+ include ::Thrift::Struct, ::Thrift::Struct_Union
101
+ EXPERIMENTID = 1
102
+ PROJECTID = 2
103
+ GATEWAYID = 3
104
+ EXPERIMENTTYPE = 4
105
+ USERNAME = 5
106
+ EXPERIMENTNAME = 6
107
+ CREATIONTIME = 7
108
+ DESCRIPTION = 8
109
+ EXECUTIONID = 9
110
+ GATEWAYEXECUTIONID = 10
111
+ GATEWAYINSTANCEID = 11
112
+ ENABLEEMAILNOTIFICATION = 12
113
+ EMAILADDRESSES = 13
114
+ USERCONFIGURATIONDATA = 14
115
+ EXPERIMENTINPUTS = 15
116
+ EXPERIMENTOUTPUTS = 16
117
+ EXPERIMENTSTATUS = 17
118
+ ERRORS = 18
119
+ PROCESSES = 19
120
+ WORKFLOW = 20
121
+
122
+ FIELDS = {
123
+ EXPERIMENTID => {:type => ::Thrift::Types::STRING, :name => 'experimentId', :default => %q"DO_NOT_SET_AT_CLIENTS"},
124
+ PROJECTID => {:type => ::Thrift::Types::STRING, :name => 'projectId'},
125
+ GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayId'},
126
+ EXPERIMENTTYPE => {:type => ::Thrift::Types::I32, :name => 'experimentType', :default => 0, :enum_class => ::ExperimentType},
127
+ USERNAME => {:type => ::Thrift::Types::STRING, :name => 'userName'},
128
+ EXPERIMENTNAME => {:type => ::Thrift::Types::STRING, :name => 'experimentName'},
129
+ CREATIONTIME => {:type => ::Thrift::Types::I64, :name => 'creationTime', :optional => true},
130
+ DESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'description', :optional => true},
131
+ EXECUTIONID => {:type => ::Thrift::Types::STRING, :name => 'executionId', :optional => true},
132
+ GATEWAYEXECUTIONID => {:type => ::Thrift::Types::STRING, :name => 'gatewayExecutionId', :optional => true},
133
+ GATEWAYINSTANCEID => {:type => ::Thrift::Types::STRING, :name => 'gatewayInstanceId', :optional => true},
134
+ ENABLEEMAILNOTIFICATION => {:type => ::Thrift::Types::BOOL, :name => 'enableEmailNotification', :optional => true},
135
+ EMAILADDRESSES => {:type => ::Thrift::Types::LIST, :name => 'emailAddresses', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
136
+ USERCONFIGURATIONDATA => {:type => ::Thrift::Types::STRUCT, :name => 'userConfigurationData', :class => ::UserConfigurationDataModel, :optional => true},
137
+ EXPERIMENTINPUTS => {:type => ::Thrift::Types::LIST, :name => 'experimentInputs', :element => {:type => ::Thrift::Types::STRUCT, :class => ::InputDataObjectType}, :optional => true},
138
+ EXPERIMENTOUTPUTS => {:type => ::Thrift::Types::LIST, :name => 'experimentOutputs', :element => {:type => ::Thrift::Types::STRUCT, :class => ::OutputDataObjectType}, :optional => true},
139
+ EXPERIMENTSTATUS => {:type => ::Thrift::Types::LIST, :name => 'experimentStatus', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentStatus}, :optional => true},
140
+ ERRORS => {:type => ::Thrift::Types::LIST, :name => 'errors', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ErrorModel}, :optional => true},
141
+ PROCESSES => {:type => ::Thrift::Types::LIST, :name => 'processes', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ProcessModel}, :optional => true},
142
+ WORKFLOW => {:type => ::Thrift::Types::STRUCT, :name => 'workflow', :class => ::AiravataWorkflow, :optional => true}
143
+ }
144
+
145
+ def struct_fields; FIELDS; end
146
+
147
+ def validate
148
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentId is unset!') unless @experimentId
149
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field projectId is unset!') unless @projectId
150
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayId is unset!') unless @gatewayId
151
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentType is unset!') unless @experimentType
152
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field userName is unset!') unless @userName
153
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentName is unset!') unless @experimentName
154
+ unless @experimentType.nil? || ::ExperimentType::VALID_VALUES.include?(@experimentType)
155
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field experimentType!')
156
+ end
157
+ end
158
+
159
+ ::Thrift::Struct.generate_accessors self
160
+ end
161
+
162
+ class ExperimentSummaryModel
163
+ include ::Thrift::Struct, ::Thrift::Struct_Union
164
+ EXPERIMENTID = 1
165
+ PROJECTID = 2
166
+ GATEWAYID = 3
167
+ CREATIONTIME = 4
168
+ USERNAME = 5
169
+ NAME = 6
170
+ DESCRIPTION = 7
171
+ EXECUTIONID = 8
172
+ RESOURCEHOSTID = 9
173
+ EXPERIMENTSTATUS = 10
174
+ STATUSUPDATETIME = 12
175
+
176
+ FIELDS = {
177
+ EXPERIMENTID => {:type => ::Thrift::Types::STRING, :name => 'experimentId'},
178
+ PROJECTID => {:type => ::Thrift::Types::STRING, :name => 'projectId'},
179
+ GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayId'},
180
+ CREATIONTIME => {:type => ::Thrift::Types::I64, :name => 'creationTime', :optional => true},
181
+ USERNAME => {:type => ::Thrift::Types::STRING, :name => 'userName'},
182
+ NAME => {:type => ::Thrift::Types::STRING, :name => 'name'},
183
+ DESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'description', :optional => true},
184
+ EXECUTIONID => {:type => ::Thrift::Types::STRING, :name => 'executionId', :optional => true},
185
+ RESOURCEHOSTID => {:type => ::Thrift::Types::STRING, :name => 'resourceHostId', :optional => true},
186
+ EXPERIMENTSTATUS => {:type => ::Thrift::Types::STRING, :name => 'experimentStatus', :optional => true},
187
+ STATUSUPDATETIME => {:type => ::Thrift::Types::I64, :name => 'statusUpdateTime', :optional => true}
188
+ }
189
+
190
+ def struct_fields; FIELDS; end
191
+
192
+ def validate
193
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentId is unset!') unless @experimentId
194
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field projectId is unset!') unless @projectId
195
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayId is unset!') unless @gatewayId
196
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field userName is unset!') unless @userName
197
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field name is unset!') unless @name
198
+ end
199
+
200
+ ::Thrift::Struct.generate_accessors self
201
+ end
202
+
203
+ class ExperimentStatistics
204
+ include ::Thrift::Struct, ::Thrift::Struct_Union
205
+ ALLEXPERIMENTCOUNT = 1
206
+ COMPLETEDEXPERIMENTCOUNT = 2
207
+ CANCELLEDEXPERIMENTCOUNT = 3
208
+ FAILEDEXPERIMENTCOUNT = 4
209
+ CREATEDEXPERIMENTCOUNT = 5
210
+ RUNNINGEXPERIMENTCOUNT = 6
211
+ ALLEXPERIMENTS = 7
212
+ COMPLETEDEXPERIMENTS = 8
213
+ FAILEDEXPERIMENTS = 9
214
+ CANCELLEDEXPERIMENTS = 10
215
+ CREATEDEXPERIMENTS = 11
216
+ RUNNINGEXPERIMENTS = 12
217
+
218
+ FIELDS = {
219
+ ALLEXPERIMENTCOUNT => {:type => ::Thrift::Types::I32, :name => 'allExperimentCount'},
220
+ COMPLETEDEXPERIMENTCOUNT => {:type => ::Thrift::Types::I32, :name => 'completedExperimentCount'},
221
+ CANCELLEDEXPERIMENTCOUNT => {:type => ::Thrift::Types::I32, :name => 'cancelledExperimentCount', :optional => true},
222
+ FAILEDEXPERIMENTCOUNT => {:type => ::Thrift::Types::I32, :name => 'failedExperimentCount'},
223
+ CREATEDEXPERIMENTCOUNT => {:type => ::Thrift::Types::I32, :name => 'createdExperimentCount'},
224
+ RUNNINGEXPERIMENTCOUNT => {:type => ::Thrift::Types::I32, :name => 'runningExperimentCount'},
225
+ ALLEXPERIMENTS => {:type => ::Thrift::Types::LIST, :name => 'allExperiments', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentSummaryModel}},
226
+ COMPLETEDEXPERIMENTS => {:type => ::Thrift::Types::LIST, :name => 'completedExperiments', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentSummaryModel}, :optional => true},
227
+ FAILEDEXPERIMENTS => {:type => ::Thrift::Types::LIST, :name => 'failedExperiments', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentSummaryModel}, :optional => true},
228
+ CANCELLEDEXPERIMENTS => {:type => ::Thrift::Types::LIST, :name => 'cancelledExperiments', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentSummaryModel}, :optional => true},
229
+ CREATEDEXPERIMENTS => {:type => ::Thrift::Types::LIST, :name => 'createdExperiments', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentSummaryModel}, :optional => true},
230
+ RUNNINGEXPERIMENTS => {:type => ::Thrift::Types::LIST, :name => 'runningExperiments', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentSummaryModel}, :optional => true}
231
+ }
232
+
233
+ def struct_fields; FIELDS; end
234
+
235
+ def validate
236
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field allExperimentCount is unset!') unless @allExperimentCount
237
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field completedExperimentCount is unset!') unless @completedExperimentCount
238
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field failedExperimentCount is unset!') unless @failedExperimentCount
239
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field createdExperimentCount is unset!') unless @createdExperimentCount
240
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field runningExperimentCount is unset!') unless @runningExperimentCount
241
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field allExperiments is unset!') unless @allExperiments
242
+ end
243
+
244
+ ::Thrift::Struct.generate_accessors self
245
+ end
246
+
@@ -0,0 +1,9 @@
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 'gateway_groups_model_types'
9
+
@@ -0,0 +1,34 @@
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
+
9
+ class GatewayGroups
10
+ include ::Thrift::Struct, ::Thrift::Struct_Union
11
+ GATEWAYID = 1
12
+ ADMINSGROUPID = 2
13
+ READONLYADMINSGROUPID = 3
14
+ DEFAULTGATEWAYUSERSGROUPID = 4
15
+
16
+ FIELDS = {
17
+ GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayId'},
18
+ ADMINSGROUPID => {:type => ::Thrift::Types::STRING, :name => 'adminsGroupId'},
19
+ READONLYADMINSGROUPID => {:type => ::Thrift::Types::STRING, :name => 'readOnlyAdminsGroupId'},
20
+ DEFAULTGATEWAYUSERSGROUPID => {:type => ::Thrift::Types::STRING, :name => 'defaultGatewayUsersGroupId'}
21
+ }
22
+
23
+ def struct_fields; FIELDS; end
24
+
25
+ def validate
26
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayId is unset!') unless @gatewayId
27
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field adminsGroupId is unset!') unless @adminsGroupId
28
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field readOnlyAdminsGroupId is unset!') unless @readOnlyAdminsGroupId
29
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field defaultGatewayUsersGroupId is unset!') unless @defaultGatewayUsersGroupId
30
+ end
31
+
32
+ ::Thrift::Struct.generate_accessors self
33
+ end
34
+
@@ -0,0 +1,9 @@
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 'gateway_resource_profile_model_types'
9
+
@@ -0,0 +1,165 @@
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 'account_provisioning_model_types'
11
+
12
+
13
+ # Gateway specific preferences for a Computer Resource
14
+ #
15
+ # computeResourceId:
16
+ # Corelate the preference to a compute resource.
17
+ #
18
+ # overridebyAiravata:
19
+ # If turned true, Airavata will override the preferences of better alternatives exist.
20
+ #
21
+ # loginUserName:
22
+ # If turned true, Airavata will override the preferences of better alternatives exist.
23
+ #
24
+ # preferredJobSubmissionProtocol:
25
+ # For resources with multiple job submission protocols, the gateway can pick a preferred option.
26
+ #
27
+ # preferredDataMovementProtocol:
28
+ # For resources with multiple data movement protocols, the gateway can pick a preferred option.
29
+ #
30
+ # preferredBatchQueue:
31
+ # Gateways can choose a defualt batch queue based on average job dimention, reservations or other metrics.
32
+ #
33
+ # scratchLocation:
34
+ # Path to the local scratch space on a HPC cluster. Typically used to create working directory for job execution.
35
+ #
36
+ # allocationProjectNumber:
37
+ # Typically used on HPC machines to charge computing usage to a account number. For instance, on XSEDE once an
38
+ # allocation is approved, an allocation number is assigned. Before passing this number with job submittions, the
39
+ # account to be used has to be added to the allocation.
40
+ #
41
+ # resourceSpecificCredentialStoreToken:
42
+ # Resource specific credential store token. If this token is specified, then it is superceeded by the gateway's
43
+ # default credential store.
44
+ #
45
+ class ComputeResourcePreference
46
+ include ::Thrift::Struct, ::Thrift::Struct_Union
47
+ COMPUTERESOURCEID = 1
48
+ OVERRIDEBYAIRAVATA = 2
49
+ LOGINUSERNAME = 3
50
+ PREFERREDJOBSUBMISSIONPROTOCOL = 4
51
+ PREFERREDDATAMOVEMENTPROTOCOL = 5
52
+ PREFERREDBATCHQUEUE = 6
53
+ SCRATCHLOCATION = 7
54
+ ALLOCATIONPROJECTNUMBER = 8
55
+ RESOURCESPECIFICCREDENTIALSTORETOKEN = 9
56
+ USAGEREPORTINGGATEWAYID = 10
57
+ QUALITYOFSERVICE = 11
58
+ RESERVATION = 12
59
+ RESERVATIONSTARTTIME = 13
60
+ RESERVATIONENDTIME = 14
61
+ SSHACCOUNTPROVISIONER = 15
62
+ SSHACCOUNTPROVISIONERCONFIG = 16
63
+ SSHACCOUNTPROVISIONERADDITIONALINFO = 17
64
+
65
+ FIELDS = {
66
+ COMPUTERESOURCEID => {:type => ::Thrift::Types::STRING, :name => 'computeResourceId'},
67
+ OVERRIDEBYAIRAVATA => {:type => ::Thrift::Types::BOOL, :name => 'overridebyAiravata', :default => true},
68
+ LOGINUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'loginUserName', :optional => true},
69
+ PREFERREDJOBSUBMISSIONPROTOCOL => {:type => ::Thrift::Types::I32, :name => 'preferredJobSubmissionProtocol', :optional => true, :enum_class => ::JobSubmissionProtocol},
70
+ PREFERREDDATAMOVEMENTPROTOCOL => {:type => ::Thrift::Types::I32, :name => 'preferredDataMovementProtocol', :optional => true, :enum_class => ::DataMovementProtocol},
71
+ PREFERREDBATCHQUEUE => {:type => ::Thrift::Types::STRING, :name => 'preferredBatchQueue', :optional => true},
72
+ SCRATCHLOCATION => {:type => ::Thrift::Types::STRING, :name => 'scratchLocation', :optional => true},
73
+ ALLOCATIONPROJECTNUMBER => {:type => ::Thrift::Types::STRING, :name => 'allocationProjectNumber', :optional => true},
74
+ RESOURCESPECIFICCREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'resourceSpecificCredentialStoreToken', :optional => true},
75
+ USAGEREPORTINGGATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'usageReportingGatewayId', :optional => true},
76
+ QUALITYOFSERVICE => {:type => ::Thrift::Types::STRING, :name => 'qualityOfService', :optional => true},
77
+ RESERVATION => {:type => ::Thrift::Types::STRING, :name => 'reservation', :optional => true},
78
+ RESERVATIONSTARTTIME => {:type => ::Thrift::Types::I64, :name => 'reservationStartTime', :optional => true},
79
+ RESERVATIONENDTIME => {:type => ::Thrift::Types::I64, :name => 'reservationEndTime', :optional => true},
80
+ SSHACCOUNTPROVISIONER => {:type => ::Thrift::Types::STRING, :name => 'sshAccountProvisioner', :optional => true},
81
+ SSHACCOUNTPROVISIONERCONFIG => {:type => ::Thrift::Types::MAP, :name => 'sshAccountProvisionerConfig', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}, :optional => true},
82
+ SSHACCOUNTPROVISIONERADDITIONALINFO => {:type => ::Thrift::Types::STRING, :name => 'sshAccountProvisionerAdditionalInfo', :optional => true}
83
+ }
84
+
85
+ def struct_fields; FIELDS; end
86
+
87
+ def validate
88
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field computeResourceId is unset!') unless @computeResourceId
89
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field overridebyAiravata is unset!') if @overridebyAiravata.nil?
90
+ unless @preferredJobSubmissionProtocol.nil? || ::JobSubmissionProtocol::VALID_VALUES.include?(@preferredJobSubmissionProtocol)
91
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field preferredJobSubmissionProtocol!')
92
+ end
93
+ unless @preferredDataMovementProtocol.nil? || ::DataMovementProtocol::VALID_VALUES.include?(@preferredDataMovementProtocol)
94
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field preferredDataMovementProtocol!')
95
+ end
96
+ end
97
+
98
+ ::Thrift::Struct.generate_accessors self
99
+ end
100
+
101
+ class StoragePreference
102
+ include ::Thrift::Struct, ::Thrift::Struct_Union
103
+ STORAGERESOURCEID = 1
104
+ LOGINUSERNAME = 2
105
+ FILESYSTEMROOTLOCATION = 3
106
+ RESOURCESPECIFICCREDENTIALSTORETOKEN = 4
107
+
108
+ FIELDS = {
109
+ STORAGERESOURCEID => {:type => ::Thrift::Types::STRING, :name => 'storageResourceId'},
110
+ LOGINUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'loginUserName', :optional => true},
111
+ FILESYSTEMROOTLOCATION => {:type => ::Thrift::Types::STRING, :name => 'fileSystemRootLocation', :optional => true},
112
+ RESOURCESPECIFICCREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'resourceSpecificCredentialStoreToken', :optional => true}
113
+ }
114
+
115
+ def struct_fields; FIELDS; end
116
+
117
+ def validate
118
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field storageResourceId is unset!') unless @storageResourceId
119
+ end
120
+
121
+ ::Thrift::Struct.generate_accessors self
122
+ end
123
+
124
+ # Gateway Resource Profile
125
+ #
126
+ # gatewayID:
127
+ # Unique identifier for the gateway assigned by Airavata. Corelate this to Airavata Admin API Gateway Registration.
128
+ #
129
+ # credentialStoreToken:
130
+ # Gateway's defualt credential store token.
131
+ #
132
+ # computeResourcePreferences:
133
+ # List of resource preferences for each of the registered compute resources.
134
+ #
135
+ # identityServerTenant:
136
+ #
137
+ # identityServerPwdCredToken:
138
+ #
139
+ class GatewayResourceProfile
140
+ include ::Thrift::Struct, ::Thrift::Struct_Union
141
+ GATEWAYID = 1
142
+ CREDENTIALSTORETOKEN = 2
143
+ COMPUTERESOURCEPREFERENCES = 3
144
+ STORAGEPREFERENCES = 4
145
+ IDENTITYSERVERTENANT = 5
146
+ IDENTITYSERVERPWDCREDTOKEN = 6
147
+
148
+ FIELDS = {
149
+ GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayID'},
150
+ CREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'credentialStoreToken', :optional => true},
151
+ COMPUTERESOURCEPREFERENCES => {:type => ::Thrift::Types::LIST, :name => 'computeResourcePreferences', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ComputeResourcePreference}, :optional => true},
152
+ STORAGEPREFERENCES => {:type => ::Thrift::Types::LIST, :name => 'storagePreferences', :element => {:type => ::Thrift::Types::STRUCT, :class => ::StoragePreference}, :optional => true},
153
+ IDENTITYSERVERTENANT => {:type => ::Thrift::Types::STRING, :name => 'identityServerTenant', :optional => true},
154
+ IDENTITYSERVERPWDCREDTOKEN => {:type => ::Thrift::Types::STRING, :name => 'identityServerPwdCredToken', :optional => true}
155
+ }
156
+
157
+ def struct_fields; FIELDS; end
158
+
159
+ def validate
160
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayID is unset!') unless @gatewayID
161
+ end
162
+
163
+ ::Thrift::Struct.generate_accessors self
164
+ end
165
+