sendmux-management 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 (131) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +3 -0
  4. data/lib/sendmux/management/client.rb +66 -0
  5. data/lib/sendmux/management/version.rb +7 -0
  6. data/lib/sendmux/management.rb +12 -0
  7. data/lib/sendmux_management_generated/api/billing_api.rb +221 -0
  8. data/lib/sendmux_management_generated/api/domain_filters_api.rb +161 -0
  9. data/lib/sendmux_management_generated/api/domains_api.rb +419 -0
  10. data/lib/sendmux_management_generated/api/emails_api.rb +258 -0
  11. data/lib/sendmux_management_generated/api/inboxes_api.rb +175 -0
  12. data/lib/sendmux_management_generated/api/mailbox_filters_api.rb +161 -0
  13. data/lib/sendmux_management_generated/api/mailboxes_api.rb +659 -0
  14. data/lib/sendmux_management_generated/api/sending_accounts_api.rb +946 -0
  15. data/lib/sendmux_management_generated/api/webhooks_api.rb +666 -0
  16. data/lib/sendmux_management_generated/api_client.rb +441 -0
  17. data/lib/sendmux_management_generated/api_error.rb +58 -0
  18. data/lib/sendmux_management_generated/api_model_base.rb +88 -0
  19. data/lib/sendmux_management_generated/configuration.rb +393 -0
  20. data/lib/sendmux_management_generated/models/api_error_detail.rb +219 -0
  21. data/lib/sendmux_management_generated/models/api_error_error.rb +275 -0
  22. data/lib/sendmux_management_generated/models/api_error_meta.rb +164 -0
  23. data/lib/sendmux_management_generated/models/api_error_response.rb +216 -0
  24. data/lib/sendmux_management_generated/models/balance.rb +293 -0
  25. data/lib/sendmux_management_generated/models/balance_auto_topup.rb +226 -0
  26. data/lib/sendmux_management_generated/models/balance_response.rb +223 -0
  27. data/lib/sendmux_management_generated/models/cursor_pagination.rb +173 -0
  28. data/lib/sendmux_management_generated/models/delivery_log_item.rb +393 -0
  29. data/lib/sendmux_management_generated/models/delivery_log_item_cursor_list_response.rb +251 -0
  30. data/lib/sendmux_management_generated/models/delivery_log_item_response.rb +223 -0
  31. data/lib/sendmux_management_generated/models/domain_deleted_response.rb +223 -0
  32. data/lib/sendmux_management_generated/models/domain_deleted_response_all_of_data.rb +190 -0
  33. data/lib/sendmux_management_generated/models/domain_item_cursor_list_response.rb +251 -0
  34. data/lib/sendmux_management_generated/models/domain_item_response.rb +223 -0
  35. data/lib/sendmux_management_generated/models/domain_verify_response.rb +223 -0
  36. data/lib/sendmux_management_generated/models/email_metrics.rb +218 -0
  37. data/lib/sendmux_management_generated/models/email_metrics_comparison.rb +294 -0
  38. data/lib/sendmux_management_generated/models/email_metrics_comparison_change_pct.rb +268 -0
  39. data/lib/sendmux_management_generated/models/email_metrics_response.rb +223 -0
  40. data/lib/sendmux_management_generated/models/email_metrics_summary.rb +268 -0
  41. data/lib/sendmux_management_generated/models/email_metrics_timeseries_inner.rb +294 -0
  42. data/lib/sendmux_management_generated/models/filter_rule.rb +242 -0
  43. data/lib/sendmux_management_generated/models/filter_state.rb +218 -0
  44. data/lib/sendmux_management_generated/models/filter_state_response.rb +223 -0
  45. data/lib/sendmux_management_generated/models/incoming_log_item.rb +465 -0
  46. data/lib/sendmux_management_generated/models/incoming_log_item_cursor_list_response.rb +251 -0
  47. data/lib/sendmux_management_generated/models/incoming_log_item_response.rb +223 -0
  48. data/lib/sendmux_management_generated/models/mailbox.rb +284 -0
  49. data/lib/sendmux_management_generated/models/mailbox_app_password_result.rb +164 -0
  50. data/lib/sendmux_management_generated/models/mailbox_app_password_result_credential.rb +359 -0
  51. data/lib/sendmux_management_generated/models/mailbox_app_password_result_response.rb +223 -0
  52. data/lib/sendmux_management_generated/models/mailbox_create_result.rb +189 -0
  53. data/lib/sendmux_management_generated/models/mailbox_create_result_response.rb +223 -0
  54. data/lib/sendmux_management_generated/models/mailbox_credential.rb +353 -0
  55. data/lib/sendmux_management_generated/models/mailbox_deleted_response.rb +223 -0
  56. data/lib/sendmux_management_generated/models/mailbox_domain.rb +358 -0
  57. data/lib/sendmux_management_generated/models/mailbox_domain_dns_records.rb +276 -0
  58. data/lib/sendmux_management_generated/models/mailbox_domain_mx_record.rb +190 -0
  59. data/lib/sendmux_management_generated/models/mailbox_domain_name_value_record.rb +191 -0
  60. data/lib/sendmux_management_generated/models/mailbox_domain_verify_checks.rb +246 -0
  61. data/lib/sendmux_management_generated/models/mailbox_domain_verify_result.rb +242 -0
  62. data/lib/sendmux_management_generated/models/mailbox_item_cursor_list_response.rb +251 -0
  63. data/lib/sendmux_management_generated/models/mailbox_item_response.rb +223 -0
  64. data/lib/sendmux_management_generated/models/mailbox_key_deleted_response.rb +223 -0
  65. data/lib/sendmux_management_generated/models/mailbox_send_scope.rb +213 -0
  66. data/lib/sendmux_management_generated/models/management_create_domain_request.rb +165 -0
  67. data/lib/sendmux_management_generated/models/management_create_mailbox_key_request.rb +182 -0
  68. data/lib/sendmux_management_generated/models/management_create_mailbox_request.rb +257 -0
  69. data/lib/sendmux_management_generated/models/management_create_mailbox_request_send_scope.rb +210 -0
  70. data/lib/sendmux_management_generated/models/management_test_webhook200_response.rb +223 -0
  71. data/lib/sendmux_management_generated/models/provider_allowed_actions.rb +268 -0
  72. data/lib/sendmux_management_generated/models/provider_create_body.rb +579 -0
  73. data/lib/sendmux_management_generated/models/provider_create_body_quotas.rb +174 -0
  74. data/lib/sendmux_management_generated/models/provider_create_body_quotas_per_day.rb +104 -0
  75. data/lib/sendmux_management_generated/models/provider_create_body_quotas_per_day_any_of.rb +215 -0
  76. data/lib/sendmux_management_generated/models/provider_deleted.rb +190 -0
  77. data/lib/sendmux_management_generated/models/provider_deleted_response.rb +223 -0
  78. data/lib/sendmux_management_generated/models/provider_item.rb +695 -0
  79. data/lib/sendmux_management_generated/models/provider_item_cursor_list_response.rb +251 -0
  80. data/lib/sendmux_management_generated/models/provider_item_response.rb +223 -0
  81. data/lib/sendmux_management_generated/models/provider_limits.rb +190 -0
  82. data/lib/sendmux_management_generated/models/provider_limits_response.rb +223 -0
  83. data/lib/sendmux_management_generated/models/provider_quota_range.rb +208 -0
  84. data/lib/sendmux_management_generated/models/provider_quotas.rb +186 -0
  85. data/lib/sendmux_management_generated/models/provider_stats.rb +325 -0
  86. data/lib/sendmux_management_generated/models/provider_stats_response.rb +223 -0
  87. data/lib/sendmux_management_generated/models/provider_status_counts.rb +242 -0
  88. data/lib/sendmux_management_generated/models/provider_test_result.rb +251 -0
  89. data/lib/sendmux_management_generated/models/provider_test_result_response.rb +223 -0
  90. data/lib/sendmux_management_generated/models/provider_type_counts.rb +246 -0
  91. data/lib/sendmux_management_generated/models/provider_update_body.rb +537 -0
  92. data/lib/sendmux_management_generated/models/provider_usage.rb +216 -0
  93. data/lib/sendmux_management_generated/models/provider_usage_item.rb +374 -0
  94. data/lib/sendmux_management_generated/models/provider_usage_response.rb +223 -0
  95. data/lib/sendmux_management_generated/models/resource_limit_snapshot.rb +420 -0
  96. data/lib/sendmux_management_generated/models/response_meta.rb +164 -0
  97. data/lib/sendmux_management_generated/models/sending_account_limit_request.rb +190 -0
  98. data/lib/sendmux_management_generated/models/sending_account_limit_request_response.rb +223 -0
  99. data/lib/sendmux_management_generated/models/set_filter_state_body.rb +226 -0
  100. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit.rb +315 -0
  101. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request.rb +361 -0
  102. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_create.rb +190 -0
  103. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_create_request.rb +368 -0
  104. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_create_response.rb +223 -0
  105. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_page.rb +176 -0
  106. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_page_response.rb +223 -0
  107. data/lib/sendmux_management_generated/models/spend_summary.rb +292 -0
  108. data/lib/sendmux_management_generated/models/spend_summary_response.rb +223 -0
  109. data/lib/sendmux_management_generated/models/success_envelope.rb +192 -0
  110. data/lib/sendmux_management_generated/models/transaction.rb +332 -0
  111. data/lib/sendmux_management_generated/models/transaction_cursor_list_response.rb +251 -0
  112. data/lib/sendmux_management_generated/models/update_mailbox_body.rb +210 -0
  113. data/lib/sendmux_management_generated/models/webhook_create_body.rb +269 -0
  114. data/lib/sendmux_management_generated/models/webhook_deleted_response.rb +223 -0
  115. data/lib/sendmux_management_generated/models/webhook_delivery_attempt.rb +562 -0
  116. data/lib/sendmux_management_generated/models/webhook_delivery_attempt_cursor_list_response.rb +251 -0
  117. data/lib/sendmux_management_generated/models/webhook_delivery_payload.rb +359 -0
  118. data/lib/sendmux_management_generated/models/webhook_delivery_payload_response.rb +223 -0
  119. data/lib/sendmux_management_generated/models/webhook_event_data.rb +395 -0
  120. data/lib/sendmux_management_generated/models/webhook_event_payload.rb +297 -0
  121. data/lib/sendmux_management_generated/models/webhook_filters.rb +168 -0
  122. data/lib/sendmux_management_generated/models/webhook_subscription.rb +380 -0
  123. data/lib/sendmux_management_generated/models/webhook_subscription_cursor_list_response.rb +251 -0
  124. data/lib/sendmux_management_generated/models/webhook_subscription_response.rb +223 -0
  125. data/lib/sendmux_management_generated/models/webhook_subscription_with_secret.rb +414 -0
  126. data/lib/sendmux_management_generated/models/webhook_subscription_with_secret_response.rb +223 -0
  127. data/lib/sendmux_management_generated/models/webhook_test_response.rb +165 -0
  128. data/lib/sendmux_management_generated/models/webhook_update_body.rb +233 -0
  129. data/lib/sendmux_management_generated/version.rb +15 -0
  130. data/lib/sendmux_management_generated.rb +158 -0
  131. metadata +247 -0
@@ -0,0 +1,562 @@
1
+ =begin
2
+ #Sendmux API
3
+
4
+ #Programmatic access to your Sendmux email infrastructure.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Sendmux::Management::Generated
17
+ class WebhookDeliveryAttempt < ApiModelBase
18
+ # ISO 8601 attempt timestamp
19
+ attr_accessor :created_at
20
+
21
+ # 1-based retry attempt number.
22
+ attr_accessor :delivery_attempt
23
+
24
+ # Public-safe network error category when no HTTP response was received.
25
+ attr_accessor :error_message
26
+
27
+ # Webhook event ID
28
+ attr_accessor :event_id
29
+
30
+ # Event types a webhook may subscribe to. `sendmux.test` is accepted so you can verify end-to-end delivery via POST /webhooks/{id}/test.
31
+ attr_accessor :event_type
32
+
33
+ # Delivery-attempt public ID
34
+ attr_accessor :id
35
+
36
+ # Maximum attempts before the subscription is marked failing.
37
+ attr_accessor :max_attempts
38
+
39
+ # Next retry timestamp when result is retrying; otherwise null.
40
+ attr_accessor :next_retry_at
41
+
42
+ # True while the delivered request payload can still be fetched.
43
+ attr_accessor :payload_available
44
+
45
+ # Timestamp when the retained request payload expires.
46
+ attr_accessor :payload_expires_at
47
+
48
+ # Size of the delivered request payload in bytes.
49
+ attr_accessor :request_payload_bytes
50
+
51
+ # SHA-256 digest of the delivered request payload.
52
+ attr_accessor :request_payload_sha256
53
+
54
+ # Truncated endpoint response preview, if any.
55
+ attr_accessor :response_body
56
+
57
+ # End-to-end delivery latency in milliseconds.
58
+ attr_accessor :response_ms
59
+
60
+ # HTTP status returned by the endpoint, or null for network/timeout failures.
61
+ attr_accessor :response_status
62
+
63
+ # Delivery result for this attempt.
64
+ attr_accessor :result
65
+
66
+ class EnumAttributeValidator
67
+ attr_reader :datatype
68
+ attr_reader :allowable_values
69
+
70
+ def initialize(datatype, allowable_values)
71
+ @allowable_values = allowable_values.map do |value|
72
+ case datatype.to_s
73
+ when /Integer/i
74
+ value.to_i
75
+ when /Float/i
76
+ value.to_f
77
+ else
78
+ value
79
+ end
80
+ end
81
+ end
82
+
83
+ def valid?(value)
84
+ !value || allowable_values.include?(value)
85
+ end
86
+ end
87
+
88
+ # Attribute mapping from ruby-style variable name to JSON key.
89
+ def self.attribute_map
90
+ {
91
+ :'created_at' => :'created_at',
92
+ :'delivery_attempt' => :'delivery_attempt',
93
+ :'error_message' => :'error_message',
94
+ :'event_id' => :'event_id',
95
+ :'event_type' => :'event_type',
96
+ :'id' => :'id',
97
+ :'max_attempts' => :'max_attempts',
98
+ :'next_retry_at' => :'next_retry_at',
99
+ :'payload_available' => :'payload_available',
100
+ :'payload_expires_at' => :'payload_expires_at',
101
+ :'request_payload_bytes' => :'request_payload_bytes',
102
+ :'request_payload_sha256' => :'request_payload_sha256',
103
+ :'response_body' => :'response_body',
104
+ :'response_ms' => :'response_ms',
105
+ :'response_status' => :'response_status',
106
+ :'result' => :'result'
107
+ }
108
+ end
109
+
110
+ # Returns attribute mapping this model knows about
111
+ def self.acceptable_attribute_map
112
+ attribute_map
113
+ end
114
+
115
+ # Returns all the JSON keys this model knows about
116
+ def self.acceptable_attributes
117
+ acceptable_attribute_map.values
118
+ end
119
+
120
+ # Attribute type mapping.
121
+ def self.openapi_types
122
+ {
123
+ :'created_at' => :'String',
124
+ :'delivery_attempt' => :'Integer',
125
+ :'error_message' => :'String',
126
+ :'event_id' => :'String',
127
+ :'event_type' => :'String',
128
+ :'id' => :'String',
129
+ :'max_attempts' => :'Integer',
130
+ :'next_retry_at' => :'String',
131
+ :'payload_available' => :'Boolean',
132
+ :'payload_expires_at' => :'String',
133
+ :'request_payload_bytes' => :'Integer',
134
+ :'request_payload_sha256' => :'String',
135
+ :'response_body' => :'String',
136
+ :'response_ms' => :'Integer',
137
+ :'response_status' => :'Integer',
138
+ :'result' => :'String'
139
+ }
140
+ end
141
+
142
+ # List of attributes with nullable: true
143
+ def self.openapi_nullable
144
+ Set.new([
145
+ :'error_message',
146
+ :'next_retry_at',
147
+ :'request_payload_sha256',
148
+ :'response_body',
149
+ :'response_status',
150
+ ])
151
+ end
152
+
153
+ # Initializes the object
154
+ # @param [Hash] attributes Model attributes in the form of hash
155
+ def initialize(attributes = {})
156
+ if (!attributes.is_a?(Hash))
157
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sendmux::Management::Generated::WebhookDeliveryAttempt` initialize method"
158
+ end
159
+
160
+ # check to see if the attribute exists and convert string to symbol for hash key
161
+ acceptable_attribute_map = self.class.acceptable_attribute_map
162
+ attributes = attributes.each_with_object({}) { |(k, v), h|
163
+ if (!acceptable_attribute_map.key?(k.to_sym))
164
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sendmux::Management::Generated::WebhookDeliveryAttempt`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
165
+ end
166
+ h[k.to_sym] = v
167
+ }
168
+
169
+ if attributes.key?(:'created_at')
170
+ self.created_at = attributes[:'created_at']
171
+ else
172
+ self.created_at = nil
173
+ end
174
+
175
+ if attributes.key?(:'delivery_attempt')
176
+ self.delivery_attempt = attributes[:'delivery_attempt']
177
+ else
178
+ self.delivery_attempt = nil
179
+ end
180
+
181
+ if attributes.key?(:'error_message')
182
+ self.error_message = attributes[:'error_message']
183
+ else
184
+ self.error_message = nil
185
+ end
186
+
187
+ if attributes.key?(:'event_id')
188
+ self.event_id = attributes[:'event_id']
189
+ else
190
+ self.event_id = nil
191
+ end
192
+
193
+ if attributes.key?(:'event_type')
194
+ self.event_type = attributes[:'event_type']
195
+ else
196
+ self.event_type = nil
197
+ end
198
+
199
+ if attributes.key?(:'id')
200
+ self.id = attributes[:'id']
201
+ else
202
+ self.id = nil
203
+ end
204
+
205
+ if attributes.key?(:'max_attempts')
206
+ self.max_attempts = attributes[:'max_attempts']
207
+ else
208
+ self.max_attempts = nil
209
+ end
210
+
211
+ if attributes.key?(:'next_retry_at')
212
+ self.next_retry_at = attributes[:'next_retry_at']
213
+ else
214
+ self.next_retry_at = nil
215
+ end
216
+
217
+ if attributes.key?(:'payload_available')
218
+ self.payload_available = attributes[:'payload_available']
219
+ else
220
+ self.payload_available = nil
221
+ end
222
+
223
+ if attributes.key?(:'payload_expires_at')
224
+ self.payload_expires_at = attributes[:'payload_expires_at']
225
+ else
226
+ self.payload_expires_at = nil
227
+ end
228
+
229
+ if attributes.key?(:'request_payload_bytes')
230
+ self.request_payload_bytes = attributes[:'request_payload_bytes']
231
+ else
232
+ self.request_payload_bytes = nil
233
+ end
234
+
235
+ if attributes.key?(:'request_payload_sha256')
236
+ self.request_payload_sha256 = attributes[:'request_payload_sha256']
237
+ else
238
+ self.request_payload_sha256 = nil
239
+ end
240
+
241
+ if attributes.key?(:'response_body')
242
+ self.response_body = attributes[:'response_body']
243
+ else
244
+ self.response_body = nil
245
+ end
246
+
247
+ if attributes.key?(:'response_ms')
248
+ self.response_ms = attributes[:'response_ms']
249
+ else
250
+ self.response_ms = nil
251
+ end
252
+
253
+ if attributes.key?(:'response_status')
254
+ self.response_status = attributes[:'response_status']
255
+ else
256
+ self.response_status = nil
257
+ end
258
+
259
+ if attributes.key?(:'result')
260
+ self.result = attributes[:'result']
261
+ else
262
+ self.result = nil
263
+ end
264
+ end
265
+
266
+ # Show invalid properties with the reasons. Usually used together with valid?
267
+ # @return Array for valid properties with the reasons
268
+ def list_invalid_properties
269
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
270
+ invalid_properties = Array.new
271
+ if @created_at.nil?
272
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
273
+ end
274
+
275
+ if @delivery_attempt.nil?
276
+ invalid_properties.push('invalid value for "delivery_attempt", delivery_attempt cannot be nil.')
277
+ end
278
+
279
+ if @delivery_attempt <= 0
280
+ invalid_properties.push('invalid value for "delivery_attempt", must be greater than 0.')
281
+ end
282
+
283
+ if @event_id.nil?
284
+ invalid_properties.push('invalid value for "event_id", event_id cannot be nil.')
285
+ end
286
+
287
+ if @event_type.nil?
288
+ invalid_properties.push('invalid value for "event_type", event_type cannot be nil.')
289
+ end
290
+
291
+ if @id.nil?
292
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
293
+ end
294
+
295
+ if @max_attempts.nil?
296
+ invalid_properties.push('invalid value for "max_attempts", max_attempts cannot be nil.')
297
+ end
298
+
299
+ if @max_attempts <= 0
300
+ invalid_properties.push('invalid value for "max_attempts", must be greater than 0.')
301
+ end
302
+
303
+ if @payload_available.nil?
304
+ invalid_properties.push('invalid value for "payload_available", payload_available cannot be nil.')
305
+ end
306
+
307
+ if @payload_expires_at.nil?
308
+ invalid_properties.push('invalid value for "payload_expires_at", payload_expires_at cannot be nil.')
309
+ end
310
+
311
+ if @request_payload_bytes.nil?
312
+ invalid_properties.push('invalid value for "request_payload_bytes", request_payload_bytes cannot be nil.')
313
+ end
314
+
315
+ if @request_payload_bytes < 0
316
+ invalid_properties.push('invalid value for "request_payload_bytes", must be greater than or equal to 0.')
317
+ end
318
+
319
+ if @response_ms.nil?
320
+ invalid_properties.push('invalid value for "response_ms", response_ms cannot be nil.')
321
+ end
322
+
323
+ if @response_ms < 0
324
+ invalid_properties.push('invalid value for "response_ms", must be greater than or equal to 0.')
325
+ end
326
+
327
+ if @result.nil?
328
+ invalid_properties.push('invalid value for "result", result cannot be nil.')
329
+ end
330
+
331
+ invalid_properties
332
+ end
333
+
334
+ # Check to see if the all the properties in the model are valid
335
+ # @return true if the model is valid
336
+ def valid?
337
+ warn '[DEPRECATED] the `valid?` method is obsolete'
338
+ return false if @created_at.nil?
339
+ return false if @delivery_attempt.nil?
340
+ return false if @delivery_attempt <= 0
341
+ return false if @event_id.nil?
342
+ return false if @event_type.nil?
343
+ event_type_validator = EnumAttributeValidator.new('String', ["message.delivered", "message.bounced", "message.complained", "message.rejected", "message.delivery_delayed", "message.received", "message.received.spam", "sendmux.test", "unknown_default_open_api"])
344
+ return false unless event_type_validator.valid?(@event_type)
345
+ return false if @id.nil?
346
+ return false if @max_attempts.nil?
347
+ return false if @max_attempts <= 0
348
+ return false if @payload_available.nil?
349
+ return false if @payload_expires_at.nil?
350
+ return false if @request_payload_bytes.nil?
351
+ return false if @request_payload_bytes < 0
352
+ return false if @response_ms.nil?
353
+ return false if @response_ms < 0
354
+ return false if @result.nil?
355
+ result_validator = EnumAttributeValidator.new('String', ["success", "retrying", "failed", "permanent_failure", "unknown_default_open_api"])
356
+ return false unless result_validator.valid?(@result)
357
+ true
358
+ end
359
+
360
+ # Custom attribute writer method with validation
361
+ # @param [Object] created_at Value to be assigned
362
+ def created_at=(created_at)
363
+ if created_at.nil?
364
+ fail ArgumentError, 'created_at cannot be nil'
365
+ end
366
+
367
+ @created_at = created_at
368
+ end
369
+
370
+ # Custom attribute writer method with validation
371
+ # @param [Object] delivery_attempt Value to be assigned
372
+ def delivery_attempt=(delivery_attempt)
373
+ if delivery_attempt.nil?
374
+ fail ArgumentError, 'delivery_attempt cannot be nil'
375
+ end
376
+
377
+ if delivery_attempt <= 0
378
+ fail ArgumentError, 'invalid value for "delivery_attempt", must be greater than 0.'
379
+ end
380
+
381
+ @delivery_attempt = delivery_attempt
382
+ end
383
+
384
+ # Custom attribute writer method with validation
385
+ # @param [Object] event_id Value to be assigned
386
+ def event_id=(event_id)
387
+ if event_id.nil?
388
+ fail ArgumentError, 'event_id cannot be nil'
389
+ end
390
+
391
+ @event_id = event_id
392
+ end
393
+
394
+ # Custom attribute writer method checking allowed values (enum).
395
+ # @param [Object] event_type Object to be assigned
396
+ def event_type=(event_type)
397
+ validator = EnumAttributeValidator.new('String', ["message.delivered", "message.bounced", "message.complained", "message.rejected", "message.delivery_delayed", "message.received", "message.received.spam", "sendmux.test", "unknown_default_open_api"])
398
+ unless validator.valid?(event_type)
399
+ fail ArgumentError, "invalid value for \"event_type\", must be one of #{validator.allowable_values}."
400
+ end
401
+ @event_type = event_type
402
+ end
403
+
404
+ # Custom attribute writer method with validation
405
+ # @param [Object] id Value to be assigned
406
+ def id=(id)
407
+ if id.nil?
408
+ fail ArgumentError, 'id cannot be nil'
409
+ end
410
+
411
+ @id = id
412
+ end
413
+
414
+ # Custom attribute writer method with validation
415
+ # @param [Object] max_attempts Value to be assigned
416
+ def max_attempts=(max_attempts)
417
+ if max_attempts.nil?
418
+ fail ArgumentError, 'max_attempts cannot be nil'
419
+ end
420
+
421
+ if max_attempts <= 0
422
+ fail ArgumentError, 'invalid value for "max_attempts", must be greater than 0.'
423
+ end
424
+
425
+ @max_attempts = max_attempts
426
+ end
427
+
428
+ # Custom attribute writer method with validation
429
+ # @param [Object] payload_available Value to be assigned
430
+ def payload_available=(payload_available)
431
+ if payload_available.nil?
432
+ fail ArgumentError, 'payload_available cannot be nil'
433
+ end
434
+
435
+ @payload_available = payload_available
436
+ end
437
+
438
+ # Custom attribute writer method with validation
439
+ # @param [Object] payload_expires_at Value to be assigned
440
+ def payload_expires_at=(payload_expires_at)
441
+ if payload_expires_at.nil?
442
+ fail ArgumentError, 'payload_expires_at cannot be nil'
443
+ end
444
+
445
+ @payload_expires_at = payload_expires_at
446
+ end
447
+
448
+ # Custom attribute writer method with validation
449
+ # @param [Object] request_payload_bytes Value to be assigned
450
+ def request_payload_bytes=(request_payload_bytes)
451
+ if request_payload_bytes.nil?
452
+ fail ArgumentError, 'request_payload_bytes cannot be nil'
453
+ end
454
+
455
+ if request_payload_bytes < 0
456
+ fail ArgumentError, 'invalid value for "request_payload_bytes", must be greater than or equal to 0.'
457
+ end
458
+
459
+ @request_payload_bytes = request_payload_bytes
460
+ end
461
+
462
+ # Custom attribute writer method with validation
463
+ # @param [Object] response_ms Value to be assigned
464
+ def response_ms=(response_ms)
465
+ if response_ms.nil?
466
+ fail ArgumentError, 'response_ms cannot be nil'
467
+ end
468
+
469
+ if response_ms < 0
470
+ fail ArgumentError, 'invalid value for "response_ms", must be greater than or equal to 0.'
471
+ end
472
+
473
+ @response_ms = response_ms
474
+ end
475
+
476
+ # Custom attribute writer method checking allowed values (enum).
477
+ # @param [Object] result Object to be assigned
478
+ def result=(result)
479
+ validator = EnumAttributeValidator.new('String', ["success", "retrying", "failed", "permanent_failure", "unknown_default_open_api"])
480
+ unless validator.valid?(result)
481
+ fail ArgumentError, "invalid value for \"result\", must be one of #{validator.allowable_values}."
482
+ end
483
+ @result = result
484
+ end
485
+
486
+ # Checks equality by comparing each attribute.
487
+ # @param [Object] Object to be compared
488
+ def ==(o)
489
+ return true if self.equal?(o)
490
+ self.class == o.class &&
491
+ created_at == o.created_at &&
492
+ delivery_attempt == o.delivery_attempt &&
493
+ error_message == o.error_message &&
494
+ event_id == o.event_id &&
495
+ event_type == o.event_type &&
496
+ id == o.id &&
497
+ max_attempts == o.max_attempts &&
498
+ next_retry_at == o.next_retry_at &&
499
+ payload_available == o.payload_available &&
500
+ payload_expires_at == o.payload_expires_at &&
501
+ request_payload_bytes == o.request_payload_bytes &&
502
+ request_payload_sha256 == o.request_payload_sha256 &&
503
+ response_body == o.response_body &&
504
+ response_ms == o.response_ms &&
505
+ response_status == o.response_status &&
506
+ result == o.result
507
+ end
508
+
509
+ # @see the `==` method
510
+ # @param [Object] Object to be compared
511
+ def eql?(o)
512
+ self == o
513
+ end
514
+
515
+ # Calculates hash code according to all attributes.
516
+ # @return [Integer] Hash code
517
+ def hash
518
+ [created_at, delivery_attempt, error_message, event_id, event_type, id, max_attempts, next_retry_at, payload_available, payload_expires_at, request_payload_bytes, request_payload_sha256, response_body, response_ms, response_status, result].hash
519
+ end
520
+
521
+ # Builds the object from hash
522
+ # @param [Hash] attributes Model attributes in the form of hash
523
+ # @return [Object] Returns the model itself
524
+ def self.build_from_hash(attributes)
525
+ return nil unless attributes.is_a?(Hash)
526
+ attributes = attributes.transform_keys(&:to_sym)
527
+ transformed_hash = {}
528
+ openapi_types.each_pair do |key, type|
529
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
530
+ transformed_hash["#{key}"] = nil
531
+ elsif type =~ /\AArray<(.*)>/i
532
+ # check to ensure the input is an array given that the attribute
533
+ # is documented as an array but the input is not
534
+ if attributes[attribute_map[key]].is_a?(Array)
535
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
536
+ end
537
+ elsif !attributes[attribute_map[key]].nil?
538
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
539
+ end
540
+ end
541
+ new(transformed_hash)
542
+ end
543
+
544
+ # Returns the object in the form of hash
545
+ # @return [Hash] Returns the object in the form of hash
546
+ def to_hash
547
+ hash = {}
548
+ self.class.attribute_map.each_pair do |attr, param|
549
+ value = self.send(attr)
550
+ if value.nil?
551
+ is_nullable = self.class.openapi_nullable.include?(attr)
552
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
553
+ end
554
+
555
+ hash[param] = _to_hash(value)
556
+ end
557
+ hash
558
+ end
559
+
560
+ end
561
+
562
+ end