sendmux-management 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +3 -0
  4. data/lib/sendmux/management/client.rb +66 -0
  5. data/lib/sendmux/management/version.rb +7 -0
  6. data/lib/sendmux/management.rb +12 -0
  7. data/lib/sendmux_management_generated/api/billing_api.rb +221 -0
  8. data/lib/sendmux_management_generated/api/domain_filters_api.rb +161 -0
  9. data/lib/sendmux_management_generated/api/domains_api.rb +419 -0
  10. data/lib/sendmux_management_generated/api/emails_api.rb +258 -0
  11. data/lib/sendmux_management_generated/api/inboxes_api.rb +175 -0
  12. data/lib/sendmux_management_generated/api/mailbox_filters_api.rb +161 -0
  13. data/lib/sendmux_management_generated/api/mailboxes_api.rb +659 -0
  14. data/lib/sendmux_management_generated/api/sending_accounts_api.rb +946 -0
  15. data/lib/sendmux_management_generated/api/webhooks_api.rb +666 -0
  16. data/lib/sendmux_management_generated/api_client.rb +441 -0
  17. data/lib/sendmux_management_generated/api_error.rb +58 -0
  18. data/lib/sendmux_management_generated/api_model_base.rb +88 -0
  19. data/lib/sendmux_management_generated/configuration.rb +393 -0
  20. data/lib/sendmux_management_generated/models/api_error_detail.rb +219 -0
  21. data/lib/sendmux_management_generated/models/api_error_error.rb +275 -0
  22. data/lib/sendmux_management_generated/models/api_error_meta.rb +164 -0
  23. data/lib/sendmux_management_generated/models/api_error_response.rb +216 -0
  24. data/lib/sendmux_management_generated/models/balance.rb +293 -0
  25. data/lib/sendmux_management_generated/models/balance_auto_topup.rb +226 -0
  26. data/lib/sendmux_management_generated/models/balance_response.rb +223 -0
  27. data/lib/sendmux_management_generated/models/cursor_pagination.rb +173 -0
  28. data/lib/sendmux_management_generated/models/delivery_log_item.rb +393 -0
  29. data/lib/sendmux_management_generated/models/delivery_log_item_cursor_list_response.rb +251 -0
  30. data/lib/sendmux_management_generated/models/delivery_log_item_response.rb +223 -0
  31. data/lib/sendmux_management_generated/models/domain_deleted_response.rb +223 -0
  32. data/lib/sendmux_management_generated/models/domain_deleted_response_all_of_data.rb +190 -0
  33. data/lib/sendmux_management_generated/models/domain_item_cursor_list_response.rb +251 -0
  34. data/lib/sendmux_management_generated/models/domain_item_response.rb +223 -0
  35. data/lib/sendmux_management_generated/models/domain_verify_response.rb +223 -0
  36. data/lib/sendmux_management_generated/models/email_metrics.rb +218 -0
  37. data/lib/sendmux_management_generated/models/email_metrics_comparison.rb +294 -0
  38. data/lib/sendmux_management_generated/models/email_metrics_comparison_change_pct.rb +268 -0
  39. data/lib/sendmux_management_generated/models/email_metrics_response.rb +223 -0
  40. data/lib/sendmux_management_generated/models/email_metrics_summary.rb +268 -0
  41. data/lib/sendmux_management_generated/models/email_metrics_timeseries_inner.rb +294 -0
  42. data/lib/sendmux_management_generated/models/filter_rule.rb +242 -0
  43. data/lib/sendmux_management_generated/models/filter_state.rb +218 -0
  44. data/lib/sendmux_management_generated/models/filter_state_response.rb +223 -0
  45. data/lib/sendmux_management_generated/models/incoming_log_item.rb +465 -0
  46. data/lib/sendmux_management_generated/models/incoming_log_item_cursor_list_response.rb +251 -0
  47. data/lib/sendmux_management_generated/models/incoming_log_item_response.rb +223 -0
  48. data/lib/sendmux_management_generated/models/mailbox.rb +284 -0
  49. data/lib/sendmux_management_generated/models/mailbox_app_password_result.rb +164 -0
  50. data/lib/sendmux_management_generated/models/mailbox_app_password_result_credential.rb +359 -0
  51. data/lib/sendmux_management_generated/models/mailbox_app_password_result_response.rb +223 -0
  52. data/lib/sendmux_management_generated/models/mailbox_create_result.rb +189 -0
  53. data/lib/sendmux_management_generated/models/mailbox_create_result_response.rb +223 -0
  54. data/lib/sendmux_management_generated/models/mailbox_credential.rb +353 -0
  55. data/lib/sendmux_management_generated/models/mailbox_deleted_response.rb +223 -0
  56. data/lib/sendmux_management_generated/models/mailbox_domain.rb +358 -0
  57. data/lib/sendmux_management_generated/models/mailbox_domain_dns_records.rb +276 -0
  58. data/lib/sendmux_management_generated/models/mailbox_domain_mx_record.rb +190 -0
  59. data/lib/sendmux_management_generated/models/mailbox_domain_name_value_record.rb +191 -0
  60. data/lib/sendmux_management_generated/models/mailbox_domain_verify_checks.rb +246 -0
  61. data/lib/sendmux_management_generated/models/mailbox_domain_verify_result.rb +242 -0
  62. data/lib/sendmux_management_generated/models/mailbox_item_cursor_list_response.rb +251 -0
  63. data/lib/sendmux_management_generated/models/mailbox_item_response.rb +223 -0
  64. data/lib/sendmux_management_generated/models/mailbox_key_deleted_response.rb +223 -0
  65. data/lib/sendmux_management_generated/models/mailbox_send_scope.rb +213 -0
  66. data/lib/sendmux_management_generated/models/management_create_domain_request.rb +165 -0
  67. data/lib/sendmux_management_generated/models/management_create_mailbox_key_request.rb +182 -0
  68. data/lib/sendmux_management_generated/models/management_create_mailbox_request.rb +257 -0
  69. data/lib/sendmux_management_generated/models/management_create_mailbox_request_send_scope.rb +210 -0
  70. data/lib/sendmux_management_generated/models/management_test_webhook200_response.rb +223 -0
  71. data/lib/sendmux_management_generated/models/provider_allowed_actions.rb +268 -0
  72. data/lib/sendmux_management_generated/models/provider_create_body.rb +579 -0
  73. data/lib/sendmux_management_generated/models/provider_create_body_quotas.rb +174 -0
  74. data/lib/sendmux_management_generated/models/provider_create_body_quotas_per_day.rb +104 -0
  75. data/lib/sendmux_management_generated/models/provider_create_body_quotas_per_day_any_of.rb +215 -0
  76. data/lib/sendmux_management_generated/models/provider_deleted.rb +190 -0
  77. data/lib/sendmux_management_generated/models/provider_deleted_response.rb +223 -0
  78. data/lib/sendmux_management_generated/models/provider_item.rb +695 -0
  79. data/lib/sendmux_management_generated/models/provider_item_cursor_list_response.rb +251 -0
  80. data/lib/sendmux_management_generated/models/provider_item_response.rb +223 -0
  81. data/lib/sendmux_management_generated/models/provider_limits.rb +190 -0
  82. data/lib/sendmux_management_generated/models/provider_limits_response.rb +223 -0
  83. data/lib/sendmux_management_generated/models/provider_quota_range.rb +208 -0
  84. data/lib/sendmux_management_generated/models/provider_quotas.rb +186 -0
  85. data/lib/sendmux_management_generated/models/provider_stats.rb +325 -0
  86. data/lib/sendmux_management_generated/models/provider_stats_response.rb +223 -0
  87. data/lib/sendmux_management_generated/models/provider_status_counts.rb +242 -0
  88. data/lib/sendmux_management_generated/models/provider_test_result.rb +251 -0
  89. data/lib/sendmux_management_generated/models/provider_test_result_response.rb +223 -0
  90. data/lib/sendmux_management_generated/models/provider_type_counts.rb +246 -0
  91. data/lib/sendmux_management_generated/models/provider_update_body.rb +537 -0
  92. data/lib/sendmux_management_generated/models/provider_usage.rb +216 -0
  93. data/lib/sendmux_management_generated/models/provider_usage_item.rb +374 -0
  94. data/lib/sendmux_management_generated/models/provider_usage_response.rb +223 -0
  95. data/lib/sendmux_management_generated/models/resource_limit_snapshot.rb +420 -0
  96. data/lib/sendmux_management_generated/models/response_meta.rb +164 -0
  97. data/lib/sendmux_management_generated/models/sending_account_limit_request.rb +190 -0
  98. data/lib/sendmux_management_generated/models/sending_account_limit_request_response.rb +223 -0
  99. data/lib/sendmux_management_generated/models/set_filter_state_body.rb +226 -0
  100. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit.rb +315 -0
  101. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request.rb +361 -0
  102. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_create.rb +190 -0
  103. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_create_request.rb +368 -0
  104. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_create_response.rb +223 -0
  105. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_page.rb +176 -0
  106. data/lib/sendmux_management_generated/models/shared_amazon_ses_limit_request_page_response.rb +223 -0
  107. data/lib/sendmux_management_generated/models/spend_summary.rb +292 -0
  108. data/lib/sendmux_management_generated/models/spend_summary_response.rb +223 -0
  109. data/lib/sendmux_management_generated/models/success_envelope.rb +192 -0
  110. data/lib/sendmux_management_generated/models/transaction.rb +332 -0
  111. data/lib/sendmux_management_generated/models/transaction_cursor_list_response.rb +251 -0
  112. data/lib/sendmux_management_generated/models/update_mailbox_body.rb +210 -0
  113. data/lib/sendmux_management_generated/models/webhook_create_body.rb +269 -0
  114. data/lib/sendmux_management_generated/models/webhook_deleted_response.rb +223 -0
  115. data/lib/sendmux_management_generated/models/webhook_delivery_attempt.rb +562 -0
  116. data/lib/sendmux_management_generated/models/webhook_delivery_attempt_cursor_list_response.rb +251 -0
  117. data/lib/sendmux_management_generated/models/webhook_delivery_payload.rb +359 -0
  118. data/lib/sendmux_management_generated/models/webhook_delivery_payload_response.rb +223 -0
  119. data/lib/sendmux_management_generated/models/webhook_event_data.rb +395 -0
  120. data/lib/sendmux_management_generated/models/webhook_event_payload.rb +297 -0
  121. data/lib/sendmux_management_generated/models/webhook_filters.rb +168 -0
  122. data/lib/sendmux_management_generated/models/webhook_subscription.rb +380 -0
  123. data/lib/sendmux_management_generated/models/webhook_subscription_cursor_list_response.rb +251 -0
  124. data/lib/sendmux_management_generated/models/webhook_subscription_response.rb +223 -0
  125. data/lib/sendmux_management_generated/models/webhook_subscription_with_secret.rb +414 -0
  126. data/lib/sendmux_management_generated/models/webhook_subscription_with_secret_response.rb +223 -0
  127. data/lib/sendmux_management_generated/models/webhook_test_response.rb +165 -0
  128. data/lib/sendmux_management_generated/models/webhook_update_body.rb +233 -0
  129. data/lib/sendmux_management_generated/version.rb +15 -0
  130. data/lib/sendmux_management_generated.rb +158 -0
  131. metadata +247 -0
@@ -0,0 +1,946 @@
1
+ =begin
2
+ #Sendmux API
3
+
4
+ #Programmatic access to your Sendmux email infrastructure.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Sendmux::Management::Generated
16
+ class SendingAccountsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Activate a sending account
23
+ # Enables a sending account. OAuth accounts without an active connection are moved to pending until reconnected in the dashboard. The shared Amazon SES account can be activated.
24
+ # @param public_id [String]
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :idempotency_key
27
+ # @return [ProviderItemResponse]
28
+ def management_activate_provider(public_id, opts = {})
29
+ data, _status_code, _headers = management_activate_provider_with_http_info(public_id, opts)
30
+ data
31
+ end
32
+
33
+ # Activate a sending account
34
+ # Enables a sending account. OAuth accounts without an active connection are moved to pending until reconnected in the dashboard. The shared Amazon SES account can be activated.
35
+ # @param public_id [String]
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [String] :idempotency_key
38
+ # @return [Array<(ProviderItemResponse, Integer, Hash)>] ProviderItemResponse data, response status code and response headers
39
+ def management_activate_provider_with_http_info(public_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_activate_provider ...'
42
+ end
43
+ # verify the required parameter 'public_id' is set
44
+ if @api_client.config.client_side_validation && public_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'public_id' when calling SendingAccountsApi.management_activate_provider"
46
+ end
47
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
48
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling SendingAccountsApi.management_activate_provider, the character length must be smaller than or equal to 255.'
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = '/providers/{public_id}/activate'.sub('{public_id}', CGI.escape(public_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
62
+
63
+ # form parameters
64
+ form_params = opts[:form_params] || {}
65
+
66
+ # http body (model)
67
+ post_body = opts[:debug_body]
68
+
69
+ # return_type
70
+ return_type = opts[:debug_return_type] || 'ProviderItemResponse'
71
+
72
+ # auth_names
73
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
74
+
75
+ new_options = opts.merge(
76
+ :operation => :"SendingAccountsApi.management_activate_provider",
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_activate_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Create an SMTP sending account
93
+ # Creates a custom SMTP sending account. Supply an `Idempotency-Key` header to safely retry on network errors. The SMTP password is stored securely and is never returned.
94
+ # @param [Hash] opts the optional parameters
95
+ # @option opts [String] :idempotency_key
96
+ # @option opts [ProviderCreateBody] :provider_create_body
97
+ # @return [ProviderItemResponse]
98
+ def management_create_provider(opts = {})
99
+ data, _status_code, _headers = management_create_provider_with_http_info(opts)
100
+ data
101
+ end
102
+
103
+ # Create an SMTP sending account
104
+ # Creates a custom SMTP sending account. Supply an &#x60;Idempotency-Key&#x60; header to safely retry on network errors. The SMTP password is stored securely and is never returned.
105
+ # @param [Hash] opts the optional parameters
106
+ # @option opts [String] :idempotency_key
107
+ # @option opts [ProviderCreateBody] :provider_create_body
108
+ # @return [Array<(ProviderItemResponse, Integer, Hash)>] ProviderItemResponse data, response status code and response headers
109
+ def management_create_provider_with_http_info(opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_create_provider ...'
112
+ end
113
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
114
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling SendingAccountsApi.management_create_provider, the character length must be smaller than or equal to 255.'
115
+ end
116
+
117
+ # resource path
118
+ local_var_path = '/providers'
119
+
120
+ # query parameters
121
+ query_params = opts[:query_params] || {}
122
+
123
+ # header parameters
124
+ header_params = opts[:header_params] || {}
125
+ # HTTP header 'Accept' (if needed)
126
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
127
+ # HTTP header 'Content-Type'
128
+ content_type = @api_client.select_header_content_type(['application/json'])
129
+ if !content_type.nil?
130
+ header_params['Content-Type'] = content_type
131
+ end
132
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
133
+
134
+ # form parameters
135
+ form_params = opts[:form_params] || {}
136
+
137
+ # http body (model)
138
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'provider_create_body'])
139
+
140
+ # return_type
141
+ return_type = opts[:debug_return_type] || 'ProviderItemResponse'
142
+
143
+ # auth_names
144
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
145
+
146
+ new_options = opts.merge(
147
+ :operation => :"SendingAccountsApi.management_create_provider",
148
+ :header_params => header_params,
149
+ :query_params => query_params,
150
+ :form_params => form_params,
151
+ :body => post_body,
152
+ :auth_names => auth_names,
153
+ :return_type => return_type
154
+ )
155
+
156
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
157
+ if @api_client.config.debugging
158
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_create_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
159
+ end
160
+ return data, status_code, headers
161
+ end
162
+
163
+ # Request a shared Amazon SES daily limit increase
164
+ # Creates a review request for the shared Amazon SES daily sending limit. This does not modify the limit directly.
165
+ # @param [Hash] opts the optional parameters
166
+ # @option opts [String] :idempotency_key
167
+ # @return [SharedAmazonSesLimitRequestCreateResponse]
168
+ def management_create_shared_amazon_ses_limit_request(opts = {})
169
+ data, _status_code, _headers = management_create_shared_amazon_ses_limit_request_with_http_info(opts)
170
+ data
171
+ end
172
+
173
+ # Request a shared Amazon SES daily limit increase
174
+ # Creates a review request for the shared Amazon SES daily sending limit. This does not modify the limit directly.
175
+ # @param [Hash] opts the optional parameters
176
+ # @option opts [String] :idempotency_key
177
+ # @return [Array<(SharedAmazonSesLimitRequestCreateResponse, Integer, Hash)>] SharedAmazonSesLimitRequestCreateResponse data, response status code and response headers
178
+ def management_create_shared_amazon_ses_limit_request_with_http_info(opts = {})
179
+ if @api_client.config.debugging
180
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_create_shared_amazon_ses_limit_request ...'
181
+ end
182
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
183
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling SendingAccountsApi.management_create_shared_amazon_ses_limit_request, the character length must be smaller than or equal to 255.'
184
+ end
185
+
186
+ # resource path
187
+ local_var_path = '/providers/shared-amazon-ses-limit-request'
188
+
189
+ # query parameters
190
+ query_params = opts[:query_params] || {}
191
+
192
+ # header parameters
193
+ header_params = opts[:header_params] || {}
194
+ # HTTP header 'Accept' (if needed)
195
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
196
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
197
+
198
+ # form parameters
199
+ form_params = opts[:form_params] || {}
200
+
201
+ # http body (model)
202
+ post_body = opts[:debug_body]
203
+
204
+ # return_type
205
+ return_type = opts[:debug_return_type] || 'SharedAmazonSesLimitRequestCreateResponse'
206
+
207
+ # auth_names
208
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
209
+
210
+ new_options = opts.merge(
211
+ :operation => :"SendingAccountsApi.management_create_shared_amazon_ses_limit_request",
212
+ :header_params => header_params,
213
+ :query_params => query_params,
214
+ :form_params => form_params,
215
+ :body => post_body,
216
+ :auth_names => auth_names,
217
+ :return_type => return_type
218
+ )
219
+
220
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
221
+ if @api_client.config.debugging
222
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_create_shared_amazon_ses_limit_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
223
+ end
224
+ return data, status_code, headers
225
+ end
226
+
227
+ # Deactivate a sending account
228
+ # Disables a sending account. The shared Amazon SES account can be deactivated.
229
+ # @param public_id [String]
230
+ # @param [Hash] opts the optional parameters
231
+ # @option opts [String] :idempotency_key
232
+ # @return [ProviderItemResponse]
233
+ def management_deactivate_provider(public_id, opts = {})
234
+ data, _status_code, _headers = management_deactivate_provider_with_http_info(public_id, opts)
235
+ data
236
+ end
237
+
238
+ # Deactivate a sending account
239
+ # Disables a sending account. The shared Amazon SES account can be deactivated.
240
+ # @param public_id [String]
241
+ # @param [Hash] opts the optional parameters
242
+ # @option opts [String] :idempotency_key
243
+ # @return [Array<(ProviderItemResponse, Integer, Hash)>] ProviderItemResponse data, response status code and response headers
244
+ def management_deactivate_provider_with_http_info(public_id, opts = {})
245
+ if @api_client.config.debugging
246
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_deactivate_provider ...'
247
+ end
248
+ # verify the required parameter 'public_id' is set
249
+ if @api_client.config.client_side_validation && public_id.nil?
250
+ fail ArgumentError, "Missing the required parameter 'public_id' when calling SendingAccountsApi.management_deactivate_provider"
251
+ end
252
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
253
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling SendingAccountsApi.management_deactivate_provider, the character length must be smaller than or equal to 255.'
254
+ end
255
+
256
+ # resource path
257
+ local_var_path = '/providers/{public_id}/deactivate'.sub('{public_id}', CGI.escape(public_id.to_s))
258
+
259
+ # query parameters
260
+ query_params = opts[:query_params] || {}
261
+
262
+ # header parameters
263
+ header_params = opts[:header_params] || {}
264
+ # HTTP header 'Accept' (if needed)
265
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
266
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
267
+
268
+ # form parameters
269
+ form_params = opts[:form_params] || {}
270
+
271
+ # http body (model)
272
+ post_body = opts[:debug_body]
273
+
274
+ # return_type
275
+ return_type = opts[:debug_return_type] || 'ProviderItemResponse'
276
+
277
+ # auth_names
278
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
279
+
280
+ new_options = opts.merge(
281
+ :operation => :"SendingAccountsApi.management_deactivate_provider",
282
+ :header_params => header_params,
283
+ :query_params => query_params,
284
+ :form_params => form_params,
285
+ :body => post_body,
286
+ :auth_names => auth_names,
287
+ :return_type => return_type
288
+ )
289
+
290
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
291
+ if @api_client.config.debugging
292
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_deactivate_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
293
+ end
294
+ return data, status_code, headers
295
+ end
296
+
297
+ # Delete a sending account
298
+ # Deletes a custom or connected sending account. The shared Amazon SES account cannot be deleted.
299
+ # @param public_id [String]
300
+ # @param [Hash] opts the optional parameters
301
+ # @return [ProviderDeletedResponse]
302
+ def management_delete_provider(public_id, opts = {})
303
+ data, _status_code, _headers = management_delete_provider_with_http_info(public_id, opts)
304
+ data
305
+ end
306
+
307
+ # Delete a sending account
308
+ # Deletes a custom or connected sending account. The shared Amazon SES account cannot be deleted.
309
+ # @param public_id [String]
310
+ # @param [Hash] opts the optional parameters
311
+ # @return [Array<(ProviderDeletedResponse, Integer, Hash)>] ProviderDeletedResponse data, response status code and response headers
312
+ def management_delete_provider_with_http_info(public_id, opts = {})
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_delete_provider ...'
315
+ end
316
+ # verify the required parameter 'public_id' is set
317
+ if @api_client.config.client_side_validation && public_id.nil?
318
+ fail ArgumentError, "Missing the required parameter 'public_id' when calling SendingAccountsApi.management_delete_provider"
319
+ end
320
+ # resource path
321
+ local_var_path = '/providers/{public_id}'.sub('{public_id}', CGI.escape(public_id.to_s))
322
+
323
+ # query parameters
324
+ query_params = opts[:query_params] || {}
325
+
326
+ # header parameters
327
+ header_params = opts[:header_params] || {}
328
+ # HTTP header 'Accept' (if needed)
329
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
330
+
331
+ # form parameters
332
+ form_params = opts[:form_params] || {}
333
+
334
+ # http body (model)
335
+ post_body = opts[:debug_body]
336
+
337
+ # return_type
338
+ return_type = opts[:debug_return_type] || 'ProviderDeletedResponse'
339
+
340
+ # auth_names
341
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
342
+
343
+ new_options = opts.merge(
344
+ :operation => :"SendingAccountsApi.management_delete_provider",
345
+ :header_params => header_params,
346
+ :query_params => query_params,
347
+ :form_params => form_params,
348
+ :body => post_body,
349
+ :auth_names => auth_names,
350
+ :return_type => return_type
351
+ )
352
+
353
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
354
+ if @api_client.config.debugging
355
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_delete_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
356
+ end
357
+ return data, status_code, headers
358
+ end
359
+
360
+ # Get a sending account
361
+ # Returns one sending account. Responses include an ETag for conditional GET and optimistic PATCH.
362
+ # @param public_id [String]
363
+ # @param [Hash] opts the optional parameters
364
+ # @option opts [String] :if_none_match
365
+ # @return [ProviderItemResponse]
366
+ def management_get_provider(public_id, opts = {})
367
+ data, _status_code, _headers = management_get_provider_with_http_info(public_id, opts)
368
+ data
369
+ end
370
+
371
+ # Get a sending account
372
+ # Returns one sending account. Responses include an ETag for conditional GET and optimistic PATCH.
373
+ # @param public_id [String]
374
+ # @param [Hash] opts the optional parameters
375
+ # @option opts [String] :if_none_match
376
+ # @return [Array<(ProviderItemResponse, Integer, Hash)>] ProviderItemResponse data, response status code and response headers
377
+ def management_get_provider_with_http_info(public_id, opts = {})
378
+ if @api_client.config.debugging
379
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_get_provider ...'
380
+ end
381
+ # verify the required parameter 'public_id' is set
382
+ if @api_client.config.client_side_validation && public_id.nil?
383
+ fail ArgumentError, "Missing the required parameter 'public_id' when calling SendingAccountsApi.management_get_provider"
384
+ end
385
+ # resource path
386
+ local_var_path = '/providers/{public_id}'.sub('{public_id}', CGI.escape(public_id.to_s))
387
+
388
+ # query parameters
389
+ query_params = opts[:query_params] || {}
390
+
391
+ # header parameters
392
+ header_params = opts[:header_params] || {}
393
+ # HTTP header 'Accept' (if needed)
394
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
395
+ header_params[:'If-None-Match'] = opts[:'if_none_match'] if !opts[:'if_none_match'].nil?
396
+
397
+ # form parameters
398
+ form_params = opts[:form_params] || {}
399
+
400
+ # http body (model)
401
+ post_body = opts[:debug_body]
402
+
403
+ # return_type
404
+ return_type = opts[:debug_return_type] || 'ProviderItemResponse'
405
+
406
+ # auth_names
407
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
408
+
409
+ new_options = opts.merge(
410
+ :operation => :"SendingAccountsApi.management_get_provider",
411
+ :header_params => header_params,
412
+ :query_params => query_params,
413
+ :form_params => form_params,
414
+ :body => post_body,
415
+ :auth_names => auth_names,
416
+ :return_type => return_type
417
+ )
418
+
419
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
420
+ if @api_client.config.debugging
421
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_get_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
422
+ end
423
+ return data, status_code, headers
424
+ end
425
+
426
+ # Get sending account limits
427
+ # Returns custom-account capacity and shared Amazon SES daily sending limit state.
428
+ # @param [Hash] opts the optional parameters
429
+ # @return [ProviderLimitsResponse]
430
+ def management_get_provider_limits(opts = {})
431
+ data, _status_code, _headers = management_get_provider_limits_with_http_info(opts)
432
+ data
433
+ end
434
+
435
+ # Get sending account limits
436
+ # Returns custom-account capacity and shared Amazon SES daily sending limit state.
437
+ # @param [Hash] opts the optional parameters
438
+ # @return [Array<(ProviderLimitsResponse, Integer, Hash)>] ProviderLimitsResponse data, response status code and response headers
439
+ def management_get_provider_limits_with_http_info(opts = {})
440
+ if @api_client.config.debugging
441
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_get_provider_limits ...'
442
+ end
443
+ # resource path
444
+ local_var_path = '/providers/limits'
445
+
446
+ # query parameters
447
+ query_params = opts[:query_params] || {}
448
+
449
+ # header parameters
450
+ header_params = opts[:header_params] || {}
451
+ # HTTP header 'Accept' (if needed)
452
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
453
+
454
+ # form parameters
455
+ form_params = opts[:form_params] || {}
456
+
457
+ # http body (model)
458
+ post_body = opts[:debug_body]
459
+
460
+ # return_type
461
+ return_type = opts[:debug_return_type] || 'ProviderLimitsResponse'
462
+
463
+ # auth_names
464
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
465
+
466
+ new_options = opts.merge(
467
+ :operation => :"SendingAccountsApi.management_get_provider_limits",
468
+ :header_params => header_params,
469
+ :query_params => query_params,
470
+ :form_params => form_params,
471
+ :body => post_body,
472
+ :auth_names => auth_names,
473
+ :return_type => return_type
474
+ )
475
+
476
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
477
+ if @api_client.config.debugging
478
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_get_provider_limits\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
479
+ end
480
+ return data, status_code, headers
481
+ end
482
+
483
+ # Get sending account statistics
484
+ # Returns aggregate counts of configured sending accounts with breakdowns by type and status.
485
+ # @param [Hash] opts the optional parameters
486
+ # @return [ProviderStatsResponse]
487
+ def management_get_provider_stats(opts = {})
488
+ data, _status_code, _headers = management_get_provider_stats_with_http_info(opts)
489
+ data
490
+ end
491
+
492
+ # Get sending account statistics
493
+ # Returns aggregate counts of configured sending accounts with breakdowns by type and status.
494
+ # @param [Hash] opts the optional parameters
495
+ # @return [Array<(ProviderStatsResponse, Integer, Hash)>] ProviderStatsResponse data, response status code and response headers
496
+ def management_get_provider_stats_with_http_info(opts = {})
497
+ if @api_client.config.debugging
498
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_get_provider_stats ...'
499
+ end
500
+ # resource path
501
+ local_var_path = '/providers/stats'
502
+
503
+ # query parameters
504
+ query_params = opts[:query_params] || {}
505
+
506
+ # header parameters
507
+ header_params = opts[:header_params] || {}
508
+ # HTTP header 'Accept' (if needed)
509
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
510
+
511
+ # form parameters
512
+ form_params = opts[:form_params] || {}
513
+
514
+ # http body (model)
515
+ post_body = opts[:debug_body]
516
+
517
+ # return_type
518
+ return_type = opts[:debug_return_type] || 'ProviderStatsResponse'
519
+
520
+ # auth_names
521
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
522
+
523
+ new_options = opts.merge(
524
+ :operation => :"SendingAccountsApi.management_get_provider_stats",
525
+ :header_params => header_params,
526
+ :query_params => query_params,
527
+ :form_params => form_params,
528
+ :body => post_body,
529
+ :auth_names => auth_names,
530
+ :return_type => return_type
531
+ )
532
+
533
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
534
+ if @api_client.config.debugging
535
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_get_provider_stats\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
536
+ end
537
+ return data, status_code, headers
538
+ end
539
+
540
+ # Get sending account usage
541
+ # Returns per-account delivery-log counts for today and the trailing 7-day window.
542
+ # @param [Hash] opts the optional parameters
543
+ # @return [ProviderUsageResponse]
544
+ def management_get_provider_usage(opts = {})
545
+ data, _status_code, _headers = management_get_provider_usage_with_http_info(opts)
546
+ data
547
+ end
548
+
549
+ # Get sending account usage
550
+ # Returns per-account delivery-log counts for today and the trailing 7-day window.
551
+ # @param [Hash] opts the optional parameters
552
+ # @return [Array<(ProviderUsageResponse, Integer, Hash)>] ProviderUsageResponse data, response status code and response headers
553
+ def management_get_provider_usage_with_http_info(opts = {})
554
+ if @api_client.config.debugging
555
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_get_provider_usage ...'
556
+ end
557
+ # resource path
558
+ local_var_path = '/providers/usage'
559
+
560
+ # query parameters
561
+ query_params = opts[:query_params] || {}
562
+
563
+ # header parameters
564
+ header_params = opts[:header_params] || {}
565
+ # HTTP header 'Accept' (if needed)
566
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
567
+
568
+ # form parameters
569
+ form_params = opts[:form_params] || {}
570
+
571
+ # http body (model)
572
+ post_body = opts[:debug_body]
573
+
574
+ # return_type
575
+ return_type = opts[:debug_return_type] || 'ProviderUsageResponse'
576
+
577
+ # auth_names
578
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
579
+
580
+ new_options = opts.merge(
581
+ :operation => :"SendingAccountsApi.management_get_provider_usage",
582
+ :header_params => header_params,
583
+ :query_params => query_params,
584
+ :form_params => form_params,
585
+ :body => post_body,
586
+ :auth_names => auth_names,
587
+ :return_type => return_type
588
+ )
589
+
590
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
591
+ if @api_client.config.debugging
592
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_get_provider_usage\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
593
+ end
594
+ return data, status_code, headers
595
+ end
596
+
597
+ # Get shared Amazon SES limit request state
598
+ # Returns the shared Amazon SES daily limit state and any pending increase request.
599
+ # @param [Hash] opts the optional parameters
600
+ # @return [SharedAmazonSesLimitRequestPageResponse]
601
+ def management_get_shared_amazon_ses_limit_request(opts = {})
602
+ data, _status_code, _headers = management_get_shared_amazon_ses_limit_request_with_http_info(opts)
603
+ data
604
+ end
605
+
606
+ # Get shared Amazon SES limit request state
607
+ # Returns the shared Amazon SES daily limit state and any pending increase request.
608
+ # @param [Hash] opts the optional parameters
609
+ # @return [Array<(SharedAmazonSesLimitRequestPageResponse, Integer, Hash)>] SharedAmazonSesLimitRequestPageResponse data, response status code and response headers
610
+ def management_get_shared_amazon_ses_limit_request_with_http_info(opts = {})
611
+ if @api_client.config.debugging
612
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_get_shared_amazon_ses_limit_request ...'
613
+ end
614
+ # resource path
615
+ local_var_path = '/providers/shared-amazon-ses-limit-request'
616
+
617
+ # query parameters
618
+ query_params = opts[:query_params] || {}
619
+
620
+ # header parameters
621
+ header_params = opts[:header_params] || {}
622
+ # HTTP header 'Accept' (if needed)
623
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
624
+
625
+ # form parameters
626
+ form_params = opts[:form_params] || {}
627
+
628
+ # http body (model)
629
+ post_body = opts[:debug_body]
630
+
631
+ # return_type
632
+ return_type = opts[:debug_return_type] || 'SharedAmazonSesLimitRequestPageResponse'
633
+
634
+ # auth_names
635
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
636
+
637
+ new_options = opts.merge(
638
+ :operation => :"SendingAccountsApi.management_get_shared_amazon_ses_limit_request",
639
+ :header_params => header_params,
640
+ :query_params => query_params,
641
+ :form_params => form_params,
642
+ :body => post_body,
643
+ :auth_names => auth_names,
644
+ :return_type => return_type
645
+ )
646
+
647
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
648
+ if @api_client.config.debugging
649
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_get_shared_amazon_ses_limit_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
650
+ end
651
+ return data, status_code, headers
652
+ end
653
+
654
+ # List sending accounts
655
+ # Returns a cursor-paginated list of sending accounts. Credentials are never returned. The shared Amazon SES account is included and marked with `is_shared: true`.
656
+ # @param [Hash] opts the optional parameters
657
+ # @option opts [String] :cursor
658
+ # @option opts [String] :status
659
+ # @option opts [String] :type
660
+ # @option opts [Integer] :limit
661
+ # @return [ProviderItemCursorListResponse]
662
+ def management_list_providers(opts = {})
663
+ data, _status_code, _headers = management_list_providers_with_http_info(opts)
664
+ data
665
+ end
666
+
667
+ # List sending accounts
668
+ # Returns a cursor-paginated list of sending accounts. Credentials are never returned. The shared Amazon SES account is included and marked with &#x60;is_shared: true&#x60;.
669
+ # @param [Hash] opts the optional parameters
670
+ # @option opts [String] :cursor
671
+ # @option opts [String] :status
672
+ # @option opts [String] :type
673
+ # @option opts [Integer] :limit
674
+ # @return [Array<(ProviderItemCursorListResponse, Integer, Hash)>] ProviderItemCursorListResponse data, response status code and response headers
675
+ def management_list_providers_with_http_info(opts = {})
676
+ if @api_client.config.debugging
677
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_list_providers ...'
678
+ end
679
+ allowable_values = ["active", "inactive", "error", "pending", "unknown_default_open_api"]
680
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
681
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
682
+ end
683
+ allowable_values = ["smtp", "gmail_api", "outlook_api", "amazon_ses", "unknown_default_open_api"]
684
+ if @api_client.config.client_side_validation && opts[:'type'] && !allowable_values.include?(opts[:'type'])
685
+ fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}"
686
+ end
687
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
688
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SendingAccountsApi.management_list_providers, must be smaller than or equal to 100.'
689
+ end
690
+
691
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
692
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SendingAccountsApi.management_list_providers, must be greater than or equal to 1.'
693
+ end
694
+
695
+ # resource path
696
+ local_var_path = '/providers'
697
+
698
+ # query parameters
699
+ query_params = opts[:query_params] || {}
700
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
701
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
702
+ query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
703
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
704
+
705
+ # header parameters
706
+ header_params = opts[:header_params] || {}
707
+ # HTTP header 'Accept' (if needed)
708
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
709
+
710
+ # form parameters
711
+ form_params = opts[:form_params] || {}
712
+
713
+ # http body (model)
714
+ post_body = opts[:debug_body]
715
+
716
+ # return_type
717
+ return_type = opts[:debug_return_type] || 'ProviderItemCursorListResponse'
718
+
719
+ # auth_names
720
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
721
+
722
+ new_options = opts.merge(
723
+ :operation => :"SendingAccountsApi.management_list_providers",
724
+ :header_params => header_params,
725
+ :query_params => query_params,
726
+ :form_params => form_params,
727
+ :body => post_body,
728
+ :auth_names => auth_names,
729
+ :return_type => return_type
730
+ )
731
+
732
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
733
+ if @api_client.config.debugging
734
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_list_providers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
735
+ end
736
+ return data, status_code, headers
737
+ end
738
+
739
+ # Request a sending account limit increase
740
+ # Creates a request to increase the number of custom or connected sending accounts allowed for the team.
741
+ # @param [Hash] opts the optional parameters
742
+ # @option opts [String] :idempotency_key
743
+ # @return [SendingAccountLimitRequestResponse]
744
+ def management_request_sending_account_limit_increase(opts = {})
745
+ data, _status_code, _headers = management_request_sending_account_limit_increase_with_http_info(opts)
746
+ data
747
+ end
748
+
749
+ # Request a sending account limit increase
750
+ # Creates a request to increase the number of custom or connected sending accounts allowed for the team.
751
+ # @param [Hash] opts the optional parameters
752
+ # @option opts [String] :idempotency_key
753
+ # @return [Array<(SendingAccountLimitRequestResponse, Integer, Hash)>] SendingAccountLimitRequestResponse data, response status code and response headers
754
+ def management_request_sending_account_limit_increase_with_http_info(opts = {})
755
+ if @api_client.config.debugging
756
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_request_sending_account_limit_increase ...'
757
+ end
758
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
759
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling SendingAccountsApi.management_request_sending_account_limit_increase, the character length must be smaller than or equal to 255.'
760
+ end
761
+
762
+ # resource path
763
+ local_var_path = '/providers/limits/sending-accounts/request-increase'
764
+
765
+ # query parameters
766
+ query_params = opts[:query_params] || {}
767
+
768
+ # header parameters
769
+ header_params = opts[:header_params] || {}
770
+ # HTTP header 'Accept' (if needed)
771
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
772
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
773
+
774
+ # form parameters
775
+ form_params = opts[:form_params] || {}
776
+
777
+ # http body (model)
778
+ post_body = opts[:debug_body]
779
+
780
+ # return_type
781
+ return_type = opts[:debug_return_type] || 'SendingAccountLimitRequestResponse'
782
+
783
+ # auth_names
784
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
785
+
786
+ new_options = opts.merge(
787
+ :operation => :"SendingAccountsApi.management_request_sending_account_limit_increase",
788
+ :header_params => header_params,
789
+ :query_params => query_params,
790
+ :form_params => form_params,
791
+ :body => post_body,
792
+ :auth_names => auth_names,
793
+ :return_type => return_type
794
+ )
795
+
796
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
797
+ if @api_client.config.debugging
798
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_request_sending_account_limit_increase\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
799
+ end
800
+ return data, status_code, headers
801
+ end
802
+
803
+ # Test an SMTP sending account
804
+ # Runs a connection test for a custom SMTP account. The shared Amazon SES account and OAuth accounts cannot be tested through this endpoint.
805
+ # @param public_id [String]
806
+ # @param [Hash] opts the optional parameters
807
+ # @option opts [String] :idempotency_key
808
+ # @return [ProviderTestResultResponse]
809
+ def management_test_provider(public_id, opts = {})
810
+ data, _status_code, _headers = management_test_provider_with_http_info(public_id, opts)
811
+ data
812
+ end
813
+
814
+ # Test an SMTP sending account
815
+ # Runs a connection test for a custom SMTP account. The shared Amazon SES account and OAuth accounts cannot be tested through this endpoint.
816
+ # @param public_id [String]
817
+ # @param [Hash] opts the optional parameters
818
+ # @option opts [String] :idempotency_key
819
+ # @return [Array<(ProviderTestResultResponse, Integer, Hash)>] ProviderTestResultResponse data, response status code and response headers
820
+ def management_test_provider_with_http_info(public_id, opts = {})
821
+ if @api_client.config.debugging
822
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_test_provider ...'
823
+ end
824
+ # verify the required parameter 'public_id' is set
825
+ if @api_client.config.client_side_validation && public_id.nil?
826
+ fail ArgumentError, "Missing the required parameter 'public_id' when calling SendingAccountsApi.management_test_provider"
827
+ end
828
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
829
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling SendingAccountsApi.management_test_provider, the character length must be smaller than or equal to 255.'
830
+ end
831
+
832
+ # resource path
833
+ local_var_path = '/providers/{public_id}/test'.sub('{public_id}', CGI.escape(public_id.to_s))
834
+
835
+ # query parameters
836
+ query_params = opts[:query_params] || {}
837
+
838
+ # header parameters
839
+ header_params = opts[:header_params] || {}
840
+ # HTTP header 'Accept' (if needed)
841
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
842
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
843
+
844
+ # form parameters
845
+ form_params = opts[:form_params] || {}
846
+
847
+ # http body (model)
848
+ post_body = opts[:debug_body]
849
+
850
+ # return_type
851
+ return_type = opts[:debug_return_type] || 'ProviderTestResultResponse'
852
+
853
+ # auth_names
854
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
855
+
856
+ new_options = opts.merge(
857
+ :operation => :"SendingAccountsApi.management_test_provider",
858
+ :header_params => header_params,
859
+ :query_params => query_params,
860
+ :form_params => form_params,
861
+ :body => post_body,
862
+ :auth_names => auth_names,
863
+ :return_type => return_type
864
+ )
865
+
866
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
867
+ if @api_client.config.debugging
868
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_test_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
869
+ end
870
+ return data, status_code, headers
871
+ end
872
+
873
+ # Update a sending account
874
+ # Updates a custom sending account. The shared Amazon SES account cannot be edited here; use activate/deactivate and the limit-request endpoint for the allowed shared-account actions.
875
+ # @param public_id [String]
876
+ # @param [Hash] opts the optional parameters
877
+ # @option opts [String] :if_match
878
+ # @option opts [ProviderUpdateBody] :provider_update_body
879
+ # @return [ProviderItemResponse]
880
+ def management_update_provider(public_id, opts = {})
881
+ data, _status_code, _headers = management_update_provider_with_http_info(public_id, opts)
882
+ data
883
+ end
884
+
885
+ # Update a sending account
886
+ # Updates a custom sending account. The shared Amazon SES account cannot be edited here; use activate/deactivate and the limit-request endpoint for the allowed shared-account actions.
887
+ # @param public_id [String]
888
+ # @param [Hash] opts the optional parameters
889
+ # @option opts [String] :if_match
890
+ # @option opts [ProviderUpdateBody] :provider_update_body
891
+ # @return [Array<(ProviderItemResponse, Integer, Hash)>] ProviderItemResponse data, response status code and response headers
892
+ def management_update_provider_with_http_info(public_id, opts = {})
893
+ if @api_client.config.debugging
894
+ @api_client.config.logger.debug 'Calling API: SendingAccountsApi.management_update_provider ...'
895
+ end
896
+ # verify the required parameter 'public_id' is set
897
+ if @api_client.config.client_side_validation && public_id.nil?
898
+ fail ArgumentError, "Missing the required parameter 'public_id' when calling SendingAccountsApi.management_update_provider"
899
+ end
900
+ # resource path
901
+ local_var_path = '/providers/{public_id}'.sub('{public_id}', CGI.escape(public_id.to_s))
902
+
903
+ # query parameters
904
+ query_params = opts[:query_params] || {}
905
+
906
+ # header parameters
907
+ header_params = opts[:header_params] || {}
908
+ # HTTP header 'Accept' (if needed)
909
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
910
+ # HTTP header 'Content-Type'
911
+ content_type = @api_client.select_header_content_type(['application/json'])
912
+ if !content_type.nil?
913
+ header_params['Content-Type'] = content_type
914
+ end
915
+ header_params[:'If-Match'] = opts[:'if_match'] if !opts[:'if_match'].nil?
916
+
917
+ # form parameters
918
+ form_params = opts[:form_params] || {}
919
+
920
+ # http body (model)
921
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'provider_update_body'])
922
+
923
+ # return_type
924
+ return_type = opts[:debug_return_type] || 'ProviderItemResponse'
925
+
926
+ # auth_names
927
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
928
+
929
+ new_options = opts.merge(
930
+ :operation => :"SendingAccountsApi.management_update_provider",
931
+ :header_params => header_params,
932
+ :query_params => query_params,
933
+ :form_params => form_params,
934
+ :body => post_body,
935
+ :auth_names => auth_names,
936
+ :return_type => return_type
937
+ )
938
+
939
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
940
+ if @api_client.config.debugging
941
+ @api_client.config.logger.debug "API called: SendingAccountsApi#management_update_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
942
+ end
943
+ return data, status_code, headers
944
+ end
945
+ end
946
+ end