iron_titan 0.3.10 → 0.4.0
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 +4 -4
- data/LICENSE +201 -0
- data/README.md +6 -5
- data/lib/iron_titan/api/groups_api.rb +34 -31
- data/lib/iron_titan/api/jobs_api.rb +140 -182
- data/lib/iron_titan/api/runner_api.rb +43 -47
- data/lib/iron_titan/api_client.rb +48 -8
- data/lib/iron_titan/api_error.rb +12 -1
- data/lib/iron_titan/configuration.rb +23 -0
- data/lib/iron_titan/models/complete.rb +63 -27
- data/lib/iron_titan/models/error.rb +59 -21
- data/lib/iron_titan/models/error_body.rb +61 -24
- data/lib/iron_titan/models/group.rb +112 -28
- data/lib/iron_titan/models/group_wrapper.rb +60 -21
- data/lib/iron_titan/models/groups_wrapper.rb +60 -21
- data/lib/iron_titan/models/id_status.rb +89 -28
- data/lib/iron_titan/models/job.rb +168 -90
- data/lib/iron_titan/models/job_wrapper.rb +60 -21
- data/lib/iron_titan/models/jobs_wrapper.rb +62 -24
- data/lib/iron_titan/models/new_job.rb +91 -42
- data/lib/iron_titan/models/new_jobs_wrapper.rb +60 -21
- data/lib/iron_titan/models/start.rb +59 -21
- data/lib/iron_titan/version.rb +13 -2
- data/lib/iron_titan.rb +12 -1
- data/spec/api/groups_api_spec.rb +16 -17
- data/spec/api/jobs_api_spec.rb +37 -78
- data/spec/api/runner_api_spec.rb +20 -21
- data/spec/api_client_spec.rb +296 -0
- data/spec/configuration_spec.rb +48 -0
- data/spec/models/complete_spec.rb +16 -17
- data/spec/models/error_body_spec.rb +15 -12
- data/spec/models/error_spec.rb +14 -7
- data/spec/models/group_spec.rb +33 -12
- data/spec/models/group_wrapper_spec.rb +14 -7
- data/spec/models/groups_wrapper_spec.rb +14 -7
- data/spec/models/id_status_spec.rb +18 -12
- data/spec/models/job_spec.rb +43 -88
- data/spec/models/job_wrapper_spec.rb +14 -7
- data/spec/models/jobs_wrapper_spec.rb +15 -12
- data/spec/models/new_job_spec.rb +20 -37
- data/spec/models/new_jobs_wrapper_spec.rb +14 -7
- data/spec/models/start_spec.rb +14 -7
- data/spec/spec_helper.rb +122 -0
- metadata +9 -2
@@ -3,10 +3,21 @@ Titan API
|
|
3
3
|
|
4
4
|
The ultimate, language agnostic, container based job processing framework.
|
5
5
|
|
6
|
-
OpenAPI spec version: 0.
|
6
|
+
OpenAPI spec version: 0.4.0
|
7
7
|
|
8
8
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
9
|
|
10
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
11
|
+
you may not use this file except in compliance with the License.
|
12
|
+
You may obtain a copy of the License at
|
13
|
+
|
14
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
15
|
+
|
16
|
+
Unless required by applicable law or agreed to in writing, software
|
17
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
18
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
19
|
+
See the License for the specific language governing permissions and
|
20
|
+
limitations under the License.
|
10
21
|
|
11
22
|
=end
|
12
23
|
|
@@ -28,12 +39,12 @@ module IronTitan
|
|
28
39
|
# @param [Hash] opts the optional parameters
|
29
40
|
# @return [JobWrapper]
|
30
41
|
def groups_name_jobs_id_error_post(name, id, body, opts = {})
|
31
|
-
data,
|
42
|
+
data, _status_code, _headers = groups_name_jobs_id_error_post_with_http_info(name, id, body, opts)
|
32
43
|
return data
|
33
44
|
end
|
34
45
|
|
35
46
|
# Mark job as failed.
|
36
|
-
# Job is marked as failed if it was in a valid state. Job's
|
47
|
+
# Job is marked as failed if it was in a valid state. Job's `finished_at` time is initialized.
|
37
48
|
# @param name Name of group for this set of jobs.
|
38
49
|
# @param id Job id
|
39
50
|
# @param body
|
@@ -41,18 +52,14 @@ module IronTitan
|
|
41
52
|
# @return [Array<(JobWrapper, Fixnum, Hash)>] JobWrapper data, response status code and response headers
|
42
53
|
def groups_name_jobs_id_error_post_with_http_info(name, id, body, opts = {})
|
43
54
|
if @api_client.config.debugging
|
44
|
-
@api_client.config.logger.debug "Calling API: RunnerApi
|
55
|
+
@api_client.config.logger.debug "Calling API: RunnerApi.groups_name_jobs_id_error_post ..."
|
45
56
|
end
|
46
|
-
|
47
57
|
# verify the required parameter 'name' is set
|
48
|
-
fail "Missing the required parameter 'name' when calling groups_name_jobs_id_error_post" if name.nil?
|
49
|
-
|
58
|
+
fail ArgumentError, "Missing the required parameter 'name' when calling RunnerApi.groups_name_jobs_id_error_post" if name.nil?
|
50
59
|
# verify the required parameter 'id' is set
|
51
|
-
fail "Missing the required parameter 'id' when calling groups_name_jobs_id_error_post" if id.nil?
|
52
|
-
|
60
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling RunnerApi.groups_name_jobs_id_error_post" if id.nil?
|
53
61
|
# verify the required parameter 'body' is set
|
54
|
-
fail "Missing the required parameter 'body' when calling groups_name_jobs_id_error_post" if body.nil?
|
55
|
-
|
62
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling RunnerApi.groups_name_jobs_id_error_post" if body.nil?
|
56
63
|
# resource path
|
57
64
|
local_var_path = "/groups/{name}/jobs/{id}/error".sub('{format}','json').sub('{' + 'name' + '}', name.to_s).sub('{' + 'id' + '}', id.to_s)
|
58
65
|
|
@@ -63,19 +70,18 @@ module IronTitan
|
|
63
70
|
header_params = {}
|
64
71
|
|
65
72
|
# HTTP header 'Accept' (if needed)
|
66
|
-
|
67
|
-
|
73
|
+
local_header_accept = ['application/json']
|
74
|
+
local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
|
68
75
|
|
69
76
|
# HTTP header 'Content-Type'
|
70
|
-
|
71
|
-
header_params['Content-Type'] = @api_client.select_header_content_type(
|
77
|
+
local_header_content_type = ['application/json']
|
78
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
|
72
79
|
|
73
80
|
# form parameters
|
74
81
|
form_params = {}
|
75
82
|
|
76
83
|
# http body (model)
|
77
84
|
post_body = @api_client.object_to_http_body(body)
|
78
|
-
|
79
85
|
auth_names = []
|
80
86
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
81
87
|
:header_params => header_params,
|
@@ -98,12 +104,12 @@ module IronTitan
|
|
98
104
|
# @param [Hash] opts the optional parameters
|
99
105
|
# @return [JobWrapper]
|
100
106
|
def groups_name_jobs_id_start_post(name, id, body, opts = {})
|
101
|
-
data,
|
107
|
+
data, _status_code, _headers = groups_name_jobs_id_start_post_with_http_info(name, id, body, opts)
|
102
108
|
return data
|
103
109
|
end
|
104
110
|
|
105
|
-
# Mark job as started, ie: status
|
106
|
-
# Job status is changed to 'running' if it was in a valid state before. Job's
|
111
|
+
# Mark job as started, ie: status = 'running'
|
112
|
+
# Job status is changed to 'running' if it was in a valid state before. Job's `started_at` time is initialized.
|
107
113
|
# @param name Name of group for this set of jobs.
|
108
114
|
# @param id Job id
|
109
115
|
# @param body
|
@@ -111,18 +117,14 @@ module IronTitan
|
|
111
117
|
# @return [Array<(JobWrapper, Fixnum, Hash)>] JobWrapper data, response status code and response headers
|
112
118
|
def groups_name_jobs_id_start_post_with_http_info(name, id, body, opts = {})
|
113
119
|
if @api_client.config.debugging
|
114
|
-
@api_client.config.logger.debug "Calling API: RunnerApi
|
120
|
+
@api_client.config.logger.debug "Calling API: RunnerApi.groups_name_jobs_id_start_post ..."
|
115
121
|
end
|
116
|
-
|
117
122
|
# verify the required parameter 'name' is set
|
118
|
-
fail "Missing the required parameter 'name' when calling groups_name_jobs_id_start_post" if name.nil?
|
119
|
-
|
123
|
+
fail ArgumentError, "Missing the required parameter 'name' when calling RunnerApi.groups_name_jobs_id_start_post" if name.nil?
|
120
124
|
# verify the required parameter 'id' is set
|
121
|
-
fail "Missing the required parameter 'id' when calling groups_name_jobs_id_start_post" if id.nil?
|
122
|
-
|
125
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling RunnerApi.groups_name_jobs_id_start_post" if id.nil?
|
123
126
|
# verify the required parameter 'body' is set
|
124
|
-
fail "Missing the required parameter 'body' when calling groups_name_jobs_id_start_post" if body.nil?
|
125
|
-
|
127
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling RunnerApi.groups_name_jobs_id_start_post" if body.nil?
|
126
128
|
# resource path
|
127
129
|
local_var_path = "/groups/{name}/jobs/{id}/start".sub('{format}','json').sub('{' + 'name' + '}', name.to_s).sub('{' + 'id' + '}', id.to_s)
|
128
130
|
|
@@ -133,19 +135,18 @@ module IronTitan
|
|
133
135
|
header_params = {}
|
134
136
|
|
135
137
|
# HTTP header 'Accept' (if needed)
|
136
|
-
|
137
|
-
|
138
|
+
local_header_accept = ['application/json']
|
139
|
+
local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
|
138
140
|
|
139
141
|
# HTTP header 'Content-Type'
|
140
|
-
|
141
|
-
header_params['Content-Type'] = @api_client.select_header_content_type(
|
142
|
+
local_header_content_type = ['application/json']
|
143
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
|
142
144
|
|
143
145
|
# form parameters
|
144
146
|
form_params = {}
|
145
147
|
|
146
148
|
# http body (model)
|
147
149
|
post_body = @api_client.object_to_http_body(body)
|
148
|
-
|
149
150
|
auth_names = []
|
150
151
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
151
152
|
:header_params => header_params,
|
@@ -168,12 +169,12 @@ module IronTitan
|
|
168
169
|
# @param [Hash] opts the optional parameters
|
169
170
|
# @return [JobWrapper]
|
170
171
|
def groups_name_jobs_id_success_post(name, id, body, opts = {})
|
171
|
-
data,
|
172
|
+
data, _status_code, _headers = groups_name_jobs_id_success_post_with_http_info(name, id, body, opts)
|
172
173
|
return data
|
173
174
|
end
|
174
175
|
|
175
176
|
# Mark job as succeeded.
|
176
|
-
# Job status is changed to succeeded if it was in a valid state before. Job's
|
177
|
+
# Job status is changed to succeeded if it was in a valid state before. Job's `completed_at` time is initialized.
|
177
178
|
# @param name Name of group for this set of jobs.
|
178
179
|
# @param id Job id
|
179
180
|
# @param body
|
@@ -181,18 +182,14 @@ module IronTitan
|
|
181
182
|
# @return [Array<(JobWrapper, Fixnum, Hash)>] JobWrapper data, response status code and response headers
|
182
183
|
def groups_name_jobs_id_success_post_with_http_info(name, id, body, opts = {})
|
183
184
|
if @api_client.config.debugging
|
184
|
-
@api_client.config.logger.debug "Calling API: RunnerApi
|
185
|
+
@api_client.config.logger.debug "Calling API: RunnerApi.groups_name_jobs_id_success_post ..."
|
185
186
|
end
|
186
|
-
|
187
187
|
# verify the required parameter 'name' is set
|
188
|
-
fail "Missing the required parameter 'name' when calling groups_name_jobs_id_success_post" if name.nil?
|
189
|
-
|
188
|
+
fail ArgumentError, "Missing the required parameter 'name' when calling RunnerApi.groups_name_jobs_id_success_post" if name.nil?
|
190
189
|
# verify the required parameter 'id' is set
|
191
|
-
fail "Missing the required parameter 'id' when calling groups_name_jobs_id_success_post" if id.nil?
|
192
|
-
|
190
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling RunnerApi.groups_name_jobs_id_success_post" if id.nil?
|
193
191
|
# verify the required parameter 'body' is set
|
194
|
-
fail "Missing the required parameter 'body' when calling groups_name_jobs_id_success_post" if body.nil?
|
195
|
-
|
192
|
+
fail ArgumentError, "Missing the required parameter 'body' when calling RunnerApi.groups_name_jobs_id_success_post" if body.nil?
|
196
193
|
# resource path
|
197
194
|
local_var_path = "/groups/{name}/jobs/{id}/success".sub('{format}','json').sub('{' + 'name' + '}', name.to_s).sub('{' + 'id' + '}', id.to_s)
|
198
195
|
|
@@ -203,19 +200,18 @@ module IronTitan
|
|
203
200
|
header_params = {}
|
204
201
|
|
205
202
|
# HTTP header 'Accept' (if needed)
|
206
|
-
|
207
|
-
|
203
|
+
local_header_accept = ['application/json']
|
204
|
+
local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
|
208
205
|
|
209
206
|
# HTTP header 'Content-Type'
|
210
|
-
|
211
|
-
header_params['Content-Type'] = @api_client.select_header_content_type(
|
207
|
+
local_header_content_type = ['application/json']
|
208
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
|
212
209
|
|
213
210
|
# form parameters
|
214
211
|
form_params = {}
|
215
212
|
|
216
213
|
# http body (model)
|
217
214
|
post_body = @api_client.object_to_http_body(body)
|
218
|
-
|
219
215
|
auth_names = []
|
220
216
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
221
217
|
:header_params => header_params,
|
@@ -3,10 +3,21 @@ Titan API
|
|
3
3
|
|
4
4
|
The ultimate, language agnostic, container based job processing framework.
|
5
5
|
|
6
|
-
OpenAPI spec version: 0.
|
6
|
+
OpenAPI spec version: 0.4.0
|
7
7
|
|
8
8
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
9
|
|
10
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
11
|
+
you may not use this file except in compliance with the License.
|
12
|
+
You may obtain a copy of the License at
|
13
|
+
|
14
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
15
|
+
|
16
|
+
Unless required by applicable law or agreed to in writing, software
|
17
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
18
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
19
|
+
See the License for the specific language governing permissions and
|
20
|
+
limitations under the License.
|
10
21
|
|
11
22
|
=end
|
12
23
|
|
@@ -27,6 +38,8 @@ module IronTitan
|
|
27
38
|
# @return [Hash]
|
28
39
|
attr_accessor :default_headers
|
29
40
|
|
41
|
+
# Initializes the ApiClient
|
42
|
+
# @option config [Configuration] Configuraiton for initializing the object, default to Configuration.default
|
30
43
|
def initialize(config = Configuration.default)
|
31
44
|
@config = config
|
32
45
|
@user_agent = "Swagger-Codegen/#{VERSION}/ruby"
|
@@ -67,6 +80,15 @@ module IronTitan
|
|
67
80
|
return data, response.code, response.headers
|
68
81
|
end
|
69
82
|
|
83
|
+
# Builds the HTTP request
|
84
|
+
#
|
85
|
+
# @param [String] http_method HTTP method/verb (e.g. POST)
|
86
|
+
# @param [String] path URL path (e.g. /account/new)
|
87
|
+
# @option opts [Hash] :header_params Header parameters
|
88
|
+
# @option opts [Hash] :query_params Query parameters
|
89
|
+
# @option opts [Hash] :form_params Query parameters
|
90
|
+
# @option opts [Object] :body HTTP body (JSON/XML)
|
91
|
+
# @return [Typhoeus::Request] A Typhoeus Request
|
70
92
|
def build_request(http_method, path, opts = {})
|
71
93
|
url = build_request_url(path)
|
72
94
|
http_method = http_method.to_sym.downcase
|
@@ -75,7 +97,6 @@ module IronTitan
|
|
75
97
|
query_params = opts[:query_params] || {}
|
76
98
|
form_params = opts[:form_params] || {}
|
77
99
|
|
78
|
-
|
79
100
|
|
80
101
|
req_opts = {
|
81
102
|
:method => http_method,
|
@@ -106,12 +127,15 @@ module IronTitan
|
|
106
127
|
# application/json
|
107
128
|
# application/json; charset=UTF8
|
108
129
|
# APPLICATION/JSON
|
130
|
+
# @param [String] mime MIME
|
131
|
+
# @return [Boolean] True if the MIME is applicaton/json
|
109
132
|
def json_mime?(mime)
|
110
|
-
|
133
|
+
!(mime =~ /\Aapplication\/json(;.*)?\z/i).nil?
|
111
134
|
end
|
112
135
|
|
113
136
|
# Deserialize the response to the given return type.
|
114
137
|
#
|
138
|
+
# @param [Response] response HTTP response
|
115
139
|
# @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
|
116
140
|
def deserialize(response, return_type)
|
117
141
|
body = response.body
|
@@ -142,6 +166,9 @@ module IronTitan
|
|
142
166
|
end
|
143
167
|
|
144
168
|
# Convert data to the given return type.
|
169
|
+
# @param [Object] data Data to be converted
|
170
|
+
# @param [String] return_type Return type
|
171
|
+
# @return [Mixed] Data in a particular type
|
145
172
|
def convert_to_type(data, return_type)
|
146
173
|
return nil if data.nil?
|
147
174
|
case return_type
|
@@ -214,7 +241,7 @@ module IronTitan
|
|
214
241
|
# @param [String] filename the filename to be sanitized
|
215
242
|
# @return [String] the sanitized filename
|
216
243
|
def sanitize_filename(filename)
|
217
|
-
filename.gsub
|
244
|
+
filename.gsub(/.*[\/\\]/, '')
|
218
245
|
end
|
219
246
|
|
220
247
|
def build_request_url(path)
|
@@ -223,6 +250,12 @@ module IronTitan
|
|
223
250
|
URI.encode(@config.base_url + path)
|
224
251
|
end
|
225
252
|
|
253
|
+
# Builds the HTTP request body
|
254
|
+
#
|
255
|
+
# @param [Hash] header_params Header parameters
|
256
|
+
# @param [Hash] form_params Query parameters
|
257
|
+
# @param [Object] body HTTP body (JSON/XML)
|
258
|
+
# @return [String] HTTP body data in the form of string
|
226
259
|
def build_request_body(header_params, form_params, body)
|
227
260
|
# http form
|
228
261
|
if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
|
@@ -246,6 +279,10 @@ module IronTitan
|
|
246
279
|
end
|
247
280
|
|
248
281
|
# Update hearder and query params based on authentication settings.
|
282
|
+
#
|
283
|
+
# @param [Hash] header_params Header parameters
|
284
|
+
# @param [Hash] form_params Query parameters
|
285
|
+
# @param [String] auth_names Authentication scheme name
|
249
286
|
def update_params_for_auth!(header_params, query_params, auth_names)
|
250
287
|
Array(auth_names).each do |auth_name|
|
251
288
|
auth_setting = @config.auth_settings[auth_name]
|
@@ -258,6 +295,9 @@ module IronTitan
|
|
258
295
|
end
|
259
296
|
end
|
260
297
|
|
298
|
+
# Sets user agent in HTTP header
|
299
|
+
#
|
300
|
+
# @param [String] user_agent User agent (e.g. swagger-codegen/ruby/1.0.0)
|
261
301
|
def user_agent=(user_agent)
|
262
302
|
@user_agent = user_agent
|
263
303
|
@default_headers['User-Agent'] = @user_agent
|
@@ -289,13 +329,13 @@ module IronTitan
|
|
289
329
|
# @return [String] JSON string representation of the object
|
290
330
|
def object_to_http_body(model)
|
291
331
|
return model if model.nil? || model.is_a?(String)
|
292
|
-
|
332
|
+
local_body = nil
|
293
333
|
if model.is_a?(Array)
|
294
|
-
|
334
|
+
local_body = model.map{|m| object_to_hash(m) }
|
295
335
|
else
|
296
|
-
|
336
|
+
local_body = object_to_hash(model)
|
297
337
|
end
|
298
|
-
|
338
|
+
local_body.to_json
|
299
339
|
end
|
300
340
|
|
301
341
|
# Convert object(non-array) to hash.
|
data/lib/iron_titan/api_error.rb
CHANGED
@@ -3,10 +3,21 @@ Titan API
|
|
3
3
|
|
4
4
|
The ultimate, language agnostic, container based job processing framework.
|
5
5
|
|
6
|
-
OpenAPI spec version: 0.
|
6
|
+
OpenAPI spec version: 0.4.0
|
7
7
|
|
8
8
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
9
|
|
10
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
11
|
+
you may not use this file except in compliance with the License.
|
12
|
+
You may obtain a copy of the License at
|
13
|
+
|
14
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
15
|
+
|
16
|
+
Unless required by applicable law or agreed to in writing, software
|
17
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
18
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
19
|
+
See the License for the specific language governing permissions and
|
20
|
+
limitations under the License.
|
10
21
|
|
11
22
|
=end
|
12
23
|
|
@@ -1,3 +1,26 @@
|
|
1
|
+
=begin
|
2
|
+
Titan API
|
3
|
+
|
4
|
+
The ultimate, language agnostic, container based job processing framework.
|
5
|
+
|
6
|
+
OpenAPI spec version: 0.4.0
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
|
10
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
11
|
+
you may not use this file except in compliance with the License.
|
12
|
+
You may obtain a copy of the License at
|
13
|
+
|
14
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
15
|
+
|
16
|
+
Unless required by applicable law or agreed to in writing, software
|
17
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
18
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
19
|
+
See the License for the specific language governing permissions and
|
20
|
+
limitations under the License.
|
21
|
+
|
22
|
+
=end
|
23
|
+
|
1
24
|
require 'uri'
|
2
25
|
|
3
26
|
module IronTitan
|
@@ -3,16 +3,28 @@ Titan API
|
|
3
3
|
|
4
4
|
The ultimate, language agnostic, container based job processing framework.
|
5
5
|
|
6
|
-
OpenAPI spec version: 0.
|
6
|
+
OpenAPI spec version: 0.4.0
|
7
7
|
|
8
8
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
9
|
|
10
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
11
|
+
you may not use this file except in compliance with the License.
|
12
|
+
You may obtain a copy of the License at
|
13
|
+
|
14
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
15
|
+
|
16
|
+
Unless required by applicable law or agreed to in writing, software
|
17
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
18
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
19
|
+
See the License for the specific language governing permissions and
|
20
|
+
limitations under the License.
|
10
21
|
|
11
22
|
=end
|
12
23
|
|
13
24
|
require 'date'
|
14
25
|
|
15
26
|
module IronTitan
|
27
|
+
|
16
28
|
class Complete
|
17
29
|
# Time when job was completed. Always in UTC.
|
18
30
|
attr_accessor :completed_at
|
@@ -23,16 +35,13 @@ module IronTitan
|
|
23
35
|
# Error message, if status=error. Only used by the /error endpoint.
|
24
36
|
attr_accessor :error
|
25
37
|
|
38
|
+
|
26
39
|
# Attribute mapping from ruby-style variable name to JSON key.
|
27
40
|
def self.attribute_map
|
28
41
|
{
|
29
|
-
|
30
42
|
:'completed_at' => :'completed_at',
|
31
|
-
|
32
43
|
:'reason' => :'reason',
|
33
|
-
|
34
44
|
:'error' => :'error'
|
35
|
-
|
36
45
|
}
|
37
46
|
end
|
38
47
|
|
@@ -42,32 +51,46 @@ module IronTitan
|
|
42
51
|
:'completed_at' => :'DateTime',
|
43
52
|
:'reason' => :'String',
|
44
53
|
:'error' => :'String'
|
45
|
-
|
46
54
|
}
|
47
55
|
end
|
48
56
|
|
57
|
+
# Initializes the object
|
58
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
49
59
|
def initialize(attributes = {})
|
50
60
|
return unless attributes.is_a?(Hash)
|
51
61
|
|
52
62
|
# convert string to symbol for hash key
|
53
|
-
attributes = attributes.
|
63
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
54
64
|
|
55
|
-
|
56
|
-
if attributes[:'completed_at']
|
65
|
+
if attributes.has_key?(:'completed_at')
|
57
66
|
self.completed_at = attributes[:'completed_at']
|
58
67
|
end
|
59
|
-
|
60
|
-
if attributes
|
68
|
+
|
69
|
+
if attributes.has_key?(:'reason')
|
61
70
|
self.reason = attributes[:'reason']
|
62
71
|
end
|
63
|
-
|
64
|
-
if attributes
|
72
|
+
|
73
|
+
if attributes.has_key?(:'error')
|
65
74
|
self.error = attributes[:'error']
|
66
75
|
end
|
67
|
-
|
76
|
+
|
68
77
|
end
|
69
78
|
|
70
|
-
#
|
79
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
80
|
+
# @return Array for valid properies with the reasons
|
81
|
+
def list_invalid_properties
|
82
|
+
invalid_properties = Array.new
|
83
|
+
return invalid_properties
|
84
|
+
end
|
85
|
+
|
86
|
+
# Check to see if the all the properties in the model are valid
|
87
|
+
# @return true if the model is valid
|
88
|
+
def valid?
|
89
|
+
return true
|
90
|
+
end
|
91
|
+
|
92
|
+
# Checks equality by comparing each attribute.
|
93
|
+
# @param [Object] Object to be compared
|
71
94
|
def ==(o)
|
72
95
|
return true if self.equal?(o)
|
73
96
|
self.class == o.class &&
|
@@ -77,35 +100,41 @@ module IronTitan
|
|
77
100
|
end
|
78
101
|
|
79
102
|
# @see the `==` method
|
103
|
+
# @param [Object] Object to be compared
|
80
104
|
def eql?(o)
|
81
105
|
self == o
|
82
106
|
end
|
83
107
|
|
84
|
-
#
|
108
|
+
# Calculates hash code according to all attributes.
|
109
|
+
# @return [Fixnum] Hash code
|
85
110
|
def hash
|
86
111
|
[completed_at, reason, error].hash
|
87
112
|
end
|
88
113
|
|
89
|
-
#
|
114
|
+
# Builds the object from hash
|
115
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
116
|
+
# @return [Object] Returns the model itself
|
90
117
|
def build_from_hash(attributes)
|
91
118
|
return nil unless attributes.is_a?(Hash)
|
92
119
|
self.class.swagger_types.each_pair do |key, type|
|
93
120
|
if type =~ /^Array<(.*)>/i
|
121
|
+
# check to ensure the input is an array given that the the attribute
|
122
|
+
# is documented as an array but the input is not
|
94
123
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
95
124
|
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
96
|
-
else
|
97
|
-
#TODO show warning in debug mode
|
98
125
|
end
|
99
126
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
100
127
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
101
|
-
else
|
102
|
-
# data not found in attributes(hash), not an issue as the data can be optional
|
103
|
-
end
|
128
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
104
129
|
end
|
105
130
|
|
106
131
|
self
|
107
132
|
end
|
108
133
|
|
134
|
+
# Deserializes the data based on type
|
135
|
+
# @param string type Data type
|
136
|
+
# @param string value Value to be deserialized
|
137
|
+
# @return [Object] Deserialized data
|
109
138
|
def _deserialize(type, value)
|
110
139
|
case type.to_sym
|
111
140
|
when :DateTime
|
@@ -139,21 +168,25 @@ module IronTitan
|
|
139
168
|
end
|
140
169
|
end
|
141
170
|
else # model
|
142
|
-
|
143
|
-
|
171
|
+
temp_model = IronTitan.const_get(type).new
|
172
|
+
temp_model.build_from_hash(value)
|
144
173
|
end
|
145
174
|
end
|
146
175
|
|
176
|
+
# Returns the string representation of the object
|
177
|
+
# @return [String] String presentation of the object
|
147
178
|
def to_s
|
148
179
|
to_hash.to_s
|
149
180
|
end
|
150
181
|
|
151
|
-
# to_body is an alias to
|
182
|
+
# to_body is an alias to to_hash (backward compatibility)
|
183
|
+
# @return [Hash] Returns the object in the form of hash
|
152
184
|
def to_body
|
153
185
|
to_hash
|
154
186
|
end
|
155
187
|
|
156
|
-
#
|
188
|
+
# Returns the object in the form of hash
|
189
|
+
# @return [Hash] Returns the object in the form of hash
|
157
190
|
def to_hash
|
158
191
|
hash = {}
|
159
192
|
self.class.attribute_map.each_pair do |attr, param|
|
@@ -164,8 +197,10 @@ module IronTitan
|
|
164
197
|
hash
|
165
198
|
end
|
166
199
|
|
167
|
-
#
|
200
|
+
# Outputs non-array value in the form of hash
|
168
201
|
# For object, use to_hash. Otherwise, just return the value
|
202
|
+
# @param [Object] value Any valid value
|
203
|
+
# @return [Hash] Returns the value in the form of hash
|
169
204
|
def _to_hash(value)
|
170
205
|
if value.is_a?(Array)
|
171
206
|
value.compact.map{ |v| _to_hash(v) }
|
@@ -181,4 +216,5 @@ module IronTitan
|
|
181
216
|
end
|
182
217
|
|
183
218
|
end
|
219
|
+
|
184
220
|
end
|