ElasticEmail 4.0.24 → 4.0.26

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 (242) hide show
  1. checksums.yaml +4 -4
  2. data/ElasticEmail.gemspec +1 -1
  3. data/README.md +23 -5
  4. data/VERSION +1 -1
  5. data/docs/CampaignsApi.md +71 -0
  6. data/docs/CertificateValidationStatus.md +15 -0
  7. data/docs/DomainData.md +54 -0
  8. data/docs/DomainDetail.md +52 -0
  9. data/docs/DomainOwner.md +15 -0
  10. data/docs/DomainPayload.md +20 -0
  11. data/docs/DomainUpdatePayload.md +24 -0
  12. data/docs/DomainsApi.md +583 -0
  13. data/docs/EmailStatus.md +3 -1
  14. data/docs/EmailsApi.md +1 -1
  15. data/docs/MessageCategoryEnum.md +15 -0
  16. data/docs/TrackingType.md +15 -0
  17. data/docs/TrackingValidationStatus.md +15 -0
  18. data/lib/ElasticEmail/api/campaigns_api.rb +62 -1
  19. data/lib/ElasticEmail/api/contacts_api.rb +1 -1
  20. data/lib/ElasticEmail/api/domains_api.rb +545 -0
  21. data/lib/ElasticEmail/api/emails_api.rb +3 -3
  22. data/lib/ElasticEmail/api/events_api.rb +1 -1
  23. data/lib/ElasticEmail/api/files_api.rb +1 -1
  24. data/lib/ElasticEmail/api/inbound_route_api.rb +1 -1
  25. data/lib/ElasticEmail/api/lists_api.rb +1 -1
  26. data/lib/ElasticEmail/api/security_api.rb +1 -1
  27. data/lib/ElasticEmail/api/segments_api.rb +1 -1
  28. data/lib/ElasticEmail/api/statistics_api.rb +1 -1
  29. data/lib/ElasticEmail/api/sub_accounts_api.rb +1 -1
  30. data/lib/ElasticEmail/api/suppressions_api.rb +1 -1
  31. data/lib/ElasticEmail/api/templates_api.rb +1 -1
  32. data/lib/ElasticEmail/api/verifications_api.rb +1 -1
  33. data/lib/ElasticEmail/api_client.rb +3 -3
  34. data/lib/ElasticEmail/api_error.rb +1 -1
  35. data/lib/ElasticEmail/configuration.rb +1 -11
  36. data/lib/ElasticEmail/models/access_level.rb +3 -2
  37. data/lib/ElasticEmail/models/account_status_enum.rb +1 -1
  38. data/lib/ElasticEmail/models/api_key.rb +1 -1
  39. data/lib/ElasticEmail/models/api_key_payload.rb +1 -1
  40. data/lib/ElasticEmail/models/body_content_type.rb +1 -1
  41. data/lib/ElasticEmail/models/body_part.rb +1 -1
  42. data/lib/ElasticEmail/models/campaign.rb +1 -1
  43. data/lib/ElasticEmail/models/campaign_options.rb +1 -1
  44. data/lib/ElasticEmail/models/campaign_recipient.rb +1 -1
  45. data/lib/ElasticEmail/models/campaign_status.rb +1 -1
  46. data/lib/ElasticEmail/models/campaign_template.rb +1 -1
  47. data/lib/ElasticEmail/models/certificate_validation_status.rb +42 -0
  48. data/lib/ElasticEmail/models/channel_log_status_summary.rb +1 -1
  49. data/lib/ElasticEmail/models/compression_format.rb +1 -1
  50. data/lib/ElasticEmail/models/consent_data.rb +1 -1
  51. data/lib/ElasticEmail/models/consent_tracking.rb +1 -1
  52. data/lib/ElasticEmail/models/contact.rb +1 -1
  53. data/lib/ElasticEmail/models/contact_activity.rb +1 -1
  54. data/lib/ElasticEmail/models/contact_payload.rb +1 -1
  55. data/lib/ElasticEmail/models/contact_source.rb +1 -1
  56. data/lib/ElasticEmail/models/contact_status.rb +1 -1
  57. data/lib/ElasticEmail/models/contact_update_payload.rb +1 -1
  58. data/lib/ElasticEmail/models/contacts_list.rb +1 -1
  59. data/lib/ElasticEmail/models/delivery_optimization_type.rb +1 -1
  60. data/lib/ElasticEmail/models/domain_data.rb +417 -0
  61. data/lib/ElasticEmail/models/domain_detail.rb +407 -0
  62. data/lib/ElasticEmail/models/domain_owner.rb +40 -0
  63. data/lib/ElasticEmail/models/domain_payload.rb +224 -0
  64. data/lib/ElasticEmail/models/domain_update_payload.rb +265 -0
  65. data/lib/ElasticEmail/models/email_content.rb +1 -1
  66. data/lib/ElasticEmail/models/email_data.rb +1 -1
  67. data/lib/ElasticEmail/models/email_job_failed_status.rb +1 -1
  68. data/lib/ElasticEmail/models/email_job_status.rb +1 -1
  69. data/lib/ElasticEmail/models/email_message_data.rb +1 -1
  70. data/lib/ElasticEmail/models/email_predicted_validation_status.rb +1 -1
  71. data/lib/ElasticEmail/models/email_recipient.rb +1 -1
  72. data/lib/ElasticEmail/models/email_send.rb +1 -1
  73. data/lib/ElasticEmail/models/email_status.rb +16 -5
  74. data/lib/ElasticEmail/models/email_transactional_message_data.rb +1 -1
  75. data/lib/ElasticEmail/models/email_validation_result.rb +1 -1
  76. data/lib/ElasticEmail/models/email_validation_status.rb +1 -1
  77. data/lib/ElasticEmail/models/email_view.rb +1 -1
  78. data/lib/ElasticEmail/models/emails_payload.rb +1 -1
  79. data/lib/ElasticEmail/models/encoding_type.rb +1 -1
  80. data/lib/ElasticEmail/models/event_type.rb +1 -1
  81. data/lib/ElasticEmail/models/events_order_by.rb +1 -1
  82. data/lib/ElasticEmail/models/export_file_formats.rb +1 -1
  83. data/lib/ElasticEmail/models/export_link.rb +1 -1
  84. data/lib/ElasticEmail/models/export_status.rb +1 -1
  85. data/lib/ElasticEmail/models/file_info.rb +1 -1
  86. data/lib/ElasticEmail/models/file_payload.rb +1 -1
  87. data/lib/ElasticEmail/models/file_upload_result.rb +1 -1
  88. data/lib/ElasticEmail/models/inbound_payload.rb +1 -1
  89. data/lib/ElasticEmail/models/inbound_route.rb +1 -1
  90. data/lib/ElasticEmail/models/inbound_route_action_type.rb +1 -1
  91. data/lib/ElasticEmail/models/inbound_route_filter_type.rb +1 -1
  92. data/lib/ElasticEmail/models/list_payload.rb +1 -1
  93. data/lib/ElasticEmail/models/list_update_payload.rb +1 -1
  94. data/lib/ElasticEmail/models/log_job_status.rb +1 -1
  95. data/lib/ElasticEmail/models/log_status_summary.rb +1 -1
  96. data/lib/ElasticEmail/models/merge_email_payload.rb +1 -1
  97. data/lib/ElasticEmail/models/message_attachment.rb +1 -1
  98. data/lib/ElasticEmail/models/message_category.rb +1 -1
  99. data/lib/ElasticEmail/models/message_category_enum.rb +55 -0
  100. data/lib/ElasticEmail/models/new_api_key.rb +1 -1
  101. data/lib/ElasticEmail/models/new_smtp_credentials.rb +1 -1
  102. data/lib/ElasticEmail/models/options.rb +1 -1
  103. data/lib/ElasticEmail/models/recipient_event.rb +1 -1
  104. data/lib/ElasticEmail/models/segment.rb +1 -1
  105. data/lib/ElasticEmail/models/segment_payload.rb +1 -1
  106. data/lib/ElasticEmail/models/smtp_credentials.rb +1 -1
  107. data/lib/ElasticEmail/models/smtp_credentials_payload.rb +1 -1
  108. data/lib/ElasticEmail/models/sort_order_item.rb +1 -1
  109. data/lib/ElasticEmail/models/split_optimization_type.rb +1 -1
  110. data/lib/ElasticEmail/models/split_options.rb +1 -1
  111. data/lib/ElasticEmail/models/sub_account_info.rb +1 -1
  112. data/lib/ElasticEmail/models/subaccount_email_credits_payload.rb +1 -1
  113. data/lib/ElasticEmail/models/subaccount_email_settings.rb +1 -1
  114. data/lib/ElasticEmail/models/subaccount_email_settings_payload.rb +1 -1
  115. data/lib/ElasticEmail/models/subaccount_payload.rb +1 -1
  116. data/lib/ElasticEmail/models/subaccount_settings_info.rb +1 -1
  117. data/lib/ElasticEmail/models/subaccount_settings_info_payload.rb +1 -1
  118. data/lib/ElasticEmail/models/suppression.rb +1 -1
  119. data/lib/ElasticEmail/models/template.rb +1 -1
  120. data/lib/ElasticEmail/models/template_payload.rb +1 -1
  121. data/lib/ElasticEmail/models/template_scope.rb +1 -1
  122. data/lib/ElasticEmail/models/template_type.rb +3 -2
  123. data/lib/ElasticEmail/models/tracking_type.rb +44 -0
  124. data/lib/ElasticEmail/models/tracking_validation_status.rb +42 -0
  125. data/lib/ElasticEmail/models/transactional_recipient.rb +1 -1
  126. data/lib/ElasticEmail/models/utm.rb +1 -1
  127. data/lib/ElasticEmail/models/verification_file_result.rb +1 -1
  128. data/lib/ElasticEmail/models/verification_file_result_details.rb +1 -1
  129. data/lib/ElasticEmail/models/verification_status.rb +1 -1
  130. data/lib/ElasticEmail/version.rb +2 -2
  131. data/lib/ElasticEmail.rb +11 -1
  132. data/spec/api/campaigns_api_spec.rb +13 -1
  133. data/spec/api/contacts_api_spec.rb +1 -1
  134. data/spec/api/domains_api_spec.rb +132 -0
  135. data/spec/api/emails_api_spec.rb +2 -2
  136. data/spec/api/events_api_spec.rb +1 -1
  137. data/spec/api/files_api_spec.rb +1 -1
  138. data/spec/api/inbound_route_api_spec.rb +1 -1
  139. data/spec/api/lists_api_spec.rb +1 -1
  140. data/spec/api/security_api_spec.rb +1 -1
  141. data/spec/api/segments_api_spec.rb +1 -1
  142. data/spec/api/statistics_api_spec.rb +1 -1
  143. data/spec/api/sub_accounts_api_spec.rb +1 -1
  144. data/spec/api/suppressions_api_spec.rb +1 -1
  145. data/spec/api/templates_api_spec.rb +1 -1
  146. data/spec/api/verifications_api_spec.rb +1 -1
  147. data/spec/models/access_level_spec.rb +1 -1
  148. data/spec/models/account_status_enum_spec.rb +1 -1
  149. data/spec/models/api_key_payload_spec.rb +1 -1
  150. data/spec/models/api_key_spec.rb +1 -1
  151. data/spec/models/body_content_type_spec.rb +1 -1
  152. data/spec/models/body_part_spec.rb +1 -1
  153. data/spec/models/campaign_options_spec.rb +1 -1
  154. data/spec/models/campaign_recipient_spec.rb +1 -1
  155. data/spec/models/campaign_spec.rb +1 -1
  156. data/spec/models/campaign_status_spec.rb +1 -1
  157. data/spec/models/campaign_template_spec.rb +1 -1
  158. data/spec/models/certificate_validation_status_spec.rb +30 -0
  159. data/spec/models/channel_log_status_summary_spec.rb +1 -1
  160. data/spec/models/compression_format_spec.rb +1 -1
  161. data/spec/models/consent_data_spec.rb +1 -1
  162. data/spec/models/consent_tracking_spec.rb +1 -1
  163. data/spec/models/contact_activity_spec.rb +1 -1
  164. data/spec/models/contact_payload_spec.rb +1 -1
  165. data/spec/models/contact_source_spec.rb +1 -1
  166. data/spec/models/contact_spec.rb +1 -1
  167. data/spec/models/contact_status_spec.rb +1 -1
  168. data/spec/models/contact_update_payload_spec.rb +1 -1
  169. data/spec/models/contacts_list_spec.rb +1 -1
  170. data/spec/models/delivery_optimization_type_spec.rb +1 -1
  171. data/spec/models/domain_data_spec.rb +144 -0
  172. data/spec/models/domain_detail_spec.rb +138 -0
  173. data/spec/models/domain_owner_spec.rb +30 -0
  174. data/spec/models/domain_payload_spec.rb +42 -0
  175. data/spec/models/domain_update_payload_spec.rb +54 -0
  176. data/spec/models/email_content_spec.rb +1 -1
  177. data/spec/models/email_data_spec.rb +1 -1
  178. data/spec/models/email_job_failed_status_spec.rb +1 -1
  179. data/spec/models/email_job_status_spec.rb +1 -1
  180. data/spec/models/email_message_data_spec.rb +1 -1
  181. data/spec/models/email_predicted_validation_status_spec.rb +1 -1
  182. data/spec/models/email_recipient_spec.rb +1 -1
  183. data/spec/models/email_send_spec.rb +1 -1
  184. data/spec/models/email_status_spec.rb +7 -1
  185. data/spec/models/email_transactional_message_data_spec.rb +1 -1
  186. data/spec/models/email_validation_result_spec.rb +1 -1
  187. data/spec/models/email_validation_status_spec.rb +1 -1
  188. data/spec/models/email_view_spec.rb +1 -1
  189. data/spec/models/emails_payload_spec.rb +1 -1
  190. data/spec/models/encoding_type_spec.rb +1 -1
  191. data/spec/models/event_type_spec.rb +1 -1
  192. data/spec/models/events_order_by_spec.rb +1 -1
  193. data/spec/models/export_file_formats_spec.rb +1 -1
  194. data/spec/models/export_link_spec.rb +1 -1
  195. data/spec/models/export_status_spec.rb +1 -1
  196. data/spec/models/file_info_spec.rb +1 -1
  197. data/spec/models/file_payload_spec.rb +1 -1
  198. data/spec/models/file_upload_result_spec.rb +1 -1
  199. data/spec/models/inbound_payload_spec.rb +1 -1
  200. data/spec/models/inbound_route_action_type_spec.rb +1 -1
  201. data/spec/models/inbound_route_filter_type_spec.rb +1 -1
  202. data/spec/models/inbound_route_spec.rb +1 -1
  203. data/spec/models/list_payload_spec.rb +1 -1
  204. data/spec/models/list_update_payload_spec.rb +1 -1
  205. data/spec/models/log_job_status_spec.rb +1 -1
  206. data/spec/models/log_status_summary_spec.rb +1 -1
  207. data/spec/models/merge_email_payload_spec.rb +1 -1
  208. data/spec/models/message_attachment_spec.rb +1 -1
  209. data/spec/models/message_category_enum_spec.rb +30 -0
  210. data/spec/models/message_category_spec.rb +1 -1
  211. data/spec/models/new_api_key_spec.rb +1 -1
  212. data/spec/models/new_smtp_credentials_spec.rb +1 -1
  213. data/spec/models/options_spec.rb +1 -1
  214. data/spec/models/recipient_event_spec.rb +1 -1
  215. data/spec/models/segment_payload_spec.rb +1 -1
  216. data/spec/models/segment_spec.rb +1 -1
  217. data/spec/models/smtp_credentials_payload_spec.rb +1 -1
  218. data/spec/models/smtp_credentials_spec.rb +1 -1
  219. data/spec/models/sort_order_item_spec.rb +1 -1
  220. data/spec/models/split_optimization_type_spec.rb +1 -1
  221. data/spec/models/split_options_spec.rb +1 -1
  222. data/spec/models/sub_account_info_spec.rb +1 -1
  223. data/spec/models/subaccount_email_credits_payload_spec.rb +1 -1
  224. data/spec/models/subaccount_email_settings_payload_spec.rb +1 -1
  225. data/spec/models/subaccount_email_settings_spec.rb +1 -1
  226. data/spec/models/subaccount_payload_spec.rb +1 -1
  227. data/spec/models/subaccount_settings_info_payload_spec.rb +1 -1
  228. data/spec/models/subaccount_settings_info_spec.rb +1 -1
  229. data/spec/models/suppression_spec.rb +1 -1
  230. data/spec/models/template_payload_spec.rb +1 -1
  231. data/spec/models/template_scope_spec.rb +1 -1
  232. data/spec/models/template_spec.rb +1 -1
  233. data/spec/models/template_type_spec.rb +1 -1
  234. data/spec/models/tracking_type_spec.rb +30 -0
  235. data/spec/models/tracking_validation_status_spec.rb +30 -0
  236. data/spec/models/transactional_recipient_spec.rb +1 -1
  237. data/spec/models/utm_spec.rb +1 -1
  238. data/spec/models/verification_file_result_details_spec.rb +1 -1
  239. data/spec/models/verification_file_result_spec.rb +1 -1
  240. data/spec/models/verification_status_spec.rb +1 -1
  241. data/spec/spec_helper.rb +1 -1
  242. metadata +124 -84
@@ -0,0 +1,417 @@
1
+ =begin
2
+ #Elastic Email REST API
3
+
4
+ #This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://app.elasticemail.com/marketing/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
5
+
6
+ The version of the OpenAPI document: 4.0.0
7
+ Contact: support@elasticemail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.5.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ElasticEmail
17
+ # Domain data, with information about domain records.
18
+ class DomainData
19
+ # Domain validation results - when domain has been running through validation process
20
+ attr_accessor :validation_log
21
+
22
+ # Name of selected domain.
23
+ attr_accessor :domain
24
+
25
+ # True, if domain is used as default. Otherwise, false,
26
+ attr_accessor :default_domain
27
+
28
+ # True, if SPF record is verified
29
+ attr_accessor :spf
30
+
31
+ # True, if DKIM record is verified
32
+ attr_accessor :dkim
33
+
34
+ # True, if MX record is verified
35
+ attr_accessor :mx
36
+
37
+ attr_accessor :dmarc
38
+
39
+ # True, if tracking CNAME record is verified
40
+ attr_accessor :is_rewrite_domain_valid
41
+
42
+ # True, if DKIM, SPF, or tracking are still to be verified
43
+ attr_accessor :verify
44
+
45
+ attr_accessor :type
46
+
47
+ attr_accessor :tracking_status
48
+
49
+ attr_accessor :certificate_status
50
+
51
+ attr_accessor :certificate_validation_error
52
+
53
+ attr_accessor :tracking_type_user_request
54
+
55
+ attr_accessor :verp
56
+
57
+ attr_accessor :custom_bounces_domain
58
+
59
+ attr_accessor :is_custom_bounces_domain_default
60
+
61
+ attr_accessor :is_marked_for_deletion
62
+
63
+ attr_accessor :ownership
64
+
65
+ class EnumAttributeValidator
66
+ attr_reader :datatype
67
+ attr_reader :allowable_values
68
+
69
+ def initialize(datatype, allowable_values)
70
+ @allowable_values = allowable_values.map do |value|
71
+ case datatype.to_s
72
+ when /Integer/i
73
+ value.to_i
74
+ when /Float/i
75
+ value.to_f
76
+ else
77
+ value
78
+ end
79
+ end
80
+ end
81
+
82
+ def valid?(value)
83
+ !value || allowable_values.include?(value)
84
+ end
85
+ end
86
+
87
+ # Attribute mapping from ruby-style variable name to JSON key.
88
+ def self.attribute_map
89
+ {
90
+ :'validation_log' => :'ValidationLog',
91
+ :'domain' => :'Domain',
92
+ :'default_domain' => :'DefaultDomain',
93
+ :'spf' => :'Spf',
94
+ :'dkim' => :'Dkim',
95
+ :'mx' => :'MX',
96
+ :'dmarc' => :'DMARC',
97
+ :'is_rewrite_domain_valid' => :'IsRewriteDomainValid',
98
+ :'verify' => :'Verify',
99
+ :'type' => :'Type',
100
+ :'tracking_status' => :'TrackingStatus',
101
+ :'certificate_status' => :'CertificateStatus',
102
+ :'certificate_validation_error' => :'CertificateValidationError',
103
+ :'tracking_type_user_request' => :'TrackingTypeUserRequest',
104
+ :'verp' => :'VERP',
105
+ :'custom_bounces_domain' => :'CustomBouncesDomain',
106
+ :'is_custom_bounces_domain_default' => :'IsCustomBouncesDomainDefault',
107
+ :'is_marked_for_deletion' => :'IsMarkedForDeletion',
108
+ :'ownership' => :'Ownership'
109
+ }
110
+ end
111
+
112
+ # Returns all the JSON keys this model knows about
113
+ def self.acceptable_attributes
114
+ attribute_map.values
115
+ end
116
+
117
+ # Attribute type mapping.
118
+ def self.openapi_types
119
+ {
120
+ :'validation_log' => :'String',
121
+ :'domain' => :'String',
122
+ :'default_domain' => :'Boolean',
123
+ :'spf' => :'Boolean',
124
+ :'dkim' => :'Boolean',
125
+ :'mx' => :'Boolean',
126
+ :'dmarc' => :'Boolean',
127
+ :'is_rewrite_domain_valid' => :'Boolean',
128
+ :'verify' => :'Boolean',
129
+ :'type' => :'TrackingType',
130
+ :'tracking_status' => :'TrackingValidationStatus',
131
+ :'certificate_status' => :'CertificateValidationStatus',
132
+ :'certificate_validation_error' => :'String',
133
+ :'tracking_type_user_request' => :'TrackingType',
134
+ :'verp' => :'Boolean',
135
+ :'custom_bounces_domain' => :'String',
136
+ :'is_custom_bounces_domain_default' => :'Boolean',
137
+ :'is_marked_for_deletion' => :'Boolean',
138
+ :'ownership' => :'DomainOwner'
139
+ }
140
+ end
141
+
142
+ # List of attributes with nullable: true
143
+ def self.openapi_nullable
144
+ Set.new([
145
+ ])
146
+ end
147
+
148
+ # Initializes the object
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ def initialize(attributes = {})
151
+ if (!attributes.is_a?(Hash))
152
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ElasticEmail::DomainData` initialize method"
153
+ end
154
+
155
+ # check to see if the attribute exists and convert string to symbol for hash key
156
+ attributes = attributes.each_with_object({}) { |(k, v), h|
157
+ if (!self.class.attribute_map.key?(k.to_sym))
158
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ElasticEmail::DomainData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
159
+ end
160
+ h[k.to_sym] = v
161
+ }
162
+
163
+ if attributes.key?(:'validation_log')
164
+ self.validation_log = attributes[:'validation_log']
165
+ end
166
+
167
+ if attributes.key?(:'domain')
168
+ self.domain = attributes[:'domain']
169
+ end
170
+
171
+ if attributes.key?(:'default_domain')
172
+ self.default_domain = attributes[:'default_domain']
173
+ end
174
+
175
+ if attributes.key?(:'spf')
176
+ self.spf = attributes[:'spf']
177
+ end
178
+
179
+ if attributes.key?(:'dkim')
180
+ self.dkim = attributes[:'dkim']
181
+ end
182
+
183
+ if attributes.key?(:'mx')
184
+ self.mx = attributes[:'mx']
185
+ end
186
+
187
+ if attributes.key?(:'dmarc')
188
+ self.dmarc = attributes[:'dmarc']
189
+ end
190
+
191
+ if attributes.key?(:'is_rewrite_domain_valid')
192
+ self.is_rewrite_domain_valid = attributes[:'is_rewrite_domain_valid']
193
+ end
194
+
195
+ if attributes.key?(:'verify')
196
+ self.verify = attributes[:'verify']
197
+ end
198
+
199
+ if attributes.key?(:'type')
200
+ self.type = attributes[:'type']
201
+ else
202
+ self.type = 'None'
203
+ end
204
+
205
+ if attributes.key?(:'tracking_status')
206
+ self.tracking_status = attributes[:'tracking_status']
207
+ else
208
+ self.tracking_status = 'Validated'
209
+ end
210
+
211
+ if attributes.key?(:'certificate_status')
212
+ self.certificate_status = attributes[:'certificate_status']
213
+ else
214
+ self.certificate_status = 'ErrorOccured'
215
+ end
216
+
217
+ if attributes.key?(:'certificate_validation_error')
218
+ self.certificate_validation_error = attributes[:'certificate_validation_error']
219
+ end
220
+
221
+ if attributes.key?(:'tracking_type_user_request')
222
+ self.tracking_type_user_request = attributes[:'tracking_type_user_request']
223
+ else
224
+ self.tracking_type_user_request = 'None'
225
+ end
226
+
227
+ if attributes.key?(:'verp')
228
+ self.verp = attributes[:'verp']
229
+ end
230
+
231
+ if attributes.key?(:'custom_bounces_domain')
232
+ self.custom_bounces_domain = attributes[:'custom_bounces_domain']
233
+ end
234
+
235
+ if attributes.key?(:'is_custom_bounces_domain_default')
236
+ self.is_custom_bounces_domain_default = attributes[:'is_custom_bounces_domain_default']
237
+ end
238
+
239
+ if attributes.key?(:'is_marked_for_deletion')
240
+ self.is_marked_for_deletion = attributes[:'is_marked_for_deletion']
241
+ end
242
+
243
+ if attributes.key?(:'ownership')
244
+ self.ownership = attributes[:'ownership']
245
+ else
246
+ self.ownership = 'Current'
247
+ end
248
+ end
249
+
250
+ # Show invalid properties with the reasons. Usually used together with valid?
251
+ # @return Array for valid properties with the reasons
252
+ def list_invalid_properties
253
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
254
+ invalid_properties = Array.new
255
+ invalid_properties
256
+ end
257
+
258
+ # Check to see if the all the properties in the model are valid
259
+ # @return true if the model is valid
260
+ def valid?
261
+ warn '[DEPRECATED] the `valid?` method is obsolete'
262
+ true
263
+ end
264
+
265
+ # Checks equality by comparing each attribute.
266
+ # @param [Object] Object to be compared
267
+ def ==(o)
268
+ return true if self.equal?(o)
269
+ self.class == o.class &&
270
+ validation_log == o.validation_log &&
271
+ domain == o.domain &&
272
+ default_domain == o.default_domain &&
273
+ spf == o.spf &&
274
+ dkim == o.dkim &&
275
+ mx == o.mx &&
276
+ dmarc == o.dmarc &&
277
+ is_rewrite_domain_valid == o.is_rewrite_domain_valid &&
278
+ verify == o.verify &&
279
+ type == o.type &&
280
+ tracking_status == o.tracking_status &&
281
+ certificate_status == o.certificate_status &&
282
+ certificate_validation_error == o.certificate_validation_error &&
283
+ tracking_type_user_request == o.tracking_type_user_request &&
284
+ verp == o.verp &&
285
+ custom_bounces_domain == o.custom_bounces_domain &&
286
+ is_custom_bounces_domain_default == o.is_custom_bounces_domain_default &&
287
+ is_marked_for_deletion == o.is_marked_for_deletion &&
288
+ ownership == o.ownership
289
+ end
290
+
291
+ # @see the `==` method
292
+ # @param [Object] Object to be compared
293
+ def eql?(o)
294
+ self == o
295
+ end
296
+
297
+ # Calculates hash code according to all attributes.
298
+ # @return [Integer] Hash code
299
+ def hash
300
+ [validation_log, domain, default_domain, spf, dkim, mx, dmarc, is_rewrite_domain_valid, verify, type, tracking_status, certificate_status, certificate_validation_error, tracking_type_user_request, verp, custom_bounces_domain, is_custom_bounces_domain_default, is_marked_for_deletion, ownership].hash
301
+ end
302
+
303
+ # Builds the object from hash
304
+ # @param [Hash] attributes Model attributes in the form of hash
305
+ # @return [Object] Returns the model itself
306
+ def self.build_from_hash(attributes)
307
+ return nil unless attributes.is_a?(Hash)
308
+ attributes = attributes.transform_keys(&:to_sym)
309
+ transformed_hash = {}
310
+ openapi_types.each_pair do |key, type|
311
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
312
+ transformed_hash["#{key}"] = nil
313
+ elsif type =~ /\AArray<(.*)>/i
314
+ # check to ensure the input is an array given that the attribute
315
+ # is documented as an array but the input is not
316
+ if attributes[attribute_map[key]].is_a?(Array)
317
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
318
+ end
319
+ elsif !attributes[attribute_map[key]].nil?
320
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
321
+ end
322
+ end
323
+ new(transformed_hash)
324
+ end
325
+
326
+ # Deserializes the data based on type
327
+ # @param string type Data type
328
+ # @param string value Value to be deserialized
329
+ # @return [Object] Deserialized data
330
+ def self._deserialize(type, value)
331
+ case type.to_sym
332
+ when :Time
333
+ Time.parse(value)
334
+ when :Date
335
+ Date.parse(value)
336
+ when :String
337
+ value.to_s
338
+ when :Integer
339
+ value.to_i
340
+ when :Float
341
+ value.to_f
342
+ when :Boolean
343
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
344
+ true
345
+ else
346
+ false
347
+ end
348
+ when :Object
349
+ # generic object (usually a Hash), return directly
350
+ value
351
+ when /\AArray<(?<inner_type>.+)>\z/
352
+ inner_type = Regexp.last_match[:inner_type]
353
+ value.map { |v| _deserialize(inner_type, v) }
354
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
355
+ k_type = Regexp.last_match[:k_type]
356
+ v_type = Regexp.last_match[:v_type]
357
+ {}.tap do |hash|
358
+ value.each do |k, v|
359
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
360
+ end
361
+ end
362
+ else # model
363
+ # models (e.g. Pet) or oneOf
364
+ klass = ElasticEmail.const_get(type)
365
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
366
+ end
367
+ end
368
+
369
+ # Returns the string representation of the object
370
+ # @return [String] String presentation of the object
371
+ def to_s
372
+ to_hash.to_s
373
+ end
374
+
375
+ # to_body is an alias to to_hash (backward compatibility)
376
+ # @return [Hash] Returns the object in the form of hash
377
+ def to_body
378
+ to_hash
379
+ end
380
+
381
+ # Returns the object in the form of hash
382
+ # @return [Hash] Returns the object in the form of hash
383
+ def to_hash
384
+ hash = {}
385
+ self.class.attribute_map.each_pair do |attr, param|
386
+ value = self.send(attr)
387
+ if value.nil?
388
+ is_nullable = self.class.openapi_nullable.include?(attr)
389
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
390
+ end
391
+
392
+ hash[param] = _to_hash(value)
393
+ end
394
+ hash
395
+ end
396
+
397
+ # Outputs non-array value in the form of hash
398
+ # For object, use to_hash. Otherwise, just return the value
399
+ # @param [Object] value Any valid value
400
+ # @return [Hash] Returns the value in the form of hash
401
+ def _to_hash(value)
402
+ if value.is_a?(Array)
403
+ value.compact.map { |v| _to_hash(v) }
404
+ elsif value.is_a?(Hash)
405
+ {}.tap do |hash|
406
+ value.each { |k, v| hash[k] = _to_hash(v) }
407
+ end
408
+ elsif value.respond_to? :to_hash
409
+ value.to_hash
410
+ else
411
+ value
412
+ end
413
+ end
414
+
415
+ end
416
+
417
+ end