aws-sdk-sesv2 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 77862e8082106d11dd688b862357a3b9252b457e
4
+ data.tar.gz: ca49b01d7fdbab36b17e85a1887f9939502ecb12
5
+ SHA512:
6
+ metadata.gz: 30a0da643d295cf153c36c6bbe48f9d36fe24c3ceaf765d24f71c1bdecbda25b5c48dbd7e0471ae65ea8f1f8db931efc95303371b40501d5d5c5327f87ae8e20
7
+ data.tar.gz: bfaee1d2dfc34ea1c4d0fc7f03f39d589f5826d5f58779659491fb419eeec91ff97fddc216c1d85aa7d9c3c76504ec48c1e0869c0659c65e4e561a4d3172c500
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-sesv2/types'
12
+ require_relative 'aws-sdk-sesv2/client_api'
13
+ require_relative 'aws-sdk-sesv2/client'
14
+ require_relative 'aws-sdk-sesv2/errors'
15
+ require_relative 'aws-sdk-sesv2/resource'
16
+ require_relative 'aws-sdk-sesv2/customizations'
17
+
18
+ # This module provides support for Amazon Simple Email Service. This module is available in the
19
+ # `aws-sdk-sesv2` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Simple Email Service all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::SESV2::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::SESV2
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,2178 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:sesv2)
31
+
32
+ module Aws::SESV2
33
+ class Client < Seahorse::Client::Base
34
+
35
+ include Aws::ClientStubs
36
+
37
+ @identifier = :sesv2
38
+
39
+ set_api(ClientApi::API)
40
+
41
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
42
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
43
+ add_plugin(Aws::Plugins::Logging)
44
+ add_plugin(Aws::Plugins::ParamConverter)
45
+ add_plugin(Aws::Plugins::ParamValidator)
46
+ add_plugin(Aws::Plugins::UserAgent)
47
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
48
+ add_plugin(Aws::Plugins::RetryErrors)
49
+ add_plugin(Aws::Plugins::GlobalConfiguration)
50
+ add_plugin(Aws::Plugins::RegionalEndpoint)
51
+ add_plugin(Aws::Plugins::EndpointDiscovery)
52
+ add_plugin(Aws::Plugins::EndpointPattern)
53
+ add_plugin(Aws::Plugins::ResponsePaging)
54
+ add_plugin(Aws::Plugins::StubResponses)
55
+ add_plugin(Aws::Plugins::IdempotencyToken)
56
+ add_plugin(Aws::Plugins::JsonvalueConverter)
57
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
60
+ add_plugin(Aws::Plugins::SignatureV4)
61
+ add_plugin(Aws::Plugins::Protocols::RestJson)
62
+
63
+ # @overload initialize(options)
64
+ # @param [Hash] options
65
+ # @option options [required, Aws::CredentialProvider] :credentials
66
+ # Your AWS credentials. This can be an instance of any one of the
67
+ # following classes:
68
+ #
69
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
70
+ # credentials.
71
+ #
72
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
73
+ # from an EC2 IMDS on an EC2 instance.
74
+ #
75
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
76
+ # shared file, such as `~/.aws/config`.
77
+ #
78
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
79
+ #
80
+ # When `:credentials` are not configured directly, the following
81
+ # locations will be searched for credentials:
82
+ #
83
+ # * `Aws.config[:credentials]`
84
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
85
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
86
+ # * `~/.aws/credentials`
87
+ # * `~/.aws/config`
88
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
89
+ # very aggressive. Construct and pass an instance of
90
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
91
+ # timeouts.
92
+ #
93
+ # @option options [required, String] :region
94
+ # The AWS region to connect to. The configured `:region` is
95
+ # used to determine the service `:endpoint`. When not passed,
96
+ # a default `:region` is search for in the following locations:
97
+ #
98
+ # * `Aws.config[:region]`
99
+ # * `ENV['AWS_REGION']`
100
+ # * `ENV['AMAZON_REGION']`
101
+ # * `ENV['AWS_DEFAULT_REGION']`
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ #
105
+ # @option options [String] :access_key_id
106
+ #
107
+ # @option options [Boolean] :active_endpoint_cache (false)
108
+ # When set to `true`, a thread polling for endpoints will be running in
109
+ # the background every 60 secs (default). Defaults to `false`.
110
+ #
111
+ # @option options [Boolean] :client_side_monitoring (false)
112
+ # When `true`, client-side metrics will be collected for all API requests from
113
+ # this client.
114
+ #
115
+ # @option options [String] :client_side_monitoring_client_id ("")
116
+ # Allows you to provide an identifier for this client which will be attached to
117
+ # all generated client side metrics. Defaults to an empty string.
118
+ #
119
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
120
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
121
+ # side monitoring agent is running on, where client metrics will be published via UDP.
122
+ #
123
+ # @option options [Integer] :client_side_monitoring_port (31000)
124
+ # Required for publishing client metrics. The port that the client side monitoring
125
+ # agent is running on, where client metrics will be published via UDP.
126
+ #
127
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
128
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
129
+ # will use the Client Side Monitoring Agent Publisher.
130
+ #
131
+ # @option options [Boolean] :convert_params (true)
132
+ # When `true`, an attempt is made to coerce request parameters into
133
+ # the required types.
134
+ #
135
+ # @option options [Boolean] :disable_host_prefix_injection (false)
136
+ # Set to true to disable SDK automatically adding host prefix
137
+ # to default service endpoint when available.
138
+ #
139
+ # @option options [String] :endpoint
140
+ # The client endpoint is normally constructed from the `:region`
141
+ # option. You should only configure an `:endpoint` when connecting
142
+ # to test endpoints. This should be avalid HTTP(S) URI.
143
+ #
144
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
145
+ # Used for the maximum size limit of the LRU cache storing endpoints data
146
+ # for endpoint discovery enabled operations. Defaults to 1000.
147
+ #
148
+ # @option options [Integer] :endpoint_cache_max_threads (10)
149
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
150
+ #
151
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
152
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
153
+ # Use this option to config the time interval in seconds for making
154
+ # requests fetching endpoints information. Defaults to 60 sec.
155
+ #
156
+ # @option options [Boolean] :endpoint_discovery (false)
157
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
158
+ #
159
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
+ # The log formatter.
161
+ #
162
+ # @option options [Symbol] :log_level (:info)
163
+ # The log level to send messages to the `:logger` at.
164
+ #
165
+ # @option options [Logger] :logger
166
+ # The Logger instance to send log messages to. If this option
167
+ # is not set, logging will be disabled.
168
+ #
169
+ # @option options [String] :profile ("default")
170
+ # Used when loading credentials from the shared credentials file
171
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
172
+ #
173
+ # @option options [Float] :retry_base_delay (0.3)
174
+ # The base delay in seconds used by the default backoff function.
175
+ #
176
+ # @option options [Symbol] :retry_jitter (:none)
177
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
178
+ #
179
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
+ #
181
+ # @option options [Integer] :retry_limit (3)
182
+ # The maximum number of times to retry failed requests. Only
183
+ # ~ 500 level server errors and certain ~ 400 level client errors
184
+ # are retried. Generally, these are throttling errors, data
185
+ # checksum errors, networking errors, timeout errors and auth
186
+ # errors from expired credentials.
187
+ #
188
+ # @option options [Integer] :retry_max_delay (0)
189
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
190
+ #
191
+ # @option options [String] :secret_access_key
192
+ #
193
+ # @option options [String] :session_token
194
+ #
195
+ # @option options [Boolean] :stub_responses (false)
196
+ # Causes the client to return stubbed responses. By default
197
+ # fake responses are generated and returned. You can specify
198
+ # the response data to return or errors to raise by calling
199
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
200
+ #
201
+ # ** Please note ** When response stubbing is enabled, no HTTP
202
+ # requests are made, and retries are disabled.
203
+ #
204
+ # @option options [Boolean] :validate_params (true)
205
+ # When `true`, request parameters are validated before
206
+ # sending the request.
207
+ #
208
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
209
+ # requests through. Formatted like 'http://proxy.com:123'.
210
+ #
211
+ # @option options [Float] :http_open_timeout (15) The number of
212
+ # seconds to wait when opening a HTTP session before rasing a
213
+ # `Timeout::Error`.
214
+ #
215
+ # @option options [Integer] :http_read_timeout (60) The default
216
+ # number of seconds to wait for response data. This value can
217
+ # safely be set
218
+ # per-request on the session yeidled by {#session_for}.
219
+ #
220
+ # @option options [Float] :http_idle_timeout (5) The number of
221
+ # seconds a connection is allowed to sit idble before it is
222
+ # considered stale. Stale connections are closed and removed
223
+ # from the pool before making a request.
224
+ #
225
+ # @option options [Float] :http_continue_timeout (1) The number of
226
+ # seconds to wait for a 100-continue response before sending the
227
+ # request body. This option has no effect unless the request has
228
+ # "Expect" header set to "100-continue". Defaults to `nil` which
229
+ # disables this behaviour. This value can safely be set per
230
+ # request on the session yeidled by {#session_for}.
231
+ #
232
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
233
+ # HTTP debug output will be sent to the `:logger`.
234
+ #
235
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
236
+ # SSL peer certificates are verified when establishing a
237
+ # connection.
238
+ #
239
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
240
+ # certificate authority bundle file that should be used when
241
+ # verifying peer certificates. If you do not pass
242
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
243
+ # will be used if available.
244
+ #
245
+ # @option options [String] :ssl_ca_directory Full path of the
246
+ # directory that contains the unbundled SSL certificate
247
+ # authority files for verifying peer certificates. If you do
248
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
249
+ # system default will be used if available.
250
+ #
251
+ def initialize(*args)
252
+ super
253
+ end
254
+
255
+ # @!group API Operations
256
+
257
+ # Create a configuration set. *Configuration sets* are groups of rules
258
+ # that you can apply to the emails that you send. You apply a
259
+ # configuration set to an email by specifying the name of the
260
+ # configuration set when you call the Amazon SES API v2. When you apply
261
+ # a configuration set to an email, all of the rules in that
262
+ # configuration set are applied to the email.
263
+ #
264
+ # @option params [required, String] :configuration_set_name
265
+ # The name of the configuration set.
266
+ #
267
+ # @option params [Types::TrackingOptions] :tracking_options
268
+ # An object that defines the open and click tracking options for emails
269
+ # that you send using the configuration set.
270
+ #
271
+ # @option params [Types::DeliveryOptions] :delivery_options
272
+ # An object that defines the dedicated IP pool that is used to send
273
+ # emails that you send using the configuration set.
274
+ #
275
+ # @option params [Types::ReputationOptions] :reputation_options
276
+ # An object that defines whether or not Amazon SES collects reputation
277
+ # metrics for the emails that you send that use the configuration set.
278
+ #
279
+ # @option params [Types::SendingOptions] :sending_options
280
+ # An object that defines whether or not Amazon SES can send email that
281
+ # you send using the configuration set.
282
+ #
283
+ # @option params [Array<Types::Tag>] :tags
284
+ # An array of objects that define the tags (keys and values) that you
285
+ # want to associate with the configuration set.
286
+ #
287
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
288
+ #
289
+ # @example Request syntax with placeholder values
290
+ #
291
+ # resp = client.create_configuration_set({
292
+ # configuration_set_name: "ConfigurationSetName", # required
293
+ # tracking_options: {
294
+ # custom_redirect_domain: "CustomRedirectDomain", # required
295
+ # },
296
+ # delivery_options: {
297
+ # tls_policy: "REQUIRE", # accepts REQUIRE, OPTIONAL
298
+ # sending_pool_name: "PoolName",
299
+ # },
300
+ # reputation_options: {
301
+ # reputation_metrics_enabled: false,
302
+ # last_fresh_start: Time.now,
303
+ # },
304
+ # sending_options: {
305
+ # sending_enabled: false,
306
+ # },
307
+ # tags: [
308
+ # {
309
+ # key: "TagKey", # required
310
+ # value: "TagValue", # required
311
+ # },
312
+ # ],
313
+ # })
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateConfigurationSet AWS API Documentation
316
+ #
317
+ # @overload create_configuration_set(params = {})
318
+ # @param [Hash] params ({})
319
+ def create_configuration_set(params = {}, options = {})
320
+ req = build_request(:create_configuration_set, params)
321
+ req.send_request(options)
322
+ end
323
+
324
+ # Create an event destination. *Events* include message sends,
325
+ # deliveries, opens, clicks, bounces, and complaints. *Event
326
+ # destinations* are places that you can send information about these
327
+ # events to. For example, you can send event data to Amazon SNS to
328
+ # receive notifications when you receive bounces or complaints, or you
329
+ # can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for
330
+ # long-term storage.
331
+ #
332
+ # A single configuration set can include more than one event
333
+ # destination.
334
+ #
335
+ # @option params [required, String] :configuration_set_name
336
+ # The name of the configuration set that you want to add an event
337
+ # destination to.
338
+ #
339
+ # @option params [required, String] :event_destination_name
340
+ # A name that identifies the event destination within the configuration
341
+ # set.
342
+ #
343
+ # @option params [required, Types::EventDestinationDefinition] :event_destination
344
+ # An object that defines the event destination.
345
+ #
346
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
347
+ #
348
+ # @example Request syntax with placeholder values
349
+ #
350
+ # resp = client.create_configuration_set_event_destination({
351
+ # configuration_set_name: "ConfigurationSetName", # required
352
+ # event_destination_name: "EventDestinationName", # required
353
+ # event_destination: { # required
354
+ # enabled: false,
355
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE
356
+ # kinesis_firehose_destination: {
357
+ # iam_role_arn: "AmazonResourceName", # required
358
+ # delivery_stream_arn: "AmazonResourceName", # required
359
+ # },
360
+ # cloud_watch_destination: {
361
+ # dimension_configurations: [ # required
362
+ # {
363
+ # dimension_name: "DimensionName", # required
364
+ # dimension_value_source: "MESSAGE_TAG", # required, accepts MESSAGE_TAG, EMAIL_HEADER, LINK_TAG
365
+ # default_dimension_value: "DefaultDimensionValue", # required
366
+ # },
367
+ # ],
368
+ # },
369
+ # sns_destination: {
370
+ # topic_arn: "AmazonResourceName", # required
371
+ # },
372
+ # pinpoint_destination: {
373
+ # application_arn: "AmazonResourceName",
374
+ # },
375
+ # },
376
+ # })
377
+ #
378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateConfigurationSetEventDestination AWS API Documentation
379
+ #
380
+ # @overload create_configuration_set_event_destination(params = {})
381
+ # @param [Hash] params ({})
382
+ def create_configuration_set_event_destination(params = {}, options = {})
383
+ req = build_request(:create_configuration_set_event_destination, params)
384
+ req.send_request(options)
385
+ end
386
+
387
+ # Create a new pool of dedicated IP addresses. A pool can include one or
388
+ # more dedicated IP addresses that are associated with your AWS account.
389
+ # You can associate a pool with a configuration set. When you send an
390
+ # email that uses that configuration set, the message is sent from one
391
+ # of the addresses in the associated pool.
392
+ #
393
+ # @option params [required, String] :pool_name
394
+ # The name of the dedicated IP pool.
395
+ #
396
+ # @option params [Array<Types::Tag>] :tags
397
+ # An object that defines the tags (keys and values) that you want to
398
+ # associate with the pool.
399
+ #
400
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
401
+ #
402
+ # @example Request syntax with placeholder values
403
+ #
404
+ # resp = client.create_dedicated_ip_pool({
405
+ # pool_name: "PoolName", # required
406
+ # tags: [
407
+ # {
408
+ # key: "TagKey", # required
409
+ # value: "TagValue", # required
410
+ # },
411
+ # ],
412
+ # })
413
+ #
414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateDedicatedIpPool AWS API Documentation
415
+ #
416
+ # @overload create_dedicated_ip_pool(params = {})
417
+ # @param [Hash] params ({})
418
+ def create_dedicated_ip_pool(params = {}, options = {})
419
+ req = build_request(:create_dedicated_ip_pool, params)
420
+ req.send_request(options)
421
+ end
422
+
423
+ # Create a new predictive inbox placement test. Predictive inbox
424
+ # placement tests can help you predict how your messages will be handled
425
+ # by various email providers around the world. When you perform a
426
+ # predictive inbox placement test, you provide a sample message that
427
+ # contains the content that you plan to send to your customers. Amazon
428
+ # SES API v2 then sends that message to special email addresses spread
429
+ # across several major email providers. After about 24 hours, the test
430
+ # is complete, and you can use the `GetDeliverabilityTestReport`
431
+ # operation to view the results of the test.
432
+ #
433
+ # @option params [String] :report_name
434
+ # A unique name that helps you to identify the predictive inbox
435
+ # placement test when you retrieve the results.
436
+ #
437
+ # @option params [required, String] :from_email_address
438
+ # The email address that the predictive inbox placement test email was
439
+ # sent from.
440
+ #
441
+ # @option params [required, Types::EmailContent] :content
442
+ # The HTML body of the message that you sent when you performed the
443
+ # predictive inbox placement test.
444
+ #
445
+ # @option params [Array<Types::Tag>] :tags
446
+ # An array of objects that define the tags (keys and values) that you
447
+ # want to associate with the predictive inbox placement test.
448
+ #
449
+ # @return [Types::CreateDeliverabilityTestReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
450
+ #
451
+ # * {Types::CreateDeliverabilityTestReportResponse#report_id #report_id} => String
452
+ # * {Types::CreateDeliverabilityTestReportResponse#deliverability_test_status #deliverability_test_status} => String
453
+ #
454
+ # @example Request syntax with placeholder values
455
+ #
456
+ # resp = client.create_deliverability_test_report({
457
+ # report_name: "ReportName",
458
+ # from_email_address: "EmailAddress", # required
459
+ # content: { # required
460
+ # simple: {
461
+ # subject: { # required
462
+ # data: "MessageData", # required
463
+ # charset: "Charset",
464
+ # },
465
+ # body: { # required
466
+ # text: {
467
+ # data: "MessageData", # required
468
+ # charset: "Charset",
469
+ # },
470
+ # html: {
471
+ # data: "MessageData", # required
472
+ # charset: "Charset",
473
+ # },
474
+ # },
475
+ # },
476
+ # raw: {
477
+ # data: "data", # required
478
+ # },
479
+ # template: {
480
+ # template_arn: "TemplateArn",
481
+ # template_data: "TemplateData",
482
+ # },
483
+ # },
484
+ # tags: [
485
+ # {
486
+ # key: "TagKey", # required
487
+ # value: "TagValue", # required
488
+ # },
489
+ # ],
490
+ # })
491
+ #
492
+ # @example Response structure
493
+ #
494
+ # resp.report_id #=> String
495
+ # resp.deliverability_test_status #=> String, one of "IN_PROGRESS", "COMPLETED"
496
+ #
497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateDeliverabilityTestReport AWS API Documentation
498
+ #
499
+ # @overload create_deliverability_test_report(params = {})
500
+ # @param [Hash] params ({})
501
+ def create_deliverability_test_report(params = {}, options = {})
502
+ req = build_request(:create_deliverability_test_report, params)
503
+ req.send_request(options)
504
+ end
505
+
506
+ # Starts the process of verifying an email identity. An *identity* is an
507
+ # email address or domain that you use when you send email. Before you
508
+ # can use an identity to send email, you first have to verify it. By
509
+ # verifying an identity, you demonstrate that you're the owner of the
510
+ # identity, and that you've given Amazon SES API v2 permission to send
511
+ # email from the identity.
512
+ #
513
+ # When you verify an email address, Amazon SES sends an email to the
514
+ # address. Your email address is verified as soon as you follow the link
515
+ # in the verification email.
516
+ #
517
+ # When you verify a domain, this operation provides a set of DKIM
518
+ # tokens, which you can convert into CNAME tokens. You add these CNAME
519
+ # tokens to the DNS configuration for your domain. Your domain is
520
+ # verified when Amazon SES detects these records in the DNS
521
+ # configuration for your domain. For some DNS providers, it can take 72
522
+ # hours or more to complete the domain verification process.
523
+ #
524
+ # @option params [required, String] :email_identity
525
+ # The email address or domain that you want to verify.
526
+ #
527
+ # @option params [Array<Types::Tag>] :tags
528
+ # An array of objects that define the tags (keys and values) that you
529
+ # want to associate with the email identity.
530
+ #
531
+ # @return [Types::CreateEmailIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
532
+ #
533
+ # * {Types::CreateEmailIdentityResponse#identity_type #identity_type} => String
534
+ # * {Types::CreateEmailIdentityResponse#verified_for_sending_status #verified_for_sending_status} => Boolean
535
+ # * {Types::CreateEmailIdentityResponse#dkim_attributes #dkim_attributes} => Types::DkimAttributes
536
+ #
537
+ # @example Request syntax with placeholder values
538
+ #
539
+ # resp = client.create_email_identity({
540
+ # email_identity: "Identity", # required
541
+ # tags: [
542
+ # {
543
+ # key: "TagKey", # required
544
+ # value: "TagValue", # required
545
+ # },
546
+ # ],
547
+ # })
548
+ #
549
+ # @example Response structure
550
+ #
551
+ # resp.identity_type #=> String, one of "EMAIL_ADDRESS", "DOMAIN", "MANAGED_DOMAIN"
552
+ # resp.verified_for_sending_status #=> Boolean
553
+ # resp.dkim_attributes.signing_enabled #=> Boolean
554
+ # resp.dkim_attributes.status #=> String, one of "PENDING", "SUCCESS", "FAILED", "TEMPORARY_FAILURE", "NOT_STARTED"
555
+ # resp.dkim_attributes.tokens #=> Array
556
+ # resp.dkim_attributes.tokens[0] #=> String
557
+ #
558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentity AWS API Documentation
559
+ #
560
+ # @overload create_email_identity(params = {})
561
+ # @param [Hash] params ({})
562
+ def create_email_identity(params = {}, options = {})
563
+ req = build_request(:create_email_identity, params)
564
+ req.send_request(options)
565
+ end
566
+
567
+ # Delete an existing configuration set.
568
+ #
569
+ # *Configuration sets* are groups of rules that you can apply to the
570
+ # emails you send. You apply a configuration set to an email by
571
+ # including a reference to the configuration set in the headers of the
572
+ # email. When you apply a configuration set to an email, all of the
573
+ # rules in that configuration set are applied to the email.
574
+ #
575
+ # @option params [required, String] :configuration_set_name
576
+ # The name of the configuration set that you want to delete.
577
+ #
578
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
579
+ #
580
+ # @example Request syntax with placeholder values
581
+ #
582
+ # resp = client.delete_configuration_set({
583
+ # configuration_set_name: "ConfigurationSetName", # required
584
+ # })
585
+ #
586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteConfigurationSet AWS API Documentation
587
+ #
588
+ # @overload delete_configuration_set(params = {})
589
+ # @param [Hash] params ({})
590
+ def delete_configuration_set(params = {}, options = {})
591
+ req = build_request(:delete_configuration_set, params)
592
+ req.send_request(options)
593
+ end
594
+
595
+ # Delete an event destination.
596
+ #
597
+ # *Events* include message sends, deliveries, opens, clicks, bounces,
598
+ # and complaints. *Event destinations* are places that you can send
599
+ # information about these events to. For example, you can send event
600
+ # data to Amazon SNS to receive notifications when you receive bounces
601
+ # or complaints, or you can use Amazon Kinesis Data Firehose to stream
602
+ # data to Amazon S3 for long-term storage.
603
+ #
604
+ # @option params [required, String] :configuration_set_name
605
+ # The name of the configuration set that contains the event destination
606
+ # that you want to delete.
607
+ #
608
+ # @option params [required, String] :event_destination_name
609
+ # The name of the event destination that you want to delete.
610
+ #
611
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
612
+ #
613
+ # @example Request syntax with placeholder values
614
+ #
615
+ # resp = client.delete_configuration_set_event_destination({
616
+ # configuration_set_name: "ConfigurationSetName", # required
617
+ # event_destination_name: "EventDestinationName", # required
618
+ # })
619
+ #
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteConfigurationSetEventDestination AWS API Documentation
621
+ #
622
+ # @overload delete_configuration_set_event_destination(params = {})
623
+ # @param [Hash] params ({})
624
+ def delete_configuration_set_event_destination(params = {}, options = {})
625
+ req = build_request(:delete_configuration_set_event_destination, params)
626
+ req.send_request(options)
627
+ end
628
+
629
+ # Delete a dedicated IP pool.
630
+ #
631
+ # @option params [required, String] :pool_name
632
+ # The name of the dedicated IP pool that you want to delete.
633
+ #
634
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
635
+ #
636
+ # @example Request syntax with placeholder values
637
+ #
638
+ # resp = client.delete_dedicated_ip_pool({
639
+ # pool_name: "PoolName", # required
640
+ # })
641
+ #
642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool AWS API Documentation
643
+ #
644
+ # @overload delete_dedicated_ip_pool(params = {})
645
+ # @param [Hash] params ({})
646
+ def delete_dedicated_ip_pool(params = {}, options = {})
647
+ req = build_request(:delete_dedicated_ip_pool, params)
648
+ req.send_request(options)
649
+ end
650
+
651
+ # Deletes an email identity. An identity can be either an email address
652
+ # or a domain name.
653
+ #
654
+ # @option params [required, String] :email_identity
655
+ # The identity (that is, the email address or domain) that you want to
656
+ # delete.
657
+ #
658
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
659
+ #
660
+ # @example Request syntax with placeholder values
661
+ #
662
+ # resp = client.delete_email_identity({
663
+ # email_identity: "Identity", # required
664
+ # })
665
+ #
666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentity AWS API Documentation
667
+ #
668
+ # @overload delete_email_identity(params = {})
669
+ # @param [Hash] params ({})
670
+ def delete_email_identity(params = {}, options = {})
671
+ req = build_request(:delete_email_identity, params)
672
+ req.send_request(options)
673
+ end
674
+
675
+ # Obtain information about the email-sending status and capabilities of
676
+ # your Amazon SES account in the current AWS Region.
677
+ #
678
+ # @return [Types::GetAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
679
+ #
680
+ # * {Types::GetAccountResponse#send_quota #send_quota} => Types::SendQuota
681
+ # * {Types::GetAccountResponse#sending_enabled #sending_enabled} => Boolean
682
+ # * {Types::GetAccountResponse#dedicated_ip_auto_warmup_enabled #dedicated_ip_auto_warmup_enabled} => Boolean
683
+ # * {Types::GetAccountResponse#enforcement_status #enforcement_status} => String
684
+ # * {Types::GetAccountResponse#production_access_enabled #production_access_enabled} => Boolean
685
+ #
686
+ # @example Response structure
687
+ #
688
+ # resp.send_quota.max_24_hour_send #=> Float
689
+ # resp.send_quota.max_send_rate #=> Float
690
+ # resp.send_quota.sent_last_24_hours #=> Float
691
+ # resp.sending_enabled #=> Boolean
692
+ # resp.dedicated_ip_auto_warmup_enabled #=> Boolean
693
+ # resp.enforcement_status #=> String
694
+ # resp.production_access_enabled #=> Boolean
695
+ #
696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetAccount AWS API Documentation
697
+ #
698
+ # @overload get_account(params = {})
699
+ # @param [Hash] params ({})
700
+ def get_account(params = {}, options = {})
701
+ req = build_request(:get_account, params)
702
+ req.send_request(options)
703
+ end
704
+
705
+ # Retrieve a list of the blacklists that your dedicated IP addresses
706
+ # appear on.
707
+ #
708
+ # @option params [required, Array<String>] :blacklist_item_names
709
+ # A list of IP addresses that you want to retrieve blacklist information
710
+ # about. You can only specify the dedicated IP addresses that you use to
711
+ # send email using Amazon SES or Amazon Pinpoint.
712
+ #
713
+ # @return [Types::GetBlacklistReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
714
+ #
715
+ # * {Types::GetBlacklistReportsResponse#blacklist_report #blacklist_report} => Hash&lt;String,Array&lt;Types::BlacklistEntry&gt;&gt;
716
+ #
717
+ # @example Request syntax with placeholder values
718
+ #
719
+ # resp = client.get_blacklist_reports({
720
+ # blacklist_item_names: ["BlacklistItemName"], # required
721
+ # })
722
+ #
723
+ # @example Response structure
724
+ #
725
+ # resp.blacklist_report #=> Hash
726
+ # resp.blacklist_report["BlacklistItemName"] #=> Array
727
+ # resp.blacklist_report["BlacklistItemName"][0].rbl_name #=> String
728
+ # resp.blacklist_report["BlacklistItemName"][0].listing_time #=> Time
729
+ # resp.blacklist_report["BlacklistItemName"][0].description #=> String
730
+ #
731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetBlacklistReports AWS API Documentation
732
+ #
733
+ # @overload get_blacklist_reports(params = {})
734
+ # @param [Hash] params ({})
735
+ def get_blacklist_reports(params = {}, options = {})
736
+ req = build_request(:get_blacklist_reports, params)
737
+ req.send_request(options)
738
+ end
739
+
740
+ # Get information about an existing configuration set, including the
741
+ # dedicated IP pool that it's associated with, whether or not it's
742
+ # enabled for sending email, and more.
743
+ #
744
+ # *Configuration sets* are groups of rules that you can apply to the
745
+ # emails you send. You apply a configuration set to an email by
746
+ # including a reference to the configuration set in the headers of the
747
+ # email. When you apply a configuration set to an email, all of the
748
+ # rules in that configuration set are applied to the email.
749
+ #
750
+ # @option params [required, String] :configuration_set_name
751
+ # The name of the configuration set that you want to obtain more
752
+ # information about.
753
+ #
754
+ # @return [Types::GetConfigurationSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
755
+ #
756
+ # * {Types::GetConfigurationSetResponse#configuration_set_name #configuration_set_name} => String
757
+ # * {Types::GetConfigurationSetResponse#tracking_options #tracking_options} => Types::TrackingOptions
758
+ # * {Types::GetConfigurationSetResponse#delivery_options #delivery_options} => Types::DeliveryOptions
759
+ # * {Types::GetConfigurationSetResponse#reputation_options #reputation_options} => Types::ReputationOptions
760
+ # * {Types::GetConfigurationSetResponse#sending_options #sending_options} => Types::SendingOptions
761
+ # * {Types::GetConfigurationSetResponse#tags #tags} => Array&lt;Types::Tag&gt;
762
+ #
763
+ # @example Request syntax with placeholder values
764
+ #
765
+ # resp = client.get_configuration_set({
766
+ # configuration_set_name: "ConfigurationSetName", # required
767
+ # })
768
+ #
769
+ # @example Response structure
770
+ #
771
+ # resp.configuration_set_name #=> String
772
+ # resp.tracking_options.custom_redirect_domain #=> String
773
+ # resp.delivery_options.tls_policy #=> String, one of "REQUIRE", "OPTIONAL"
774
+ # resp.delivery_options.sending_pool_name #=> String
775
+ # resp.reputation_options.reputation_metrics_enabled #=> Boolean
776
+ # resp.reputation_options.last_fresh_start #=> Time
777
+ # resp.sending_options.sending_enabled #=> Boolean
778
+ # resp.tags #=> Array
779
+ # resp.tags[0].key #=> String
780
+ # resp.tags[0].value #=> String
781
+ #
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetConfigurationSet AWS API Documentation
783
+ #
784
+ # @overload get_configuration_set(params = {})
785
+ # @param [Hash] params ({})
786
+ def get_configuration_set(params = {}, options = {})
787
+ req = build_request(:get_configuration_set, params)
788
+ req.send_request(options)
789
+ end
790
+
791
+ # Retrieve a list of event destinations that are associated with a
792
+ # configuration set.
793
+ #
794
+ # *Events* include message sends, deliveries, opens, clicks, bounces,
795
+ # and complaints. *Event destinations* are places that you can send
796
+ # information about these events to. For example, you can send event
797
+ # data to Amazon SNS to receive notifications when you receive bounces
798
+ # or complaints, or you can use Amazon Kinesis Data Firehose to stream
799
+ # data to Amazon S3 for long-term storage.
800
+ #
801
+ # @option params [required, String] :configuration_set_name
802
+ # The name of the configuration set that contains the event destination.
803
+ #
804
+ # @return [Types::GetConfigurationSetEventDestinationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
805
+ #
806
+ # * {Types::GetConfigurationSetEventDestinationsResponse#event_destinations #event_destinations} => Array&lt;Types::EventDestination&gt;
807
+ #
808
+ # @example Request syntax with placeholder values
809
+ #
810
+ # resp = client.get_configuration_set_event_destinations({
811
+ # configuration_set_name: "ConfigurationSetName", # required
812
+ # })
813
+ #
814
+ # @example Response structure
815
+ #
816
+ # resp.event_destinations #=> Array
817
+ # resp.event_destinations[0].name #=> String
818
+ # resp.event_destinations[0].enabled #=> Boolean
819
+ # resp.event_destinations[0].matching_event_types #=> Array
820
+ # resp.event_destinations[0].matching_event_types[0] #=> String, one of "SEND", "REJECT", "BOUNCE", "COMPLAINT", "DELIVERY", "OPEN", "CLICK", "RENDERING_FAILURE"
821
+ # resp.event_destinations[0].kinesis_firehose_destination.iam_role_arn #=> String
822
+ # resp.event_destinations[0].kinesis_firehose_destination.delivery_stream_arn #=> String
823
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations #=> Array
824
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].dimension_name #=> String
825
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].dimension_value_source #=> String, one of "MESSAGE_TAG", "EMAIL_HEADER", "LINK_TAG"
826
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].default_dimension_value #=> String
827
+ # resp.event_destinations[0].sns_destination.topic_arn #=> String
828
+ # resp.event_destinations[0].pinpoint_destination.application_arn #=> String
829
+ #
830
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetConfigurationSetEventDestinations AWS API Documentation
831
+ #
832
+ # @overload get_configuration_set_event_destinations(params = {})
833
+ # @param [Hash] params ({})
834
+ def get_configuration_set_event_destinations(params = {}, options = {})
835
+ req = build_request(:get_configuration_set_event_destinations, params)
836
+ req.send_request(options)
837
+ end
838
+
839
+ # Get information about a dedicated IP address, including the name of
840
+ # the dedicated IP pool that it's associated with, as well information
841
+ # about the automatic warm-up process for the address.
842
+ #
843
+ # @option params [required, String] :ip
844
+ # The IP address that you want to obtain more information about. The
845
+ # value you specify has to be a dedicated IP address that's assocaited
846
+ # with your AWS account.
847
+ #
848
+ # @return [Types::GetDedicatedIpResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
849
+ #
850
+ # * {Types::GetDedicatedIpResponse#dedicated_ip #dedicated_ip} => Types::DedicatedIp
851
+ #
852
+ # @example Request syntax with placeholder values
853
+ #
854
+ # resp = client.get_dedicated_ip({
855
+ # ip: "Ip", # required
856
+ # })
857
+ #
858
+ # @example Response structure
859
+ #
860
+ # resp.dedicated_ip.ip #=> String
861
+ # resp.dedicated_ip.warmup_status #=> String, one of "IN_PROGRESS", "DONE"
862
+ # resp.dedicated_ip.warmup_percentage #=> Integer
863
+ # resp.dedicated_ip.pool_name #=> String
864
+ #
865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp AWS API Documentation
866
+ #
867
+ # @overload get_dedicated_ip(params = {})
868
+ # @param [Hash] params ({})
869
+ def get_dedicated_ip(params = {}, options = {})
870
+ req = build_request(:get_dedicated_ip, params)
871
+ req.send_request(options)
872
+ end
873
+
874
+ # List the dedicated IP addresses that are associated with your AWS
875
+ # account.
876
+ #
877
+ # @option params [String] :pool_name
878
+ # The name of the IP pool that the dedicated IP address is associated
879
+ # with.
880
+ #
881
+ # @option params [String] :next_token
882
+ # A token returned from a previous call to `GetDedicatedIps` to indicate
883
+ # the position of the dedicated IP pool in the list of IP pools.
884
+ #
885
+ # @option params [Integer] :page_size
886
+ # The number of results to show in a single call to
887
+ # `GetDedicatedIpsRequest`. If the number of results is larger than the
888
+ # number you specified in this parameter, then the response includes a
889
+ # `NextToken` element, which you can use to obtain additional results.
890
+ #
891
+ # @return [Types::GetDedicatedIpsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
892
+ #
893
+ # * {Types::GetDedicatedIpsResponse#dedicated_ips #dedicated_ips} => Array&lt;Types::DedicatedIp&gt;
894
+ # * {Types::GetDedicatedIpsResponse#next_token #next_token} => String
895
+ #
896
+ # @example Request syntax with placeholder values
897
+ #
898
+ # resp = client.get_dedicated_ips({
899
+ # pool_name: "PoolName",
900
+ # next_token: "NextToken",
901
+ # page_size: 1,
902
+ # })
903
+ #
904
+ # @example Response structure
905
+ #
906
+ # resp.dedicated_ips #=> Array
907
+ # resp.dedicated_ips[0].ip #=> String
908
+ # resp.dedicated_ips[0].warmup_status #=> String, one of "IN_PROGRESS", "DONE"
909
+ # resp.dedicated_ips[0].warmup_percentage #=> Integer
910
+ # resp.dedicated_ips[0].pool_name #=> String
911
+ # resp.next_token #=> String
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIps AWS API Documentation
914
+ #
915
+ # @overload get_dedicated_ips(params = {})
916
+ # @param [Hash] params ({})
917
+ def get_dedicated_ips(params = {}, options = {})
918
+ req = build_request(:get_dedicated_ips, params)
919
+ req.send_request(options)
920
+ end
921
+
922
+ # Retrieve information about the status of the Deliverability dashboard
923
+ # for your account. When the Deliverability dashboard is enabled, you
924
+ # gain access to reputation, deliverability, and other metrics for the
925
+ # domains that you use to send email. You also gain the ability to
926
+ # perform predictive inbox placement tests.
927
+ #
928
+ # When you use the Deliverability dashboard, you pay a monthly
929
+ # subscription charge, in addition to any other fees that you accrue by
930
+ # using Amazon SES and other AWS services. For more information about
931
+ # the features and cost of a Deliverability dashboard subscription, see
932
+ # [Amazon Pinpoint Pricing][1].
933
+ #
934
+ #
935
+ #
936
+ # [1]: http://aws.amazon.com/pinpoint/pricing/
937
+ #
938
+ # @return [Types::GetDeliverabilityDashboardOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
939
+ #
940
+ # * {Types::GetDeliverabilityDashboardOptionsResponse#dashboard_enabled #dashboard_enabled} => Boolean
941
+ # * {Types::GetDeliverabilityDashboardOptionsResponse#subscription_expiry_date #subscription_expiry_date} => Time
942
+ # * {Types::GetDeliverabilityDashboardOptionsResponse#account_status #account_status} => String
943
+ # * {Types::GetDeliverabilityDashboardOptionsResponse#active_subscribed_domains #active_subscribed_domains} => Array&lt;Types::DomainDeliverabilityTrackingOption&gt;
944
+ # * {Types::GetDeliverabilityDashboardOptionsResponse#pending_expiration_subscribed_domains #pending_expiration_subscribed_domains} => Array&lt;Types::DomainDeliverabilityTrackingOption&gt;
945
+ #
946
+ # @example Response structure
947
+ #
948
+ # resp.dashboard_enabled #=> Boolean
949
+ # resp.subscription_expiry_date #=> Time
950
+ # resp.account_status #=> String, one of "ACTIVE", "PENDING_EXPIRATION", "DISABLED"
951
+ # resp.active_subscribed_domains #=> Array
952
+ # resp.active_subscribed_domains[0].domain #=> String
953
+ # resp.active_subscribed_domains[0].subscription_start_date #=> Time
954
+ # resp.active_subscribed_domains[0].inbox_placement_tracking_option.global #=> Boolean
955
+ # resp.active_subscribed_domains[0].inbox_placement_tracking_option.tracked_isps #=> Array
956
+ # resp.active_subscribed_domains[0].inbox_placement_tracking_option.tracked_isps[0] #=> String
957
+ # resp.pending_expiration_subscribed_domains #=> Array
958
+ # resp.pending_expiration_subscribed_domains[0].domain #=> String
959
+ # resp.pending_expiration_subscribed_domains[0].subscription_start_date #=> Time
960
+ # resp.pending_expiration_subscribed_domains[0].inbox_placement_tracking_option.global #=> Boolean
961
+ # resp.pending_expiration_subscribed_domains[0].inbox_placement_tracking_option.tracked_isps #=> Array
962
+ # resp.pending_expiration_subscribed_domains[0].inbox_placement_tracking_option.tracked_isps[0] #=> String
963
+ #
964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDeliverabilityDashboardOptions AWS API Documentation
965
+ #
966
+ # @overload get_deliverability_dashboard_options(params = {})
967
+ # @param [Hash] params ({})
968
+ def get_deliverability_dashboard_options(params = {}, options = {})
969
+ req = build_request(:get_deliverability_dashboard_options, params)
970
+ req.send_request(options)
971
+ end
972
+
973
+ # Retrieve the results of a predictive inbox placement test.
974
+ #
975
+ # @option params [required, String] :report_id
976
+ # A unique string that identifies the predictive inbox placement test.
977
+ #
978
+ # @return [Types::GetDeliverabilityTestReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
979
+ #
980
+ # * {Types::GetDeliverabilityTestReportResponse#deliverability_test_report #deliverability_test_report} => Types::DeliverabilityTestReport
981
+ # * {Types::GetDeliverabilityTestReportResponse#overall_placement #overall_placement} => Types::PlacementStatistics
982
+ # * {Types::GetDeliverabilityTestReportResponse#isp_placements #isp_placements} => Array&lt;Types::IspPlacement&gt;
983
+ # * {Types::GetDeliverabilityTestReportResponse#message #message} => String
984
+ # * {Types::GetDeliverabilityTestReportResponse#tags #tags} => Array&lt;Types::Tag&gt;
985
+ #
986
+ # @example Request syntax with placeholder values
987
+ #
988
+ # resp = client.get_deliverability_test_report({
989
+ # report_id: "ReportId", # required
990
+ # })
991
+ #
992
+ # @example Response structure
993
+ #
994
+ # resp.deliverability_test_report.report_id #=> String
995
+ # resp.deliverability_test_report.report_name #=> String
996
+ # resp.deliverability_test_report.subject #=> String
997
+ # resp.deliverability_test_report.from_email_address #=> String
998
+ # resp.deliverability_test_report.create_date #=> Time
999
+ # resp.deliverability_test_report.deliverability_test_status #=> String, one of "IN_PROGRESS", "COMPLETED"
1000
+ # resp.overall_placement.inbox_percentage #=> Float
1001
+ # resp.overall_placement.spam_percentage #=> Float
1002
+ # resp.overall_placement.missing_percentage #=> Float
1003
+ # resp.overall_placement.spf_percentage #=> Float
1004
+ # resp.overall_placement.dkim_percentage #=> Float
1005
+ # resp.isp_placements #=> Array
1006
+ # resp.isp_placements[0].isp_name #=> String
1007
+ # resp.isp_placements[0].placement_statistics.inbox_percentage #=> Float
1008
+ # resp.isp_placements[0].placement_statistics.spam_percentage #=> Float
1009
+ # resp.isp_placements[0].placement_statistics.missing_percentage #=> Float
1010
+ # resp.isp_placements[0].placement_statistics.spf_percentage #=> Float
1011
+ # resp.isp_placements[0].placement_statistics.dkim_percentage #=> Float
1012
+ # resp.message #=> String
1013
+ # resp.tags #=> Array
1014
+ # resp.tags[0].key #=> String
1015
+ # resp.tags[0].value #=> String
1016
+ #
1017
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDeliverabilityTestReport AWS API Documentation
1018
+ #
1019
+ # @overload get_deliverability_test_report(params = {})
1020
+ # @param [Hash] params ({})
1021
+ def get_deliverability_test_report(params = {}, options = {})
1022
+ req = build_request(:get_deliverability_test_report, params)
1023
+ req.send_request(options)
1024
+ end
1025
+
1026
+ # Retrieve all the deliverability data for a specific campaign. This
1027
+ # data is available for a campaign only if the campaign sent email by
1028
+ # using a domain that the Deliverability dashboard is enabled for.
1029
+ #
1030
+ # @option params [required, String] :campaign_id
1031
+ # The unique identifier for the campaign. The Deliverability dashboard
1032
+ # automatically generates and assigns this identifier to a campaign.
1033
+ #
1034
+ # @return [Types::GetDomainDeliverabilityCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1035
+ #
1036
+ # * {Types::GetDomainDeliverabilityCampaignResponse#domain_deliverability_campaign #domain_deliverability_campaign} => Types::DomainDeliverabilityCampaign
1037
+ #
1038
+ # @example Request syntax with placeholder values
1039
+ #
1040
+ # resp = client.get_domain_deliverability_campaign({
1041
+ # campaign_id: "CampaignId", # required
1042
+ # })
1043
+ #
1044
+ # @example Response structure
1045
+ #
1046
+ # resp.domain_deliverability_campaign.campaign_id #=> String
1047
+ # resp.domain_deliverability_campaign.image_url #=> String
1048
+ # resp.domain_deliverability_campaign.subject #=> String
1049
+ # resp.domain_deliverability_campaign.from_address #=> String
1050
+ # resp.domain_deliverability_campaign.sending_ips #=> Array
1051
+ # resp.domain_deliverability_campaign.sending_ips[0] #=> String
1052
+ # resp.domain_deliverability_campaign.first_seen_date_time #=> Time
1053
+ # resp.domain_deliverability_campaign.last_seen_date_time #=> Time
1054
+ # resp.domain_deliverability_campaign.inbox_count #=> Integer
1055
+ # resp.domain_deliverability_campaign.spam_count #=> Integer
1056
+ # resp.domain_deliverability_campaign.read_rate #=> Float
1057
+ # resp.domain_deliverability_campaign.delete_rate #=> Float
1058
+ # resp.domain_deliverability_campaign.read_delete_rate #=> Float
1059
+ # resp.domain_deliverability_campaign.projected_volume #=> Integer
1060
+ # resp.domain_deliverability_campaign.esps #=> Array
1061
+ # resp.domain_deliverability_campaign.esps[0] #=> String
1062
+ #
1063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDomainDeliverabilityCampaign AWS API Documentation
1064
+ #
1065
+ # @overload get_domain_deliverability_campaign(params = {})
1066
+ # @param [Hash] params ({})
1067
+ def get_domain_deliverability_campaign(params = {}, options = {})
1068
+ req = build_request(:get_domain_deliverability_campaign, params)
1069
+ req.send_request(options)
1070
+ end
1071
+
1072
+ # Retrieve inbox placement and engagement rates for the domains that you
1073
+ # use to send email.
1074
+ #
1075
+ # @option params [required, String] :domain
1076
+ # The domain that you want to obtain deliverability metrics for.
1077
+ #
1078
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_date
1079
+ # The first day (in Unix time) that you want to obtain domain
1080
+ # deliverability metrics for.
1081
+ #
1082
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_date
1083
+ # The last day (in Unix time) that you want to obtain domain
1084
+ # deliverability metrics for. The `EndDate` that you specify has to be
1085
+ # less than or equal to 30 days after the `StartDate`.
1086
+ #
1087
+ # @return [Types::GetDomainStatisticsReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1088
+ #
1089
+ # * {Types::GetDomainStatisticsReportResponse#overall_volume #overall_volume} => Types::OverallVolume
1090
+ # * {Types::GetDomainStatisticsReportResponse#daily_volumes #daily_volumes} => Array&lt;Types::DailyVolume&gt;
1091
+ #
1092
+ # @example Request syntax with placeholder values
1093
+ #
1094
+ # resp = client.get_domain_statistics_report({
1095
+ # domain: "Identity", # required
1096
+ # start_date: Time.now, # required
1097
+ # end_date: Time.now, # required
1098
+ # })
1099
+ #
1100
+ # @example Response structure
1101
+ #
1102
+ # resp.overall_volume.volume_statistics.inbox_raw_count #=> Integer
1103
+ # resp.overall_volume.volume_statistics.spam_raw_count #=> Integer
1104
+ # resp.overall_volume.volume_statistics.projected_inbox #=> Integer
1105
+ # resp.overall_volume.volume_statistics.projected_spam #=> Integer
1106
+ # resp.overall_volume.read_rate_percent #=> Float
1107
+ # resp.overall_volume.domain_isp_placements #=> Array
1108
+ # resp.overall_volume.domain_isp_placements[0].isp_name #=> String
1109
+ # resp.overall_volume.domain_isp_placements[0].inbox_raw_count #=> Integer
1110
+ # resp.overall_volume.domain_isp_placements[0].spam_raw_count #=> Integer
1111
+ # resp.overall_volume.domain_isp_placements[0].inbox_percentage #=> Float
1112
+ # resp.overall_volume.domain_isp_placements[0].spam_percentage #=> Float
1113
+ # resp.daily_volumes #=> Array
1114
+ # resp.daily_volumes[0].start_date #=> Time
1115
+ # resp.daily_volumes[0].volume_statistics.inbox_raw_count #=> Integer
1116
+ # resp.daily_volumes[0].volume_statistics.spam_raw_count #=> Integer
1117
+ # resp.daily_volumes[0].volume_statistics.projected_inbox #=> Integer
1118
+ # resp.daily_volumes[0].volume_statistics.projected_spam #=> Integer
1119
+ # resp.daily_volumes[0].domain_isp_placements #=> Array
1120
+ # resp.daily_volumes[0].domain_isp_placements[0].isp_name #=> String
1121
+ # resp.daily_volumes[0].domain_isp_placements[0].inbox_raw_count #=> Integer
1122
+ # resp.daily_volumes[0].domain_isp_placements[0].spam_raw_count #=> Integer
1123
+ # resp.daily_volumes[0].domain_isp_placements[0].inbox_percentage #=> Float
1124
+ # resp.daily_volumes[0].domain_isp_placements[0].spam_percentage #=> Float
1125
+ #
1126
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDomainStatisticsReport AWS API Documentation
1127
+ #
1128
+ # @overload get_domain_statistics_report(params = {})
1129
+ # @param [Hash] params ({})
1130
+ def get_domain_statistics_report(params = {}, options = {})
1131
+ req = build_request(:get_domain_statistics_report, params)
1132
+ req.send_request(options)
1133
+ end
1134
+
1135
+ # Provides information about a specific identity, including the
1136
+ # identity's verification status, its DKIM authentication status, and
1137
+ # its custom Mail-From settings.
1138
+ #
1139
+ # @option params [required, String] :email_identity
1140
+ # The email identity that you want to retrieve details for.
1141
+ #
1142
+ # @return [Types::GetEmailIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1143
+ #
1144
+ # * {Types::GetEmailIdentityResponse#identity_type #identity_type} => String
1145
+ # * {Types::GetEmailIdentityResponse#feedback_forwarding_status #feedback_forwarding_status} => Boolean
1146
+ # * {Types::GetEmailIdentityResponse#verified_for_sending_status #verified_for_sending_status} => Boolean
1147
+ # * {Types::GetEmailIdentityResponse#dkim_attributes #dkim_attributes} => Types::DkimAttributes
1148
+ # * {Types::GetEmailIdentityResponse#mail_from_attributes #mail_from_attributes} => Types::MailFromAttributes
1149
+ # * {Types::GetEmailIdentityResponse#tags #tags} => Array&lt;Types::Tag&gt;
1150
+ #
1151
+ # @example Request syntax with placeholder values
1152
+ #
1153
+ # resp = client.get_email_identity({
1154
+ # email_identity: "Identity", # required
1155
+ # })
1156
+ #
1157
+ # @example Response structure
1158
+ #
1159
+ # resp.identity_type #=> String, one of "EMAIL_ADDRESS", "DOMAIN", "MANAGED_DOMAIN"
1160
+ # resp.feedback_forwarding_status #=> Boolean
1161
+ # resp.verified_for_sending_status #=> Boolean
1162
+ # resp.dkim_attributes.signing_enabled #=> Boolean
1163
+ # resp.dkim_attributes.status #=> String, one of "PENDING", "SUCCESS", "FAILED", "TEMPORARY_FAILURE", "NOT_STARTED"
1164
+ # resp.dkim_attributes.tokens #=> Array
1165
+ # resp.dkim_attributes.tokens[0] #=> String
1166
+ # resp.mail_from_attributes.mail_from_domain #=> String
1167
+ # resp.mail_from_attributes.mail_from_domain_status #=> String, one of "PENDING", "SUCCESS", "FAILED", "TEMPORARY_FAILURE"
1168
+ # resp.mail_from_attributes.behavior_on_mx_failure #=> String, one of "USE_DEFAULT_VALUE", "REJECT_MESSAGE"
1169
+ # resp.tags #=> Array
1170
+ # resp.tags[0].key #=> String
1171
+ # resp.tags[0].value #=> String
1172
+ #
1173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentity AWS API Documentation
1174
+ #
1175
+ # @overload get_email_identity(params = {})
1176
+ # @param [Hash] params ({})
1177
+ def get_email_identity(params = {}, options = {})
1178
+ req = build_request(:get_email_identity, params)
1179
+ req.send_request(options)
1180
+ end
1181
+
1182
+ # List all of the configuration sets associated with your account in the
1183
+ # current region.
1184
+ #
1185
+ # *Configuration sets* are groups of rules that you can apply to the
1186
+ # emails you send. You apply a configuration set to an email by
1187
+ # including a reference to the configuration set in the headers of the
1188
+ # email. When you apply a configuration set to an email, all of the
1189
+ # rules in that configuration set are applied to the email.
1190
+ #
1191
+ # @option params [String] :next_token
1192
+ # A token returned from a previous call to `ListConfigurationSets` to
1193
+ # indicate the position in the list of configuration sets.
1194
+ #
1195
+ # @option params [Integer] :page_size
1196
+ # The number of results to show in a single call to
1197
+ # `ListConfigurationSets`. If the number of results is larger than the
1198
+ # number you specified in this parameter, then the response includes a
1199
+ # `NextToken` element, which you can use to obtain additional results.
1200
+ #
1201
+ # @return [Types::ListConfigurationSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1202
+ #
1203
+ # * {Types::ListConfigurationSetsResponse#configuration_sets #configuration_sets} => Array&lt;String&gt;
1204
+ # * {Types::ListConfigurationSetsResponse#next_token #next_token} => String
1205
+ #
1206
+ # @example Request syntax with placeholder values
1207
+ #
1208
+ # resp = client.list_configuration_sets({
1209
+ # next_token: "NextToken",
1210
+ # page_size: 1,
1211
+ # })
1212
+ #
1213
+ # @example Response structure
1214
+ #
1215
+ # resp.configuration_sets #=> Array
1216
+ # resp.configuration_sets[0] #=> String
1217
+ # resp.next_token #=> String
1218
+ #
1219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListConfigurationSets AWS API Documentation
1220
+ #
1221
+ # @overload list_configuration_sets(params = {})
1222
+ # @param [Hash] params ({})
1223
+ def list_configuration_sets(params = {}, options = {})
1224
+ req = build_request(:list_configuration_sets, params)
1225
+ req.send_request(options)
1226
+ end
1227
+
1228
+ # List all of the dedicated IP pools that exist in your AWS account in
1229
+ # the current Region.
1230
+ #
1231
+ # @option params [String] :next_token
1232
+ # A token returned from a previous call to `ListDedicatedIpPools` to
1233
+ # indicate the position in the list of dedicated IP pools.
1234
+ #
1235
+ # @option params [Integer] :page_size
1236
+ # The number of results to show in a single call to
1237
+ # `ListDedicatedIpPools`. If the number of results is larger than the
1238
+ # number you specified in this parameter, then the response includes a
1239
+ # `NextToken` element, which you can use to obtain additional results.
1240
+ #
1241
+ # @return [Types::ListDedicatedIpPoolsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1242
+ #
1243
+ # * {Types::ListDedicatedIpPoolsResponse#dedicated_ip_pools #dedicated_ip_pools} => Array&lt;String&gt;
1244
+ # * {Types::ListDedicatedIpPoolsResponse#next_token #next_token} => String
1245
+ #
1246
+ # @example Request syntax with placeholder values
1247
+ #
1248
+ # resp = client.list_dedicated_ip_pools({
1249
+ # next_token: "NextToken",
1250
+ # page_size: 1,
1251
+ # })
1252
+ #
1253
+ # @example Response structure
1254
+ #
1255
+ # resp.dedicated_ip_pools #=> Array
1256
+ # resp.dedicated_ip_pools[0] #=> String
1257
+ # resp.next_token #=> String
1258
+ #
1259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools AWS API Documentation
1260
+ #
1261
+ # @overload list_dedicated_ip_pools(params = {})
1262
+ # @param [Hash] params ({})
1263
+ def list_dedicated_ip_pools(params = {}, options = {})
1264
+ req = build_request(:list_dedicated_ip_pools, params)
1265
+ req.send_request(options)
1266
+ end
1267
+
1268
+ # Show a list of the predictive inbox placement tests that you've
1269
+ # performed, regardless of their statuses. For predictive inbox
1270
+ # placement tests that are complete, you can use the
1271
+ # `GetDeliverabilityTestReport` operation to view the results.
1272
+ #
1273
+ # @option params [String] :next_token
1274
+ # A token returned from a previous call to
1275
+ # `ListDeliverabilityTestReports` to indicate the position in the list
1276
+ # of predictive inbox placement tests.
1277
+ #
1278
+ # @option params [Integer] :page_size
1279
+ # The number of results to show in a single call to
1280
+ # `ListDeliverabilityTestReports`. If the number of results is larger
1281
+ # than the number you specified in this parameter, then the response
1282
+ # includes a `NextToken` element, which you can use to obtain additional
1283
+ # results.
1284
+ #
1285
+ # The value you specify has to be at least 0, and can be no more than
1286
+ # 1000.
1287
+ #
1288
+ # @return [Types::ListDeliverabilityTestReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1289
+ #
1290
+ # * {Types::ListDeliverabilityTestReportsResponse#deliverability_test_reports #deliverability_test_reports} => Array&lt;Types::DeliverabilityTestReport&gt;
1291
+ # * {Types::ListDeliverabilityTestReportsResponse#next_token #next_token} => String
1292
+ #
1293
+ # @example Request syntax with placeholder values
1294
+ #
1295
+ # resp = client.list_deliverability_test_reports({
1296
+ # next_token: "NextToken",
1297
+ # page_size: 1,
1298
+ # })
1299
+ #
1300
+ # @example Response structure
1301
+ #
1302
+ # resp.deliverability_test_reports #=> Array
1303
+ # resp.deliverability_test_reports[0].report_id #=> String
1304
+ # resp.deliverability_test_reports[0].report_name #=> String
1305
+ # resp.deliverability_test_reports[0].subject #=> String
1306
+ # resp.deliverability_test_reports[0].from_email_address #=> String
1307
+ # resp.deliverability_test_reports[0].create_date #=> Time
1308
+ # resp.deliverability_test_reports[0].deliverability_test_status #=> String, one of "IN_PROGRESS", "COMPLETED"
1309
+ # resp.next_token #=> String
1310
+ #
1311
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDeliverabilityTestReports AWS API Documentation
1312
+ #
1313
+ # @overload list_deliverability_test_reports(params = {})
1314
+ # @param [Hash] params ({})
1315
+ def list_deliverability_test_reports(params = {}, options = {})
1316
+ req = build_request(:list_deliverability_test_reports, params)
1317
+ req.send_request(options)
1318
+ end
1319
+
1320
+ # Retrieve deliverability data for all the campaigns that used a
1321
+ # specific domain to send email during a specified time range. This data
1322
+ # is available for a domain only if you enabled the Deliverability
1323
+ # dashboard for the domain.
1324
+ #
1325
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_date
1326
+ # The first day, in Unix time format, that you want to obtain
1327
+ # deliverability data for.
1328
+ #
1329
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_date
1330
+ # The last day, in Unix time format, that you want to obtain
1331
+ # deliverability data for. This value has to be less than or equal to 30
1332
+ # days after the value of the `StartDate` parameter.
1333
+ #
1334
+ # @option params [required, String] :subscribed_domain
1335
+ # The domain to obtain deliverability data for.
1336
+ #
1337
+ # @option params [String] :next_token
1338
+ # A token that’s returned from a previous call to the
1339
+ # `ListDomainDeliverabilityCampaigns` operation. This token indicates
1340
+ # the position of a campaign in the list of campaigns.
1341
+ #
1342
+ # @option params [Integer] :page_size
1343
+ # The maximum number of results to include in response to a single call
1344
+ # to the `ListDomainDeliverabilityCampaigns` operation. If the number of
1345
+ # results is larger than the number that you specify in this parameter,
1346
+ # the response includes a `NextToken` element, which you can use to
1347
+ # obtain additional results.
1348
+ #
1349
+ # @return [Types::ListDomainDeliverabilityCampaignsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1350
+ #
1351
+ # * {Types::ListDomainDeliverabilityCampaignsResponse#domain_deliverability_campaigns #domain_deliverability_campaigns} => Array&lt;Types::DomainDeliverabilityCampaign&gt;
1352
+ # * {Types::ListDomainDeliverabilityCampaignsResponse#next_token #next_token} => String
1353
+ #
1354
+ # @example Request syntax with placeholder values
1355
+ #
1356
+ # resp = client.list_domain_deliverability_campaigns({
1357
+ # start_date: Time.now, # required
1358
+ # end_date: Time.now, # required
1359
+ # subscribed_domain: "Domain", # required
1360
+ # next_token: "NextToken",
1361
+ # page_size: 1,
1362
+ # })
1363
+ #
1364
+ # @example Response structure
1365
+ #
1366
+ # resp.domain_deliverability_campaigns #=> Array
1367
+ # resp.domain_deliverability_campaigns[0].campaign_id #=> String
1368
+ # resp.domain_deliverability_campaigns[0].image_url #=> String
1369
+ # resp.domain_deliverability_campaigns[0].subject #=> String
1370
+ # resp.domain_deliverability_campaigns[0].from_address #=> String
1371
+ # resp.domain_deliverability_campaigns[0].sending_ips #=> Array
1372
+ # resp.domain_deliverability_campaigns[0].sending_ips[0] #=> String
1373
+ # resp.domain_deliverability_campaigns[0].first_seen_date_time #=> Time
1374
+ # resp.domain_deliverability_campaigns[0].last_seen_date_time #=> Time
1375
+ # resp.domain_deliverability_campaigns[0].inbox_count #=> Integer
1376
+ # resp.domain_deliverability_campaigns[0].spam_count #=> Integer
1377
+ # resp.domain_deliverability_campaigns[0].read_rate #=> Float
1378
+ # resp.domain_deliverability_campaigns[0].delete_rate #=> Float
1379
+ # resp.domain_deliverability_campaigns[0].read_delete_rate #=> Float
1380
+ # resp.domain_deliverability_campaigns[0].projected_volume #=> Integer
1381
+ # resp.domain_deliverability_campaigns[0].esps #=> Array
1382
+ # resp.domain_deliverability_campaigns[0].esps[0] #=> String
1383
+ # resp.next_token #=> String
1384
+ #
1385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDomainDeliverabilityCampaigns AWS API Documentation
1386
+ #
1387
+ # @overload list_domain_deliverability_campaigns(params = {})
1388
+ # @param [Hash] params ({})
1389
+ def list_domain_deliverability_campaigns(params = {}, options = {})
1390
+ req = build_request(:list_domain_deliverability_campaigns, params)
1391
+ req.send_request(options)
1392
+ end
1393
+
1394
+ # Returns a list of all of the email identities that are associated with
1395
+ # your AWS account. An identity can be either an email address or a
1396
+ # domain. This operation returns identities that are verified as well as
1397
+ # those that aren't. This operation returns identities that are
1398
+ # associated with Amazon SES and Amazon Pinpoint.
1399
+ #
1400
+ # @option params [String] :next_token
1401
+ # A token returned from a previous call to `ListEmailIdentities` to
1402
+ # indicate the position in the list of identities.
1403
+ #
1404
+ # @option params [Integer] :page_size
1405
+ # The number of results to show in a single call to
1406
+ # `ListEmailIdentities`. If the number of results is larger than the
1407
+ # number you specified in this parameter, then the response includes a
1408
+ # `NextToken` element, which you can use to obtain additional results.
1409
+ #
1410
+ # The value you specify has to be at least 0, and can be no more than
1411
+ # 1000.
1412
+ #
1413
+ # @return [Types::ListEmailIdentitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1414
+ #
1415
+ # * {Types::ListEmailIdentitiesResponse#email_identities #email_identities} => Array&lt;Types::IdentityInfo&gt;
1416
+ # * {Types::ListEmailIdentitiesResponse#next_token #next_token} => String
1417
+ #
1418
+ # @example Request syntax with placeholder values
1419
+ #
1420
+ # resp = client.list_email_identities({
1421
+ # next_token: "NextToken",
1422
+ # page_size: 1,
1423
+ # })
1424
+ #
1425
+ # @example Response structure
1426
+ #
1427
+ # resp.email_identities #=> Array
1428
+ # resp.email_identities[0].identity_type #=> String, one of "EMAIL_ADDRESS", "DOMAIN", "MANAGED_DOMAIN"
1429
+ # resp.email_identities[0].identity_name #=> String
1430
+ # resp.email_identities[0].sending_enabled #=> Boolean
1431
+ # resp.next_token #=> String
1432
+ #
1433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailIdentities AWS API Documentation
1434
+ #
1435
+ # @overload list_email_identities(params = {})
1436
+ # @param [Hash] params ({})
1437
+ def list_email_identities(params = {}, options = {})
1438
+ req = build_request(:list_email_identities, params)
1439
+ req.send_request(options)
1440
+ end
1441
+
1442
+ # Retrieve a list of the tags (keys and values) that are associated with
1443
+ # a specified resource. A *tag* is a label that you optionally define
1444
+ # and associate with a resource. Each tag consists of a required *tag
1445
+ # key* and an optional associated *tag value*. A tag key is a general
1446
+ # label that acts as a category for more specific tag values. A tag
1447
+ # value acts as a descriptor within a tag key.
1448
+ #
1449
+ # @option params [required, String] :resource_arn
1450
+ # The Amazon Resource Name (ARN) of the resource that you want to
1451
+ # retrieve tag information for.
1452
+ #
1453
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1454
+ #
1455
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1456
+ #
1457
+ # @example Request syntax with placeholder values
1458
+ #
1459
+ # resp = client.list_tags_for_resource({
1460
+ # resource_arn: "AmazonResourceName", # required
1461
+ # })
1462
+ #
1463
+ # @example Response structure
1464
+ #
1465
+ # resp.tags #=> Array
1466
+ # resp.tags[0].key #=> String
1467
+ # resp.tags[0].value #=> String
1468
+ #
1469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListTagsForResource AWS API Documentation
1470
+ #
1471
+ # @overload list_tags_for_resource(params = {})
1472
+ # @param [Hash] params ({})
1473
+ def list_tags_for_resource(params = {}, options = {})
1474
+ req = build_request(:list_tags_for_resource, params)
1475
+ req.send_request(options)
1476
+ end
1477
+
1478
+ # Enable or disable the automatic warm-up feature for dedicated IP
1479
+ # addresses.
1480
+ #
1481
+ # @option params [Boolean] :auto_warmup_enabled
1482
+ # Enables or disables the automatic warm-up feature for dedicated IP
1483
+ # addresses that are associated with your Amazon SES account in the
1484
+ # current AWS Region. Set to `true` to enable the automatic warm-up
1485
+ # feature, or set to `false` to disable it.
1486
+ #
1487
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1488
+ #
1489
+ # @example Request syntax with placeholder values
1490
+ #
1491
+ # resp = client.put_account_dedicated_ip_warmup_attributes({
1492
+ # auto_warmup_enabled: false,
1493
+ # })
1494
+ #
1495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDedicatedIpWarmupAttributes AWS API Documentation
1496
+ #
1497
+ # @overload put_account_dedicated_ip_warmup_attributes(params = {})
1498
+ # @param [Hash] params ({})
1499
+ def put_account_dedicated_ip_warmup_attributes(params = {}, options = {})
1500
+ req = build_request(:put_account_dedicated_ip_warmup_attributes, params)
1501
+ req.send_request(options)
1502
+ end
1503
+
1504
+ # Enable or disable the ability of your account to send email.
1505
+ #
1506
+ # @option params [Boolean] :sending_enabled
1507
+ # Enables or disables your account's ability to send email. Set to
1508
+ # `true` to enable email sending, or set to `false` to disable email
1509
+ # sending.
1510
+ #
1511
+ # <note markdown="1"> If AWS paused your account's ability to send email, you can't use
1512
+ # this operation to resume your account's ability to send email.
1513
+ #
1514
+ # </note>
1515
+ #
1516
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1517
+ #
1518
+ # @example Request syntax with placeholder values
1519
+ #
1520
+ # resp = client.put_account_sending_attributes({
1521
+ # sending_enabled: false,
1522
+ # })
1523
+ #
1524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSendingAttributes AWS API Documentation
1525
+ #
1526
+ # @overload put_account_sending_attributes(params = {})
1527
+ # @param [Hash] params ({})
1528
+ def put_account_sending_attributes(params = {}, options = {})
1529
+ req = build_request(:put_account_sending_attributes, params)
1530
+ req.send_request(options)
1531
+ end
1532
+
1533
+ # Associate a configuration set with a dedicated IP pool. You can use
1534
+ # dedicated IP pools to create groups of dedicated IP addresses for
1535
+ # sending specific types of email.
1536
+ #
1537
+ # @option params [required, String] :configuration_set_name
1538
+ # The name of the configuration set that you want to associate with a
1539
+ # dedicated IP pool.
1540
+ #
1541
+ # @option params [String] :tls_policy
1542
+ # Specifies whether messages that use the configuration set are required
1543
+ # to use Transport Layer Security (TLS). If the value is `Require`,
1544
+ # messages are only delivered if a TLS connection can be established. If
1545
+ # the value is `Optional`, messages can be delivered in plain text if a
1546
+ # TLS connection can't be established.
1547
+ #
1548
+ # @option params [String] :sending_pool_name
1549
+ # The name of the dedicated IP pool that you want to associate with the
1550
+ # configuration set.
1551
+ #
1552
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1553
+ #
1554
+ # @example Request syntax with placeholder values
1555
+ #
1556
+ # resp = client.put_configuration_set_delivery_options({
1557
+ # configuration_set_name: "ConfigurationSetName", # required
1558
+ # tls_policy: "REQUIRE", # accepts REQUIRE, OPTIONAL
1559
+ # sending_pool_name: "SendingPoolName",
1560
+ # })
1561
+ #
1562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetDeliveryOptions AWS API Documentation
1563
+ #
1564
+ # @overload put_configuration_set_delivery_options(params = {})
1565
+ # @param [Hash] params ({})
1566
+ def put_configuration_set_delivery_options(params = {}, options = {})
1567
+ req = build_request(:put_configuration_set_delivery_options, params)
1568
+ req.send_request(options)
1569
+ end
1570
+
1571
+ # Enable or disable collection of reputation metrics for emails that you
1572
+ # send using a particular configuration set in a specific AWS Region.
1573
+ #
1574
+ # @option params [required, String] :configuration_set_name
1575
+ # The name of the configuration set that you want to enable or disable
1576
+ # reputation metric tracking for.
1577
+ #
1578
+ # @option params [Boolean] :reputation_metrics_enabled
1579
+ # If `true`, tracking of reputation metrics is enabled for the
1580
+ # configuration set. If `false`, tracking of reputation metrics is
1581
+ # disabled for the configuration set.
1582
+ #
1583
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1584
+ #
1585
+ # @example Request syntax with placeholder values
1586
+ #
1587
+ # resp = client.put_configuration_set_reputation_options({
1588
+ # configuration_set_name: "ConfigurationSetName", # required
1589
+ # reputation_metrics_enabled: false,
1590
+ # })
1591
+ #
1592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetReputationOptions AWS API Documentation
1593
+ #
1594
+ # @overload put_configuration_set_reputation_options(params = {})
1595
+ # @param [Hash] params ({})
1596
+ def put_configuration_set_reputation_options(params = {}, options = {})
1597
+ req = build_request(:put_configuration_set_reputation_options, params)
1598
+ req.send_request(options)
1599
+ end
1600
+
1601
+ # Enable or disable email sending for messages that use a particular
1602
+ # configuration set in a specific AWS Region.
1603
+ #
1604
+ # @option params [required, String] :configuration_set_name
1605
+ # The name of the configuration set that you want to enable or disable
1606
+ # email sending for.
1607
+ #
1608
+ # @option params [Boolean] :sending_enabled
1609
+ # If `true`, email sending is enabled for the configuration set. If
1610
+ # `false`, email sending is disabled for the configuration set.
1611
+ #
1612
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1613
+ #
1614
+ # @example Request syntax with placeholder values
1615
+ #
1616
+ # resp = client.put_configuration_set_sending_options({
1617
+ # configuration_set_name: "ConfigurationSetName", # required
1618
+ # sending_enabled: false,
1619
+ # })
1620
+ #
1621
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions AWS API Documentation
1622
+ #
1623
+ # @overload put_configuration_set_sending_options(params = {})
1624
+ # @param [Hash] params ({})
1625
+ def put_configuration_set_sending_options(params = {}, options = {})
1626
+ req = build_request(:put_configuration_set_sending_options, params)
1627
+ req.send_request(options)
1628
+ end
1629
+
1630
+ # Specify a custom domain to use for open and click tracking elements in
1631
+ # email that you send.
1632
+ #
1633
+ # @option params [required, String] :configuration_set_name
1634
+ # The name of the configuration set that you want to add a custom
1635
+ # tracking domain to.
1636
+ #
1637
+ # @option params [String] :custom_redirect_domain
1638
+ # The domain that you want to use to track open and click events.
1639
+ #
1640
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1641
+ #
1642
+ # @example Request syntax with placeholder values
1643
+ #
1644
+ # resp = client.put_configuration_set_tracking_options({
1645
+ # configuration_set_name: "ConfigurationSetName", # required
1646
+ # custom_redirect_domain: "CustomRedirectDomain",
1647
+ # })
1648
+ #
1649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetTrackingOptions AWS API Documentation
1650
+ #
1651
+ # @overload put_configuration_set_tracking_options(params = {})
1652
+ # @param [Hash] params ({})
1653
+ def put_configuration_set_tracking_options(params = {}, options = {})
1654
+ req = build_request(:put_configuration_set_tracking_options, params)
1655
+ req.send_request(options)
1656
+ end
1657
+
1658
+ # Move a dedicated IP address to an existing dedicated IP pool.
1659
+ #
1660
+ # <note markdown="1"> The dedicated IP address that you specify must already exist, and must
1661
+ # be associated with your AWS account.
1662
+ #
1663
+ # The dedicated IP pool you specify must already exist. You can create a
1664
+ # new pool by using the `CreateDedicatedIpPool` operation.
1665
+ #
1666
+ # </note>
1667
+ #
1668
+ # @option params [required, String] :ip
1669
+ # The IP address that you want to move to the dedicated IP pool. The
1670
+ # value you specify has to be a dedicated IP address that's associated
1671
+ # with your AWS account.
1672
+ #
1673
+ # @option params [required, String] :destination_pool_name
1674
+ # The name of the IP pool that you want to add the dedicated IP address
1675
+ # to. You have to specify an IP pool that already exists.
1676
+ #
1677
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1678
+ #
1679
+ # @example Request syntax with placeholder values
1680
+ #
1681
+ # resp = client.put_dedicated_ip_in_pool({
1682
+ # ip: "Ip", # required
1683
+ # destination_pool_name: "PoolName", # required
1684
+ # })
1685
+ #
1686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDedicatedIpInPool AWS API Documentation
1687
+ #
1688
+ # @overload put_dedicated_ip_in_pool(params = {})
1689
+ # @param [Hash] params ({})
1690
+ def put_dedicated_ip_in_pool(params = {}, options = {})
1691
+ req = build_request(:put_dedicated_ip_in_pool, params)
1692
+ req.send_request(options)
1693
+ end
1694
+
1695
+ # @option params [required, String] :ip
1696
+ # The dedicated IP address that you want to update the warm-up
1697
+ # attributes for.
1698
+ #
1699
+ # @option params [required, Integer] :warmup_percentage
1700
+ # The warm-up percentage that you want to associate with the dedicated
1701
+ # IP address.
1702
+ #
1703
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1704
+ #
1705
+ # @example Request syntax with placeholder values
1706
+ #
1707
+ # resp = client.put_dedicated_ip_warmup_attributes({
1708
+ # ip: "Ip", # required
1709
+ # warmup_percentage: 1, # required
1710
+ # })
1711
+ #
1712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDedicatedIpWarmupAttributes AWS API Documentation
1713
+ #
1714
+ # @overload put_dedicated_ip_warmup_attributes(params = {})
1715
+ # @param [Hash] params ({})
1716
+ def put_dedicated_ip_warmup_attributes(params = {}, options = {})
1717
+ req = build_request(:put_dedicated_ip_warmup_attributes, params)
1718
+ req.send_request(options)
1719
+ end
1720
+
1721
+ # Enable or disable the Deliverability dashboard. When you enable the
1722
+ # Deliverability dashboard, you gain access to reputation,
1723
+ # deliverability, and other metrics for the domains that you use to send
1724
+ # email. You also gain the ability to perform predictive inbox placement
1725
+ # tests.
1726
+ #
1727
+ # When you use the Deliverability dashboard, you pay a monthly
1728
+ # subscription charge, in addition to any other fees that you accrue by
1729
+ # using Amazon SES and other AWS services. For more information about
1730
+ # the features and cost of a Deliverability dashboard subscription, see
1731
+ # [Amazon Pinpoint Pricing][1].
1732
+ #
1733
+ #
1734
+ #
1735
+ # [1]: http://aws.amazon.com/pinpoint/pricing/
1736
+ #
1737
+ # @option params [required, Boolean] :dashboard_enabled
1738
+ # Specifies whether to enable the Deliverability dashboard. To enable
1739
+ # the dashboard, set this value to `true`.
1740
+ #
1741
+ # @option params [Array<Types::DomainDeliverabilityTrackingOption>] :subscribed_domains
1742
+ # An array of objects, one for each verified domain that you use to send
1743
+ # email and enabled the Deliverability dashboard for.
1744
+ #
1745
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1746
+ #
1747
+ # @example Request syntax with placeholder values
1748
+ #
1749
+ # resp = client.put_deliverability_dashboard_option({
1750
+ # dashboard_enabled: false, # required
1751
+ # subscribed_domains: [
1752
+ # {
1753
+ # domain: "Domain",
1754
+ # subscription_start_date: Time.now,
1755
+ # inbox_placement_tracking_option: {
1756
+ # global: false,
1757
+ # tracked_isps: ["IspName"],
1758
+ # },
1759
+ # },
1760
+ # ],
1761
+ # })
1762
+ #
1763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDeliverabilityDashboardOption AWS API Documentation
1764
+ #
1765
+ # @overload put_deliverability_dashboard_option(params = {})
1766
+ # @param [Hash] params ({})
1767
+ def put_deliverability_dashboard_option(params = {}, options = {})
1768
+ req = build_request(:put_deliverability_dashboard_option, params)
1769
+ req.send_request(options)
1770
+ end
1771
+
1772
+ # Used to enable or disable DKIM authentication for an email identity.
1773
+ #
1774
+ # @option params [required, String] :email_identity
1775
+ # The email identity that you want to change the DKIM settings for.
1776
+ #
1777
+ # @option params [Boolean] :signing_enabled
1778
+ # Sets the DKIM signing configuration for the identity.
1779
+ #
1780
+ # When you set this value `true`, then the messages that are sent from
1781
+ # the identity are signed using DKIM. If you set this value to `false`,
1782
+ # your messages are sent without DKIM signing.
1783
+ #
1784
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1785
+ #
1786
+ # @example Request syntax with placeholder values
1787
+ #
1788
+ # resp = client.put_email_identity_dkim_attributes({
1789
+ # email_identity: "Identity", # required
1790
+ # signing_enabled: false,
1791
+ # })
1792
+ #
1793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityDkimAttributes AWS API Documentation
1794
+ #
1795
+ # @overload put_email_identity_dkim_attributes(params = {})
1796
+ # @param [Hash] params ({})
1797
+ def put_email_identity_dkim_attributes(params = {}, options = {})
1798
+ req = build_request(:put_email_identity_dkim_attributes, params)
1799
+ req.send_request(options)
1800
+ end
1801
+
1802
+ # Used to enable or disable feedback forwarding for an identity. This
1803
+ # setting determines what happens when an identity is used to send an
1804
+ # email that results in a bounce or complaint event.
1805
+ #
1806
+ # If the value is `true`, you receive email notifications when bounce or
1807
+ # complaint events occur. These notifications are sent to the address
1808
+ # that you specified in the `Return-Path` header of the original email.
1809
+ #
1810
+ # You're required to have a method of tracking bounces and complaints.
1811
+ # If you haven't set up another mechanism for receiving bounce or
1812
+ # complaint notifications (for example, by setting up an event
1813
+ # destination), you receive an email notification when these events
1814
+ # occur (even if this setting is disabled).
1815
+ #
1816
+ # @option params [required, String] :email_identity
1817
+ # The email identity that you want to configure bounce and complaint
1818
+ # feedback forwarding for.
1819
+ #
1820
+ # @option params [Boolean] :email_forwarding_enabled
1821
+ # Sets the feedback forwarding configuration for the identity.
1822
+ #
1823
+ # If the value is `true`, you receive email notifications when bounce or
1824
+ # complaint events occur. These notifications are sent to the address
1825
+ # that you specified in the `Return-Path` header of the original email.
1826
+ #
1827
+ # You're required to have a method of tracking bounces and complaints.
1828
+ # If you haven't set up another mechanism for receiving bounce or
1829
+ # complaint notifications (for example, by setting up an event
1830
+ # destination), you receive an email notification when these events
1831
+ # occur (even if this setting is disabled).
1832
+ #
1833
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1834
+ #
1835
+ # @example Request syntax with placeholder values
1836
+ #
1837
+ # resp = client.put_email_identity_feedback_attributes({
1838
+ # email_identity: "Identity", # required
1839
+ # email_forwarding_enabled: false,
1840
+ # })
1841
+ #
1842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityFeedbackAttributes AWS API Documentation
1843
+ #
1844
+ # @overload put_email_identity_feedback_attributes(params = {})
1845
+ # @param [Hash] params ({})
1846
+ def put_email_identity_feedback_attributes(params = {}, options = {})
1847
+ req = build_request(:put_email_identity_feedback_attributes, params)
1848
+ req.send_request(options)
1849
+ end
1850
+
1851
+ # Used to enable or disable the custom Mail-From domain configuration
1852
+ # for an email identity.
1853
+ #
1854
+ # @option params [required, String] :email_identity
1855
+ # The verified email identity that you want to set up the custom MAIL
1856
+ # FROM domain for.
1857
+ #
1858
+ # @option params [String] :mail_from_domain
1859
+ # The custom MAIL FROM domain that you want the verified identity to
1860
+ # use. The MAIL FROM domain must meet the following criteria:
1861
+ #
1862
+ # * It has to be a subdomain of the verified identity.
1863
+ #
1864
+ # * It can't be used to receive email.
1865
+ #
1866
+ # * It can't be used in a "From" address if the MAIL FROM domain is a
1867
+ # destination for feedback forwarding emails.
1868
+ #
1869
+ # @option params [String] :behavior_on_mx_failure
1870
+ # The action that you want to take if the required MX record isn't
1871
+ # found when you send an email. When you set this value to
1872
+ # `UseDefaultValue`, the mail is sent using *amazonses.com* as the MAIL
1873
+ # FROM domain. When you set this value to `RejectMessage`, the Amazon
1874
+ # SES API v2 returns a `MailFromDomainNotVerified` error, and doesn't
1875
+ # attempt to deliver the email.
1876
+ #
1877
+ # These behaviors are taken when the custom MAIL FROM domain
1878
+ # configuration is in the `Pending`, `Failed`, and `TemporaryFailure`
1879
+ # states.
1880
+ #
1881
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1882
+ #
1883
+ # @example Request syntax with placeholder values
1884
+ #
1885
+ # resp = client.put_email_identity_mail_from_attributes({
1886
+ # email_identity: "Identity", # required
1887
+ # mail_from_domain: "MailFromDomainName",
1888
+ # behavior_on_mx_failure: "USE_DEFAULT_VALUE", # accepts USE_DEFAULT_VALUE, REJECT_MESSAGE
1889
+ # })
1890
+ #
1891
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityMailFromAttributes AWS API Documentation
1892
+ #
1893
+ # @overload put_email_identity_mail_from_attributes(params = {})
1894
+ # @param [Hash] params ({})
1895
+ def put_email_identity_mail_from_attributes(params = {}, options = {})
1896
+ req = build_request(:put_email_identity_mail_from_attributes, params)
1897
+ req.send_request(options)
1898
+ end
1899
+
1900
+ # Sends an email message. You can use the Amazon SES API v2 to send two
1901
+ # types of messages:
1902
+ #
1903
+ # * **Simple** – A standard email message. When you create this type of
1904
+ # message, you specify the sender, the recipient, and the message
1905
+ # body, and the Amazon SES API v2 assembles the message for you.
1906
+ #
1907
+ # * **Raw** – A raw, MIME-formatted email message. When you send this
1908
+ # type of email, you have to specify all of the message headers, as
1909
+ # well as the message body. You can use this message type to send
1910
+ # messages that contain attachments. The message that you specify has
1911
+ # to be a valid MIME message.
1912
+ #
1913
+ # @option params [String] :from_email_address
1914
+ # The email address that you want to use as the "From" address for the
1915
+ # email. The address that you specify has to be verified.
1916
+ #
1917
+ # @option params [required, Types::Destination] :destination
1918
+ # An object that contains the recipients of the email message.
1919
+ #
1920
+ # @option params [Array<String>] :reply_to_addresses
1921
+ # The "Reply-to" email addresses for the message. When the recipient
1922
+ # replies to the message, each Reply-to address receives the reply.
1923
+ #
1924
+ # @option params [String] :feedback_forwarding_email_address
1925
+ # The address that you want bounce and complaint notifications to be
1926
+ # sent to.
1927
+ #
1928
+ # @option params [required, Types::EmailContent] :content
1929
+ # An object that contains the body of the message. You can send either a
1930
+ # Simple message or a Raw message.
1931
+ #
1932
+ # @option params [Array<Types::MessageTag>] :email_tags
1933
+ # A list of tags, in the form of name/value pairs, to apply to an email
1934
+ # that you send using the `SendEmail` operation. Tags correspond to
1935
+ # characteristics of the email that you define, so that you can publish
1936
+ # email sending events.
1937
+ #
1938
+ # @option params [String] :configuration_set_name
1939
+ # The name of the configuration set that you want to use when sending
1940
+ # the email.
1941
+ #
1942
+ # @return [Types::SendEmailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1943
+ #
1944
+ # * {Types::SendEmailResponse#message_id #message_id} => String
1945
+ #
1946
+ # @example Request syntax with placeholder values
1947
+ #
1948
+ # resp = client.send_email({
1949
+ # from_email_address: "EmailAddress",
1950
+ # destination: { # required
1951
+ # to_addresses: ["EmailAddress"],
1952
+ # cc_addresses: ["EmailAddress"],
1953
+ # bcc_addresses: ["EmailAddress"],
1954
+ # },
1955
+ # reply_to_addresses: ["EmailAddress"],
1956
+ # feedback_forwarding_email_address: "EmailAddress",
1957
+ # content: { # required
1958
+ # simple: {
1959
+ # subject: { # required
1960
+ # data: "MessageData", # required
1961
+ # charset: "Charset",
1962
+ # },
1963
+ # body: { # required
1964
+ # text: {
1965
+ # data: "MessageData", # required
1966
+ # charset: "Charset",
1967
+ # },
1968
+ # html: {
1969
+ # data: "MessageData", # required
1970
+ # charset: "Charset",
1971
+ # },
1972
+ # },
1973
+ # },
1974
+ # raw: {
1975
+ # data: "data", # required
1976
+ # },
1977
+ # template: {
1978
+ # template_arn: "TemplateArn",
1979
+ # template_data: "TemplateData",
1980
+ # },
1981
+ # },
1982
+ # email_tags: [
1983
+ # {
1984
+ # name: "MessageTagName", # required
1985
+ # value: "MessageTagValue", # required
1986
+ # },
1987
+ # ],
1988
+ # configuration_set_name: "ConfigurationSetName",
1989
+ # })
1990
+ #
1991
+ # @example Response structure
1992
+ #
1993
+ # resp.message_id #=> String
1994
+ #
1995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendEmail AWS API Documentation
1996
+ #
1997
+ # @overload send_email(params = {})
1998
+ # @param [Hash] params ({})
1999
+ def send_email(params = {}, options = {})
2000
+ req = build_request(:send_email, params)
2001
+ req.send_request(options)
2002
+ end
2003
+
2004
+ # Add one or more tags (keys and values) to a specified resource. A
2005
+ # *tag* is a label that you optionally define and associate with a
2006
+ # resource. Tags can help you categorize and manage resources in
2007
+ # different ways, such as by purpose, owner, environment, or other
2008
+ # criteria. A resource can have as many as 50 tags.
2009
+ #
2010
+ # Each tag consists of a required *tag key* and an associated *tag
2011
+ # value*, both of which you define. A tag key is a general label that
2012
+ # acts as a category for more specific tag values. A tag value acts as a
2013
+ # descriptor within a tag key.
2014
+ #
2015
+ # @option params [required, String] :resource_arn
2016
+ # The Amazon Resource Name (ARN) of the resource that you want to add
2017
+ # one or more tags to.
2018
+ #
2019
+ # @option params [required, Array<Types::Tag>] :tags
2020
+ # A list of the tags that you want to add to the resource. A tag
2021
+ # consists of a required tag key (`Key`) and an associated tag value
2022
+ # (`Value`). The maximum length of a tag key is 128 characters. The
2023
+ # maximum length of a tag value is 256 characters.
2024
+ #
2025
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2026
+ #
2027
+ # @example Request syntax with placeholder values
2028
+ #
2029
+ # resp = client.tag_resource({
2030
+ # resource_arn: "AmazonResourceName", # required
2031
+ # tags: [ # required
2032
+ # {
2033
+ # key: "TagKey", # required
2034
+ # value: "TagValue", # required
2035
+ # },
2036
+ # ],
2037
+ # })
2038
+ #
2039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TagResource AWS API Documentation
2040
+ #
2041
+ # @overload tag_resource(params = {})
2042
+ # @param [Hash] params ({})
2043
+ def tag_resource(params = {}, options = {})
2044
+ req = build_request(:tag_resource, params)
2045
+ req.send_request(options)
2046
+ end
2047
+
2048
+ # Remove one or more tags (keys and values) from a specified resource.
2049
+ #
2050
+ # @option params [required, String] :resource_arn
2051
+ # The Amazon Resource Name (ARN) of the resource that you want to remove
2052
+ # one or more tags from.
2053
+ #
2054
+ # @option params [required, Array<String>] :tag_keys
2055
+ # The tags (tag keys) that you want to remove from the resource. When
2056
+ # you specify a tag key, the action removes both that key and its
2057
+ # associated tag value.
2058
+ #
2059
+ # To remove more than one tag from the resource, append the `TagKeys`
2060
+ # parameter and argument for each additional tag to remove, separated by
2061
+ # an ampersand. For example:
2062
+ # `/v2/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2`
2063
+ #
2064
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2065
+ #
2066
+ # @example Request syntax with placeholder values
2067
+ #
2068
+ # resp = client.untag_resource({
2069
+ # resource_arn: "AmazonResourceName", # required
2070
+ # tag_keys: ["TagKey"], # required
2071
+ # })
2072
+ #
2073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UntagResource AWS API Documentation
2074
+ #
2075
+ # @overload untag_resource(params = {})
2076
+ # @param [Hash] params ({})
2077
+ def untag_resource(params = {}, options = {})
2078
+ req = build_request(:untag_resource, params)
2079
+ req.send_request(options)
2080
+ end
2081
+
2082
+ # Update the configuration of an event destination for a configuration
2083
+ # set.
2084
+ #
2085
+ # *Events* include message sends, deliveries, opens, clicks, bounces,
2086
+ # and complaints. *Event destinations* are places that you can send
2087
+ # information about these events to. For example, you can send event
2088
+ # data to Amazon SNS to receive notifications when you receive bounces
2089
+ # or complaints, or you can use Amazon Kinesis Data Firehose to stream
2090
+ # data to Amazon S3 for long-term storage.
2091
+ #
2092
+ # @option params [required, String] :configuration_set_name
2093
+ # The name of the configuration set that contains the event destination
2094
+ # that you want to modify.
2095
+ #
2096
+ # @option params [required, String] :event_destination_name
2097
+ # The name of the event destination that you want to modify.
2098
+ #
2099
+ # @option params [required, Types::EventDestinationDefinition] :event_destination
2100
+ # An object that defines the event destination.
2101
+ #
2102
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2103
+ #
2104
+ # @example Request syntax with placeholder values
2105
+ #
2106
+ # resp = client.update_configuration_set_event_destination({
2107
+ # configuration_set_name: "ConfigurationSetName", # required
2108
+ # event_destination_name: "EventDestinationName", # required
2109
+ # event_destination: { # required
2110
+ # enabled: false,
2111
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE
2112
+ # kinesis_firehose_destination: {
2113
+ # iam_role_arn: "AmazonResourceName", # required
2114
+ # delivery_stream_arn: "AmazonResourceName", # required
2115
+ # },
2116
+ # cloud_watch_destination: {
2117
+ # dimension_configurations: [ # required
2118
+ # {
2119
+ # dimension_name: "DimensionName", # required
2120
+ # dimension_value_source: "MESSAGE_TAG", # required, accepts MESSAGE_TAG, EMAIL_HEADER, LINK_TAG
2121
+ # default_dimension_value: "DefaultDimensionValue", # required
2122
+ # },
2123
+ # ],
2124
+ # },
2125
+ # sns_destination: {
2126
+ # topic_arn: "AmazonResourceName", # required
2127
+ # },
2128
+ # pinpoint_destination: {
2129
+ # application_arn: "AmazonResourceName",
2130
+ # },
2131
+ # },
2132
+ # })
2133
+ #
2134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateConfigurationSetEventDestination AWS API Documentation
2135
+ #
2136
+ # @overload update_configuration_set_event_destination(params = {})
2137
+ # @param [Hash] params ({})
2138
+ def update_configuration_set_event_destination(params = {}, options = {})
2139
+ req = build_request(:update_configuration_set_event_destination, params)
2140
+ req.send_request(options)
2141
+ end
2142
+
2143
+ # @!endgroup
2144
+
2145
+ # @param params ({})
2146
+ # @api private
2147
+ def build_request(operation_name, params = {})
2148
+ handlers = @handlers.for(operation_name)
2149
+ context = Seahorse::Client::RequestContext.new(
2150
+ operation_name: operation_name,
2151
+ operation: config.api.operation(operation_name),
2152
+ client: self,
2153
+ params: params,
2154
+ config: config)
2155
+ context[:gem_name] = 'aws-sdk-sesv2'
2156
+ context[:gem_version] = '1.0.0'
2157
+ Seahorse::Client::Request.new(handlers, context)
2158
+ end
2159
+
2160
+ # @api private
2161
+ # @deprecated
2162
+ def waiter_names
2163
+ []
2164
+ end
2165
+
2166
+ class << self
2167
+
2168
+ # @api private
2169
+ attr_reader :identifier
2170
+
2171
+ # @api private
2172
+ def errors_module
2173
+ Errors
2174
+ end
2175
+
2176
+ end
2177
+ end
2178
+ end