mailslurp_client 17.1.0 → 17.3.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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client/api/api_audit_log_controller_api.rb +237 -0
  3. data/lib/mailslurp_client/api/attachment_controller_api.rb +66 -0
  4. data/lib/mailslurp_client/api/bounce_controller_api.rb +126 -0
  5. data/lib/mailslurp_client/api/campaign_probe_controller_api.rb +802 -0
  6. data/lib/mailslurp_client/api/deliverability_test_controller_api.rb +1496 -0
  7. data/lib/mailslurp_client/api/device_previews_controller_api.rb +1012 -0
  8. data/lib/mailslurp_client/api/domain_controller_api.rb +63 -0
  9. data/lib/mailslurp_client/api/domain_monitor_controller_api.rb +1112 -0
  10. data/lib/mailslurp_client/api/email_audit_controller_api.rb +334 -0
  11. data/lib/mailslurp_client/api/email_controller_api.rb +394 -138
  12. data/lib/mailslurp_client/api/inbox_controller_api.rb +144 -4
  13. data/lib/mailslurp_client/api/missed_sms_controller_api.rb +221 -0
  14. data/lib/mailslurp_client/api/phone_controller_api.rb +1314 -83
  15. data/lib/mailslurp_client/api/sms_controller_api.rb +191 -0
  16. data/lib/mailslurp_client/api/tools_controller_api.rb +806 -0
  17. data/lib/mailslurp_client/models/abstract_webhook_payload.rb +15 -15
  18. data/lib/mailslurp_client/models/acquire_phone_pool_lease_options.rb +233 -0
  19. data/lib/mailslurp_client/models/add_phone_pool_numbers_options.rb +213 -0
  20. data/lib/mailslurp_client/models/ai_transform_mapping_projection.rb +39 -39
  21. data/lib/mailslurp_client/models/ai_transform_projection.rb +28 -28
  22. data/lib/mailslurp_client/models/alias_projection.rb +48 -48
  23. data/lib/mailslurp_client/models/alias_thread_projection.rb +44 -44
  24. data/lib/mailslurp_client/models/analyze_dmarc_report_options.rb +248 -0
  25. data/lib/mailslurp_client/models/analyze_dmarc_report_results.rb +386 -0
  26. data/lib/mailslurp_client/models/analyze_email_headers_options.rb +240 -0
  27. data/lib/mailslurp_client/models/analyze_email_headers_results.rb +275 -0
  28. data/lib/mailslurp_client/models/attachment_projection.rb +50 -50
  29. data/lib/mailslurp_client/models/audit_log_event_dto.rb +343 -0
  30. data/lib/mailslurp_client/models/audit_log_page_dto.rb +222 -0
  31. data/lib/mailslurp_client/models/audit_log_search_options.rb +323 -0
  32. data/lib/mailslurp_client/models/available_phone_number_dto.rb +325 -0
  33. data/lib/mailslurp_client/models/available_phone_numbers_result.rb +236 -0
  34. data/lib/mailslurp_client/models/bounce_projection.rb +14 -14
  35. data/lib/mailslurp_client/models/bounce_recipient_projection.rb +10 -10
  36. data/lib/mailslurp_client/models/campaign_probe_dto.rb +411 -0
  37. data/lib/mailslurp_client/models/campaign_probe_insights_dto.rb +408 -0
  38. data/lib/mailslurp_client/models/campaign_probe_run_comparison_dto.rb +397 -0
  39. data/lib/mailslurp_client/models/campaign_probe_run_dto.rb +644 -0
  40. data/lib/mailslurp_client/models/campaign_probe_run_due_result.rb +315 -0
  41. data/lib/mailslurp_client/models/campaign_probe_run_now_result.rb +225 -0
  42. data/lib/mailslurp_client/models/campaign_probe_series_dto.rb +303 -0
  43. data/lib/mailslurp_client/models/campaign_probe_series_point_dto.rb +295 -0
  44. data/lib/mailslurp_client/models/cancel_device_preview_run_options.rb +206 -0
  45. data/lib/mailslurp_client/models/cancel_device_preview_run_result.rb +248 -0
  46. data/lib/mailslurp_client/models/check_campaign_probe_options.rb +371 -0
  47. data/lib/mailslurp_client/models/check_campaign_probe_results.rb +482 -0
  48. data/lib/mailslurp_client/models/check_dns_propagation_options.rb +297 -0
  49. data/lib/mailslurp_client/models/check_dns_propagation_results.rb +361 -0
  50. data/lib/mailslurp_client/models/check_domain_monitor_options.rb +243 -0
  51. data/lib/mailslurp_client/models/check_domain_monitor_results.rb +398 -0
  52. data/lib/mailslurp_client/models/check_email_audit_options.rb +405 -0
  53. data/lib/mailslurp_client/models/check_email_auth_stack_options.rb +248 -0
  54. data/lib/mailslurp_client/models/check_email_auth_stack_results.rb +462 -0
  55. data/lib/mailslurp_client/models/check_email_blacklist_options.rb +241 -0
  56. data/lib/mailslurp_client/models/check_email_blacklist_results.rb +366 -0
  57. data/lib/mailslurp_client/models/code_candidate.rb +303 -0
  58. data/lib/mailslurp_client/models/connector_event_projection.rb +33 -33
  59. data/lib/mailslurp_client/models/connector_projection.rb +42 -42
  60. data/lib/mailslurp_client/models/contact_projection.rb +24 -24
  61. data/lib/mailslurp_client/models/create_campaign_probe_options.rb +290 -0
  62. data/lib/mailslurp_client/models/create_campaign_probe_run_options.rb +264 -0
  63. data/lib/mailslurp_client/models/create_deliverability_simulation_job_options.rb +345 -0
  64. data/lib/mailslurp_client/models/create_deliverability_test_options.rb +372 -0
  65. data/lib/mailslurp_client/models/create_device_preview_feedback_options.rb +405 -0
  66. data/lib/mailslurp_client/models/create_device_preview_options.rb +241 -0
  67. data/lib/mailslurp_client/models/create_device_preview_run_result.rb +225 -0
  68. data/lib/mailslurp_client/models/create_domain_monitor_alert_sink_options.rb +308 -0
  69. data/lib/mailslurp_client/models/create_domain_monitor_options.rb +299 -0
  70. data/lib/mailslurp_client/models/create_email_audit_options.rb +394 -0
  71. data/lib/mailslurp_client/models/create_phone_number_options.rb +25 -4
  72. data/lib/mailslurp_client/models/create_phone_pool_options.rb +220 -0
  73. data/lib/mailslurp_client/models/create_phone_provisioning_job_item_options.rb +256 -0
  74. data/lib/mailslurp_client/models/create_phone_provisioning_job_options.rb +284 -0
  75. data/lib/mailslurp_client/models/delete_device_preview_run_result.rb +253 -0
  76. data/lib/mailslurp_client/models/delete_result.rb +245 -0
  77. data/lib/mailslurp_client/models/deliverability_analytics_run_dto.rb +426 -0
  78. data/lib/mailslurp_client/models/deliverability_analytics_series_dto.rb +342 -0
  79. data/lib/mailslurp_client/models/deliverability_analytics_series_point_dto.rb +240 -0
  80. data/lib/mailslurp_client/models/deliverability_analytics_summary_dto.rb +380 -0
  81. data/lib/mailslurp_client/models/deliverability_entity_result_dto.rb +360 -0
  82. data/lib/mailslurp_client/models/deliverability_entity_result_page_dto.rb +318 -0
  83. data/lib/mailslurp_client/models/deliverability_expectation.rb +276 -0
  84. data/lib/mailslurp_client/models/deliverability_expectation_result_dto.rb +294 -0
  85. data/lib/mailslurp_client/models/deliverability_failure_entity_hotspot_dto.rb +360 -0
  86. data/lib/mailslurp_client/models/deliverability_failure_hotspots_dto.rb +302 -0
  87. data/lib/mailslurp_client/models/deliverability_failure_phone_dimension_hotspot_dto.rb +306 -0
  88. data/lib/mailslurp_client/models/deliverability_poll_status_result_dto.rb +250 -0
  89. data/lib/mailslurp_client/models/deliverability_selector_options.rb +307 -0
  90. data/lib/mailslurp_client/models/deliverability_simulation_email_options.rb +231 -0
  91. data/lib/mailslurp_client/models/deliverability_simulation_job_config_dto.rb +300 -0
  92. data/lib/mailslurp_client/models/deliverability_simulation_job_dto.rb +494 -0
  93. data/lib/mailslurp_client/models/deliverability_simulation_job_error_summary_dto.rb +224 -0
  94. data/lib/mailslurp_client/models/deliverability_simulation_job_event_dto.rb +344 -0
  95. data/lib/mailslurp_client/models/deliverability_simulation_job_event_page_dto.rb +284 -0
  96. data/lib/mailslurp_client/models/deliverability_simulation_job_top_error_dto.rb +226 -0
  97. data/lib/mailslurp_client/models/deliverability_simulation_sms_options.rb +209 -0
  98. data/lib/mailslurp_client/models/deliverability_test_dto.rb +558 -0
  99. data/lib/mailslurp_client/models/deliverability_test_page_dto.rb +270 -0
  100. data/lib/mailslurp_client/models/device_preview_feedback_dto.rb +456 -0
  101. data/lib/mailslurp_client/models/device_preview_feedback_list_dto.rb +255 -0
  102. data/lib/mailslurp_client/models/device_preview_provider_progress_dto.rb +387 -0
  103. data/lib/mailslurp_client/models/device_preview_run_dto.rb +382 -0
  104. data/lib/mailslurp_client/models/device_preview_run_results_dto.rb +243 -0
  105. data/lib/mailslurp_client/models/device_preview_screenshot_dto.rb +389 -0
  106. data/lib/mailslurp_client/models/device_preview_target_dto.rb +368 -0
  107. data/lib/mailslurp_client/models/dmarc_report_metadata.rb +308 -0
  108. data/lib/mailslurp_client/models/dmarc_report_source_summary.rb +274 -0
  109. data/lib/mailslurp_client/models/dns_propagation_resolver_result.rb +252 -0
  110. data/lib/mailslurp_client/models/domain_monitor_alert_sink_dto.rb +369 -0
  111. data/lib/mailslurp_client/models/domain_monitor_dto.rb +383 -0
  112. data/lib/mailslurp_client/models/domain_monitor_insights_dto.rb +422 -0
  113. data/lib/mailslurp_client/models/domain_monitor_run_comparison_dto.rb +369 -0
  114. data/lib/mailslurp_client/models/domain_monitor_run_dto.rb +492 -0
  115. data/lib/mailslurp_client/models/domain_monitor_run_due_result.rb +287 -0
  116. data/lib/mailslurp_client/models/domain_monitor_run_now_result.rb +225 -0
  117. data/lib/mailslurp_client/models/domain_monitor_series_dto.rb +303 -0
  118. data/lib/mailslurp_client/models/domain_monitor_series_point_dto.rb +309 -0
  119. data/lib/mailslurp_client/models/domain_monitor_summary_dto.rb +248 -0
  120. data/lib/mailslurp_client/models/domain_region_group.rb +261 -0
  121. data/lib/mailslurp_client/models/domain_region_groups_dto.rb +214 -0
  122. data/lib/mailslurp_client/models/domain_region_information.rb +338 -0
  123. data/lib/mailslurp_client/models/email_audit_analysis_result.rb +620 -0
  124. data/lib/mailslurp_client/models/email_audit_comparison_dto.rb +411 -0
  125. data/lib/mailslurp_client/models/email_audit_dto.rb +308 -0
  126. data/lib/mailslurp_client/models/email_audit_spelling_issue.rb +276 -0
  127. data/lib/mailslurp_client/models/email_audit_url_issue.rb +236 -0
  128. data/lib/mailslurp_client/models/email_blacklist_ip_result.rb +242 -0
  129. data/lib/mailslurp_client/models/email_blacklist_listing_result.rb +258 -0
  130. data/lib/mailslurp_client/models/email_header_analysis_summary.rb +242 -0
  131. data/lib/mailslurp_client/models/email_header_received_hop.rb +242 -0
  132. data/lib/mailslurp_client/models/email_projection.rb +66 -66
  133. data/lib/mailslurp_client/models/email_signature.rb +254 -0
  134. data/lib/mailslurp_client/models/email_signature_parse_result.rb +223 -0
  135. data/lib/mailslurp_client/models/email_thread_projection.rb +78 -78
  136. data/lib/mailslurp_client/models/entity_automation_item_projection.rb +27 -27
  137. data/lib/mailslurp_client/models/entity_event_item_projection.rb +45 -45
  138. data/lib/mailslurp_client/models/entity_favourite_item_projection.rb +29 -29
  139. data/lib/mailslurp_client/models/expired_inbox_record_projection.rb +27 -27
  140. data/lib/mailslurp_client/models/extract_attachment_text_options.rb +268 -0
  141. data/lib/mailslurp_client/models/extract_attachment_text_result.rb +297 -0
  142. data/lib/mailslurp_client/models/extract_codes_options.rb +304 -0
  143. data/lib/mailslurp_client/models/extract_codes_result.rb +303 -0
  144. data/lib/mailslurp_client/models/generate_spf_record_options.rb +357 -0
  145. data/lib/mailslurp_client/models/generate_spf_record_results.rb +318 -0
  146. data/lib/mailslurp_client/models/get_or_create_phone_pool_options.rb +220 -0
  147. data/lib/mailslurp_client/models/group_projection.rb +15 -15
  148. data/lib/mailslurp_client/models/guest_portal_user_projection.rb +50 -50
  149. data/lib/mailslurp_client/models/imap_email_projection.rb +18 -18
  150. data/lib/mailslurp_client/models/inbox_dto.rb +2 -2
  151. data/lib/mailslurp_client/models/inbox_forwarder_event_projection.rb +21 -21
  152. data/lib/mailslurp_client/models/inbox_preview.rb +2 -2
  153. data/lib/mailslurp_client/models/inbox_replier_event_projection.rb +33 -33
  154. data/lib/mailslurp_client/models/list_unsubscribe_recipient_projection.rb +19 -19
  155. data/lib/mailslurp_client/models/lookup_dkim_domain_options.rb +275 -0
  156. data/lib/mailslurp_client/models/lookup_dkim_domain_results.rb +304 -0
  157. data/lib/mailslurp_client/models/lookup_ptr_options.rb +241 -0
  158. data/lib/mailslurp_client/models/lookup_ptr_results.rb +305 -0
  159. data/lib/mailslurp_client/models/lookup_spf_domain_options.rb +240 -0
  160. data/lib/mailslurp_client/models/lookup_spf_domain_results.rb +305 -0
  161. data/lib/mailslurp_client/models/missed_email_projection.rb +28 -28
  162. data/lib/mailslurp_client/models/missed_sms_dto.rb +320 -0
  163. data/lib/mailslurp_client/models/missed_sms_projection.rb +282 -0
  164. data/lib/mailslurp_client/models/opt_in_identity_projection.rb +24 -24
  165. data/lib/mailslurp_client/models/organization_inbox_projection.rb +2 -2
  166. data/lib/mailslurp_client/models/page_ai_transform_mapping_projection.rb +19 -19
  167. data/lib/mailslurp_client/models/page_ai_transform_projection.rb +19 -19
  168. data/lib/mailslurp_client/models/page_ai_transform_result_projection.rb +19 -19
  169. data/lib/mailslurp_client/models/page_alias.rb +19 -19
  170. data/lib/mailslurp_client/models/page_alias_thread_projection.rb +19 -19
  171. data/lib/mailslurp_client/models/page_attachment_entity.rb +19 -19
  172. data/lib/mailslurp_client/models/page_bounced_email.rb +19 -19
  173. data/lib/mailslurp_client/models/page_bounced_recipients.rb +19 -19
  174. data/lib/mailslurp_client/models/page_complaint.rb +19 -19
  175. data/lib/mailslurp_client/models/page_connector.rb +19 -19
  176. data/lib/mailslurp_client/models/page_connector_events.rb +19 -19
  177. data/lib/mailslurp_client/models/page_contact_projection.rb +19 -19
  178. data/lib/mailslurp_client/models/page_delivery_status.rb +19 -19
  179. data/lib/mailslurp_client/models/page_device_preview_run_projection.rb +309 -0
  180. data/lib/mailslurp_client/models/page_email_preview.rb +19 -19
  181. data/lib/mailslurp_client/models/page_email_projection.rb +19 -19
  182. data/lib/mailslurp_client/models/page_email_thread_projection.rb +19 -19
  183. data/lib/mailslurp_client/models/page_email_validation_request.rb +19 -19
  184. data/lib/mailslurp_client/models/page_entity_automation_items.rb +19 -19
  185. data/lib/mailslurp_client/models/page_entity_event_items.rb +19 -19
  186. data/lib/mailslurp_client/models/page_entity_favourite_items.rb +19 -19
  187. data/lib/mailslurp_client/models/page_expired_inbox_record_projection.rb +19 -19
  188. data/lib/mailslurp_client/models/page_group_projection.rb +19 -19
  189. data/lib/mailslurp_client/models/page_guest_portal_users.rb +19 -19
  190. data/lib/mailslurp_client/models/page_inbox_forwarder_dto.rb +19 -19
  191. data/lib/mailslurp_client/models/page_inbox_forwarder_events.rb +19 -19
  192. data/lib/mailslurp_client/models/page_inbox_projection.rb +19 -19
  193. data/lib/mailslurp_client/models/page_inbox_replier_dto.rb +19 -19
  194. data/lib/mailslurp_client/models/page_inbox_replier_events.rb +19 -19
  195. data/lib/mailslurp_client/models/page_inbox_tags.rb +19 -19
  196. data/lib/mailslurp_client/models/page_list_unsubscribe_recipients.rb +19 -19
  197. data/lib/mailslurp_client/models/page_missed_email_projection.rb +19 -19
  198. data/lib/mailslurp_client/models/page_missed_sms_projection.rb +309 -0
  199. data/lib/mailslurp_client/models/page_opt_in_identity_projection.rb +19 -19
  200. data/lib/mailslurp_client/models/page_organization_inbox_projection.rb +19 -19
  201. data/lib/mailslurp_client/models/page_phone_message_thread_item_projection.rb +19 -19
  202. data/lib/mailslurp_client/models/page_phone_message_thread_projection.rb +19 -19
  203. data/lib/mailslurp_client/models/page_phone_number_projection.rb +19 -19
  204. data/lib/mailslurp_client/models/page_phone_number_release_projection.rb +19 -19
  205. data/lib/mailslurp_client/models/page_plus_address_projection.rb +19 -19
  206. data/lib/mailslurp_client/models/page_reputation_items.rb +19 -19
  207. data/lib/mailslurp_client/models/page_ruleset_dto.rb +19 -19
  208. data/lib/mailslurp_client/models/page_scheduled_jobs.rb +19 -19
  209. data/lib/mailslurp_client/models/page_sent_email_projection.rb +19 -19
  210. data/lib/mailslurp_client/models/page_sent_email_with_queue_projection.rb +19 -19
  211. data/lib/mailslurp_client/models/page_sent_sms_projection.rb +19 -19
  212. data/lib/mailslurp_client/models/page_sms_projection.rb +19 -19
  213. data/lib/mailslurp_client/models/page_template_projection.rb +19 -19
  214. data/lib/mailslurp_client/models/page_tracking_pixel_projection.rb +19 -19
  215. data/lib/mailslurp_client/models/page_unknown_missed_email_projection.rb +19 -19
  216. data/lib/mailslurp_client/models/page_webhook_endpoint_projection.rb +19 -19
  217. data/lib/mailslurp_client/models/page_webhook_projection.rb +19 -19
  218. data/lib/mailslurp_client/models/page_webhook_result.rb +19 -19
  219. data/lib/mailslurp_client/models/pageable_object.rb +22 -22
  220. data/lib/mailslurp_client/models/phone_message_thread_item_projection.rb +18 -18
  221. data/lib/mailslurp_client/models/phone_number_dto.rb +49 -4
  222. data/lib/mailslurp_client/models/phone_number_line_type_intelligence_dto.rb +242 -0
  223. data/lib/mailslurp_client/models/phone_number_line_type_lookup_dto.rb +286 -0
  224. data/lib/mailslurp_client/models/phone_number_projection.rb +81 -36
  225. data/lib/mailslurp_client/models/phone_number_release_projection.rb +39 -39
  226. data/lib/mailslurp_client/models/phone_pool_detail_dto.rb +334 -0
  227. data/lib/mailslurp_client/models/phone_pool_dto.rb +318 -0
  228. data/lib/mailslurp_client/models/phone_pool_lease_dto.rb +351 -0
  229. data/lib/mailslurp_client/models/phone_pool_member_dto.rb +333 -0
  230. data/lib/mailslurp_client/models/phone_provider_capabilities_result.rb +284 -0
  231. data/lib/mailslurp_client/models/phone_provisioning_job_dto.rb +434 -0
  232. data/lib/mailslurp_client/models/phone_provisioning_job_item_dto.rb +336 -0
  233. data/lib/mailslurp_client/models/phone_sms_prepaid_credit_dto.rb +340 -0
  234. data/lib/mailslurp_client/models/phone_sms_prepaid_credits_dto.rb +241 -0
  235. data/lib/mailslurp_client/models/plus_address_projection.rb +32 -32
  236. data/lib/mailslurp_client/models/recipient_projection.rb +13 -13
  237. data/lib/mailslurp_client/models/reputation_item_projection.rb +41 -41
  238. data/lib/mailslurp_client/models/search_available_phone_numbers_options.rb +377 -0
  239. data/lib/mailslurp_client/models/search_inboxes_options.rb +1 -1
  240. data/lib/mailslurp_client/models/sender_projection.rb +13 -13
  241. data/lib/mailslurp_client/models/sent_email_projection.rb +50 -50
  242. data/lib/mailslurp_client/models/sent_sms_projection.rb +18 -18
  243. data/lib/mailslurp_client/models/sms_projection.rb +18 -18
  244. data/lib/mailslurp_client/models/smtp_auth_diagnostic_result.rb +235 -0
  245. data/lib/mailslurp_client/models/smtp_diagnostic_step.rb +236 -0
  246. data/lib/mailslurp_client/models/smtp_tls_diagnostic_result.rb +245 -0
  247. data/lib/mailslurp_client/models/sort_object.rb +10 -10
  248. data/lib/mailslurp_client/models/spf_mechanism_result.rb +229 -0
  249. data/lib/mailslurp_client/models/template_projection.rb +41 -41
  250. data/lib/mailslurp_client/models/tenant_reputation_finding_dto.rb +322 -0
  251. data/lib/mailslurp_client/models/tenant_reputation_findings_dto.rb +241 -0
  252. data/lib/mailslurp_client/models/tenant_reputation_status_row_dto.rb +372 -0
  253. data/lib/mailslurp_client/models/tenant_reputation_status_summary_dto.rb +241 -0
  254. data/lib/mailslurp_client/models/test_smtp_server_options.rb +337 -0
  255. data/lib/mailslurp_client/models/test_smtp_server_results.rb +297 -0
  256. data/lib/mailslurp_client/models/tracking_pixel_projection.rb +27 -27
  257. data/lib/mailslurp_client/models/unknown_missed_email_projection.rb +27 -27
  258. data/lib/mailslurp_client/models/update_campaign_probe_options.rb +290 -0
  259. data/lib/mailslurp_client/models/update_deliverability_test_options.rb +327 -0
  260. data/lib/mailslurp_client/models/update_device_preview_feedback_options.rb +314 -0
  261. data/lib/mailslurp_client/models/update_domain_monitor_options.rb +266 -0
  262. data/lib/mailslurp_client/models/update_phone_pool_options.rb +215 -0
  263. data/lib/mailslurp_client/models/validation_dto.rb +1 -5
  264. data/lib/mailslurp_client/models/webhook_projection.rb +39 -39
  265. data/lib/mailslurp_client/version.rb +1 -1
  266. data/lib/mailslurp_client.rb +156 -0
  267. metadata +158 -2
@@ -0,0 +1,558 @@
1
+ =begin
2
+ #MailSlurp API
3
+
4
+ #MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository
5
+
6
+ The version of the OpenAPI document: 6.5.2
7
+ Contact: contact@mailslurp.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module MailSlurpClient
16
+ # Deliverability test configuration and progress summary
17
+ class DeliverabilityTestDto
18
+ attr_accessor :id
19
+
20
+ attr_accessor :name
21
+
22
+ attr_accessor :description
23
+
24
+ attr_accessor :scope
25
+
26
+ attr_accessor :selector
27
+
28
+ attr_accessor :selected_entity_count
29
+
30
+ attr_accessor :expectations
31
+
32
+ attr_accessor :status
33
+
34
+ attr_accessor :start_at
35
+
36
+ attr_accessor :started_at
37
+
38
+ attr_accessor :completed_at
39
+
40
+ attr_accessor :max_duration_seconds
41
+
42
+ attr_accessor :success_threshold_percent
43
+
44
+ attr_accessor :threshold_status
45
+
46
+ attr_accessor :threshold_met
47
+
48
+ attr_accessor :last_evaluated_at
49
+
50
+ attr_accessor :total_entities
51
+
52
+ attr_accessor :matched_entities
53
+
54
+ attr_accessor :unmatched_entities
55
+
56
+ attr_accessor :completion_percentage
57
+
58
+ attr_accessor :timed_out
59
+
60
+ attr_accessor :failure_reason
61
+
62
+ attr_accessor :created_at
63
+
64
+ attr_accessor :updated_at
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
+ :'id' => :'id',
92
+ :'name' => :'name',
93
+ :'description' => :'description',
94
+ :'scope' => :'scope',
95
+ :'selector' => :'selector',
96
+ :'selected_entity_count' => :'selectedEntityCount',
97
+ :'expectations' => :'expectations',
98
+ :'status' => :'status',
99
+ :'start_at' => :'startAt',
100
+ :'started_at' => :'startedAt',
101
+ :'completed_at' => :'completedAt',
102
+ :'max_duration_seconds' => :'maxDurationSeconds',
103
+ :'success_threshold_percent' => :'successThresholdPercent',
104
+ :'threshold_status' => :'thresholdStatus',
105
+ :'threshold_met' => :'thresholdMet',
106
+ :'last_evaluated_at' => :'lastEvaluatedAt',
107
+ :'total_entities' => :'totalEntities',
108
+ :'matched_entities' => :'matchedEntities',
109
+ :'unmatched_entities' => :'unmatchedEntities',
110
+ :'completion_percentage' => :'completionPercentage',
111
+ :'timed_out' => :'timedOut',
112
+ :'failure_reason' => :'failureReason',
113
+ :'created_at' => :'createdAt',
114
+ :'updated_at' => :'updatedAt'
115
+ }
116
+ end
117
+
118
+ # Attribute type mapping.
119
+ def self.openapi_types
120
+ {
121
+ :'id' => :'String',
122
+ :'name' => :'String',
123
+ :'description' => :'String',
124
+ :'scope' => :'String',
125
+ :'selector' => :'DeliverabilitySelectorOptions',
126
+ :'selected_entity_count' => :'Integer',
127
+ :'expectations' => :'Array<DeliverabilityExpectation>',
128
+ :'status' => :'String',
129
+ :'start_at' => :'DateTime',
130
+ :'started_at' => :'DateTime',
131
+ :'completed_at' => :'DateTime',
132
+ :'max_duration_seconds' => :'Integer',
133
+ :'success_threshold_percent' => :'Float',
134
+ :'threshold_status' => :'String',
135
+ :'threshold_met' => :'Boolean',
136
+ :'last_evaluated_at' => :'DateTime',
137
+ :'total_entities' => :'Integer',
138
+ :'matched_entities' => :'Integer',
139
+ :'unmatched_entities' => :'Integer',
140
+ :'completion_percentage' => :'Float',
141
+ :'timed_out' => :'Boolean',
142
+ :'failure_reason' => :'String',
143
+ :'created_at' => :'DateTime',
144
+ :'updated_at' => :'DateTime'
145
+ }
146
+ end
147
+
148
+ # List of attributes with nullable: true
149
+ def self.openapi_nullable
150
+ Set.new([
151
+ :'name',
152
+ :'description',
153
+ :'started_at',
154
+ :'completed_at',
155
+ :'max_duration_seconds',
156
+ :'success_threshold_percent',
157
+ :'threshold_met',
158
+ :'last_evaluated_at',
159
+ :'failure_reason',
160
+ ])
161
+ end
162
+
163
+ # Initializes the object
164
+ # @param [Hash] attributes Model attributes in the form of hash
165
+ def initialize(attributes = {})
166
+ if (!attributes.is_a?(Hash))
167
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::DeliverabilityTestDto` initialize method"
168
+ end
169
+
170
+ # check to see if the attribute exists and convert string to symbol for hash key
171
+ attributes = attributes.each_with_object({}) { |(k, v), h|
172
+ if (!self.class.attribute_map.key?(k.to_sym))
173
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::DeliverabilityTestDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
174
+ end
175
+ h[k.to_sym] = v
176
+ }
177
+
178
+ if attributes.key?(:'id')
179
+ self.id = attributes[:'id']
180
+ end
181
+
182
+ if attributes.key?(:'name')
183
+ self.name = attributes[:'name']
184
+ end
185
+
186
+ if attributes.key?(:'description')
187
+ self.description = attributes[:'description']
188
+ end
189
+
190
+ if attributes.key?(:'scope')
191
+ self.scope = attributes[:'scope']
192
+ end
193
+
194
+ if attributes.key?(:'selector')
195
+ self.selector = attributes[:'selector']
196
+ end
197
+
198
+ if attributes.key?(:'selected_entity_count')
199
+ self.selected_entity_count = attributes[:'selected_entity_count']
200
+ end
201
+
202
+ if attributes.key?(:'expectations')
203
+ if (value = attributes[:'expectations']).is_a?(Array)
204
+ self.expectations = value
205
+ end
206
+ end
207
+
208
+ if attributes.key?(:'status')
209
+ self.status = attributes[:'status']
210
+ end
211
+
212
+ if attributes.key?(:'start_at')
213
+ self.start_at = attributes[:'start_at']
214
+ end
215
+
216
+ if attributes.key?(:'started_at')
217
+ self.started_at = attributes[:'started_at']
218
+ end
219
+
220
+ if attributes.key?(:'completed_at')
221
+ self.completed_at = attributes[:'completed_at']
222
+ end
223
+
224
+ if attributes.key?(:'max_duration_seconds')
225
+ self.max_duration_seconds = attributes[:'max_duration_seconds']
226
+ end
227
+
228
+ if attributes.key?(:'success_threshold_percent')
229
+ self.success_threshold_percent = attributes[:'success_threshold_percent']
230
+ end
231
+
232
+ if attributes.key?(:'threshold_status')
233
+ self.threshold_status = attributes[:'threshold_status']
234
+ end
235
+
236
+ if attributes.key?(:'threshold_met')
237
+ self.threshold_met = attributes[:'threshold_met']
238
+ end
239
+
240
+ if attributes.key?(:'last_evaluated_at')
241
+ self.last_evaluated_at = attributes[:'last_evaluated_at']
242
+ end
243
+
244
+ if attributes.key?(:'total_entities')
245
+ self.total_entities = attributes[:'total_entities']
246
+ end
247
+
248
+ if attributes.key?(:'matched_entities')
249
+ self.matched_entities = attributes[:'matched_entities']
250
+ end
251
+
252
+ if attributes.key?(:'unmatched_entities')
253
+ self.unmatched_entities = attributes[:'unmatched_entities']
254
+ end
255
+
256
+ if attributes.key?(:'completion_percentage')
257
+ self.completion_percentage = attributes[:'completion_percentage']
258
+ end
259
+
260
+ if attributes.key?(:'timed_out')
261
+ self.timed_out = attributes[:'timed_out']
262
+ end
263
+
264
+ if attributes.key?(:'failure_reason')
265
+ self.failure_reason = attributes[:'failure_reason']
266
+ end
267
+
268
+ if attributes.key?(:'created_at')
269
+ self.created_at = attributes[:'created_at']
270
+ end
271
+
272
+ if attributes.key?(:'updated_at')
273
+ self.updated_at = attributes[:'updated_at']
274
+ end
275
+ end
276
+
277
+ # Show invalid properties with the reasons. Usually used together with valid?
278
+ # @return Array for valid properties with the reasons
279
+ def list_invalid_properties
280
+ invalid_properties = Array.new
281
+ if @id.nil?
282
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
283
+ end
284
+
285
+ if @scope.nil?
286
+ invalid_properties.push('invalid value for "scope", scope cannot be nil.')
287
+ end
288
+
289
+ if @selector.nil?
290
+ invalid_properties.push('invalid value for "selector", selector cannot be nil.')
291
+ end
292
+
293
+ if @selected_entity_count.nil?
294
+ invalid_properties.push('invalid value for "selected_entity_count", selected_entity_count cannot be nil.')
295
+ end
296
+
297
+ if @expectations.nil?
298
+ invalid_properties.push('invalid value for "expectations", expectations cannot be nil.')
299
+ end
300
+
301
+ if @status.nil?
302
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
303
+ end
304
+
305
+ if @start_at.nil?
306
+ invalid_properties.push('invalid value for "start_at", start_at cannot be nil.')
307
+ end
308
+
309
+ if @threshold_status.nil?
310
+ invalid_properties.push('invalid value for "threshold_status", threshold_status cannot be nil.')
311
+ end
312
+
313
+ if @total_entities.nil?
314
+ invalid_properties.push('invalid value for "total_entities", total_entities cannot be nil.')
315
+ end
316
+
317
+ if @matched_entities.nil?
318
+ invalid_properties.push('invalid value for "matched_entities", matched_entities cannot be nil.')
319
+ end
320
+
321
+ if @unmatched_entities.nil?
322
+ invalid_properties.push('invalid value for "unmatched_entities", unmatched_entities cannot be nil.')
323
+ end
324
+
325
+ if @completion_percentage.nil?
326
+ invalid_properties.push('invalid value for "completion_percentage", completion_percentage cannot be nil.')
327
+ end
328
+
329
+ if @timed_out.nil?
330
+ invalid_properties.push('invalid value for "timed_out", timed_out cannot be nil.')
331
+ end
332
+
333
+ if @created_at.nil?
334
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
335
+ end
336
+
337
+ if @updated_at.nil?
338
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
339
+ end
340
+
341
+ invalid_properties
342
+ end
343
+
344
+ # Check to see if the all the properties in the model are valid
345
+ # @return true if the model is valid
346
+ def valid?
347
+ return false if @id.nil?
348
+ return false if @scope.nil?
349
+ scope_validator = EnumAttributeValidator.new('String', ["INBOX", "PHONE"])
350
+ return false unless scope_validator.valid?(@scope)
351
+ return false if @selector.nil?
352
+ return false if @selected_entity_count.nil?
353
+ return false if @expectations.nil?
354
+ return false if @status.nil?
355
+ status_validator = EnumAttributeValidator.new('String', ["CREATED", "SCHEDULED", "RUNNING", "PAUSED", "STOPPED", "COMPLETE", "FAILED"])
356
+ return false unless status_validator.valid?(@status)
357
+ return false if @start_at.nil?
358
+ return false if @threshold_status.nil?
359
+ threshold_status_validator = EnumAttributeValidator.new('String', ["NOT_CONFIGURED", "PASSING", "FAILING"])
360
+ return false unless threshold_status_validator.valid?(@threshold_status)
361
+ return false if @total_entities.nil?
362
+ return false if @matched_entities.nil?
363
+ return false if @unmatched_entities.nil?
364
+ return false if @completion_percentage.nil?
365
+ return false if @timed_out.nil?
366
+ return false if @created_at.nil?
367
+ return false if @updated_at.nil?
368
+ true
369
+ end
370
+
371
+ # Custom attribute writer method checking allowed values (enum).
372
+ # @param [Object] scope Object to be assigned
373
+ def scope=(scope)
374
+ validator = EnumAttributeValidator.new('String', ["INBOX", "PHONE"])
375
+ unless validator.valid?(scope)
376
+ fail ArgumentError, "invalid value for \"scope\", must be one of #{validator.allowable_values}."
377
+ end
378
+ @scope = scope
379
+ end
380
+
381
+ # Custom attribute writer method checking allowed values (enum).
382
+ # @param [Object] status Object to be assigned
383
+ def status=(status)
384
+ validator = EnumAttributeValidator.new('String', ["CREATED", "SCHEDULED", "RUNNING", "PAUSED", "STOPPED", "COMPLETE", "FAILED"])
385
+ unless validator.valid?(status)
386
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
387
+ end
388
+ @status = status
389
+ end
390
+
391
+ # Custom attribute writer method checking allowed values (enum).
392
+ # @param [Object] threshold_status Object to be assigned
393
+ def threshold_status=(threshold_status)
394
+ validator = EnumAttributeValidator.new('String', ["NOT_CONFIGURED", "PASSING", "FAILING"])
395
+ unless validator.valid?(threshold_status)
396
+ fail ArgumentError, "invalid value for \"threshold_status\", must be one of #{validator.allowable_values}."
397
+ end
398
+ @threshold_status = threshold_status
399
+ end
400
+
401
+ # Checks equality by comparing each attribute.
402
+ # @param [Object] Object to be compared
403
+ def ==(o)
404
+ return true if self.equal?(o)
405
+ self.class == o.class &&
406
+ id == o.id &&
407
+ name == o.name &&
408
+ description == o.description &&
409
+ scope == o.scope &&
410
+ selector == o.selector &&
411
+ selected_entity_count == o.selected_entity_count &&
412
+ expectations == o.expectations &&
413
+ status == o.status &&
414
+ start_at == o.start_at &&
415
+ started_at == o.started_at &&
416
+ completed_at == o.completed_at &&
417
+ max_duration_seconds == o.max_duration_seconds &&
418
+ success_threshold_percent == o.success_threshold_percent &&
419
+ threshold_status == o.threshold_status &&
420
+ threshold_met == o.threshold_met &&
421
+ last_evaluated_at == o.last_evaluated_at &&
422
+ total_entities == o.total_entities &&
423
+ matched_entities == o.matched_entities &&
424
+ unmatched_entities == o.unmatched_entities &&
425
+ completion_percentage == o.completion_percentage &&
426
+ timed_out == o.timed_out &&
427
+ failure_reason == o.failure_reason &&
428
+ created_at == o.created_at &&
429
+ updated_at == o.updated_at
430
+ end
431
+
432
+ # @see the `==` method
433
+ # @param [Object] Object to be compared
434
+ def eql?(o)
435
+ self == o
436
+ end
437
+
438
+ # Calculates hash code according to all attributes.
439
+ # @return [Integer] Hash code
440
+ def hash
441
+ [id, name, description, scope, selector, selected_entity_count, expectations, status, start_at, started_at, completed_at, max_duration_seconds, success_threshold_percent, threshold_status, threshold_met, last_evaluated_at, total_entities, matched_entities, unmatched_entities, completion_percentage, timed_out, failure_reason, created_at, updated_at].hash
442
+ end
443
+
444
+ # Builds the object from hash
445
+ # @param [Hash] attributes Model attributes in the form of hash
446
+ # @return [Object] Returns the model itself
447
+ def self.build_from_hash(attributes)
448
+ new.build_from_hash(attributes)
449
+ end
450
+
451
+ # Builds the object from hash
452
+ # @param [Hash] attributes Model attributes in the form of hash
453
+ # @return [Object] Returns the model itself
454
+ def build_from_hash(attributes)
455
+ return nil unless attributes.is_a?(Hash)
456
+ self.class.openapi_types.each_pair do |key, type|
457
+ if type =~ /\AArray<(.*)>/i
458
+ # check to ensure the input is an array given that the attribute
459
+ # is documented as an array but the input is not
460
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
461
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
462
+ end
463
+ elsif !attributes[self.class.attribute_map[key]].nil?
464
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
465
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
466
+ end
467
+
468
+ self
469
+ end
470
+
471
+ # Deserializes the data based on type
472
+ # @param string type Data type
473
+ # @param string value Value to be deserialized
474
+ # @return [Object] Deserialized data
475
+ def _deserialize(type, value)
476
+ case type.to_sym
477
+ when :DateTime
478
+ DateTime.parse(value)
479
+ when :Date
480
+ Date.parse(value)
481
+ when :String
482
+ value.to_s
483
+ when :Integer
484
+ value.to_i
485
+ when :Float
486
+ value.to_f
487
+ when :Boolean
488
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
489
+ true
490
+ else
491
+ false
492
+ end
493
+ when :Object
494
+ # generic object (usually a Hash), return directly
495
+ value
496
+ when /\AArray<(?<inner_type>.+)>\z/
497
+ inner_type = Regexp.last_match[:inner_type]
498
+ value.map { |v| _deserialize(inner_type, v) }
499
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
500
+ k_type = Regexp.last_match[:k_type]
501
+ v_type = Regexp.last_match[:v_type]
502
+ {}.tap do |hash|
503
+ value.each do |k, v|
504
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
505
+ end
506
+ end
507
+ else # model
508
+ MailSlurpClient.const_get(type).build_from_hash(value)
509
+ end
510
+ end
511
+
512
+ # Returns the string representation of the object
513
+ # @return [String] String presentation of the object
514
+ def to_s
515
+ to_hash.to_s
516
+ end
517
+
518
+ # to_body is an alias to to_hash (backward compatibility)
519
+ # @return [Hash] Returns the object in the form of hash
520
+ def to_body
521
+ to_hash
522
+ end
523
+
524
+ # Returns the object in the form of hash
525
+ # @return [Hash] Returns the object in the form of hash
526
+ def to_hash
527
+ hash = {}
528
+ self.class.attribute_map.each_pair do |attr, param|
529
+ value = self.send(attr)
530
+ if value.nil?
531
+ is_nullable = self.class.openapi_nullable.include?(attr)
532
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
533
+ end
534
+
535
+ hash[param] = _to_hash(value)
536
+ end
537
+ hash
538
+ end
539
+
540
+ # Outputs non-array value in the form of hash
541
+ # For object, use to_hash. Otherwise, just return the value
542
+ # @param [Object] value Any valid value
543
+ # @return [Hash] Returns the value in the form of hash
544
+ def _to_hash(value)
545
+ if value.is_a?(Array)
546
+ value.compact.map { |v| _to_hash(v) }
547
+ elsif value.is_a?(Hash)
548
+ {}.tap do |hash|
549
+ value.each { |k, v| hash[k] = _to_hash(v) }
550
+ end
551
+ elsif value.respond_to? :to_hash
552
+ value.to_hash
553
+ else
554
+ value
555
+ end
556
+ end
557
+ end
558
+ end