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,216 @@
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 ProviderUsage < ApiModelBase
18
+ attr_accessor :providers
19
+
20
+ attr_accessor :window_days
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'providers' => :'providers',
48
+ :'window_days' => :'window_days'
49
+ }
50
+ end
51
+
52
+ # Returns attribute mapping this model knows about
53
+ def self.acceptable_attribute_map
54
+ attribute_map
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ acceptable_attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'providers' => :'Array<ProviderUsageItem>',
66
+ :'window_days' => :'Float'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sendmux::Management::Generated::ProviderUsage` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ acceptable_attribute_map = self.class.acceptable_attribute_map
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!acceptable_attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sendmux::Management::Generated::ProviderUsage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:'providers')
93
+ if (value = attributes[:'providers']).is_a?(Array)
94
+ self.providers = value
95
+ end
96
+ else
97
+ self.providers = nil
98
+ end
99
+
100
+ if attributes.key?(:'window_days')
101
+ self.window_days = attributes[:'window_days']
102
+ else
103
+ self.window_days = nil
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
111
+ invalid_properties = Array.new
112
+ if @providers.nil?
113
+ invalid_properties.push('invalid value for "providers", providers cannot be nil.')
114
+ end
115
+
116
+ if @window_days.nil?
117
+ invalid_properties.push('invalid value for "window_days", window_days cannot be nil.')
118
+ end
119
+
120
+ invalid_properties
121
+ end
122
+
123
+ # Check to see if the all the properties in the model are valid
124
+ # @return true if the model is valid
125
+ def valid?
126
+ warn '[DEPRECATED] the `valid?` method is obsolete'
127
+ return false if @providers.nil?
128
+ return false if @window_days.nil?
129
+ window_days_validator = EnumAttributeValidator.new('Float', [7, 11184809])
130
+ return false unless window_days_validator.valid?(@window_days)
131
+ true
132
+ end
133
+
134
+ # Custom attribute writer method with validation
135
+ # @param [Object] providers Value to be assigned
136
+ def providers=(providers)
137
+ if providers.nil?
138
+ fail ArgumentError, 'providers cannot be nil'
139
+ end
140
+
141
+ @providers = providers
142
+ end
143
+
144
+ # Custom attribute writer method checking allowed values (enum).
145
+ # @param [Object] window_days Object to be assigned
146
+ def window_days=(window_days)
147
+ validator = EnumAttributeValidator.new('Float', [7, 11184809])
148
+ unless validator.valid?(window_days)
149
+ fail ArgumentError, "invalid value for \"window_days\", must be one of #{validator.allowable_values}."
150
+ end
151
+ @window_days = window_days
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param [Object] Object to be compared
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ providers == o.providers &&
160
+ window_days == o.window_days
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [providers, window_days].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
+ end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
+ end
208
+
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ end
215
+
216
+ end
@@ -0,0 +1,374 @@
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 ProviderUsageItem < ApiModelBase
18
+ attr_accessor :failed_7d
19
+
20
+ attr_accessor :pending_7d
21
+
22
+ attr_accessor :provider_id
23
+
24
+ attr_accessor :rejected_7d
25
+
26
+ attr_accessor :sent_7d
27
+
28
+ attr_accessor :sent_today
29
+
30
+ attr_accessor :total_7d
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'failed_7d' => :'failed_7d',
36
+ :'pending_7d' => :'pending_7d',
37
+ :'provider_id' => :'provider_id',
38
+ :'rejected_7d' => :'rejected_7d',
39
+ :'sent_7d' => :'sent_7d',
40
+ :'sent_today' => :'sent_today',
41
+ :'total_7d' => :'total_7d'
42
+ }
43
+ end
44
+
45
+ # Returns attribute mapping this model knows about
46
+ def self.acceptable_attribute_map
47
+ attribute_map
48
+ end
49
+
50
+ # Returns all the JSON keys this model knows about
51
+ def self.acceptable_attributes
52
+ acceptable_attribute_map.values
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.openapi_types
57
+ {
58
+ :'failed_7d' => :'Integer',
59
+ :'pending_7d' => :'Integer',
60
+ :'provider_id' => :'String',
61
+ :'rejected_7d' => :'Integer',
62
+ :'sent_7d' => :'Integer',
63
+ :'sent_today' => :'Integer',
64
+ :'total_7d' => :'Integer'
65
+ }
66
+ end
67
+
68
+ # List of attributes with nullable: true
69
+ def self.openapi_nullable
70
+ Set.new([
71
+ ])
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ if (!attributes.is_a?(Hash))
78
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Sendmux::Management::Generated::ProviderUsageItem` initialize method"
79
+ end
80
+
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ acceptable_attribute_map = self.class.acceptable_attribute_map
83
+ attributes = attributes.each_with_object({}) { |(k, v), h|
84
+ if (!acceptable_attribute_map.key?(k.to_sym))
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Sendmux::Management::Generated::ProviderUsageItem`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
86
+ end
87
+ h[k.to_sym] = v
88
+ }
89
+
90
+ if attributes.key?(:'failed_7d')
91
+ self.failed_7d = attributes[:'failed_7d']
92
+ else
93
+ self.failed_7d = nil
94
+ end
95
+
96
+ if attributes.key?(:'pending_7d')
97
+ self.pending_7d = attributes[:'pending_7d']
98
+ else
99
+ self.pending_7d = nil
100
+ end
101
+
102
+ if attributes.key?(:'provider_id')
103
+ self.provider_id = attributes[:'provider_id']
104
+ else
105
+ self.provider_id = nil
106
+ end
107
+
108
+ if attributes.key?(:'rejected_7d')
109
+ self.rejected_7d = attributes[:'rejected_7d']
110
+ else
111
+ self.rejected_7d = nil
112
+ end
113
+
114
+ if attributes.key?(:'sent_7d')
115
+ self.sent_7d = attributes[:'sent_7d']
116
+ else
117
+ self.sent_7d = nil
118
+ end
119
+
120
+ if attributes.key?(:'sent_today')
121
+ self.sent_today = attributes[:'sent_today']
122
+ else
123
+ self.sent_today = nil
124
+ end
125
+
126
+ if attributes.key?(:'total_7d')
127
+ self.total_7d = attributes[:'total_7d']
128
+ else
129
+ self.total_7d = nil
130
+ end
131
+ end
132
+
133
+ # Show invalid properties with the reasons. Usually used together with valid?
134
+ # @return Array for valid properties with the reasons
135
+ def list_invalid_properties
136
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
137
+ invalid_properties = Array.new
138
+ if @failed_7d.nil?
139
+ invalid_properties.push('invalid value for "failed_7d", failed_7d cannot be nil.')
140
+ end
141
+
142
+ if @failed_7d < 0
143
+ invalid_properties.push('invalid value for "failed_7d", must be greater than or equal to 0.')
144
+ end
145
+
146
+ if @pending_7d.nil?
147
+ invalid_properties.push('invalid value for "pending_7d", pending_7d cannot be nil.')
148
+ end
149
+
150
+ if @pending_7d < 0
151
+ invalid_properties.push('invalid value for "pending_7d", must be greater than or equal to 0.')
152
+ end
153
+
154
+ if @provider_id.nil?
155
+ invalid_properties.push('invalid value for "provider_id", provider_id cannot be nil.')
156
+ end
157
+
158
+ if @rejected_7d.nil?
159
+ invalid_properties.push('invalid value for "rejected_7d", rejected_7d cannot be nil.')
160
+ end
161
+
162
+ if @rejected_7d < 0
163
+ invalid_properties.push('invalid value for "rejected_7d", must be greater than or equal to 0.')
164
+ end
165
+
166
+ if @sent_7d.nil?
167
+ invalid_properties.push('invalid value for "sent_7d", sent_7d cannot be nil.')
168
+ end
169
+
170
+ if @sent_7d < 0
171
+ invalid_properties.push('invalid value for "sent_7d", must be greater than or equal to 0.')
172
+ end
173
+
174
+ if @sent_today.nil?
175
+ invalid_properties.push('invalid value for "sent_today", sent_today cannot be nil.')
176
+ end
177
+
178
+ if @sent_today < 0
179
+ invalid_properties.push('invalid value for "sent_today", must be greater than or equal to 0.')
180
+ end
181
+
182
+ if @total_7d.nil?
183
+ invalid_properties.push('invalid value for "total_7d", total_7d cannot be nil.')
184
+ end
185
+
186
+ if @total_7d < 0
187
+ invalid_properties.push('invalid value for "total_7d", must be greater than or equal to 0.')
188
+ end
189
+
190
+ invalid_properties
191
+ end
192
+
193
+ # Check to see if the all the properties in the model are valid
194
+ # @return true if the model is valid
195
+ def valid?
196
+ warn '[DEPRECATED] the `valid?` method is obsolete'
197
+ return false if @failed_7d.nil?
198
+ return false if @failed_7d < 0
199
+ return false if @pending_7d.nil?
200
+ return false if @pending_7d < 0
201
+ return false if @provider_id.nil?
202
+ return false if @rejected_7d.nil?
203
+ return false if @rejected_7d < 0
204
+ return false if @sent_7d.nil?
205
+ return false if @sent_7d < 0
206
+ return false if @sent_today.nil?
207
+ return false if @sent_today < 0
208
+ return false if @total_7d.nil?
209
+ return false if @total_7d < 0
210
+ true
211
+ end
212
+
213
+ # Custom attribute writer method with validation
214
+ # @param [Object] failed_7d Value to be assigned
215
+ def failed_7d=(failed_7d)
216
+ if failed_7d.nil?
217
+ fail ArgumentError, 'failed_7d cannot be nil'
218
+ end
219
+
220
+ if failed_7d < 0
221
+ fail ArgumentError, 'invalid value for "failed_7d", must be greater than or equal to 0.'
222
+ end
223
+
224
+ @failed_7d = failed_7d
225
+ end
226
+
227
+ # Custom attribute writer method with validation
228
+ # @param [Object] pending_7d Value to be assigned
229
+ def pending_7d=(pending_7d)
230
+ if pending_7d.nil?
231
+ fail ArgumentError, 'pending_7d cannot be nil'
232
+ end
233
+
234
+ if pending_7d < 0
235
+ fail ArgumentError, 'invalid value for "pending_7d", must be greater than or equal to 0.'
236
+ end
237
+
238
+ @pending_7d = pending_7d
239
+ end
240
+
241
+ # Custom attribute writer method with validation
242
+ # @param [Object] provider_id Value to be assigned
243
+ def provider_id=(provider_id)
244
+ if provider_id.nil?
245
+ fail ArgumentError, 'provider_id cannot be nil'
246
+ end
247
+
248
+ @provider_id = provider_id
249
+ end
250
+
251
+ # Custom attribute writer method with validation
252
+ # @param [Object] rejected_7d Value to be assigned
253
+ def rejected_7d=(rejected_7d)
254
+ if rejected_7d.nil?
255
+ fail ArgumentError, 'rejected_7d cannot be nil'
256
+ end
257
+
258
+ if rejected_7d < 0
259
+ fail ArgumentError, 'invalid value for "rejected_7d", must be greater than or equal to 0.'
260
+ end
261
+
262
+ @rejected_7d = rejected_7d
263
+ end
264
+
265
+ # Custom attribute writer method with validation
266
+ # @param [Object] sent_7d Value to be assigned
267
+ def sent_7d=(sent_7d)
268
+ if sent_7d.nil?
269
+ fail ArgumentError, 'sent_7d cannot be nil'
270
+ end
271
+
272
+ if sent_7d < 0
273
+ fail ArgumentError, 'invalid value for "sent_7d", must be greater than or equal to 0.'
274
+ end
275
+
276
+ @sent_7d = sent_7d
277
+ end
278
+
279
+ # Custom attribute writer method with validation
280
+ # @param [Object] sent_today Value to be assigned
281
+ def sent_today=(sent_today)
282
+ if sent_today.nil?
283
+ fail ArgumentError, 'sent_today cannot be nil'
284
+ end
285
+
286
+ if sent_today < 0
287
+ fail ArgumentError, 'invalid value for "sent_today", must be greater than or equal to 0.'
288
+ end
289
+
290
+ @sent_today = sent_today
291
+ end
292
+
293
+ # Custom attribute writer method with validation
294
+ # @param [Object] total_7d Value to be assigned
295
+ def total_7d=(total_7d)
296
+ if total_7d.nil?
297
+ fail ArgumentError, 'total_7d cannot be nil'
298
+ end
299
+
300
+ if total_7d < 0
301
+ fail ArgumentError, 'invalid value for "total_7d", must be greater than or equal to 0.'
302
+ end
303
+
304
+ @total_7d = total_7d
305
+ end
306
+
307
+ # Checks equality by comparing each attribute.
308
+ # @param [Object] Object to be compared
309
+ def ==(o)
310
+ return true if self.equal?(o)
311
+ self.class == o.class &&
312
+ failed_7d == o.failed_7d &&
313
+ pending_7d == o.pending_7d &&
314
+ provider_id == o.provider_id &&
315
+ rejected_7d == o.rejected_7d &&
316
+ sent_7d == o.sent_7d &&
317
+ sent_today == o.sent_today &&
318
+ total_7d == o.total_7d
319
+ end
320
+
321
+ # @see the `==` method
322
+ # @param [Object] Object to be compared
323
+ def eql?(o)
324
+ self == o
325
+ end
326
+
327
+ # Calculates hash code according to all attributes.
328
+ # @return [Integer] Hash code
329
+ def hash
330
+ [failed_7d, pending_7d, provider_id, rejected_7d, sent_7d, sent_today, total_7d].hash
331
+ end
332
+
333
+ # Builds the object from hash
334
+ # @param [Hash] attributes Model attributes in the form of hash
335
+ # @return [Object] Returns the model itself
336
+ def self.build_from_hash(attributes)
337
+ return nil unless attributes.is_a?(Hash)
338
+ attributes = attributes.transform_keys(&:to_sym)
339
+ transformed_hash = {}
340
+ openapi_types.each_pair do |key, type|
341
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
342
+ transformed_hash["#{key}"] = nil
343
+ elsif type =~ /\AArray<(.*)>/i
344
+ # check to ensure the input is an array given that the attribute
345
+ # is documented as an array but the input is not
346
+ if attributes[attribute_map[key]].is_a?(Array)
347
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
348
+ end
349
+ elsif !attributes[attribute_map[key]].nil?
350
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
351
+ end
352
+ end
353
+ new(transformed_hash)
354
+ end
355
+
356
+ # Returns the object in the form of hash
357
+ # @return [Hash] Returns the object in the form of hash
358
+ def to_hash
359
+ hash = {}
360
+ self.class.attribute_map.each_pair do |attr, param|
361
+ value = self.send(attr)
362
+ if value.nil?
363
+ is_nullable = self.class.openapi_nullable.include?(attr)
364
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
365
+ end
366
+
367
+ hash[param] = _to_hash(value)
368
+ end
369
+ hash
370
+ end
371
+
372
+ end
373
+
374
+ end