cloudreactor_api_client 0.1.0.pre

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 (151) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +92 -0
  4. data/cloudreactor_api_client.md +226 -0
  5. data/lib/cloudreactor_api_client/api/alert_methods_api.rb +482 -0
  6. data/lib/cloudreactor_api_client/api/email_notification_profiles_api.rb +482 -0
  7. data/lib/cloudreactor_api_client/api/pagerduty_profiles_api.rb +482 -0
  8. data/lib/cloudreactor_api_client/api/run_environments_api.rb +479 -0
  9. data/lib/cloudreactor_api_client/api/task_executions_api.rb +409 -0
  10. data/lib/cloudreactor_api_client/api/tasks_api.rb +412 -0
  11. data/lib/cloudreactor_api_client/api/workflow_executions_api.rb +549 -0
  12. data/lib/cloudreactor_api_client/api/workflow_task_instances_api.rb +424 -0
  13. data/lib/cloudreactor_api_client/api/workflow_transitions_api.rb +406 -0
  14. data/lib/cloudreactor_api_client/api/workflows_api.rb +482 -0
  15. data/lib/cloudreactor_api_client/api_client.rb +390 -0
  16. data/lib/cloudreactor_api_client/api_error.rb +57 -0
  17. data/lib/cloudreactor_api_client/configuration.rb +277 -0
  18. data/lib/cloudreactor_api_client/models/alert_method.rb +449 -0
  19. data/lib/cloudreactor_api_client/models/aws_ecs_execution_method.rb +517 -0
  20. data/lib/cloudreactor_api_client/models/aws_ecs_execution_method_capability.rb +565 -0
  21. data/lib/cloudreactor_api_client/models/aws_ecs_launch_type.rb +37 -0
  22. data/lib/cloudreactor_api_client/models/aws_ecs_run_environment_execution_method_capability.rb +476 -0
  23. data/lib/cloudreactor_api_client/models/aws_ecs_service_load_balancer_details.rb +307 -0
  24. data/lib/cloudreactor_api_client/models/aws_ecs_service_options.rb +308 -0
  25. data/lib/cloudreactor_api_client/models/current_service_info.rb +255 -0
  26. data/lib/cloudreactor_api_client/models/email_notification_profile.rb +454 -0
  27. data/lib/cloudreactor_api_client/models/execution_method_capability.rb +54 -0
  28. data/lib/cloudreactor_api_client/models/failure_behavior_enum.rb +38 -0
  29. data/lib/cloudreactor_api_client/models/group.rb +268 -0
  30. data/lib/cloudreactor_api_client/models/link.rb +301 -0
  31. data/lib/cloudreactor_api_client/models/name_and_uuid.rb +236 -0
  32. data/lib/cloudreactor_api_client/models/notification_severity.rb +39 -0
  33. data/lib/cloudreactor_api_client/models/pager_duty_profile.rb +484 -0
  34. data/lib/cloudreactor_api_client/models/paginated_alert_method_list.rb +247 -0
  35. data/lib/cloudreactor_api_client/models/paginated_email_notification_profile_list.rb +247 -0
  36. data/lib/cloudreactor_api_client/models/paginated_pager_duty_profile_list.rb +247 -0
  37. data/lib/cloudreactor_api_client/models/paginated_run_environment_list.rb +247 -0
  38. data/lib/cloudreactor_api_client/models/paginated_task_execution_list.rb +247 -0
  39. data/lib/cloudreactor_api_client/models/paginated_task_list.rb +247 -0
  40. data/lib/cloudreactor_api_client/models/paginated_workflow_execution_summary_list.rb +247 -0
  41. data/lib/cloudreactor_api_client/models/paginated_workflow_summary_list.rb +247 -0
  42. data/lib/cloudreactor_api_client/models/paginated_workflow_task_instance_list.rb +247 -0
  43. data/lib/cloudreactor_api_client/models/paginated_workflow_transition_list.rb +247 -0
  44. data/lib/cloudreactor_api_client/models/patched_alert_method.rb +405 -0
  45. data/lib/cloudreactor_api_client/models/patched_email_notification_profile.rb +415 -0
  46. data/lib/cloudreactor_api_client/models/patched_pager_duty_profile.rb +436 -0
  47. data/lib/cloudreactor_api_client/models/patched_run_environment.rb +511 -0
  48. data/lib/cloudreactor_api_client/models/patched_task.rb +897 -0
  49. data/lib/cloudreactor_api_client/models/patched_task_execution.rb +1904 -0
  50. data/lib/cloudreactor_api_client/models/patched_workflow.rb +507 -0
  51. data/lib/cloudreactor_api_client/models/patched_workflow_execution.rb +559 -0
  52. data/lib/cloudreactor_api_client/models/patched_workflow_task_instance.rb +676 -0
  53. data/lib/cloudreactor_api_client/models/patched_workflow_transition.rb +432 -0
  54. data/lib/cloudreactor_api_client/models/propagate_tags_enum.rb +37 -0
  55. data/lib/cloudreactor_api_client/models/rule_type_enum.rb +43 -0
  56. data/lib/cloudreactor_api_client/models/run_environment.rb +555 -0
  57. data/lib/cloudreactor_api_client/models/start_transition_condition_enum.rb +39 -0
  58. data/lib/cloudreactor_api_client/models/stop_reason_enum.rb +42 -0
  59. data/lib/cloudreactor_api_client/models/task.rb +941 -0
  60. data/lib/cloudreactor_api_client/models/task_execution.rb +1954 -0
  61. data/lib/cloudreactor_api_client/models/task_execution_status.rb +46 -0
  62. data/lib/cloudreactor_api_client/models/threshold_property_enum.rb +39 -0
  63. data/lib/cloudreactor_api_client/models/timeout_behavior_enum.rb +40 -0
  64. data/lib/cloudreactor_api_client/models/unknown_execution_method_capability.rb +238 -0
  65. data/lib/cloudreactor_api_client/models/workflow.rb +556 -0
  66. data/lib/cloudreactor_api_client/models/workflow_execution.rb +629 -0
  67. data/lib/cloudreactor_api_client/models/workflow_execution_status.rb +42 -0
  68. data/lib/cloudreactor_api_client/models/workflow_execution_summary.rb +523 -0
  69. data/lib/cloudreactor_api_client/models/workflow_summary.rb +513 -0
  70. data/lib/cloudreactor_api_client/models/workflow_task_instance.rb +715 -0
  71. data/lib/cloudreactor_api_client/models/workflow_task_instance_execution.rb +280 -0
  72. data/lib/cloudreactor_api_client/models/workflow_task_instance_execution_base.rb +270 -0
  73. data/lib/cloudreactor_api_client/models/workflow_transition.rb +467 -0
  74. data/lib/cloudreactor_api_client/models/workflow_transition_evaluation.rb +280 -0
  75. data/lib/cloudreactor_api_client/version.rb +15 -0
  76. data/lib/cloudreactor_api_client.rb +121 -0
  77. data/lib/cloudreactor_wrapper_io/status_updater.rb +124 -0
  78. data/lib/cloudreactor_wrapper_io.rb +13 -0
  79. data/spec/api/alert_methods_api_spec.rb +114 -0
  80. data/spec/api/email_notification_profiles_api_spec.rb +114 -0
  81. data/spec/api/pagerduty_profiles_api_spec.rb +114 -0
  82. data/spec/api/run_environments_api_spec.rb +113 -0
  83. data/spec/api/task_executions_api_spec.rb +102 -0
  84. data/spec/api/tasks_api_spec.rb +103 -0
  85. data/spec/api/workflow_executions_api_spec.rb +124 -0
  86. data/spec/api/workflow_task_instances_api_spec.rb +107 -0
  87. data/spec/api/workflow_transitions_api_spec.rb +101 -0
  88. data/spec/api/workflows_api_spec.rb +114 -0
  89. data/spec/api_client_spec.rb +226 -0
  90. data/spec/configuration_spec.rb +42 -0
  91. data/spec/integration/task_execution_integration_spec.rb +51 -0
  92. data/spec/models/alert_method_spec.rb +136 -0
  93. data/spec/models/aws_ecs_execution_method_capability_spec.rb +166 -0
  94. data/spec/models/aws_ecs_execution_method_spec.rb +148 -0
  95. data/spec/models/aws_ecs_launch_type_spec.rb +28 -0
  96. data/spec/models/aws_ecs_run_environment_execution_method_capability_spec.rb +130 -0
  97. data/spec/models/aws_ecs_service_load_balancer_details_spec.rb +46 -0
  98. data/spec/models/aws_ecs_service_options_spec.rb +88 -0
  99. data/spec/models/current_service_info_spec.rb +52 -0
  100. data/spec/models/email_notification_profile_spec.rb +118 -0
  101. data/spec/models/execution_method_capability_spec.rb +43 -0
  102. data/spec/models/failure_behavior_enum_spec.rb +28 -0
  103. data/spec/models/group_spec.rb +46 -0
  104. data/spec/models/link_spec.rb +70 -0
  105. data/spec/models/name_and_uuid_spec.rb +46 -0
  106. data/spec/models/notification_severity_spec.rb +28 -0
  107. data/spec/models/pager_duty_profile_spec.rb +118 -0
  108. data/spec/models/paginated_alert_method_list_spec.rb +52 -0
  109. data/spec/models/paginated_email_notification_profile_list_spec.rb +52 -0
  110. data/spec/models/paginated_pager_duty_profile_list_spec.rb +52 -0
  111. data/spec/models/paginated_run_environment_list_spec.rb +52 -0
  112. data/spec/models/paginated_task_execution_list_spec.rb +52 -0
  113. data/spec/models/paginated_task_list_spec.rb +52 -0
  114. data/spec/models/paginated_workflow_execution_summary_list_spec.rb +52 -0
  115. data/spec/models/paginated_workflow_summary_list_spec.rb +52 -0
  116. data/spec/models/paginated_workflow_task_instance_list_spec.rb +52 -0
  117. data/spec/models/paginated_workflow_transition_list_spec.rb +52 -0
  118. data/spec/models/patched_alert_method_spec.rb +136 -0
  119. data/spec/models/patched_email_notification_profile_spec.rb +118 -0
  120. data/spec/models/patched_pager_duty_profile_spec.rb +118 -0
  121. data/spec/models/patched_run_environment_spec.rb +136 -0
  122. data/spec/models/patched_task_execution_spec.rb +466 -0
  123. data/spec/models/patched_task_spec.rb +244 -0
  124. data/spec/models/patched_workflow_execution_spec.rb +172 -0
  125. data/spec/models/patched_workflow_spec.rb +142 -0
  126. data/spec/models/patched_workflow_task_instance_spec.rb +196 -0
  127. data/spec/models/patched_workflow_transition_spec.rb +118 -0
  128. data/spec/models/propagate_tags_enum_spec.rb +28 -0
  129. data/spec/models/rule_type_enum_spec.rb +28 -0
  130. data/spec/models/run_environment_spec.rb +136 -0
  131. data/spec/models/start_transition_condition_enum_spec.rb +28 -0
  132. data/spec/models/stop_reason_enum_spec.rb +28 -0
  133. data/spec/models/task_execution_spec.rb +466 -0
  134. data/spec/models/task_execution_status_spec.rb +28 -0
  135. data/spec/models/task_spec.rb +244 -0
  136. data/spec/models/threshold_property_enum_spec.rb +28 -0
  137. data/spec/models/timeout_behavior_enum_spec.rb +28 -0
  138. data/spec/models/unknown_execution_method_capability_spec.rb +40 -0
  139. data/spec/models/workflow_execution_spec.rb +172 -0
  140. data/spec/models/workflow_execution_status_spec.rb +28 -0
  141. data/spec/models/workflow_execution_summary_spec.rb +130 -0
  142. data/spec/models/workflow_spec.rb +142 -0
  143. data/spec/models/workflow_summary_spec.rb +124 -0
  144. data/spec/models/workflow_task_instance_execution_base_spec.rb +58 -0
  145. data/spec/models/workflow_task_instance_execution_spec.rb +64 -0
  146. data/spec/models/workflow_task_instance_spec.rb +196 -0
  147. data/spec/models/workflow_transition_evaluation_spec.rb +64 -0
  148. data/spec/models/workflow_transition_spec.rb +118 -0
  149. data/spec/spec_helper.rb +111 -0
  150. data/spec/wrapper_io/status_updater_spec.rb +147 -0
  151. metadata +305 -0
@@ -0,0 +1,513 @@
1
+ =begin
2
+ #CloudReactor API
3
+
4
+ #CloudReactor API Documentation
5
+
6
+ The version of the OpenAPI document: 0.2.0
7
+ Contact: jeff@cloudreactor.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module CloudReactorAPIClient
17
+ # Selected properties of Workflows.
18
+ class WorkflowSummary
19
+ attr_accessor :url
20
+
21
+ attr_accessor :uuid
22
+
23
+ attr_accessor :name
24
+
25
+ attr_accessor :description
26
+
27
+ attr_accessor :dashboard_url
28
+
29
+ attr_accessor :schedule
30
+
31
+ attr_accessor :max_concurrency
32
+
33
+ attr_accessor :max_age_seconds
34
+
35
+ attr_accessor :default_max_retries
36
+
37
+ attr_accessor :latest_workflow_execution
38
+
39
+ # Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
40
+ attr_accessor :created_by_user
41
+
42
+ attr_accessor :created_by_group
43
+
44
+ attr_accessor :run_environment
45
+
46
+ attr_accessor :enabled
47
+
48
+ attr_accessor :created_at
49
+
50
+ attr_accessor :updated_at
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'url' => :'url',
56
+ :'uuid' => :'uuid',
57
+ :'name' => :'name',
58
+ :'description' => :'description',
59
+ :'dashboard_url' => :'dashboard_url',
60
+ :'schedule' => :'schedule',
61
+ :'max_concurrency' => :'max_concurrency',
62
+ :'max_age_seconds' => :'max_age_seconds',
63
+ :'default_max_retries' => :'default_max_retries',
64
+ :'latest_workflow_execution' => :'latest_workflow_execution',
65
+ :'created_by_user' => :'created_by_user',
66
+ :'created_by_group' => :'created_by_group',
67
+ :'run_environment' => :'run_environment',
68
+ :'enabled' => :'enabled',
69
+ :'created_at' => :'created_at',
70
+ :'updated_at' => :'updated_at'
71
+ }
72
+ end
73
+
74
+ # Returns all the JSON keys this model knows about
75
+ def self.acceptable_attributes
76
+ attribute_map.values
77
+ end
78
+
79
+ # Attribute type mapping.
80
+ def self.openapi_types
81
+ {
82
+ :'url' => :'String',
83
+ :'uuid' => :'String',
84
+ :'name' => :'String',
85
+ :'description' => :'String',
86
+ :'dashboard_url' => :'String',
87
+ :'schedule' => :'String',
88
+ :'max_concurrency' => :'Integer',
89
+ :'max_age_seconds' => :'Integer',
90
+ :'default_max_retries' => :'Integer',
91
+ :'latest_workflow_execution' => :'WorkflowExecutionSummary',
92
+ :'created_by_user' => :'String',
93
+ :'created_by_group' => :'Group',
94
+ :'run_environment' => :'NameAndUuid',
95
+ :'enabled' => :'Boolean',
96
+ :'created_at' => :'Time',
97
+ :'updated_at' => :'Time'
98
+ }
99
+ end
100
+
101
+ # List of attributes with nullable: true
102
+ def self.openapi_nullable
103
+ Set.new([
104
+ :'max_concurrency',
105
+ :'max_age_seconds',
106
+ :'created_by_group',
107
+ :'run_environment',
108
+ ])
109
+ end
110
+
111
+ # Initializes the object
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ def initialize(attributes = {})
114
+ if (!attributes.is_a?(Hash))
115
+ fail ArgumentError, "The input argument (attributes) must be a hash in `CloudReactorAPIClient::WorkflowSummary` initialize method"
116
+ end
117
+
118
+ # check to see if the attribute exists and convert string to symbol for hash key
119
+ attributes = attributes.each_with_object({}) { |(k, v), h|
120
+ if (!self.class.attribute_map.key?(k.to_sym))
121
+ fail ArgumentError, "`#{k}` is not a valid attribute in `CloudReactorAPIClient::WorkflowSummary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
122
+ end
123
+ h[k.to_sym] = v
124
+ }
125
+
126
+ if attributes.key?(:'url')
127
+ self.url = attributes[:'url']
128
+ end
129
+
130
+ if attributes.key?(:'uuid')
131
+ self.uuid = attributes[:'uuid']
132
+ end
133
+
134
+ if attributes.key?(:'name')
135
+ self.name = attributes[:'name']
136
+ end
137
+
138
+ if attributes.key?(:'description')
139
+ self.description = attributes[:'description']
140
+ end
141
+
142
+ if attributes.key?(:'dashboard_url')
143
+ self.dashboard_url = attributes[:'dashboard_url']
144
+ end
145
+
146
+ if attributes.key?(:'schedule')
147
+ self.schedule = attributes[:'schedule']
148
+ end
149
+
150
+ if attributes.key?(:'max_concurrency')
151
+ self.max_concurrency = attributes[:'max_concurrency']
152
+ end
153
+
154
+ if attributes.key?(:'max_age_seconds')
155
+ self.max_age_seconds = attributes[:'max_age_seconds']
156
+ end
157
+
158
+ if attributes.key?(:'default_max_retries')
159
+ self.default_max_retries = attributes[:'default_max_retries']
160
+ end
161
+
162
+ if attributes.key?(:'latest_workflow_execution')
163
+ self.latest_workflow_execution = attributes[:'latest_workflow_execution']
164
+ end
165
+
166
+ if attributes.key?(:'created_by_user')
167
+ self.created_by_user = attributes[:'created_by_user']
168
+ end
169
+
170
+ if attributes.key?(:'created_by_group')
171
+ self.created_by_group = attributes[:'created_by_group']
172
+ end
173
+
174
+ if attributes.key?(:'run_environment')
175
+ self.run_environment = attributes[:'run_environment']
176
+ end
177
+
178
+ if attributes.key?(:'enabled')
179
+ self.enabled = attributes[:'enabled']
180
+ end
181
+
182
+ if attributes.key?(:'created_at')
183
+ self.created_at = attributes[:'created_at']
184
+ end
185
+
186
+ if attributes.key?(:'updated_at')
187
+ self.updated_at = attributes[:'updated_at']
188
+ end
189
+ end
190
+
191
+ # Show invalid properties with the reasons. Usually used together with valid?
192
+ # @return Array for valid properties with the reasons
193
+ def list_invalid_properties
194
+ invalid_properties = Array.new
195
+ if @url.nil?
196
+ invalid_properties.push('invalid value for "url", url cannot be nil.')
197
+ end
198
+
199
+ if @uuid.nil?
200
+ invalid_properties.push('invalid value for "uuid", uuid cannot be nil.')
201
+ end
202
+
203
+ if @name.nil?
204
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
205
+ end
206
+
207
+ if @name.to_s.length > 200
208
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 200.')
209
+ end
210
+
211
+ if !@description.nil? && @description.to_s.length > 5000
212
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 5000.')
213
+ end
214
+
215
+ if @dashboard_url.nil?
216
+ invalid_properties.push('invalid value for "dashboard_url", dashboard_url cannot be nil.')
217
+ end
218
+
219
+ if !@schedule.nil? && @schedule.to_s.length > 1000
220
+ invalid_properties.push('invalid value for "schedule", the character length must be smaller than or equal to 1000.')
221
+ end
222
+
223
+ if !@max_concurrency.nil? && @max_concurrency > 2147483647
224
+ invalid_properties.push('invalid value for "max_concurrency", must be smaller than or equal to 2147483647.')
225
+ end
226
+
227
+ if !@max_concurrency.nil? && @max_concurrency < -2147483648
228
+ invalid_properties.push('invalid value for "max_concurrency", must be greater than or equal to -2147483648.')
229
+ end
230
+
231
+ if !@max_age_seconds.nil? && @max_age_seconds > 2147483647
232
+ invalid_properties.push('invalid value for "max_age_seconds", must be smaller than or equal to 2147483647.')
233
+ end
234
+
235
+ if !@max_age_seconds.nil? && @max_age_seconds < -2147483648
236
+ invalid_properties.push('invalid value for "max_age_seconds", must be greater than or equal to -2147483648.')
237
+ end
238
+
239
+ if !@default_max_retries.nil? && @default_max_retries > 2147483647
240
+ invalid_properties.push('invalid value for "default_max_retries", must be smaller than or equal to 2147483647.')
241
+ end
242
+
243
+ if !@default_max_retries.nil? && @default_max_retries < -2147483648
244
+ invalid_properties.push('invalid value for "default_max_retries", must be greater than or equal to -2147483648.')
245
+ end
246
+
247
+ if @created_by_user.nil?
248
+ invalid_properties.push('invalid value for "created_by_user", created_by_user cannot be nil.')
249
+ end
250
+
251
+ if @created_at.nil?
252
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
253
+ end
254
+
255
+ if @updated_at.nil?
256
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
257
+ end
258
+
259
+ invalid_properties
260
+ end
261
+
262
+ # Check to see if the all the properties in the model are valid
263
+ # @return true if the model is valid
264
+ def valid?
265
+ return false if @url.nil?
266
+ return false if @uuid.nil?
267
+ return false if @name.nil?
268
+ return false if @name.to_s.length > 200
269
+ return false if !@description.nil? && @description.to_s.length > 5000
270
+ return false if @dashboard_url.nil?
271
+ return false if !@schedule.nil? && @schedule.to_s.length > 1000
272
+ return false if !@max_concurrency.nil? && @max_concurrency > 2147483647
273
+ return false if !@max_concurrency.nil? && @max_concurrency < -2147483648
274
+ return false if !@max_age_seconds.nil? && @max_age_seconds > 2147483647
275
+ return false if !@max_age_seconds.nil? && @max_age_seconds < -2147483648
276
+ return false if !@default_max_retries.nil? && @default_max_retries > 2147483647
277
+ return false if !@default_max_retries.nil? && @default_max_retries < -2147483648
278
+ return false if @created_by_user.nil?
279
+ return false if @created_at.nil?
280
+ return false if @updated_at.nil?
281
+ true
282
+ end
283
+
284
+ # Custom attribute writer method with validation
285
+ # @param [Object] name Value to be assigned
286
+ def name=(name)
287
+ if name.nil?
288
+ fail ArgumentError, 'name cannot be nil'
289
+ end
290
+
291
+ if name.to_s.length > 200
292
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 200.'
293
+ end
294
+
295
+ @name = name
296
+ end
297
+
298
+ # Custom attribute writer method with validation
299
+ # @param [Object] description Value to be assigned
300
+ def description=(description)
301
+ if !description.nil? && description.to_s.length > 5000
302
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 5000.'
303
+ end
304
+
305
+ @description = description
306
+ end
307
+
308
+ # Custom attribute writer method with validation
309
+ # @param [Object] schedule Value to be assigned
310
+ def schedule=(schedule)
311
+ if !schedule.nil? && schedule.to_s.length > 1000
312
+ fail ArgumentError, 'invalid value for "schedule", the character length must be smaller than or equal to 1000.'
313
+ end
314
+
315
+ @schedule = schedule
316
+ end
317
+
318
+ # Custom attribute writer method with validation
319
+ # @param [Object] max_concurrency Value to be assigned
320
+ def max_concurrency=(max_concurrency)
321
+ if !max_concurrency.nil? && max_concurrency > 2147483647
322
+ fail ArgumentError, 'invalid value for "max_concurrency", must be smaller than or equal to 2147483647.'
323
+ end
324
+
325
+ if !max_concurrency.nil? && max_concurrency < -2147483648
326
+ fail ArgumentError, 'invalid value for "max_concurrency", must be greater than or equal to -2147483648.'
327
+ end
328
+
329
+ @max_concurrency = max_concurrency
330
+ end
331
+
332
+ # Custom attribute writer method with validation
333
+ # @param [Object] max_age_seconds Value to be assigned
334
+ def max_age_seconds=(max_age_seconds)
335
+ if !max_age_seconds.nil? && max_age_seconds > 2147483647
336
+ fail ArgumentError, 'invalid value for "max_age_seconds", must be smaller than or equal to 2147483647.'
337
+ end
338
+
339
+ if !max_age_seconds.nil? && max_age_seconds < -2147483648
340
+ fail ArgumentError, 'invalid value for "max_age_seconds", must be greater than or equal to -2147483648.'
341
+ end
342
+
343
+ @max_age_seconds = max_age_seconds
344
+ end
345
+
346
+ # Custom attribute writer method with validation
347
+ # @param [Object] default_max_retries Value to be assigned
348
+ def default_max_retries=(default_max_retries)
349
+ if !default_max_retries.nil? && default_max_retries > 2147483647
350
+ fail ArgumentError, 'invalid value for "default_max_retries", must be smaller than or equal to 2147483647.'
351
+ end
352
+
353
+ if !default_max_retries.nil? && default_max_retries < -2147483648
354
+ fail ArgumentError, 'invalid value for "default_max_retries", must be greater than or equal to -2147483648.'
355
+ end
356
+
357
+ @default_max_retries = default_max_retries
358
+ end
359
+
360
+ # Checks equality by comparing each attribute.
361
+ # @param [Object] Object to be compared
362
+ def ==(o)
363
+ return true if self.equal?(o)
364
+ self.class == o.class &&
365
+ url == o.url &&
366
+ uuid == o.uuid &&
367
+ name == o.name &&
368
+ description == o.description &&
369
+ dashboard_url == o.dashboard_url &&
370
+ schedule == o.schedule &&
371
+ max_concurrency == o.max_concurrency &&
372
+ max_age_seconds == o.max_age_seconds &&
373
+ default_max_retries == o.default_max_retries &&
374
+ latest_workflow_execution == o.latest_workflow_execution &&
375
+ created_by_user == o.created_by_user &&
376
+ created_by_group == o.created_by_group &&
377
+ run_environment == o.run_environment &&
378
+ enabled == o.enabled &&
379
+ created_at == o.created_at &&
380
+ updated_at == o.updated_at
381
+ end
382
+
383
+ # @see the `==` method
384
+ # @param [Object] Object to be compared
385
+ def eql?(o)
386
+ self == o
387
+ end
388
+
389
+ # Calculates hash code according to all attributes.
390
+ # @return [Integer] Hash code
391
+ def hash
392
+ [url, uuid, name, description, dashboard_url, schedule, max_concurrency, max_age_seconds, default_max_retries, latest_workflow_execution, created_by_user, created_by_group, run_environment, enabled, created_at, updated_at].hash
393
+ end
394
+
395
+ # Builds the object from hash
396
+ # @param [Hash] attributes Model attributes in the form of hash
397
+ # @return [Object] Returns the model itself
398
+ def self.build_from_hash(attributes)
399
+ new.build_from_hash(attributes)
400
+ end
401
+
402
+ # Builds the object from hash
403
+ # @param [Hash] attributes Model attributes in the form of hash
404
+ # @return [Object] Returns the model itself
405
+ def build_from_hash(attributes)
406
+ return nil unless attributes.is_a?(Hash)
407
+ self.class.openapi_types.each_pair do |key, type|
408
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
409
+ self.send("#{key}=", nil)
410
+ elsif type =~ /\AArray<(.*)>/i
411
+ # check to ensure the input is an array given that the attribute
412
+ # is documented as an array but the input is not
413
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
414
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
415
+ end
416
+ elsif !attributes[self.class.attribute_map[key]].nil?
417
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
418
+ end
419
+ end
420
+
421
+ self
422
+ end
423
+
424
+ # Deserializes the data based on type
425
+ # @param string type Data type
426
+ # @param string value Value to be deserialized
427
+ # @return [Object] Deserialized data
428
+ def _deserialize(type, value)
429
+ case type.to_sym
430
+ when :Time
431
+ Time.parse(value)
432
+ when :Date
433
+ Date.parse(value)
434
+ when :String
435
+ value.to_s
436
+ when :Integer
437
+ value.to_i
438
+ when :Float
439
+ value.to_f
440
+ when :Boolean
441
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
442
+ true
443
+ else
444
+ false
445
+ end
446
+ when :Object
447
+ # generic object (usually a Hash), return directly
448
+ value
449
+ when /\AArray<(?<inner_type>.+)>\z/
450
+ inner_type = Regexp.last_match[:inner_type]
451
+ value.map { |v| _deserialize(inner_type, v) }
452
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
453
+ k_type = Regexp.last_match[:k_type]
454
+ v_type = Regexp.last_match[:v_type]
455
+ {}.tap do |hash|
456
+ value.each do |k, v|
457
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
458
+ end
459
+ end
460
+ else # model
461
+ # models (e.g. Pet) or oneOf
462
+ klass = CloudReactorAPIClient.const_get(type)
463
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
464
+ end
465
+ end
466
+
467
+ # Returns the string representation of the object
468
+ # @return [String] String presentation of the object
469
+ def to_s
470
+ to_hash.to_s
471
+ end
472
+
473
+ # to_body is an alias to to_hash (backward compatibility)
474
+ # @return [Hash] Returns the object in the form of hash
475
+ def to_body
476
+ to_hash
477
+ end
478
+
479
+ # Returns the object in the form of hash
480
+ # @return [Hash] Returns the object in the form of hash
481
+ def to_hash
482
+ hash = {}
483
+ self.class.attribute_map.each_pair do |attr, param|
484
+ value = self.send(attr)
485
+ if value.nil?
486
+ is_nullable = self.class.openapi_nullable.include?(attr)
487
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
488
+ end
489
+
490
+ hash[param] = _to_hash(value)
491
+ end
492
+ hash
493
+ end
494
+
495
+ # Outputs non-array value in the form of hash
496
+ # For object, use to_hash. Otherwise, just return the value
497
+ # @param [Object] value Any valid value
498
+ # @return [Hash] Returns the value in the form of hash
499
+ def _to_hash(value)
500
+ if value.is_a?(Array)
501
+ value.compact.map { |v| _to_hash(v) }
502
+ elsif value.is_a?(Hash)
503
+ {}.tap do |hash|
504
+ value.each { |k, v| hash[k] = _to_hash(v) }
505
+ end
506
+ elsif value.respond_to? :to_hash
507
+ value.to_hash
508
+ else
509
+ value
510
+ end
511
+ end
512
+ end
513
+ end