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.
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
+