aws-sdk-sesv2 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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