mailslurp_client 17.2.0 → 17.4.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 (199) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client/api/attachment_controller_api.rb +5 -5
  3. data/lib/mailslurp_client/api/campaign_probe_controller_api.rb +138 -0
  4. data/lib/mailslurp_client/api/domain_monitor_controller_api.rb +264 -0
  5. data/lib/mailslurp_client/api/email_audit_controller_api.rb +334 -0
  6. data/lib/mailslurp_client/api/email_controller_api.rb +126 -2
  7. data/lib/mailslurp_client/api/email_verification_controller_api.rb +64 -0
  8. data/lib/mailslurp_client/api/inbox_controller_api.rb +233 -4
  9. data/lib/mailslurp_client/api/phone_controller_api.rb +2091 -526
  10. data/lib/mailslurp_client/api/sms_controller_api.rb +125 -0
  11. data/lib/mailslurp_client/api/tools_controller_api.rb +806 -0
  12. data/lib/mailslurp_client/models/abstract_webhook_payload.rb +18 -18
  13. data/lib/mailslurp_client/models/acquire_phone_pool_lease_options.rb +233 -0
  14. data/lib/mailslurp_client/models/add_phone_pool_numbers_options.rb +213 -0
  15. data/lib/mailslurp_client/models/ai_transform_mapping_projection.rb +27 -27
  16. data/lib/mailslurp_client/models/ai_transform_projection.rb +28 -28
  17. data/lib/mailslurp_client/models/alias_projection.rb +36 -36
  18. data/lib/mailslurp_client/models/alias_thread_projection.rb +42 -42
  19. data/lib/mailslurp_client/models/analyze_dmarc_report_options.rb +248 -0
  20. data/lib/mailslurp_client/models/analyze_dmarc_report_results.rb +386 -0
  21. data/lib/mailslurp_client/models/analyze_email_headers_options.rb +240 -0
  22. data/lib/mailslurp_client/models/analyze_email_headers_results.rb +275 -0
  23. data/lib/mailslurp_client/models/attachment_projection.rb +66 -66
  24. data/lib/mailslurp_client/models/available_phone_number_dto.rb +325 -0
  25. data/lib/mailslurp_client/models/available_phone_numbers_result.rb +236 -0
  26. data/lib/mailslurp_client/models/bounce_projection.rb +28 -28
  27. data/lib/mailslurp_client/models/bounce_recipient_projection.rb +24 -24
  28. data/lib/mailslurp_client/models/campaign_probe_run_comparison_dto.rb +397 -0
  29. data/lib/mailslurp_client/models/check_campaign_probe_options.rb +371 -0
  30. data/lib/mailslurp_client/models/check_campaign_probe_results.rb +482 -0
  31. data/lib/mailslurp_client/models/check_dns_propagation_options.rb +297 -0
  32. data/lib/mailslurp_client/models/check_dns_propagation_results.rb +361 -0
  33. data/lib/mailslurp_client/models/check_domain_monitor_options.rb +243 -0
  34. data/lib/mailslurp_client/models/check_domain_monitor_results.rb +398 -0
  35. data/lib/mailslurp_client/models/check_email_audit_options.rb +405 -0
  36. data/lib/mailslurp_client/models/check_email_auth_stack_options.rb +248 -0
  37. data/lib/mailslurp_client/models/check_email_auth_stack_results.rb +462 -0
  38. data/lib/mailslurp_client/models/check_email_blacklist_options.rb +241 -0
  39. data/lib/mailslurp_client/models/check_email_blacklist_results.rb +366 -0
  40. data/lib/mailslurp_client/models/connector_event_projection.rb +65 -65
  41. data/lib/mailslurp_client/models/connector_projection.rb +36 -36
  42. data/lib/mailslurp_client/models/contact_projection.rb +29 -29
  43. data/lib/mailslurp_client/models/create_email_audit_options.rb +394 -0
  44. data/lib/mailslurp_client/models/create_inbox_forwarder_options.rb +58 -29
  45. data/lib/mailslurp_client/models/create_inbox_replier_options.rb +39 -33
  46. data/lib/mailslurp_client/models/create_phone_number_options.rb +58 -4
  47. data/lib/mailslurp_client/models/create_phone_pool_options.rb +220 -0
  48. data/lib/mailslurp_client/models/create_phone_provisioning_job_item_options.rb +256 -0
  49. data/lib/mailslurp_client/models/create_phone_provisioning_job_options.rb +284 -0
  50. data/lib/mailslurp_client/models/dmarc_report_metadata.rb +308 -0
  51. data/lib/mailslurp_client/models/dmarc_report_source_summary.rb +274 -0
  52. data/lib/mailslurp_client/models/dns_propagation_resolver_result.rb +252 -0
  53. data/lib/mailslurp_client/models/domain_monitor_run_comparison_dto.rb +369 -0
  54. data/lib/mailslurp_client/models/domain_monitor_summary_dto.rb +248 -0
  55. data/lib/mailslurp_client/models/email_audit_analysis_result.rb +620 -0
  56. data/lib/mailslurp_client/models/email_audit_comparison_dto.rb +411 -0
  57. data/lib/mailslurp_client/models/email_audit_dto.rb +308 -0
  58. data/lib/mailslurp_client/models/email_audit_spelling_issue.rb +276 -0
  59. data/lib/mailslurp_client/models/email_audit_url_issue.rb +236 -0
  60. data/lib/mailslurp_client/models/email_blacklist_ip_result.rb +242 -0
  61. data/lib/mailslurp_client/models/email_blacklist_listing_result.rb +258 -0
  62. data/lib/mailslurp_client/models/email_header_analysis_summary.rb +242 -0
  63. data/lib/mailslurp_client/models/email_header_received_hop.rb +242 -0
  64. data/lib/mailslurp_client/models/email_intelligence_list_result.rb +285 -0
  65. data/lib/mailslurp_client/models/email_intelligence_options.rb +308 -0
  66. data/lib/mailslurp_client/models/email_intelligence_result_dto.rb +256 -0
  67. data/lib/mailslurp_client/models/email_intelligence_score_breakdown_dto.rb +296 -0
  68. data/lib/mailslurp_client/models/email_intelligence_signals_dto.rb +352 -0
  69. data/lib/mailslurp_client/models/email_intelligence_tests_options.rb +253 -0
  70. data/lib/mailslurp_client/models/email_projection.rb +88 -88
  71. data/lib/mailslurp_client/models/email_thread_projection.rb +57 -57
  72. data/lib/mailslurp_client/models/entity_automation_item_projection.rb +33 -33
  73. data/lib/mailslurp_client/models/entity_event_item_projection.rb +42 -42
  74. data/lib/mailslurp_client/models/entity_favourite_item_projection.rb +32 -32
  75. data/lib/mailslurp_client/models/expired_inbox_record_projection.rb +18 -18
  76. data/lib/mailslurp_client/models/extract_attachment_text_options.rb +1 -1
  77. data/lib/mailslurp_client/models/extract_attachment_text_result.rb +1 -1
  78. data/lib/mailslurp_client/models/generate_spf_record_options.rb +357 -0
  79. data/lib/mailslurp_client/models/generate_spf_record_results.rb +318 -0
  80. data/lib/mailslurp_client/models/get_or_create_phone_pool_options.rb +220 -0
  81. data/lib/mailslurp_client/models/group_projection.rb +19 -19
  82. data/lib/mailslurp_client/models/guest_portal_user_projection.rb +41 -41
  83. data/lib/mailslurp_client/models/imap_email_projection.rb +18 -18
  84. data/lib/mailslurp_client/models/import_email_options.rb +269 -0
  85. data/lib/mailslurp_client/models/inbox_automation_match_option.rb +308 -0
  86. data/lib/mailslurp_client/models/inbox_automation_match_options.rb +273 -0
  87. data/lib/mailslurp_client/models/inbox_forwarder_dto.rb +65 -17
  88. data/lib/mailslurp_client/models/inbox_forwarder_event_projection.rb +36 -36
  89. data/lib/mailslurp_client/models/inbox_forwarder_test_options.rb +17 -9
  90. data/lib/mailslurp_client/models/inbox_replier_dto.rb +41 -16
  91. data/lib/mailslurp_client/models/inbox_replier_event_projection.rb +48 -48
  92. data/lib/mailslurp_client/models/inline_object.rb +12 -58
  93. data/lib/mailslurp_client/models/inline_object1.rb +58 -12
  94. data/lib/mailslurp_client/models/inline_object2.rb +211 -0
  95. data/lib/mailslurp_client/models/list_unsubscribe_recipient_projection.rb +19 -19
  96. data/lib/mailslurp_client/models/lookup_dkim_domain_options.rb +275 -0
  97. data/lib/mailslurp_client/models/lookup_dkim_domain_results.rb +304 -0
  98. data/lib/mailslurp_client/models/lookup_ptr_options.rb +241 -0
  99. data/lib/mailslurp_client/models/lookup_ptr_results.rb +305 -0
  100. data/lib/mailslurp_client/models/lookup_spf_domain_options.rb +240 -0
  101. data/lib/mailslurp_client/models/lookup_spf_domain_results.rb +305 -0
  102. data/lib/mailslurp_client/models/missed_email_projection.rb +28 -28
  103. data/lib/mailslurp_client/models/missed_sms_projection.rb +32 -32
  104. data/lib/mailslurp_client/models/opt_in_identity_projection.rb +15 -15
  105. data/lib/mailslurp_client/models/page_ai_transform_mapping_projection.rb +36 -36
  106. data/lib/mailslurp_client/models/page_ai_transform_projection.rb +36 -36
  107. data/lib/mailslurp_client/models/page_ai_transform_result_projection.rb +36 -36
  108. data/lib/mailslurp_client/models/page_alias.rb +36 -36
  109. data/lib/mailslurp_client/models/page_alias_thread_projection.rb +36 -36
  110. data/lib/mailslurp_client/models/page_attachment_entity.rb +36 -36
  111. data/lib/mailslurp_client/models/page_bounced_email.rb +36 -36
  112. data/lib/mailslurp_client/models/page_bounced_recipients.rb +36 -36
  113. data/lib/mailslurp_client/models/page_complaint.rb +36 -36
  114. data/lib/mailslurp_client/models/page_connector.rb +36 -36
  115. data/lib/mailslurp_client/models/page_connector_events.rb +36 -36
  116. data/lib/mailslurp_client/models/page_contact_projection.rb +36 -36
  117. data/lib/mailslurp_client/models/page_delivery_status.rb +36 -36
  118. data/lib/mailslurp_client/models/page_device_preview_run_projection.rb +36 -36
  119. data/lib/mailslurp_client/models/page_email_preview.rb +36 -36
  120. data/lib/mailslurp_client/models/page_email_projection.rb +36 -36
  121. data/lib/mailslurp_client/models/page_email_thread_projection.rb +36 -36
  122. data/lib/mailslurp_client/models/page_email_validation_request.rb +36 -36
  123. data/lib/mailslurp_client/models/page_entity_automation_items.rb +36 -36
  124. data/lib/mailslurp_client/models/page_entity_event_items.rb +36 -36
  125. data/lib/mailslurp_client/models/page_entity_favourite_items.rb +36 -36
  126. data/lib/mailslurp_client/models/page_expired_inbox_record_projection.rb +36 -36
  127. data/lib/mailslurp_client/models/page_group_projection.rb +36 -36
  128. data/lib/mailslurp_client/models/page_guest_portal_users.rb +36 -36
  129. data/lib/mailslurp_client/models/page_inbox_forwarder_dto.rb +36 -36
  130. data/lib/mailslurp_client/models/page_inbox_forwarder_events.rb +36 -36
  131. data/lib/mailslurp_client/models/page_inbox_projection.rb +36 -36
  132. data/lib/mailslurp_client/models/page_inbox_replier_dto.rb +36 -36
  133. data/lib/mailslurp_client/models/page_inbox_replier_events.rb +36 -36
  134. data/lib/mailslurp_client/models/page_inbox_tags.rb +36 -36
  135. data/lib/mailslurp_client/models/page_list_unsubscribe_recipients.rb +36 -36
  136. data/lib/mailslurp_client/models/page_missed_email_projection.rb +36 -36
  137. data/lib/mailslurp_client/models/page_missed_sms_projection.rb +36 -36
  138. data/lib/mailslurp_client/models/page_opt_in_identity_projection.rb +36 -36
  139. data/lib/mailslurp_client/models/page_organization_inbox_projection.rb +36 -36
  140. data/lib/mailslurp_client/models/page_phone_message_thread_item_projection.rb +36 -36
  141. data/lib/mailslurp_client/models/page_phone_message_thread_projection.rb +36 -36
  142. data/lib/mailslurp_client/models/page_phone_number_projection.rb +36 -36
  143. data/lib/mailslurp_client/models/page_phone_number_release_projection.rb +36 -36
  144. data/lib/mailslurp_client/models/page_plus_address_projection.rb +36 -36
  145. data/lib/mailslurp_client/models/page_reputation_items.rb +36 -36
  146. data/lib/mailslurp_client/models/page_ruleset_dto.rb +36 -36
  147. data/lib/mailslurp_client/models/page_scheduled_jobs.rb +36 -36
  148. data/lib/mailslurp_client/models/page_sent_email_projection.rb +36 -36
  149. data/lib/mailslurp_client/models/page_sent_email_with_queue_projection.rb +36 -36
  150. data/lib/mailslurp_client/models/page_sent_sms_projection.rb +36 -36
  151. data/lib/mailslurp_client/models/page_sms_projection.rb +36 -36
  152. data/lib/mailslurp_client/models/page_template_projection.rb +36 -36
  153. data/lib/mailslurp_client/models/page_tracking_pixel_projection.rb +36 -36
  154. data/lib/mailslurp_client/models/page_unknown_missed_email_projection.rb +36 -36
  155. data/lib/mailslurp_client/models/page_webhook_endpoint_projection.rb +36 -36
  156. data/lib/mailslurp_client/models/page_webhook_projection.rb +36 -36
  157. data/lib/mailslurp_client/models/page_webhook_result.rb +36 -36
  158. data/lib/mailslurp_client/models/pageable_object.rb +28 -28
  159. data/lib/mailslurp_client/models/phone_message_thread_item_projection.rb +32 -32
  160. data/lib/mailslurp_client/models/phone_number_dto.rb +65 -4
  161. data/lib/mailslurp_client/models/phone_number_line_type_intelligence_dto.rb +242 -0
  162. data/lib/mailslurp_client/models/phone_number_line_type_lookup_dto.rb +286 -0
  163. data/lib/mailslurp_client/models/phone_number_projection.rb +80 -35
  164. data/lib/mailslurp_client/models/phone_number_release_projection.rb +39 -39
  165. data/lib/mailslurp_client/models/phone_number_tags_options.rb +213 -0
  166. data/lib/mailslurp_client/models/phone_pool_detail_dto.rb +334 -0
  167. data/lib/mailslurp_client/models/phone_pool_dto.rb +318 -0
  168. data/lib/mailslurp_client/models/phone_pool_lease_dto.rb +351 -0
  169. data/lib/mailslurp_client/models/phone_pool_member_dto.rb +333 -0
  170. data/lib/mailslurp_client/models/phone_provider_capabilities_result.rb +284 -0
  171. data/lib/mailslurp_client/models/phone_provisioning_job_dto.rb +434 -0
  172. data/lib/mailslurp_client/models/phone_provisioning_job_item_dto.rb +336 -0
  173. data/lib/mailslurp_client/models/phone_sms_prepaid_credit_dto.rb +340 -0
  174. data/lib/mailslurp_client/models/phone_sms_prepaid_credits_dto.rb +241 -0
  175. data/lib/mailslurp_client/models/plus_address_projection.rb +27 -27
  176. data/lib/mailslurp_client/models/recipient_projection.rb +13 -13
  177. data/lib/mailslurp_client/models/reputation_item_projection.rb +53 -53
  178. data/lib/mailslurp_client/models/search_available_phone_numbers_options.rb +377 -0
  179. data/lib/mailslurp_client/models/sender_projection.rb +13 -13
  180. data/lib/mailslurp_client/models/sent_email_projection.rb +63 -63
  181. data/lib/mailslurp_client/models/sent_sms_projection.rb +18 -18
  182. data/lib/mailslurp_client/models/sms_projection.rb +18 -18
  183. data/lib/mailslurp_client/models/smtp_auth_diagnostic_result.rb +235 -0
  184. data/lib/mailslurp_client/models/smtp_diagnostic_step.rb +236 -0
  185. data/lib/mailslurp_client/models/smtp_tls_diagnostic_result.rb +245 -0
  186. data/lib/mailslurp_client/models/sort_object.rb +10 -10
  187. data/lib/mailslurp_client/models/spf_mechanism_result.rb +229 -0
  188. data/lib/mailslurp_client/models/template_projection.rb +32 -32
  189. data/lib/mailslurp_client/models/test_smtp_server_options.rb +337 -0
  190. data/lib/mailslurp_client/models/test_smtp_server_results.rb +297 -0
  191. data/lib/mailslurp_client/models/tracking_pixel_projection.rb +27 -27
  192. data/lib/mailslurp_client/models/unknown_missed_email_projection.rb +27 -27
  193. data/lib/mailslurp_client/models/update_inbox_replier_options.rb +39 -33
  194. data/lib/mailslurp_client/models/update_phone_pool_options.rb +215 -0
  195. data/lib/mailslurp_client/models/validation_dto.rb +1 -5
  196. data/lib/mailslurp_client/models/webhook_projection.rb +50 -50
  197. data/lib/mailslurp_client/version.rb +1 -1
  198. data/lib/mailslurp_client.rb +78 -0
  199. metadata +80 -2
@@ -24,6 +24,14 @@ module MailSlurpClient
24
24
  # Email addresses to forward an email to if it matches the field and match criteria of the forwarder
25
25
  attr_accessor :forward_to_recipients
26
26
 
27
+ # Comparison mode for inbox automation matching.
28
+ attr_accessor :should
29
+
30
+ attr_accessor :match_options
31
+
32
+ # Method for extracting text from attachments.
33
+ attr_accessor :attachment_text_extraction_method
34
+
27
35
  class EnumAttributeValidator
28
36
  attr_reader :datatype
29
37
  attr_reader :allowable_values
@@ -51,7 +59,10 @@ module MailSlurpClient
51
59
  {
52
60
  :'field' => :'field',
53
61
  :'match' => :'match',
54
- :'forward_to_recipients' => :'forwardToRecipients'
62
+ :'forward_to_recipients' => :'forwardToRecipients',
63
+ :'should' => :'should',
64
+ :'match_options' => :'matchOptions',
65
+ :'attachment_text_extraction_method' => :'attachmentTextExtractionMethod'
55
66
  }
56
67
  end
57
68
 
@@ -60,13 +71,21 @@ module MailSlurpClient
60
71
  {
61
72
  :'field' => :'String',
62
73
  :'match' => :'String',
63
- :'forward_to_recipients' => :'Array<String>'
74
+ :'forward_to_recipients' => :'Array<String>',
75
+ :'should' => :'String',
76
+ :'match_options' => :'InboxAutomationMatchOptions',
77
+ :'attachment_text_extraction_method' => :'String'
64
78
  }
65
79
  end
66
80
 
67
81
  # List of attributes with nullable: true
68
82
  def self.openapi_nullable
69
83
  Set.new([
84
+ :'field',
85
+ :'match',
86
+ :'should',
87
+ :'match_options',
88
+ :'attachment_text_extraction_method'
70
89
  ])
71
90
  end
72
91
 
@@ -98,24 +117,24 @@ module MailSlurpClient
98
117
  self.forward_to_recipients = value
99
118
  end
100
119
  end
101
- end
102
120
 
103
- # Show invalid properties with the reasons. Usually used together with valid?
104
- # @return Array for valid properties with the reasons
105
- def list_invalid_properties
106
- invalid_properties = Array.new
107
- if @field.nil?
108
- invalid_properties.push('invalid value for "field", field cannot be nil.')
121
+ if attributes.key?(:'should')
122
+ self.should = attributes[:'should']
109
123
  end
110
124
 
111
- if @match.nil?
112
- invalid_properties.push('invalid value for "match", match cannot be nil.')
125
+ if attributes.key?(:'match_options')
126
+ self.match_options = attributes[:'match_options']
113
127
  end
114
128
 
115
- if @match.to_s.length < 1
116
- invalid_properties.push('invalid value for "match", the character length must be great than or equal to 1.')
129
+ if attributes.key?(:'attachment_text_extraction_method')
130
+ self.attachment_text_extraction_method = attributes[:'attachment_text_extraction_method']
117
131
  end
132
+ end
118
133
 
134
+ # Show invalid properties with the reasons. Usually used together with valid?
135
+ # @return Array for valid properties with the reasons
136
+ def list_invalid_properties
137
+ invalid_properties = Array.new
119
138
  if @forward_to_recipients.nil?
120
139
  invalid_properties.push('invalid value for "forward_to_recipients", forward_to_recipients cannot be nil.')
121
140
  end
@@ -126,37 +145,44 @@ module MailSlurpClient
126
145
  # Check to see if the all the properties in the model are valid
127
146
  # @return true if the model is valid
128
147
  def valid?
129
- return false if @field.nil?
130
- field_validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS"])
148
+ field_validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS", "ATTACHMENT_FILENAME", "ATTACHMENT_TEXT"])
131
149
  return false unless field_validator.valid?(@field)
132
- return false if @match.nil?
133
- return false if @match.to_s.length < 1
134
150
  return false if @forward_to_recipients.nil?
151
+ should_validator = EnumAttributeValidator.new('String', ["WILDCARD", "MATCH", "CONTAIN", "EQUAL"])
152
+ return false unless should_validator.valid?(@should)
153
+ attachment_text_extraction_method_validator = EnumAttributeValidator.new('String', ["AUTO", "NATIVE", "OCR", "LLM", "OCR_THEN_LLM"])
154
+ return false unless attachment_text_extraction_method_validator.valid?(@attachment_text_extraction_method)
135
155
  true
136
156
  end
137
157
 
138
158
  # Custom attribute writer method checking allowed values (enum).
139
159
  # @param [Object] field Object to be assigned
140
160
  def field=(field)
141
- validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS"])
161
+ validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS", "ATTACHMENT_FILENAME", "ATTACHMENT_TEXT"])
142
162
  unless validator.valid?(field)
143
163
  fail ArgumentError, "invalid value for \"field\", must be one of #{validator.allowable_values}."
144
164
  end
145
165
  @field = field
146
166
  end
147
167
 
148
- # Custom attribute writer method with validation
149
- # @param [Object] match Value to be assigned
150
- def match=(match)
151
- if match.nil?
152
- fail ArgumentError, 'match cannot be nil'
168
+ # Custom attribute writer method checking allowed values (enum).
169
+ # @param [Object] should Object to be assigned
170
+ def should=(should)
171
+ validator = EnumAttributeValidator.new('String', ["WILDCARD", "MATCH", "CONTAIN", "EQUAL"])
172
+ unless validator.valid?(should)
173
+ fail ArgumentError, "invalid value for \"should\", must be one of #{validator.allowable_values}."
153
174
  end
175
+ @should = should
176
+ end
154
177
 
155
- if match.to_s.length < 1
156
- fail ArgumentError, 'invalid value for "match", the character length must be great than or equal to 1.'
178
+ # Custom attribute writer method checking allowed values (enum).
179
+ # @param [Object] attachment_text_extraction_method Object to be assigned
180
+ def attachment_text_extraction_method=(attachment_text_extraction_method)
181
+ validator = EnumAttributeValidator.new('String', ["AUTO", "NATIVE", "OCR", "LLM", "OCR_THEN_LLM"])
182
+ unless validator.valid?(attachment_text_extraction_method)
183
+ fail ArgumentError, "invalid value for \"attachment_text_extraction_method\", must be one of #{validator.allowable_values}."
157
184
  end
158
-
159
- @match = match
185
+ @attachment_text_extraction_method = attachment_text_extraction_method
160
186
  end
161
187
 
162
188
  # Checks equality by comparing each attribute.
@@ -166,7 +192,10 @@ module MailSlurpClient
166
192
  self.class == o.class &&
167
193
  field == o.field &&
168
194
  match == o.match &&
169
- forward_to_recipients == o.forward_to_recipients
195
+ forward_to_recipients == o.forward_to_recipients &&
196
+ should == o.should &&
197
+ match_options == o.match_options &&
198
+ attachment_text_extraction_method == o.attachment_text_extraction_method
170
199
  end
171
200
 
172
201
  # @see the `==` method
@@ -178,7 +207,7 @@ module MailSlurpClient
178
207
  # Calculates hash code according to all attributes.
179
208
  # @return [Integer] Hash code
180
209
  def hash
181
- [field, match, forward_to_recipients].hash
210
+ [field, match, forward_to_recipients, should, match_options, attachment_text_extraction_method].hash
182
211
  end
183
212
 
184
213
  # Builds the object from hash
@@ -54,6 +54,11 @@ module MailSlurpClient
54
54
  # Template variable values
55
55
  attr_accessor :template_variables
56
56
 
57
+ # Comparison mode for inbox automation matching.
58
+ attr_accessor :should
59
+
60
+ attr_accessor :match_options
61
+
57
62
  class EnumAttributeValidator
58
63
  attr_reader :datatype
59
64
  attr_reader :allowable_values
@@ -91,7 +96,9 @@ module MailSlurpClient
91
96
  :'is_html' => :'isHTML',
92
97
  :'body' => :'body',
93
98
  :'template_id' => :'templateId',
94
- :'template_variables' => :'templateVariables'
99
+ :'template_variables' => :'templateVariables',
100
+ :'should' => :'should',
101
+ :'match_options' => :'matchOptions'
95
102
  }
96
103
  end
97
104
 
@@ -110,7 +117,9 @@ module MailSlurpClient
110
117
  :'is_html' => :'Boolean',
111
118
  :'body' => :'String',
112
119
  :'template_id' => :'String',
113
- :'template_variables' => :'Hash<String, Object>'
120
+ :'template_variables' => :'Hash<String, Object>',
121
+ :'should' => :'String',
122
+ :'match_options' => :'InboxAutomationMatchOptions'
114
123
  }
115
124
  end
116
125
 
@@ -119,6 +128,8 @@ module MailSlurpClient
119
128
  Set.new([
120
129
  :'inbox_id',
121
130
  :'name',
131
+ :'field',
132
+ :'match',
122
133
  :'reply_to',
123
134
  :'subject',
124
135
  :'from',
@@ -127,7 +138,9 @@ module MailSlurpClient
127
138
  :'is_html',
128
139
  :'body',
129
140
  :'template_id',
130
- :'template_variables'
141
+ :'template_variables',
142
+ :'should',
143
+ :'match_options'
131
144
  ])
132
145
  end
133
146
 
@@ -199,60 +212,51 @@ module MailSlurpClient
199
212
  self.template_variables = value
200
213
  end
201
214
  end
215
+
216
+ if attributes.key?(:'should')
217
+ self.should = attributes[:'should']
218
+ end
219
+
220
+ if attributes.key?(:'match_options')
221
+ self.match_options = attributes[:'match_options']
222
+ end
202
223
  end
203
224
 
204
225
  # Show invalid properties with the reasons. Usually used together with valid?
205
226
  # @return Array for valid properties with the reasons
206
227
  def list_invalid_properties
207
228
  invalid_properties = Array.new
208
- if @field.nil?
209
- invalid_properties.push('invalid value for "field", field cannot be nil.')
210
- end
211
-
212
- if @match.nil?
213
- invalid_properties.push('invalid value for "match", match cannot be nil.')
214
- end
215
-
216
- if @match.to_s.length < 1
217
- invalid_properties.push('invalid value for "match", the character length must be great than or equal to 1.')
218
- end
219
-
220
229
  invalid_properties
221
230
  end
222
231
 
223
232
  # Check to see if the all the properties in the model are valid
224
233
  # @return true if the model is valid
225
234
  def valid?
226
- return false if @field.nil?
227
- field_validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS"])
235
+ field_validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS", "ATTACHMENT_FILENAME", "ATTACHMENT_TEXT"])
228
236
  return false unless field_validator.valid?(@field)
229
- return false if @match.nil?
230
- return false if @match.to_s.length < 1
237
+ should_validator = EnumAttributeValidator.new('String', ["WILDCARD", "MATCH", "CONTAIN", "EQUAL"])
238
+ return false unless should_validator.valid?(@should)
231
239
  true
232
240
  end
233
241
 
234
242
  # Custom attribute writer method checking allowed values (enum).
235
243
  # @param [Object] field Object to be assigned
236
244
  def field=(field)
237
- validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS"])
245
+ validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS", "ATTACHMENT_FILENAME", "ATTACHMENT_TEXT"])
238
246
  unless validator.valid?(field)
239
247
  fail ArgumentError, "invalid value for \"field\", must be one of #{validator.allowable_values}."
240
248
  end
241
249
  @field = field
242
250
  end
243
251
 
244
- # Custom attribute writer method with validation
245
- # @param [Object] match Value to be assigned
246
- def match=(match)
247
- if match.nil?
248
- fail ArgumentError, 'match cannot be nil'
249
- end
250
-
251
- if match.to_s.length < 1
252
- fail ArgumentError, 'invalid value for "match", the character length must be great than or equal to 1.'
252
+ # Custom attribute writer method checking allowed values (enum).
253
+ # @param [Object] should Object to be assigned
254
+ def should=(should)
255
+ validator = EnumAttributeValidator.new('String', ["WILDCARD", "MATCH", "CONTAIN", "EQUAL"])
256
+ unless validator.valid?(should)
257
+ fail ArgumentError, "invalid value for \"should\", must be one of #{validator.allowable_values}."
253
258
  end
254
-
255
- @match = match
259
+ @should = should
256
260
  end
257
261
 
258
262
  # Checks equality by comparing each attribute.
@@ -272,7 +276,9 @@ module MailSlurpClient
272
276
  is_html == o.is_html &&
273
277
  body == o.body &&
274
278
  template_id == o.template_id &&
275
- template_variables == o.template_variables
279
+ template_variables == o.template_variables &&
280
+ should == o.should &&
281
+ match_options == o.match_options
276
282
  end
277
283
 
278
284
  # @see the `==` method
@@ -284,7 +290,7 @@ module MailSlurpClient
284
290
  # Calculates hash code according to all attributes.
285
291
  # @return [Integer] Hash code
286
292
  def hash
287
- [inbox_id, name, field, match, reply_to, subject, from, charset, ignore_reply_to, is_html, body, template_id, template_variables].hash
293
+ [inbox_id, name, field, match, reply_to, subject, from, charset, ignore_reply_to, is_html, body, template_id, template_variables, should, match_options].hash
288
294
  end
289
295
 
290
296
  # Builds the object from hash
@@ -20,12 +20,19 @@ module MailSlurpClient
20
20
 
21
21
  attr_accessor :description
22
22
 
23
+ attr_accessor :tags
24
+
23
25
  attr_accessor :schedule
24
26
 
25
27
  attr_accessor :phone_number_endpoint_override
26
28
 
27
29
  attr_accessor :phone_number_variant
28
30
 
31
+ attr_accessor :phone_provider
32
+
33
+ # Line-quality preference for simple phone number provisioning
34
+ attr_accessor :phone_line_filter
35
+
29
36
  class EnumAttributeValidator
30
37
  attr_reader :datatype
31
38
  attr_reader :allowable_values
@@ -54,9 +61,12 @@ module MailSlurpClient
54
61
  :'phone_country' => :'phoneCountry',
55
62
  :'name' => :'name',
56
63
  :'description' => :'description',
64
+ :'tags' => :'tags',
57
65
  :'schedule' => :'schedule',
58
66
  :'phone_number_endpoint_override' => :'phoneNumberEndpointOverride',
59
- :'phone_number_variant' => :'phoneNumberVariant'
67
+ :'phone_number_variant' => :'phoneNumberVariant',
68
+ :'phone_provider' => :'phoneProvider',
69
+ :'phone_line_filter' => :'phoneLineFilter'
60
70
  }
61
71
  end
62
72
 
@@ -66,9 +76,12 @@ module MailSlurpClient
66
76
  :'phone_country' => :'String',
67
77
  :'name' => :'String',
68
78
  :'description' => :'String',
79
+ :'tags' => :'Array<String>',
69
80
  :'schedule' => :'String',
70
81
  :'phone_number_endpoint_override' => :'String',
71
- :'phone_number_variant' => :'String'
82
+ :'phone_number_variant' => :'String',
83
+ :'phone_provider' => :'String',
84
+ :'phone_line_filter' => :'String'
72
85
  }
73
86
  end
74
87
 
@@ -105,6 +118,12 @@ module MailSlurpClient
105
118
  self.description = attributes[:'description']
106
119
  end
107
120
 
121
+ if attributes.key?(:'tags')
122
+ if (value = attributes[:'tags']).is_a?(Array)
123
+ self.tags = value
124
+ end
125
+ end
126
+
108
127
  if attributes.key?(:'schedule')
109
128
  self.schedule = attributes[:'schedule']
110
129
  end
@@ -116,6 +135,14 @@ module MailSlurpClient
116
135
  if attributes.key?(:'phone_number_variant')
117
136
  self.phone_number_variant = attributes[:'phone_number_variant']
118
137
  end
138
+
139
+ if attributes.key?(:'phone_provider')
140
+ self.phone_provider = attributes[:'phone_provider']
141
+ end
142
+
143
+ if attributes.key?(:'phone_line_filter')
144
+ self.phone_line_filter = attributes[:'phone_line_filter']
145
+ end
119
146
  end
120
147
 
121
148
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -139,6 +166,10 @@ module MailSlurpClient
139
166
  return false unless schedule_validator.valid?(@schedule)
140
167
  phone_number_variant_validator = EnumAttributeValidator.new('String', ["LOCAL", "MOBILE", "TOLL_FREE"])
141
168
  return false unless phone_number_variant_validator.valid?(@phone_number_variant)
169
+ phone_provider_validator = EnumAttributeValidator.new('String', ["TWILIO", "TELNYX"])
170
+ return false unless phone_provider_validator.valid?(@phone_provider)
171
+ phone_line_filter_validator = EnumAttributeValidator.new('String', ["ANY", "OTP_FRIENDLY", "NON_VOIP"])
172
+ return false unless phone_line_filter_validator.valid?(@phone_line_filter)
142
173
  true
143
174
  end
144
175
 
@@ -172,6 +203,26 @@ module MailSlurpClient
172
203
  @phone_number_variant = phone_number_variant
173
204
  end
174
205
 
206
+ # Custom attribute writer method checking allowed values (enum).
207
+ # @param [Object] phone_provider Object to be assigned
208
+ def phone_provider=(phone_provider)
209
+ validator = EnumAttributeValidator.new('String', ["TWILIO", "TELNYX"])
210
+ unless validator.valid?(phone_provider)
211
+ fail ArgumentError, "invalid value for \"phone_provider\", must be one of #{validator.allowable_values}."
212
+ end
213
+ @phone_provider = phone_provider
214
+ end
215
+
216
+ # Custom attribute writer method checking allowed values (enum).
217
+ # @param [Object] phone_line_filter Object to be assigned
218
+ def phone_line_filter=(phone_line_filter)
219
+ validator = EnumAttributeValidator.new('String', ["ANY", "OTP_FRIENDLY", "NON_VOIP"])
220
+ unless validator.valid?(phone_line_filter)
221
+ fail ArgumentError, "invalid value for \"phone_line_filter\", must be one of #{validator.allowable_values}."
222
+ end
223
+ @phone_line_filter = phone_line_filter
224
+ end
225
+
175
226
  # Checks equality by comparing each attribute.
176
227
  # @param [Object] Object to be compared
177
228
  def ==(o)
@@ -180,9 +231,12 @@ module MailSlurpClient
180
231
  phone_country == o.phone_country &&
181
232
  name == o.name &&
182
233
  description == o.description &&
234
+ tags == o.tags &&
183
235
  schedule == o.schedule &&
184
236
  phone_number_endpoint_override == o.phone_number_endpoint_override &&
185
- phone_number_variant == o.phone_number_variant
237
+ phone_number_variant == o.phone_number_variant &&
238
+ phone_provider == o.phone_provider &&
239
+ phone_line_filter == o.phone_line_filter
186
240
  end
187
241
 
188
242
  # @see the `==` method
@@ -194,7 +248,7 @@ module MailSlurpClient
194
248
  # Calculates hash code according to all attributes.
195
249
  # @return [Integer] Hash code
196
250
  def hash
197
- [phone_country, name, description, schedule, phone_number_endpoint_override, phone_number_variant].hash
251
+ [phone_country, name, description, tags, schedule, phone_number_endpoint_override, phone_number_variant, phone_provider, phone_line_filter].hash
198
252
  end
199
253
 
200
254
  # Builds the object from hash
@@ -0,0 +1,220 @@
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
+ class CreatePhonePoolOptions
17
+ attr_accessor :name
18
+
19
+ attr_accessor :description
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'name' => :'name',
25
+ :'description' => :'description'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.openapi_types
31
+ {
32
+ :'name' => :'String',
33
+ :'description' => :'String'
34
+ }
35
+ end
36
+
37
+ # List of attributes with nullable: true
38
+ def self.openapi_nullable
39
+ Set.new([
40
+ ])
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ if (!attributes.is_a?(Hash))
47
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::CreatePhonePoolOptions` initialize method"
48
+ end
49
+
50
+ # check to see if the attribute exists and convert string to symbol for hash key
51
+ attributes = attributes.each_with_object({}) { |(k, v), h|
52
+ if (!self.class.attribute_map.key?(k.to_sym))
53
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::CreatePhonePoolOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
54
+ end
55
+ h[k.to_sym] = v
56
+ }
57
+
58
+ if attributes.key?(:'name')
59
+ self.name = attributes[:'name']
60
+ end
61
+
62
+ if attributes.key?(:'description')
63
+ self.description = attributes[:'description']
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ if @name.nil?
72
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
73
+ end
74
+
75
+ invalid_properties
76
+ end
77
+
78
+ # Check to see if the all the properties in the model are valid
79
+ # @return true if the model is valid
80
+ def valid?
81
+ return false if @name.nil?
82
+ true
83
+ end
84
+
85
+ # Checks equality by comparing each attribute.
86
+ # @param [Object] Object to be compared
87
+ def ==(o)
88
+ return true if self.equal?(o)
89
+ self.class == o.class &&
90
+ name == o.name &&
91
+ description == o.description
92
+ end
93
+
94
+ # @see the `==` method
95
+ # @param [Object] Object to be compared
96
+ def eql?(o)
97
+ self == o
98
+ end
99
+
100
+ # Calculates hash code according to all attributes.
101
+ # @return [Integer] Hash code
102
+ def hash
103
+ [name, description].hash
104
+ end
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def self.build_from_hash(attributes)
110
+ new.build_from_hash(attributes)
111
+ end
112
+
113
+ # Builds the object from hash
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ # @return [Object] Returns the model itself
116
+ def build_from_hash(attributes)
117
+ return nil unless attributes.is_a?(Hash)
118
+ self.class.openapi_types.each_pair do |key, type|
119
+ if type =~ /\AArray<(.*)>/i
120
+ # check to ensure the input is an array given that the attribute
121
+ # is documented as an array but the input is not
122
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
123
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
124
+ end
125
+ elsif !attributes[self.class.attribute_map[key]].nil?
126
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
127
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
128
+ end
129
+
130
+ self
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def _deserialize(type, value)
138
+ case type.to_sym
139
+ when :DateTime
140
+ DateTime.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+ when :Object
156
+ # generic object (usually a Hash), return directly
157
+ value
158
+ when /\AArray<(?<inner_type>.+)>\z/
159
+ inner_type = Regexp.last_match[:inner_type]
160
+ value.map { |v| _deserialize(inner_type, v) }
161
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
+ k_type = Regexp.last_match[:k_type]
163
+ v_type = Regexp.last_match[:v_type]
164
+ {}.tap do |hash|
165
+ value.each do |k, v|
166
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
+ end
168
+ end
169
+ else # model
170
+ MailSlurpClient.const_get(type).build_from_hash(value)
171
+ end
172
+ end
173
+
174
+ # Returns the string representation of the object
175
+ # @return [String] String presentation of the object
176
+ def to_s
177
+ to_hash.to_s
178
+ end
179
+
180
+ # to_body is an alias to to_hash (backward compatibility)
181
+ # @return [Hash] Returns the object in the form of hash
182
+ def to_body
183
+ to_hash
184
+ end
185
+
186
+ # Returns the object in the form of hash
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_hash
189
+ hash = {}
190
+ self.class.attribute_map.each_pair do |attr, param|
191
+ value = self.send(attr)
192
+ if value.nil?
193
+ is_nullable = self.class.openapi_nullable.include?(attr)
194
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
195
+ end
196
+
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ # Outputs non-array value in the form of hash
203
+ # For object, use to_hash. Otherwise, just return the value
204
+ # @param [Object] value Any valid value
205
+ # @return [Hash] Returns the value in the form of hash
206
+ def _to_hash(value)
207
+ if value.is_a?(Array)
208
+ value.compact.map { |v| _to_hash(v) }
209
+ elsif value.is_a?(Hash)
210
+ {}.tap do |hash|
211
+ value.each { |k, v| hash[k] = _to_hash(v) }
212
+ end
213
+ elsif value.respond_to? :to_hash
214
+ value.to_hash
215
+ else
216
+ value
217
+ end
218
+ end
219
+ end
220
+ end