relentless_identity 1.0.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.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +143 -0
  4. data/Rakefile +10 -0
  5. data/docs/AccountApi.md +219 -0
  6. data/docs/AliasInfo.md +20 -0
  7. data/docs/BatchSummary.md +26 -0
  8. data/docs/ClientBackgroundJobDetailResponse.md +30 -0
  9. data/docs/ClientBackgroundJobItemResponse.md +48 -0
  10. data/docs/ClientBackgroundJobPageResponse.md +26 -0
  11. data/docs/ClientBackgroundJobResponse.md +76 -0
  12. data/docs/ClientBatchIdentityResponse.md +20 -0
  13. data/docs/ClientFinderResponse.md +34 -0
  14. data/docs/ClientFinderResponseAlias.md +20 -0
  15. data/docs/ClientIdentityResponse.md +34 -0
  16. data/docs/ClientRequestHistoryItem.md +52 -0
  17. data/docs/ClientRequestHistoryPageResponse.md +26 -0
  18. data/docs/ClientTokenStatusResponse.md +28 -0
  19. data/docs/ClientUsageResponse.md +54 -0
  20. data/docs/ErrorResponse.md +24 -0
  21. data/docs/FinderApi.md +77 -0
  22. data/docs/FinderBatchJobRequest.md +22 -0
  23. data/docs/FinderBatchJobRequestInputsInner.md +20 -0
  24. data/docs/FinderRequest.md +20 -0
  25. data/docs/HTTPValidationError.md +18 -0
  26. data/docs/IdentityProvider.md +20 -0
  27. data/docs/JobsApi.md +529 -0
  28. data/docs/LocationInner.md +15 -0
  29. data/docs/ProbeApi.md +147 -0
  30. data/docs/ProbeBatchJobBackgroundRequest.md +22 -0
  31. data/docs/ProbeBatchRequest.md +18 -0
  32. data/docs/ProbeRequest.md +18 -0
  33. data/docs/ValidationError.md +26 -0
  34. data/git_push.sh +57 -0
  35. data/lib/relentless_identity/api/account_api.rb +225 -0
  36. data/lib/relentless_identity/api/finder_api.rb +90 -0
  37. data/lib/relentless_identity/api/jobs_api.rb +535 -0
  38. data/lib/relentless_identity/api/probe_api.rb +158 -0
  39. data/lib/relentless_identity/api_client.rb +397 -0
  40. data/lib/relentless_identity/api_error.rb +58 -0
  41. data/lib/relentless_identity/api_model_base.rb +88 -0
  42. data/lib/relentless_identity/configuration.rb +309 -0
  43. data/lib/relentless_identity/models/alias_info.rb +159 -0
  44. data/lib/relentless_identity/models/batch_summary.rb +318 -0
  45. data/lib/relentless_identity/models/client_background_job_detail_response.rb +307 -0
  46. data/lib/relentless_identity/models/client_background_job_item_response.rb +455 -0
  47. data/lib/relentless_identity/models/client_background_job_page_response.rb +271 -0
  48. data/lib/relentless_identity/models/client_background_job_response.rb +745 -0
  49. data/lib/relentless_identity/models/client_batch_identity_response.rb +194 -0
  50. data/lib/relentless_identity/models/client_finder_response.rb +285 -0
  51. data/lib/relentless_identity/models/client_finder_response_alias.rb +104 -0
  52. data/lib/relentless_identity/models/client_identity_response.rb +285 -0
  53. data/lib/relentless_identity/models/client_request_history_item.rb +450 -0
  54. data/lib/relentless_identity/models/client_request_history_page_response.rb +271 -0
  55. data/lib/relentless_identity/models/client_token_status_response.rb +259 -0
  56. data/lib/relentless_identity/models/client_usage_response.rb +506 -0
  57. data/lib/relentless_identity/models/error_response.rb +178 -0
  58. data/lib/relentless_identity/models/finder_batch_job_request.rb +206 -0
  59. data/lib/relentless_identity/models/finder_batch_job_request_inputs_inner.rb +192 -0
  60. data/lib/relentless_identity/models/finder_request.rb +193 -0
  61. data/lib/relentless_identity/models/http_validation_error.rb +149 -0
  62. data/lib/relentless_identity/models/identity_provider.rb +157 -0
  63. data/lib/relentless_identity/models/location_inner.rb +103 -0
  64. data/lib/relentless_identity/models/probe_batch_job_background_request.rb +206 -0
  65. data/lib/relentless_identity/models/probe_batch_request.rb +186 -0
  66. data/lib/relentless_identity/models/probe_request.rb +166 -0
  67. data/lib/relentless_identity/models/validation_error.rb +237 -0
  68. data/lib/relentless_identity/version.rb +15 -0
  69. data/lib/relentless_identity.rb +69 -0
  70. data/relentless_identity.gemspec +39 -0
  71. data/spec/api/account_api_spec.rb +72 -0
  72. data/spec/api/finder_api_spec.rb +47 -0
  73. data/spec/api/jobs_api_spec.rb +130 -0
  74. data/spec/api/probe_api_spec.rb +59 -0
  75. data/spec/models/alias_info_spec.rb +42 -0
  76. data/spec/models/batch_summary_spec.rb +60 -0
  77. data/spec/models/client_background_job_detail_response_spec.rb +72 -0
  78. data/spec/models/client_background_job_item_response_spec.rb +138 -0
  79. data/spec/models/client_background_job_page_response_spec.rb +60 -0
  80. data/spec/models/client_background_job_response_spec.rb +222 -0
  81. data/spec/models/client_batch_identity_response_spec.rb +42 -0
  82. data/spec/models/client_finder_response_alias_spec.rb +21 -0
  83. data/spec/models/client_finder_response_spec.rb +92 -0
  84. data/spec/models/client_identity_response_spec.rb +92 -0
  85. data/spec/models/client_request_history_item_spec.rb +150 -0
  86. data/spec/models/client_request_history_page_response_spec.rb +60 -0
  87. data/spec/models/client_token_status_response_spec.rb +70 -0
  88. data/spec/models/client_usage_response_spec.rb +144 -0
  89. data/spec/models/error_response_spec.rb +54 -0
  90. data/spec/models/finder_batch_job_request_inputs_inner_spec.rb +42 -0
  91. data/spec/models/finder_batch_job_request_spec.rb +48 -0
  92. data/spec/models/finder_request_spec.rb +42 -0
  93. data/spec/models/http_validation_error_spec.rb +36 -0
  94. data/spec/models/identity_provider_spec.rb +42 -0
  95. data/spec/models/location_inner_spec.rb +21 -0
  96. data/spec/models/probe_batch_job_background_request_spec.rb +48 -0
  97. data/spec/models/probe_batch_request_spec.rb +36 -0
  98. data/spec/models/probe_request_spec.rb +36 -0
  99. data/spec/models/validation_error_spec.rb +60 -0
  100. data/spec/spec_helper.rb +111 -0
  101. metadata +213 -0
@@ -0,0 +1,745 @@
1
+ =begin
2
+ #Relentless Identity API
3
+
4
+ #Public client API for Finder and Probe workflows. This spec is generated from the FastAPI app, then narrowed to the supported bearer-authenticated routes used by SDKs and the API reference.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module RelentlessIdentity
17
+ # Background job status envelope returned by the public jobs API.
18
+ class ClientBackgroundJobResponse < ApiModelBase
19
+ attr_accessor :id
20
+
21
+ attr_accessor :job_type
22
+
23
+ # Current high-level job lifecycle state.
24
+ attr_accessor :status
25
+
26
+ attr_accessor :deadline_at
27
+
28
+ attr_accessor :estimated_runtime_seconds
29
+
30
+ attr_accessor :scheduled_start_at
31
+
32
+ attr_accessor :callback_url
33
+
34
+ attr_accessor :callback_status
35
+
36
+ attr_accessor :callback_attempts
37
+
38
+ attr_accessor :callback_last_error
39
+
40
+ # Total number of submitted items for the job.
41
+ attr_accessor :requested_count
42
+
43
+ attr_accessor :completed_count
44
+
45
+ attr_accessor :success_count
46
+
47
+ attr_accessor :not_found_count
48
+
49
+ attr_accessor :error_count
50
+
51
+ attr_accessor :reserved_amount_micros
52
+
53
+ attr_accessor :actual_amount_micros
54
+
55
+ # Approximate percent complete based on completed item count.
56
+ attr_accessor :progress_percent
57
+
58
+ # Aggregated counts and provider stats for the job.
59
+ attr_accessor :summary
60
+
61
+ attr_accessor :metadata
62
+
63
+ attr_accessor :started_at
64
+
65
+ attr_accessor :completed_at
66
+
67
+ attr_accessor :history_expires_at
68
+
69
+ attr_accessor :results_pruned_at
70
+
71
+ attr_accessor :artifact_available
72
+
73
+ attr_accessor :artifact_json_url
74
+
75
+ attr_accessor :artifact_size_bytes
76
+
77
+ attr_accessor :artifact_uploaded_at
78
+
79
+ attr_accessor :created_at
80
+
81
+ attr_accessor :updated_at
82
+
83
+ class EnumAttributeValidator
84
+ attr_reader :datatype
85
+ attr_reader :allowable_values
86
+
87
+ def initialize(datatype, allowable_values)
88
+ @allowable_values = allowable_values.map do |value|
89
+ case datatype.to_s
90
+ when /Integer/i
91
+ value.to_i
92
+ when /Float/i
93
+ value.to_f
94
+ else
95
+ value
96
+ end
97
+ end
98
+ end
99
+
100
+ def valid?(value)
101
+ !value || allowable_values.include?(value)
102
+ end
103
+ end
104
+
105
+ # Attribute mapping from ruby-style variable name to JSON key.
106
+ def self.attribute_map
107
+ {
108
+ :'id' => :'id',
109
+ :'job_type' => :'job_type',
110
+ :'status' => :'status',
111
+ :'deadline_at' => :'deadline_at',
112
+ :'estimated_runtime_seconds' => :'estimated_runtime_seconds',
113
+ :'scheduled_start_at' => :'scheduled_start_at',
114
+ :'callback_url' => :'callback_url',
115
+ :'callback_status' => :'callback_status',
116
+ :'callback_attempts' => :'callback_attempts',
117
+ :'callback_last_error' => :'callback_last_error',
118
+ :'requested_count' => :'requested_count',
119
+ :'completed_count' => :'completed_count',
120
+ :'success_count' => :'success_count',
121
+ :'not_found_count' => :'not_found_count',
122
+ :'error_count' => :'error_count',
123
+ :'reserved_amount_micros' => :'reserved_amount_micros',
124
+ :'actual_amount_micros' => :'actual_amount_micros',
125
+ :'progress_percent' => :'progress_percent',
126
+ :'summary' => :'summary',
127
+ :'metadata' => :'metadata',
128
+ :'started_at' => :'started_at',
129
+ :'completed_at' => :'completed_at',
130
+ :'history_expires_at' => :'history_expires_at',
131
+ :'results_pruned_at' => :'results_pruned_at',
132
+ :'artifact_available' => :'artifact_available',
133
+ :'artifact_json_url' => :'artifact_json_url',
134
+ :'artifact_size_bytes' => :'artifact_size_bytes',
135
+ :'artifact_uploaded_at' => :'artifact_uploaded_at',
136
+ :'created_at' => :'created_at',
137
+ :'updated_at' => :'updated_at'
138
+ }
139
+ end
140
+
141
+ # Returns attribute mapping this model knows about
142
+ def self.acceptable_attribute_map
143
+ attribute_map
144
+ end
145
+
146
+ # Returns all the JSON keys this model knows about
147
+ def self.acceptable_attributes
148
+ acceptable_attribute_map.values
149
+ end
150
+
151
+ # Attribute type mapping.
152
+ def self.openapi_types
153
+ {
154
+ :'id' => :'String',
155
+ :'job_type' => :'String',
156
+ :'status' => :'String',
157
+ :'deadline_at' => :'Time',
158
+ :'estimated_runtime_seconds' => :'Integer',
159
+ :'scheduled_start_at' => :'Time',
160
+ :'callback_url' => :'String',
161
+ :'callback_status' => :'String',
162
+ :'callback_attempts' => :'Integer',
163
+ :'callback_last_error' => :'String',
164
+ :'requested_count' => :'Integer',
165
+ :'completed_count' => :'Integer',
166
+ :'success_count' => :'Integer',
167
+ :'not_found_count' => :'Integer',
168
+ :'error_count' => :'Integer',
169
+ :'reserved_amount_micros' => :'Integer',
170
+ :'actual_amount_micros' => :'Integer',
171
+ :'progress_percent' => :'Float',
172
+ :'summary' => :'Hash<String, Object>',
173
+ :'metadata' => :'Hash<String, Object>',
174
+ :'started_at' => :'Time',
175
+ :'completed_at' => :'Time',
176
+ :'history_expires_at' => :'Time',
177
+ :'results_pruned_at' => :'Time',
178
+ :'artifact_available' => :'Boolean',
179
+ :'artifact_json_url' => :'String',
180
+ :'artifact_size_bytes' => :'Integer',
181
+ :'artifact_uploaded_at' => :'Time',
182
+ :'created_at' => :'Time',
183
+ :'updated_at' => :'Time'
184
+ }
185
+ end
186
+
187
+ # List of attributes with nullable: true
188
+ def self.openapi_nullable
189
+ Set.new([
190
+ :'callback_url',
191
+ :'callback_last_error',
192
+ :'started_at',
193
+ :'completed_at',
194
+ :'history_expires_at',
195
+ :'results_pruned_at',
196
+ :'artifact_json_url',
197
+ :'artifact_size_bytes',
198
+ :'artifact_uploaded_at',
199
+ ])
200
+ end
201
+
202
+ # Initializes the object
203
+ # @param [Hash] attributes Model attributes in the form of hash
204
+ def initialize(attributes = {})
205
+ if (!attributes.is_a?(Hash))
206
+ fail ArgumentError, "The input argument (attributes) must be a hash in `RelentlessIdentity::ClientBackgroundJobResponse` initialize method"
207
+ end
208
+
209
+ # check to see if the attribute exists and convert string to symbol for hash key
210
+ acceptable_attribute_map = self.class.acceptable_attribute_map
211
+ attributes = attributes.each_with_object({}) { |(k, v), h|
212
+ if (!acceptable_attribute_map.key?(k.to_sym))
213
+ fail ArgumentError, "`#{k}` is not a valid attribute in `RelentlessIdentity::ClientBackgroundJobResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
214
+ end
215
+ h[k.to_sym] = v
216
+ }
217
+
218
+ if attributes.key?(:'id')
219
+ self.id = attributes[:'id']
220
+ else
221
+ self.id = nil
222
+ end
223
+
224
+ if attributes.key?(:'job_type')
225
+ self.job_type = attributes[:'job_type']
226
+ else
227
+ self.job_type = nil
228
+ end
229
+
230
+ if attributes.key?(:'status')
231
+ self.status = attributes[:'status']
232
+ else
233
+ self.status = nil
234
+ end
235
+
236
+ if attributes.key?(:'deadline_at')
237
+ self.deadline_at = attributes[:'deadline_at']
238
+ else
239
+ self.deadline_at = nil
240
+ end
241
+
242
+ if attributes.key?(:'estimated_runtime_seconds')
243
+ self.estimated_runtime_seconds = attributes[:'estimated_runtime_seconds']
244
+ else
245
+ self.estimated_runtime_seconds = nil
246
+ end
247
+
248
+ if attributes.key?(:'scheduled_start_at')
249
+ self.scheduled_start_at = attributes[:'scheduled_start_at']
250
+ else
251
+ self.scheduled_start_at = nil
252
+ end
253
+
254
+ if attributes.key?(:'callback_url')
255
+ self.callback_url = attributes[:'callback_url']
256
+ end
257
+
258
+ if attributes.key?(:'callback_status')
259
+ self.callback_status = attributes[:'callback_status']
260
+ else
261
+ self.callback_status = nil
262
+ end
263
+
264
+ if attributes.key?(:'callback_attempts')
265
+ self.callback_attempts = attributes[:'callback_attempts']
266
+ else
267
+ self.callback_attempts = nil
268
+ end
269
+
270
+ if attributes.key?(:'callback_last_error')
271
+ self.callback_last_error = attributes[:'callback_last_error']
272
+ end
273
+
274
+ if attributes.key?(:'requested_count')
275
+ self.requested_count = attributes[:'requested_count']
276
+ else
277
+ self.requested_count = nil
278
+ end
279
+
280
+ if attributes.key?(:'completed_count')
281
+ self.completed_count = attributes[:'completed_count']
282
+ else
283
+ self.completed_count = nil
284
+ end
285
+
286
+ if attributes.key?(:'success_count')
287
+ self.success_count = attributes[:'success_count']
288
+ else
289
+ self.success_count = nil
290
+ end
291
+
292
+ if attributes.key?(:'not_found_count')
293
+ self.not_found_count = attributes[:'not_found_count']
294
+ else
295
+ self.not_found_count = nil
296
+ end
297
+
298
+ if attributes.key?(:'error_count')
299
+ self.error_count = attributes[:'error_count']
300
+ else
301
+ self.error_count = nil
302
+ end
303
+
304
+ if attributes.key?(:'reserved_amount_micros')
305
+ self.reserved_amount_micros = attributes[:'reserved_amount_micros']
306
+ else
307
+ self.reserved_amount_micros = nil
308
+ end
309
+
310
+ if attributes.key?(:'actual_amount_micros')
311
+ self.actual_amount_micros = attributes[:'actual_amount_micros']
312
+ else
313
+ self.actual_amount_micros = nil
314
+ end
315
+
316
+ if attributes.key?(:'progress_percent')
317
+ self.progress_percent = attributes[:'progress_percent']
318
+ end
319
+
320
+ if attributes.key?(:'summary')
321
+ if (value = attributes[:'summary']).is_a?(Hash)
322
+ self.summary = value
323
+ end
324
+ end
325
+
326
+ if attributes.key?(:'metadata')
327
+ if (value = attributes[:'metadata']).is_a?(Hash)
328
+ self.metadata = value
329
+ end
330
+ end
331
+
332
+ if attributes.key?(:'started_at')
333
+ self.started_at = attributes[:'started_at']
334
+ end
335
+
336
+ if attributes.key?(:'completed_at')
337
+ self.completed_at = attributes[:'completed_at']
338
+ end
339
+
340
+ if attributes.key?(:'history_expires_at')
341
+ self.history_expires_at = attributes[:'history_expires_at']
342
+ end
343
+
344
+ if attributes.key?(:'results_pruned_at')
345
+ self.results_pruned_at = attributes[:'results_pruned_at']
346
+ end
347
+
348
+ if attributes.key?(:'artifact_available')
349
+ self.artifact_available = attributes[:'artifact_available']
350
+ else
351
+ self.artifact_available = false
352
+ end
353
+
354
+ if attributes.key?(:'artifact_json_url')
355
+ self.artifact_json_url = attributes[:'artifact_json_url']
356
+ end
357
+
358
+ if attributes.key?(:'artifact_size_bytes')
359
+ self.artifact_size_bytes = attributes[:'artifact_size_bytes']
360
+ end
361
+
362
+ if attributes.key?(:'artifact_uploaded_at')
363
+ self.artifact_uploaded_at = attributes[:'artifact_uploaded_at']
364
+ end
365
+
366
+ if attributes.key?(:'created_at')
367
+ self.created_at = attributes[:'created_at']
368
+ else
369
+ self.created_at = nil
370
+ end
371
+
372
+ if attributes.key?(:'updated_at')
373
+ self.updated_at = attributes[:'updated_at']
374
+ else
375
+ self.updated_at = nil
376
+ end
377
+ end
378
+
379
+ # Show invalid properties with the reasons. Usually used together with valid?
380
+ # @return Array for valid properties with the reasons
381
+ def list_invalid_properties
382
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
383
+ invalid_properties = Array.new
384
+ if @id.nil?
385
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
386
+ end
387
+
388
+ if @job_type.nil?
389
+ invalid_properties.push('invalid value for "job_type", job_type cannot be nil.')
390
+ end
391
+
392
+ if @status.nil?
393
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
394
+ end
395
+
396
+ if @deadline_at.nil?
397
+ invalid_properties.push('invalid value for "deadline_at", deadline_at cannot be nil.')
398
+ end
399
+
400
+ if @estimated_runtime_seconds.nil?
401
+ invalid_properties.push('invalid value for "estimated_runtime_seconds", estimated_runtime_seconds cannot be nil.')
402
+ end
403
+
404
+ if @scheduled_start_at.nil?
405
+ invalid_properties.push('invalid value for "scheduled_start_at", scheduled_start_at cannot be nil.')
406
+ end
407
+
408
+ if @callback_status.nil?
409
+ invalid_properties.push('invalid value for "callback_status", callback_status cannot be nil.')
410
+ end
411
+
412
+ if @callback_attempts.nil?
413
+ invalid_properties.push('invalid value for "callback_attempts", callback_attempts cannot be nil.')
414
+ end
415
+
416
+ if @requested_count.nil?
417
+ invalid_properties.push('invalid value for "requested_count", requested_count cannot be nil.')
418
+ end
419
+
420
+ if @completed_count.nil?
421
+ invalid_properties.push('invalid value for "completed_count", completed_count cannot be nil.')
422
+ end
423
+
424
+ if @success_count.nil?
425
+ invalid_properties.push('invalid value for "success_count", success_count cannot be nil.')
426
+ end
427
+
428
+ if @not_found_count.nil?
429
+ invalid_properties.push('invalid value for "not_found_count", not_found_count cannot be nil.')
430
+ end
431
+
432
+ if @error_count.nil?
433
+ invalid_properties.push('invalid value for "error_count", error_count cannot be nil.')
434
+ end
435
+
436
+ if @reserved_amount_micros.nil?
437
+ invalid_properties.push('invalid value for "reserved_amount_micros", reserved_amount_micros cannot be nil.')
438
+ end
439
+
440
+ if @actual_amount_micros.nil?
441
+ invalid_properties.push('invalid value for "actual_amount_micros", actual_amount_micros cannot be nil.')
442
+ end
443
+
444
+ if @created_at.nil?
445
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
446
+ end
447
+
448
+ if @updated_at.nil?
449
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
450
+ end
451
+
452
+ invalid_properties
453
+ end
454
+
455
+ # Check to see if the all the properties in the model are valid
456
+ # @return true if the model is valid
457
+ def valid?
458
+ warn '[DEPRECATED] the `valid?` method is obsolete'
459
+ return false if @id.nil?
460
+ return false if @job_type.nil?
461
+ job_type_validator = EnumAttributeValidator.new('String', ["finder_batch", "probe_batch"])
462
+ return false unless job_type_validator.valid?(@job_type)
463
+ return false if @status.nil?
464
+ status_validator = EnumAttributeValidator.new('String', ["queued", "processing", "completed", "failed", "canceled"])
465
+ return false unless status_validator.valid?(@status)
466
+ return false if @deadline_at.nil?
467
+ return false if @estimated_runtime_seconds.nil?
468
+ return false if @scheduled_start_at.nil?
469
+ return false if @callback_status.nil?
470
+ callback_status_validator = EnumAttributeValidator.new('String', ["none", "pending", "delivered", "failed"])
471
+ return false unless callback_status_validator.valid?(@callback_status)
472
+ return false if @callback_attempts.nil?
473
+ return false if @requested_count.nil?
474
+ return false if @completed_count.nil?
475
+ return false if @success_count.nil?
476
+ return false if @not_found_count.nil?
477
+ return false if @error_count.nil?
478
+ return false if @reserved_amount_micros.nil?
479
+ return false if @actual_amount_micros.nil?
480
+ return false if @created_at.nil?
481
+ return false if @updated_at.nil?
482
+ true
483
+ end
484
+
485
+ # Custom attribute writer method with validation
486
+ # @param [Object] id Value to be assigned
487
+ def id=(id)
488
+ if id.nil?
489
+ fail ArgumentError, 'id cannot be nil'
490
+ end
491
+
492
+ @id = id
493
+ end
494
+
495
+ # Custom attribute writer method checking allowed values (enum).
496
+ # @param [Object] job_type Object to be assigned
497
+ def job_type=(job_type)
498
+ validator = EnumAttributeValidator.new('String', ["finder_batch", "probe_batch"])
499
+ unless validator.valid?(job_type)
500
+ fail ArgumentError, "invalid value for \"job_type\", must be one of #{validator.allowable_values}."
501
+ end
502
+ @job_type = job_type
503
+ end
504
+
505
+ # Custom attribute writer method checking allowed values (enum).
506
+ # @param [Object] status Object to be assigned
507
+ def status=(status)
508
+ validator = EnumAttributeValidator.new('String', ["queued", "processing", "completed", "failed", "canceled"])
509
+ unless validator.valid?(status)
510
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
511
+ end
512
+ @status = status
513
+ end
514
+
515
+ # Custom attribute writer method with validation
516
+ # @param [Object] deadline_at Value to be assigned
517
+ def deadline_at=(deadline_at)
518
+ if deadline_at.nil?
519
+ fail ArgumentError, 'deadline_at cannot be nil'
520
+ end
521
+
522
+ @deadline_at = deadline_at
523
+ end
524
+
525
+ # Custom attribute writer method with validation
526
+ # @param [Object] estimated_runtime_seconds Value to be assigned
527
+ def estimated_runtime_seconds=(estimated_runtime_seconds)
528
+ if estimated_runtime_seconds.nil?
529
+ fail ArgumentError, 'estimated_runtime_seconds cannot be nil'
530
+ end
531
+
532
+ @estimated_runtime_seconds = estimated_runtime_seconds
533
+ end
534
+
535
+ # Custom attribute writer method with validation
536
+ # @param [Object] scheduled_start_at Value to be assigned
537
+ def scheduled_start_at=(scheduled_start_at)
538
+ if scheduled_start_at.nil?
539
+ fail ArgumentError, 'scheduled_start_at cannot be nil'
540
+ end
541
+
542
+ @scheduled_start_at = scheduled_start_at
543
+ end
544
+
545
+ # Custom attribute writer method checking allowed values (enum).
546
+ # @param [Object] callback_status Object to be assigned
547
+ def callback_status=(callback_status)
548
+ validator = EnumAttributeValidator.new('String', ["none", "pending", "delivered", "failed"])
549
+ unless validator.valid?(callback_status)
550
+ fail ArgumentError, "invalid value for \"callback_status\", must be one of #{validator.allowable_values}."
551
+ end
552
+ @callback_status = callback_status
553
+ end
554
+
555
+ # Custom attribute writer method with validation
556
+ # @param [Object] callback_attempts Value to be assigned
557
+ def callback_attempts=(callback_attempts)
558
+ if callback_attempts.nil?
559
+ fail ArgumentError, 'callback_attempts cannot be nil'
560
+ end
561
+
562
+ @callback_attempts = callback_attempts
563
+ end
564
+
565
+ # Custom attribute writer method with validation
566
+ # @param [Object] requested_count Value to be assigned
567
+ def requested_count=(requested_count)
568
+ if requested_count.nil?
569
+ fail ArgumentError, 'requested_count cannot be nil'
570
+ end
571
+
572
+ @requested_count = requested_count
573
+ end
574
+
575
+ # Custom attribute writer method with validation
576
+ # @param [Object] completed_count Value to be assigned
577
+ def completed_count=(completed_count)
578
+ if completed_count.nil?
579
+ fail ArgumentError, 'completed_count cannot be nil'
580
+ end
581
+
582
+ @completed_count = completed_count
583
+ end
584
+
585
+ # Custom attribute writer method with validation
586
+ # @param [Object] success_count Value to be assigned
587
+ def success_count=(success_count)
588
+ if success_count.nil?
589
+ fail ArgumentError, 'success_count cannot be nil'
590
+ end
591
+
592
+ @success_count = success_count
593
+ end
594
+
595
+ # Custom attribute writer method with validation
596
+ # @param [Object] not_found_count Value to be assigned
597
+ def not_found_count=(not_found_count)
598
+ if not_found_count.nil?
599
+ fail ArgumentError, 'not_found_count cannot be nil'
600
+ end
601
+
602
+ @not_found_count = not_found_count
603
+ end
604
+
605
+ # Custom attribute writer method with validation
606
+ # @param [Object] error_count Value to be assigned
607
+ def error_count=(error_count)
608
+ if error_count.nil?
609
+ fail ArgumentError, 'error_count cannot be nil'
610
+ end
611
+
612
+ @error_count = error_count
613
+ end
614
+
615
+ # Custom attribute writer method with validation
616
+ # @param [Object] reserved_amount_micros Value to be assigned
617
+ def reserved_amount_micros=(reserved_amount_micros)
618
+ if reserved_amount_micros.nil?
619
+ fail ArgumentError, 'reserved_amount_micros cannot be nil'
620
+ end
621
+
622
+ @reserved_amount_micros = reserved_amount_micros
623
+ end
624
+
625
+ # Custom attribute writer method with validation
626
+ # @param [Object] actual_amount_micros Value to be assigned
627
+ def actual_amount_micros=(actual_amount_micros)
628
+ if actual_amount_micros.nil?
629
+ fail ArgumentError, 'actual_amount_micros cannot be nil'
630
+ end
631
+
632
+ @actual_amount_micros = actual_amount_micros
633
+ end
634
+
635
+ # Custom attribute writer method with validation
636
+ # @param [Object] created_at Value to be assigned
637
+ def created_at=(created_at)
638
+ if created_at.nil?
639
+ fail ArgumentError, 'created_at cannot be nil'
640
+ end
641
+
642
+ @created_at = created_at
643
+ end
644
+
645
+ # Custom attribute writer method with validation
646
+ # @param [Object] updated_at Value to be assigned
647
+ def updated_at=(updated_at)
648
+ if updated_at.nil?
649
+ fail ArgumentError, 'updated_at cannot be nil'
650
+ end
651
+
652
+ @updated_at = updated_at
653
+ end
654
+
655
+ # Checks equality by comparing each attribute.
656
+ # @param [Object] Object to be compared
657
+ def ==(o)
658
+ return true if self.equal?(o)
659
+ self.class == o.class &&
660
+ id == o.id &&
661
+ job_type == o.job_type &&
662
+ status == o.status &&
663
+ deadline_at == o.deadline_at &&
664
+ estimated_runtime_seconds == o.estimated_runtime_seconds &&
665
+ scheduled_start_at == o.scheduled_start_at &&
666
+ callback_url == o.callback_url &&
667
+ callback_status == o.callback_status &&
668
+ callback_attempts == o.callback_attempts &&
669
+ callback_last_error == o.callback_last_error &&
670
+ requested_count == o.requested_count &&
671
+ completed_count == o.completed_count &&
672
+ success_count == o.success_count &&
673
+ not_found_count == o.not_found_count &&
674
+ error_count == o.error_count &&
675
+ reserved_amount_micros == o.reserved_amount_micros &&
676
+ actual_amount_micros == o.actual_amount_micros &&
677
+ progress_percent == o.progress_percent &&
678
+ summary == o.summary &&
679
+ metadata == o.metadata &&
680
+ started_at == o.started_at &&
681
+ completed_at == o.completed_at &&
682
+ history_expires_at == o.history_expires_at &&
683
+ results_pruned_at == o.results_pruned_at &&
684
+ artifact_available == o.artifact_available &&
685
+ artifact_json_url == o.artifact_json_url &&
686
+ artifact_size_bytes == o.artifact_size_bytes &&
687
+ artifact_uploaded_at == o.artifact_uploaded_at &&
688
+ created_at == o.created_at &&
689
+ updated_at == o.updated_at
690
+ end
691
+
692
+ # @see the `==` method
693
+ # @param [Object] Object to be compared
694
+ def eql?(o)
695
+ self == o
696
+ end
697
+
698
+ # Calculates hash code according to all attributes.
699
+ # @return [Integer] Hash code
700
+ def hash
701
+ [id, job_type, status, deadline_at, estimated_runtime_seconds, scheduled_start_at, callback_url, callback_status, callback_attempts, callback_last_error, requested_count, completed_count, success_count, not_found_count, error_count, reserved_amount_micros, actual_amount_micros, progress_percent, summary, metadata, started_at, completed_at, history_expires_at, results_pruned_at, artifact_available, artifact_json_url, artifact_size_bytes, artifact_uploaded_at, created_at, updated_at].hash
702
+ end
703
+
704
+ # Builds the object from hash
705
+ # @param [Hash] attributes Model attributes in the form of hash
706
+ # @return [Object] Returns the model itself
707
+ def self.build_from_hash(attributes)
708
+ return nil unless attributes.is_a?(Hash)
709
+ attributes = attributes.transform_keys(&:to_sym)
710
+ transformed_hash = {}
711
+ openapi_types.each_pair do |key, type|
712
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
713
+ transformed_hash["#{key}"] = nil
714
+ elsif type =~ /\AArray<(.*)>/i
715
+ # check to ensure the input is an array given that the attribute
716
+ # is documented as an array but the input is not
717
+ if attributes[attribute_map[key]].is_a?(Array)
718
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
719
+ end
720
+ elsif !attributes[attribute_map[key]].nil?
721
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
722
+ end
723
+ end
724
+ new(transformed_hash)
725
+ end
726
+
727
+ # Returns the object in the form of hash
728
+ # @return [Hash] Returns the object in the form of hash
729
+ def to_hash
730
+ hash = {}
731
+ self.class.attribute_map.each_pair do |attr, param|
732
+ value = self.send(attr)
733
+ if value.nil?
734
+ is_nullable = self.class.openapi_nullable.include?(attr)
735
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
736
+ end
737
+
738
+ hash[param] = _to_hash(value)
739
+ end
740
+ hash
741
+ end
742
+
743
+ end
744
+
745
+ end