aws-sdk-ses 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ce932647ceb29a565ccf9c64149bcf680a952a5b
4
+ data.tar.gz: 1ff1e05f530e36cc94b70d57e811ef816ac4692f
5
+ SHA512:
6
+ metadata.gz: 3712f8163857912534beaad494dccd82bb83545ad0a7f1abcaea4c85c1ac3d9f1c832808cc64afad4c524d437bc885f756c86ab3deaec56d561ee6fba405cb49
7
+ data.tar.gz: 22630f27a015e1becb5f2ff3d1f48ee7de949899b34890292c91e98e2fd73441be93b8e67feb8878703c45548f81f88d8e157d9206c5084f91ab86cbea5d3b30
@@ -0,0 +1,48 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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-ses/types'
12
+ require_relative 'aws-sdk-ses/client_api'
13
+ require_relative 'aws-sdk-ses/client'
14
+ require_relative 'aws-sdk-ses/errors'
15
+ require_relative 'aws-sdk-ses/waiters'
16
+ require_relative 'aws-sdk-ses/resource'
17
+ require_relative 'aws-sdk-ses/customizations'
18
+
19
+ # This module provides support for Amazon Simple Email Service. This module is available in the
20
+ # `aws-sdk-ses` gem.
21
+ #
22
+ # # Client
23
+ #
24
+ # The {Client} class provides one method for each API operation. Operation
25
+ # methods each accept a hash of request parameters and return a response
26
+ # structure.
27
+ #
28
+ # See {Client} for more information.
29
+ #
30
+ # # Errors
31
+ #
32
+ # Errors returned from Amazon Simple Email Service all
33
+ # extend {Errors::ServiceError}.
34
+ #
35
+ # begin
36
+ # # do stuff
37
+ # rescue Aws::SES::Errors::ServiceError
38
+ # # rescues all service API errors
39
+ # end
40
+ #
41
+ # See {Errors} for more information.
42
+ #
43
+ # @service
44
+ module Aws::SES
45
+
46
+ GEM_VERSION = '1.0.0.rc1'
47
+
48
+ end
@@ -0,0 +1,2547 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/query.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:ses)
25
+
26
+ module Aws
27
+ module SES
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :ses
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::Query)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :stub_responses (false)
117
+ # Causes the client to return stubbed responses. By default
118
+ # fake responses are generated and returned. You can specify
119
+ # the response data to return or errors to raise by calling
120
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
+ #
122
+ # ** Please note ** When response stubbing is enabled, no HTTP
123
+ # requests are made, and retries are disabled.
124
+ # @option options [Boolean] :validate_params (true)
125
+ # When `true`, request parameters are validated before
126
+ # sending the request.
127
+ def initialize(*args)
128
+ super
129
+ end
130
+
131
+ # @!group API Operations
132
+
133
+ # Creates a receipt rule set by cloning an existing one. All receipt
134
+ # rules and configurations are copied to the new receipt rule set and
135
+ # are completely independent of the source rule set.
136
+ #
137
+ # For information about setting up rule sets, see the [Amazon SES
138
+ # Developer Guide][1].
139
+ #
140
+ # This action is throttled at one request per second.
141
+ #
142
+ #
143
+ #
144
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html
145
+ # @option params [required, String] :rule_set_name
146
+ # The name of the rule set to create. The name must:
147
+ #
148
+ # * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.),
149
+ # underscores (\_), or dashes (-).
150
+ #
151
+ # * Start and end with a letter or number.
152
+ #
153
+ # * Contain less than 64 characters.
154
+ # @option params [required, String] :original_rule_set_name
155
+ # The name of the rule set to clone.
156
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
157
+ #
158
+ # @example Request syntax with placeholder values
159
+ # resp = client.clone_receipt_rule_set({
160
+ # rule_set_name: "ReceiptRuleSetName", # required
161
+ # original_rule_set_name: "ReceiptRuleSetName", # required
162
+ # })
163
+ # @overload clone_receipt_rule_set(params = {})
164
+ # @param [Hash] params ({})
165
+ def clone_receipt_rule_set(params = {}, options = {})
166
+ req = build_request(:clone_receipt_rule_set, params)
167
+ req.send_request(options)
168
+ end
169
+
170
+ # Creates a configuration set.
171
+ #
172
+ # Configuration sets enable you to publish email sending events. For
173
+ # information about using configuration sets, see the [Amazon SES
174
+ # Developer Guide][1].
175
+ #
176
+ # This action is throttled at one request per second.
177
+ #
178
+ #
179
+ #
180
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
181
+ # @option params [required, Types::ConfigurationSet] :configuration_set
182
+ # A data structure that contains the name of the configuration set.
183
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
184
+ #
185
+ # @example Request syntax with placeholder values
186
+ # resp = client.create_configuration_set({
187
+ # configuration_set: { # required
188
+ # name: "ConfigurationSetName", # required
189
+ # },
190
+ # })
191
+ # @overload create_configuration_set(params = {})
192
+ # @param [Hash] params ({})
193
+ def create_configuration_set(params = {}, options = {})
194
+ req = build_request(:create_configuration_set, params)
195
+ req.send_request(options)
196
+ end
197
+
198
+ # Creates a configuration set event destination.
199
+ #
200
+ # <note markdown="1"> When you create or update an event destination, you must provide one,
201
+ # and only one, destination. The destination can be either Amazon
202
+ # CloudWatch or Amazon Kinesis Firehose.
203
+ #
204
+ # </note>
205
+ #
206
+ # An event destination is the AWS service to which Amazon SES publishes
207
+ # the email sending events associated with a configuration set. For
208
+ # information about using configuration sets, see the [Amazon SES
209
+ # Developer Guide][1].
210
+ #
211
+ # This action is throttled at one request per second.
212
+ #
213
+ #
214
+ #
215
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
216
+ # @option params [required, String] :configuration_set_name
217
+ # The name of the configuration set to which to apply the event
218
+ # destination.
219
+ # @option params [required, Types::EventDestination] :event_destination
220
+ # An object that describes the AWS service to which Amazon SES will
221
+ # publish the email sending events associated with the specified
222
+ # configuration set.
223
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
224
+ #
225
+ # @example Request syntax with placeholder values
226
+ # resp = client.create_configuration_set_event_destination({
227
+ # configuration_set_name: "ConfigurationSetName", # required
228
+ # event_destination: { # required
229
+ # name: "EventDestinationName", # required
230
+ # enabled: false,
231
+ # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery
232
+ # kinesis_firehose_destination: {
233
+ # iam_role_arn: "AmazonResourceName", # required
234
+ # delivery_stream_arn: "AmazonResourceName", # required
235
+ # },
236
+ # cloud_watch_destination: {
237
+ # dimension_configurations: [ # required
238
+ # {
239
+ # dimension_name: "DimensionName", # required
240
+ # dimension_value_source: "messageTag", # required, accepts messageTag, emailHeader
241
+ # default_dimension_value: "DefaultDimensionValue", # required
242
+ # },
243
+ # ],
244
+ # },
245
+ # },
246
+ # })
247
+ # @overload create_configuration_set_event_destination(params = {})
248
+ # @param [Hash] params ({})
249
+ def create_configuration_set_event_destination(params = {}, options = {})
250
+ req = build_request(:create_configuration_set_event_destination, params)
251
+ req.send_request(options)
252
+ end
253
+
254
+ # Creates a new IP address filter.
255
+ #
256
+ # For information about setting up IP address filters, see the [Amazon
257
+ # SES Developer Guide][1].
258
+ #
259
+ # This action is throttled at one request per second.
260
+ #
261
+ #
262
+ #
263
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html
264
+ # @option params [required, Types::ReceiptFilter] :filter
265
+ # A data structure that describes the IP address filter to create, which
266
+ # consists of a name, an IP address range, and whether to allow or block
267
+ # mail from it.
268
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
269
+ #
270
+ # @example Request syntax with placeholder values
271
+ # resp = client.create_receipt_filter({
272
+ # filter: { # required
273
+ # name: "ReceiptFilterName", # required
274
+ # ip_filter: { # required
275
+ # policy: "Block", # required, accepts Block, Allow
276
+ # cidr: "Cidr", # required
277
+ # },
278
+ # },
279
+ # })
280
+ # @overload create_receipt_filter(params = {})
281
+ # @param [Hash] params ({})
282
+ def create_receipt_filter(params = {}, options = {})
283
+ req = build_request(:create_receipt_filter, params)
284
+ req.send_request(options)
285
+ end
286
+
287
+ # Creates a receipt rule.
288
+ #
289
+ # For information about setting up receipt rules, see the [Amazon SES
290
+ # Developer Guide][1].
291
+ #
292
+ # This action is throttled at one request per second.
293
+ #
294
+ #
295
+ #
296
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html
297
+ # @option params [required, String] :rule_set_name
298
+ # The name of the rule set to which to add the rule.
299
+ # @option params [String] :after
300
+ # The name of an existing rule after which the new rule will be placed.
301
+ # If this parameter is null, the new rule will be inserted at the
302
+ # beginning of the rule list.
303
+ # @option params [required, Types::ReceiptRule] :rule
304
+ # A data structure that contains the specified rule's name, actions,
305
+ # recipients, domains, enabled status, scan status, and TLS policy.
306
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
307
+ #
308
+ # @example Request syntax with placeholder values
309
+ # resp = client.create_receipt_rule({
310
+ # rule_set_name: "ReceiptRuleSetName", # required
311
+ # after: "ReceiptRuleName",
312
+ # rule: { # required
313
+ # name: "ReceiptRuleName", # required
314
+ # enabled: false,
315
+ # tls_policy: "Require", # accepts Require, Optional
316
+ # recipients: ["Recipient"],
317
+ # actions: [
318
+ # {
319
+ # s3_action: {
320
+ # topic_arn: "AmazonResourceName",
321
+ # bucket_name: "S3BucketName", # required
322
+ # object_key_prefix: "S3KeyPrefix",
323
+ # kms_key_arn: "AmazonResourceName",
324
+ # },
325
+ # bounce_action: {
326
+ # topic_arn: "AmazonResourceName",
327
+ # smtp_reply_code: "BounceSmtpReplyCode", # required
328
+ # status_code: "BounceStatusCode",
329
+ # message: "BounceMessage", # required
330
+ # sender: "Address", # required
331
+ # },
332
+ # workmail_action: {
333
+ # topic_arn: "AmazonResourceName",
334
+ # organization_arn: "AmazonResourceName", # required
335
+ # },
336
+ # lambda_action: {
337
+ # topic_arn: "AmazonResourceName",
338
+ # function_arn: "AmazonResourceName", # required
339
+ # invocation_type: "Event", # accepts Event, RequestResponse
340
+ # },
341
+ # stop_action: {
342
+ # scope: "RuleSet", # required, accepts RuleSet
343
+ # topic_arn: "AmazonResourceName",
344
+ # },
345
+ # add_header_action: {
346
+ # header_name: "HeaderName", # required
347
+ # header_value: "HeaderValue", # required
348
+ # },
349
+ # sns_action: {
350
+ # topic_arn: "AmazonResourceName", # required
351
+ # encoding: "UTF-8", # accepts UTF-8, Base64
352
+ # },
353
+ # },
354
+ # ],
355
+ # scan_enabled: false,
356
+ # },
357
+ # })
358
+ # @overload create_receipt_rule(params = {})
359
+ # @param [Hash] params ({})
360
+ def create_receipt_rule(params = {}, options = {})
361
+ req = build_request(:create_receipt_rule, params)
362
+ req.send_request(options)
363
+ end
364
+
365
+ # Creates an empty receipt rule set.
366
+ #
367
+ # For information about setting up receipt rule sets, see the [Amazon
368
+ # SES Developer Guide][1].
369
+ #
370
+ # This action is throttled at one request per second.
371
+ #
372
+ #
373
+ #
374
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html
375
+ # @option params [required, String] :rule_set_name
376
+ # The name of the rule set to create. The name must:
377
+ #
378
+ # * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.),
379
+ # underscores (\_), or dashes (-).
380
+ #
381
+ # * Start and end with a letter or number.
382
+ #
383
+ # * Contain less than 64 characters.
384
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
385
+ #
386
+ # @example Request syntax with placeholder values
387
+ # resp = client.create_receipt_rule_set({
388
+ # rule_set_name: "ReceiptRuleSetName", # required
389
+ # })
390
+ # @overload create_receipt_rule_set(params = {})
391
+ # @param [Hash] params ({})
392
+ def create_receipt_rule_set(params = {}, options = {})
393
+ req = build_request(:create_receipt_rule_set, params)
394
+ req.send_request(options)
395
+ end
396
+
397
+ # Deletes a configuration set.
398
+ #
399
+ # Configuration sets enable you to publish email sending events. For
400
+ # information about using configuration sets, see the [Amazon SES
401
+ # Developer Guide][1].
402
+ #
403
+ # This action is throttled at one request per second.
404
+ #
405
+ #
406
+ #
407
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
408
+ # @option params [required, String] :configuration_set_name
409
+ # The name of the configuration set to delete.
410
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
411
+ #
412
+ # @example Request syntax with placeholder values
413
+ # resp = client.delete_configuration_set({
414
+ # configuration_set_name: "ConfigurationSetName", # required
415
+ # })
416
+ # @overload delete_configuration_set(params = {})
417
+ # @param [Hash] params ({})
418
+ def delete_configuration_set(params = {}, options = {})
419
+ req = build_request(:delete_configuration_set, params)
420
+ req.send_request(options)
421
+ end
422
+
423
+ # Deletes a configuration set event destination.
424
+ #
425
+ # Configuration set event destinations are associated with configuration
426
+ # sets, which enable you to publish email sending events. For
427
+ # information about using configuration sets, see the [Amazon SES
428
+ # Developer Guide][1].
429
+ #
430
+ # This action is throttled at one request per second.
431
+ #
432
+ #
433
+ #
434
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
435
+ # @option params [required, String] :configuration_set_name
436
+ # The name of the configuration set from which to delete the event
437
+ # destination.
438
+ # @option params [required, String] :event_destination_name
439
+ # The name of the event destination to delete.
440
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
441
+ #
442
+ # @example Request syntax with placeholder values
443
+ # resp = client.delete_configuration_set_event_destination({
444
+ # configuration_set_name: "ConfigurationSetName", # required
445
+ # event_destination_name: "EventDestinationName", # required
446
+ # })
447
+ # @overload delete_configuration_set_event_destination(params = {})
448
+ # @param [Hash] params ({})
449
+ def delete_configuration_set_event_destination(params = {}, options = {})
450
+ req = build_request(:delete_configuration_set_event_destination, params)
451
+ req.send_request(options)
452
+ end
453
+
454
+ # Deletes the specified identity (an email address or a domain) from the
455
+ # list of verified identities.
456
+ #
457
+ # This action is throttled at one request per second.
458
+ # @option params [required, String] :identity
459
+ # The identity to be removed from the list of identities for the AWS
460
+ # Account.
461
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
462
+ #
463
+ # @example Request syntax with placeholder values
464
+ # resp = client.delete_identity({
465
+ # identity: "Identity", # required
466
+ # })
467
+ # @overload delete_identity(params = {})
468
+ # @param [Hash] params ({})
469
+ def delete_identity(params = {}, options = {})
470
+ req = build_request(:delete_identity, params)
471
+ req.send_request(options)
472
+ end
473
+
474
+ # Deletes the specified sending authorization policy for the given
475
+ # identity (an email address or a domain). This API returns successfully
476
+ # even if a policy with the specified name does not exist.
477
+ #
478
+ # <note markdown="1"> This API is for the identity owner only. If you have not verified the
479
+ # identity, this API will return an error.
480
+ #
481
+ # </note>
482
+ #
483
+ # Sending authorization is a feature that enables an identity owner to
484
+ # authorize other senders to use its identities. For information about
485
+ # using sending authorization, see the [Amazon SES Developer Guide][1].
486
+ #
487
+ # This action is throttled at one request per second.
488
+ #
489
+ #
490
+ #
491
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
492
+ # @option params [required, String] :identity
493
+ # The identity that is associated with the policy that you want to
494
+ # delete. You can specify the identity by using its name or by using its
495
+ # Amazon Resource Name (ARN). Examples: `user@example.com`,
496
+ # `example.com`,
497
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`.
498
+ #
499
+ # To successfully call this API, you must own the identity.
500
+ # @option params [required, String] :policy_name
501
+ # The name of the policy to be deleted.
502
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
503
+ #
504
+ # @example Request syntax with placeholder values
505
+ # resp = client.delete_identity_policy({
506
+ # identity: "Identity", # required
507
+ # policy_name: "PolicyName", # required
508
+ # })
509
+ # @overload delete_identity_policy(params = {})
510
+ # @param [Hash] params ({})
511
+ def delete_identity_policy(params = {}, options = {})
512
+ req = build_request(:delete_identity_policy, params)
513
+ req.send_request(options)
514
+ end
515
+
516
+ # Deletes the specified IP address filter.
517
+ #
518
+ # For information about managing IP address filters, see the [Amazon SES
519
+ # Developer Guide][1].
520
+ #
521
+ # This action is throttled at one request per second.
522
+ #
523
+ #
524
+ #
525
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html
526
+ # @option params [required, String] :filter_name
527
+ # The name of the IP address filter to delete.
528
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
529
+ #
530
+ # @example Request syntax with placeholder values
531
+ # resp = client.delete_receipt_filter({
532
+ # filter_name: "ReceiptFilterName", # required
533
+ # })
534
+ # @overload delete_receipt_filter(params = {})
535
+ # @param [Hash] params ({})
536
+ def delete_receipt_filter(params = {}, options = {})
537
+ req = build_request(:delete_receipt_filter, params)
538
+ req.send_request(options)
539
+ end
540
+
541
+ # Deletes the specified receipt rule.
542
+ #
543
+ # For information about managing receipt rules, see the [Amazon SES
544
+ # Developer Guide][1].
545
+ #
546
+ # This action is throttled at one request per second.
547
+ #
548
+ #
549
+ #
550
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html
551
+ # @option params [required, String] :rule_set_name
552
+ # The name of the receipt rule set that contains the receipt rule to
553
+ # delete.
554
+ # @option params [required, String] :rule_name
555
+ # The name of the receipt rule to delete.
556
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
557
+ #
558
+ # @example Request syntax with placeholder values
559
+ # resp = client.delete_receipt_rule({
560
+ # rule_set_name: "ReceiptRuleSetName", # required
561
+ # rule_name: "ReceiptRuleName", # required
562
+ # })
563
+ # @overload delete_receipt_rule(params = {})
564
+ # @param [Hash] params ({})
565
+ def delete_receipt_rule(params = {}, options = {})
566
+ req = build_request(:delete_receipt_rule, params)
567
+ req.send_request(options)
568
+ end
569
+
570
+ # Deletes the specified receipt rule set and all of the receipt rules it
571
+ # contains.
572
+ #
573
+ # <note markdown="1"> The currently active rule set cannot be deleted.
574
+ #
575
+ # </note>
576
+ #
577
+ # For information about managing receipt rule sets, see the [Amazon SES
578
+ # Developer Guide][1].
579
+ #
580
+ # This action is throttled at one request per second.
581
+ #
582
+ #
583
+ #
584
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html
585
+ # @option params [required, String] :rule_set_name
586
+ # The name of the receipt rule set to delete.
587
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
588
+ #
589
+ # @example Request syntax with placeholder values
590
+ # resp = client.delete_receipt_rule_set({
591
+ # rule_set_name: "ReceiptRuleSetName", # required
592
+ # })
593
+ # @overload delete_receipt_rule_set(params = {})
594
+ # @param [Hash] params ({})
595
+ def delete_receipt_rule_set(params = {}, options = {})
596
+ req = build_request(:delete_receipt_rule_set, params)
597
+ req.send_request(options)
598
+ end
599
+
600
+ # Deletes the specified email address from the list of verified
601
+ # addresses.
602
+ #
603
+ # The DeleteVerifiedEmailAddress action is deprecated as of the May 15,
604
+ # 2012 release of Domain Verification. The DeleteIdentity action is now
605
+ # preferred.
606
+ #
607
+ # This action is throttled at one request per second.
608
+ # @option params [required, String] :email_address
609
+ # An email address to be removed from the list of verified addresses.
610
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
611
+ #
612
+ # @example Request syntax with placeholder values
613
+ # resp = client.delete_verified_email_address({
614
+ # email_address: "Address", # required
615
+ # })
616
+ # @overload delete_verified_email_address(params = {})
617
+ # @param [Hash] params ({})
618
+ def delete_verified_email_address(params = {}, options = {})
619
+ req = build_request(:delete_verified_email_address, params)
620
+ req.send_request(options)
621
+ end
622
+
623
+ # Returns the metadata and receipt rules for the receipt rule set that
624
+ # is currently active.
625
+ #
626
+ # For information about setting up receipt rule sets, see the [Amazon
627
+ # SES Developer Guide][1].
628
+ #
629
+ # This action is throttled at one request per second.
630
+ #
631
+ #
632
+ #
633
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html
634
+ # @return [Types::DescribeActiveReceiptRuleSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
635
+ #
636
+ # * {Types::DescribeActiveReceiptRuleSetResponse#metadata #Metadata} => Types::ReceiptRuleSetMetadata
637
+ # * {Types::DescribeActiveReceiptRuleSetResponse#rules #Rules} => Array&lt;Types::ReceiptRule&gt;
638
+ #
639
+ # @example Request syntax with placeholder values
640
+ # resp = client.describe_active_receipt_rule_set()
641
+ #
642
+ # @example Response structure
643
+ # resp.metadata.name #=> String
644
+ # resp.metadata.created_timestamp #=> Time
645
+ # resp.rules #=> Array
646
+ # resp.rules[0].name #=> String
647
+ # resp.rules[0].enabled #=> Boolean
648
+ # resp.rules[0].tls_policy #=> String, one of "Require", "Optional"
649
+ # resp.rules[0].recipients #=> Array
650
+ # resp.rules[0].recipients[0] #=> String
651
+ # resp.rules[0].actions #=> Array
652
+ # resp.rules[0].actions[0].s3_action.topic_arn #=> String
653
+ # resp.rules[0].actions[0].s3_action.bucket_name #=> String
654
+ # resp.rules[0].actions[0].s3_action.object_key_prefix #=> String
655
+ # resp.rules[0].actions[0].s3_action.kms_key_arn #=> String
656
+ # resp.rules[0].actions[0].bounce_action.topic_arn #=> String
657
+ # resp.rules[0].actions[0].bounce_action.smtp_reply_code #=> String
658
+ # resp.rules[0].actions[0].bounce_action.status_code #=> String
659
+ # resp.rules[0].actions[0].bounce_action.message #=> String
660
+ # resp.rules[0].actions[0].bounce_action.sender #=> String
661
+ # resp.rules[0].actions[0].workmail_action.topic_arn #=> String
662
+ # resp.rules[0].actions[0].workmail_action.organization_arn #=> String
663
+ # resp.rules[0].actions[0].lambda_action.topic_arn #=> String
664
+ # resp.rules[0].actions[0].lambda_action.function_arn #=> String
665
+ # resp.rules[0].actions[0].lambda_action.invocation_type #=> String, one of "Event", "RequestResponse"
666
+ # resp.rules[0].actions[0].stop_action.scope #=> String, one of "RuleSet"
667
+ # resp.rules[0].actions[0].stop_action.topic_arn #=> String
668
+ # resp.rules[0].actions[0].add_header_action.header_name #=> String
669
+ # resp.rules[0].actions[0].add_header_action.header_value #=> String
670
+ # resp.rules[0].actions[0].sns_action.topic_arn #=> String
671
+ # resp.rules[0].actions[0].sns_action.encoding #=> String, one of "UTF-8", "Base64"
672
+ # resp.rules[0].scan_enabled #=> Boolean
673
+ # @overload describe_active_receipt_rule_set(params = {})
674
+ # @param [Hash] params ({})
675
+ def describe_active_receipt_rule_set(params = {}, options = {})
676
+ req = build_request(:describe_active_receipt_rule_set, params)
677
+ req.send_request(options)
678
+ end
679
+
680
+ # Returns the details of the specified configuration set.
681
+ #
682
+ # Configuration sets enable you to publish email sending events. For
683
+ # information about using configuration sets, see the [Amazon SES
684
+ # Developer Guide][1].
685
+ #
686
+ # This action is throttled at one request per second.
687
+ #
688
+ #
689
+ #
690
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
691
+ # @option params [required, String] :configuration_set_name
692
+ # The name of the configuration set to describe.
693
+ # @option params [Array<String>] :configuration_set_attribute_names
694
+ # A list of configuration set attributes to return.
695
+ # @return [Types::DescribeConfigurationSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
696
+ #
697
+ # * {Types::DescribeConfigurationSetResponse#configuration_set #ConfigurationSet} => Types::ConfigurationSet
698
+ # * {Types::DescribeConfigurationSetResponse#event_destinations #EventDestinations} => Array&lt;Types::EventDestination&gt;
699
+ #
700
+ # @example Request syntax with placeholder values
701
+ # resp = client.describe_configuration_set({
702
+ # configuration_set_name: "ConfigurationSetName", # required
703
+ # configuration_set_attribute_names: ["eventDestinations"], # accepts eventDestinations
704
+ # })
705
+ #
706
+ # @example Response structure
707
+ # resp.configuration_set.name #=> String
708
+ # resp.event_destinations #=> Array
709
+ # resp.event_destinations[0].name #=> String
710
+ # resp.event_destinations[0].enabled #=> Boolean
711
+ # resp.event_destinations[0].matching_event_types #=> Array
712
+ # resp.event_destinations[0].matching_event_types[0] #=> String, one of "send", "reject", "bounce", "complaint", "delivery"
713
+ # resp.event_destinations[0].kinesis_firehose_destination.iam_role_arn #=> String
714
+ # resp.event_destinations[0].kinesis_firehose_destination.delivery_stream_arn #=> String
715
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations #=> Array
716
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].dimension_name #=> String
717
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].dimension_value_source #=> String, one of "messageTag", "emailHeader"
718
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].default_dimension_value #=> String
719
+ # @overload describe_configuration_set(params = {})
720
+ # @param [Hash] params ({})
721
+ def describe_configuration_set(params = {}, options = {})
722
+ req = build_request(:describe_configuration_set, params)
723
+ req.send_request(options)
724
+ end
725
+
726
+ # Returns the details of the specified receipt rule.
727
+ #
728
+ # For information about setting up receipt rules, see the [Amazon SES
729
+ # Developer Guide][1].
730
+ #
731
+ # This action is throttled at one request per second.
732
+ #
733
+ #
734
+ #
735
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html
736
+ # @option params [required, String] :rule_set_name
737
+ # The name of the receipt rule set to which the receipt rule belongs.
738
+ # @option params [required, String] :rule_name
739
+ # The name of the receipt rule.
740
+ # @return [Types::DescribeReceiptRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
741
+ #
742
+ # * {Types::DescribeReceiptRuleResponse#rule #Rule} => Types::ReceiptRule
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ # resp = client.describe_receipt_rule({
746
+ # rule_set_name: "ReceiptRuleSetName", # required
747
+ # rule_name: "ReceiptRuleName", # required
748
+ # })
749
+ #
750
+ # @example Response structure
751
+ # resp.rule.name #=> String
752
+ # resp.rule.enabled #=> Boolean
753
+ # resp.rule.tls_policy #=> String, one of "Require", "Optional"
754
+ # resp.rule.recipients #=> Array
755
+ # resp.rule.recipients[0] #=> String
756
+ # resp.rule.actions #=> Array
757
+ # resp.rule.actions[0].s3_action.topic_arn #=> String
758
+ # resp.rule.actions[0].s3_action.bucket_name #=> String
759
+ # resp.rule.actions[0].s3_action.object_key_prefix #=> String
760
+ # resp.rule.actions[0].s3_action.kms_key_arn #=> String
761
+ # resp.rule.actions[0].bounce_action.topic_arn #=> String
762
+ # resp.rule.actions[0].bounce_action.smtp_reply_code #=> String
763
+ # resp.rule.actions[0].bounce_action.status_code #=> String
764
+ # resp.rule.actions[0].bounce_action.message #=> String
765
+ # resp.rule.actions[0].bounce_action.sender #=> String
766
+ # resp.rule.actions[0].workmail_action.topic_arn #=> String
767
+ # resp.rule.actions[0].workmail_action.organization_arn #=> String
768
+ # resp.rule.actions[0].lambda_action.topic_arn #=> String
769
+ # resp.rule.actions[0].lambda_action.function_arn #=> String
770
+ # resp.rule.actions[0].lambda_action.invocation_type #=> String, one of "Event", "RequestResponse"
771
+ # resp.rule.actions[0].stop_action.scope #=> String, one of "RuleSet"
772
+ # resp.rule.actions[0].stop_action.topic_arn #=> String
773
+ # resp.rule.actions[0].add_header_action.header_name #=> String
774
+ # resp.rule.actions[0].add_header_action.header_value #=> String
775
+ # resp.rule.actions[0].sns_action.topic_arn #=> String
776
+ # resp.rule.actions[0].sns_action.encoding #=> String, one of "UTF-8", "Base64"
777
+ # resp.rule.scan_enabled #=> Boolean
778
+ # @overload describe_receipt_rule(params = {})
779
+ # @param [Hash] params ({})
780
+ def describe_receipt_rule(params = {}, options = {})
781
+ req = build_request(:describe_receipt_rule, params)
782
+ req.send_request(options)
783
+ end
784
+
785
+ # Returns the details of the specified receipt rule set.
786
+ #
787
+ # For information about managing receipt rule sets, see the [Amazon SES
788
+ # Developer Guide][1].
789
+ #
790
+ # This action is throttled at one request per second.
791
+ #
792
+ #
793
+ #
794
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html
795
+ # @option params [required, String] :rule_set_name
796
+ # The name of the receipt rule set to describe.
797
+ # @return [Types::DescribeReceiptRuleSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
798
+ #
799
+ # * {Types::DescribeReceiptRuleSetResponse#metadata #Metadata} => Types::ReceiptRuleSetMetadata
800
+ # * {Types::DescribeReceiptRuleSetResponse#rules #Rules} => Array&lt;Types::ReceiptRule&gt;
801
+ #
802
+ # @example Request syntax with placeholder values
803
+ # resp = client.describe_receipt_rule_set({
804
+ # rule_set_name: "ReceiptRuleSetName", # required
805
+ # })
806
+ #
807
+ # @example Response structure
808
+ # resp.metadata.name #=> String
809
+ # resp.metadata.created_timestamp #=> Time
810
+ # resp.rules #=> Array
811
+ # resp.rules[0].name #=> String
812
+ # resp.rules[0].enabled #=> Boolean
813
+ # resp.rules[0].tls_policy #=> String, one of "Require", "Optional"
814
+ # resp.rules[0].recipients #=> Array
815
+ # resp.rules[0].recipients[0] #=> String
816
+ # resp.rules[0].actions #=> Array
817
+ # resp.rules[0].actions[0].s3_action.topic_arn #=> String
818
+ # resp.rules[0].actions[0].s3_action.bucket_name #=> String
819
+ # resp.rules[0].actions[0].s3_action.object_key_prefix #=> String
820
+ # resp.rules[0].actions[0].s3_action.kms_key_arn #=> String
821
+ # resp.rules[0].actions[0].bounce_action.topic_arn #=> String
822
+ # resp.rules[0].actions[0].bounce_action.smtp_reply_code #=> String
823
+ # resp.rules[0].actions[0].bounce_action.status_code #=> String
824
+ # resp.rules[0].actions[0].bounce_action.message #=> String
825
+ # resp.rules[0].actions[0].bounce_action.sender #=> String
826
+ # resp.rules[0].actions[0].workmail_action.topic_arn #=> String
827
+ # resp.rules[0].actions[0].workmail_action.organization_arn #=> String
828
+ # resp.rules[0].actions[0].lambda_action.topic_arn #=> String
829
+ # resp.rules[0].actions[0].lambda_action.function_arn #=> String
830
+ # resp.rules[0].actions[0].lambda_action.invocation_type #=> String, one of "Event", "RequestResponse"
831
+ # resp.rules[0].actions[0].stop_action.scope #=> String, one of "RuleSet"
832
+ # resp.rules[0].actions[0].stop_action.topic_arn #=> String
833
+ # resp.rules[0].actions[0].add_header_action.header_name #=> String
834
+ # resp.rules[0].actions[0].add_header_action.header_value #=> String
835
+ # resp.rules[0].actions[0].sns_action.topic_arn #=> String
836
+ # resp.rules[0].actions[0].sns_action.encoding #=> String, one of "UTF-8", "Base64"
837
+ # resp.rules[0].scan_enabled #=> Boolean
838
+ # @overload describe_receipt_rule_set(params = {})
839
+ # @param [Hash] params ({})
840
+ def describe_receipt_rule_set(params = {}, options = {})
841
+ req = build_request(:describe_receipt_rule_set, params)
842
+ req.send_request(options)
843
+ end
844
+
845
+ # Returns the current status of Easy DKIM signing for an entity. For
846
+ # domain name identities, this action also returns the DKIM tokens that
847
+ # are required for Easy DKIM signing, and whether Amazon SES has
848
+ # successfully verified that these tokens have been published.
849
+ #
850
+ # This action takes a list of identities as input and returns the
851
+ # following information for each:
852
+ #
853
+ # * Whether Easy DKIM signing is enabled or disabled.
854
+ #
855
+ # * A set of DKIM tokens that represent the identity. If the identity is
856
+ # an email address, the tokens represent the domain of that address.
857
+ #
858
+ # * Whether Amazon SES has successfully verified the DKIM tokens
859
+ # published in the domain's DNS. This information is only returned
860
+ # for domain name identities, not for email addresses.
861
+ #
862
+ # This action is throttled at one request per second and can only get
863
+ # DKIM attributes for up to 100 identities at a time.
864
+ #
865
+ # For more information about creating DNS records using DKIM tokens, go
866
+ # to the [Amazon SES Developer Guide][1].
867
+ #
868
+ #
869
+ #
870
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html
871
+ # @option params [required, Array<String>] :identities
872
+ # A list of one or more verified identities - email addresses, domains,
873
+ # or both.
874
+ # @return [Types::GetIdentityDkimAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
875
+ #
876
+ # * {Types::GetIdentityDkimAttributesResponse#dkim_attributes #DkimAttributes} => Hash&lt;String,Types::IdentityDkimAttributes&gt;
877
+ #
878
+ # @example Request syntax with placeholder values
879
+ # resp = client.get_identity_dkim_attributes({
880
+ # identities: ["Identity"], # required
881
+ # })
882
+ #
883
+ # @example Response structure
884
+ # resp.dkim_attributes #=> Hash
885
+ # resp.dkim_attributes["Identity"].dkim_enabled #=> Boolean
886
+ # resp.dkim_attributes["Identity"].dkim_verification_status #=> String, one of "Pending", "Success", "Failed", "TemporaryFailure", "NotStarted"
887
+ # resp.dkim_attributes["Identity"].dkim_tokens #=> Array
888
+ # resp.dkim_attributes["Identity"].dkim_tokens[0] #=> String
889
+ # @overload get_identity_dkim_attributes(params = {})
890
+ # @param [Hash] params ({})
891
+ def get_identity_dkim_attributes(params = {}, options = {})
892
+ req = build_request(:get_identity_dkim_attributes, params)
893
+ req.send_request(options)
894
+ end
895
+
896
+ # Returns the custom MAIL FROM attributes for a list of identities
897
+ # (email addresses and/or domains).
898
+ #
899
+ # This action is throttled at one request per second and can only get
900
+ # custom MAIL FROM attributes for up to 100 identities at a time.
901
+ # @option params [required, Array<String>] :identities
902
+ # A list of one or more identities.
903
+ # @return [Types::GetIdentityMailFromDomainAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
904
+ #
905
+ # * {Types::GetIdentityMailFromDomainAttributesResponse#mail_from_domain_attributes #MailFromDomainAttributes} => Hash&lt;String,Types::IdentityMailFromDomainAttributes&gt;
906
+ #
907
+ # @example Request syntax with placeholder values
908
+ # resp = client.get_identity_mail_from_domain_attributes({
909
+ # identities: ["Identity"], # required
910
+ # })
911
+ #
912
+ # @example Response structure
913
+ # resp.mail_from_domain_attributes #=> Hash
914
+ # resp.mail_from_domain_attributes["Identity"].mail_from_domain #=> String
915
+ # resp.mail_from_domain_attributes["Identity"].mail_from_domain_status #=> String, one of "Pending", "Success", "Failed", "TemporaryFailure"
916
+ # resp.mail_from_domain_attributes["Identity"].behavior_on_mx_failure #=> String, one of "UseDefaultValue", "RejectMessage"
917
+ # @overload get_identity_mail_from_domain_attributes(params = {})
918
+ # @param [Hash] params ({})
919
+ def get_identity_mail_from_domain_attributes(params = {}, options = {})
920
+ req = build_request(:get_identity_mail_from_domain_attributes, params)
921
+ req.send_request(options)
922
+ end
923
+
924
+ # Given a list of verified identities (email addresses and/or domains),
925
+ # returns a structure describing identity notification attributes.
926
+ #
927
+ # This action is throttled at one request per second and can only get
928
+ # notification attributes for up to 100 identities at a time.
929
+ #
930
+ # For more information about using notifications with Amazon SES, see
931
+ # the [Amazon SES Developer Guide][1].
932
+ #
933
+ #
934
+ #
935
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html
936
+ # @option params [required, Array<String>] :identities
937
+ # A list of one or more identities. You can specify an identity by using
938
+ # its name or by using its Amazon Resource Name (ARN). Examples:
939
+ # `user@example.com`, `example.com`,
940
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`.
941
+ # @return [Types::GetIdentityNotificationAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
942
+ #
943
+ # * {Types::GetIdentityNotificationAttributesResponse#notification_attributes #NotificationAttributes} => Hash&lt;String,Types::IdentityNotificationAttributes&gt;
944
+ #
945
+ # @example Request syntax with placeholder values
946
+ # resp = client.get_identity_notification_attributes({
947
+ # identities: ["Identity"], # required
948
+ # })
949
+ #
950
+ # @example Response structure
951
+ # resp.notification_attributes #=> Hash
952
+ # resp.notification_attributes["Identity"].bounce_topic #=> String
953
+ # resp.notification_attributes["Identity"].complaint_topic #=> String
954
+ # resp.notification_attributes["Identity"].delivery_topic #=> String
955
+ # resp.notification_attributes["Identity"].forwarding_enabled #=> Boolean
956
+ # resp.notification_attributes["Identity"].headers_in_bounce_notifications_enabled #=> Boolean
957
+ # resp.notification_attributes["Identity"].headers_in_complaint_notifications_enabled #=> Boolean
958
+ # resp.notification_attributes["Identity"].headers_in_delivery_notifications_enabled #=> Boolean
959
+ # @overload get_identity_notification_attributes(params = {})
960
+ # @param [Hash] params ({})
961
+ def get_identity_notification_attributes(params = {}, options = {})
962
+ req = build_request(:get_identity_notification_attributes, params)
963
+ req.send_request(options)
964
+ end
965
+
966
+ # Returns the requested sending authorization policies for the given
967
+ # identity (an email address or a domain). The policies are returned as
968
+ # a map of policy names to policy contents. You can retrieve a maximum
969
+ # of 20 policies at a time.
970
+ #
971
+ # <note markdown="1"> This API is for the identity owner only. If you have not verified the
972
+ # identity, this API will return an error.
973
+ #
974
+ # </note>
975
+ #
976
+ # Sending authorization is a feature that enables an identity owner to
977
+ # authorize other senders to use its identities. For information about
978
+ # using sending authorization, see the [Amazon SES Developer Guide][1].
979
+ #
980
+ # This action is throttled at one request per second.
981
+ #
982
+ #
983
+ #
984
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
985
+ # @option params [required, String] :identity
986
+ # The identity for which the policies will be retrieved. You can specify
987
+ # an identity by using its name or by using its Amazon Resource Name
988
+ # (ARN). Examples: `user@example.com`, `example.com`,
989
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`.
990
+ #
991
+ # To successfully call this API, you must own the identity.
992
+ # @option params [required, Array<String>] :policy_names
993
+ # A list of the names of policies to be retrieved. You can retrieve a
994
+ # maximum of 20 policies at a time. If you do not know the names of the
995
+ # policies that are attached to the identity, you can use
996
+ # `ListIdentityPolicies`.
997
+ # @return [Types::GetIdentityPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
998
+ #
999
+ # * {Types::GetIdentityPoliciesResponse#policies #Policies} => Hash&lt;String,String&gt;
1000
+ #
1001
+ # @example Request syntax with placeholder values
1002
+ # resp = client.get_identity_policies({
1003
+ # identity: "Identity", # required
1004
+ # policy_names: ["PolicyName"], # required
1005
+ # })
1006
+ #
1007
+ # @example Response structure
1008
+ # resp.policies #=> Hash
1009
+ # resp.policies["PolicyName"] #=> String
1010
+ # @overload get_identity_policies(params = {})
1011
+ # @param [Hash] params ({})
1012
+ def get_identity_policies(params = {}, options = {})
1013
+ req = build_request(:get_identity_policies, params)
1014
+ req.send_request(options)
1015
+ end
1016
+
1017
+ # Given a list of identities (email addresses and/or domains), returns
1018
+ # the verification status and (for domain identities) the verification
1019
+ # token for each identity.
1020
+ #
1021
+ # This action is throttled at one request per second and can only get
1022
+ # verification attributes for up to 100 identities at a time.
1023
+ # @option params [required, Array<String>] :identities
1024
+ # A list of identities.
1025
+ # @return [Types::GetIdentityVerificationAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1026
+ #
1027
+ # * {Types::GetIdentityVerificationAttributesResponse#verification_attributes #VerificationAttributes} => Hash&lt;String,Types::IdentityVerificationAttributes&gt;
1028
+ #
1029
+ # @example Request syntax with placeholder values
1030
+ # resp = client.get_identity_verification_attributes({
1031
+ # identities: ["Identity"], # required
1032
+ # })
1033
+ #
1034
+ # @example Response structure
1035
+ # resp.verification_attributes #=> Hash
1036
+ # resp.verification_attributes["Identity"].verification_status #=> String, one of "Pending", "Success", "Failed", "TemporaryFailure", "NotStarted"
1037
+ # resp.verification_attributes["Identity"].verification_token #=> String
1038
+ # @overload get_identity_verification_attributes(params = {})
1039
+ # @param [Hash] params ({})
1040
+ def get_identity_verification_attributes(params = {}, options = {})
1041
+ req = build_request(:get_identity_verification_attributes, params)
1042
+ req.send_request(options)
1043
+ end
1044
+
1045
+ # Returns the user's current sending limits.
1046
+ #
1047
+ # This action is throttled at one request per second.
1048
+ # @return [Types::GetSendQuotaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1049
+ #
1050
+ # * {Types::GetSendQuotaResponse#max_24_hour_send #Max24HourSend} => Float
1051
+ # * {Types::GetSendQuotaResponse#max_send_rate #MaxSendRate} => Float
1052
+ # * {Types::GetSendQuotaResponse#sent_last_24_hours #SentLast24Hours} => Float
1053
+ #
1054
+ # @example Response structure
1055
+ # resp.max_24_hour_send #=> Float
1056
+ # resp.max_send_rate #=> Float
1057
+ # resp.sent_last_24_hours #=> Float
1058
+ # @overload get_send_quota(params = {})
1059
+ # @param [Hash] params ({})
1060
+ def get_send_quota(params = {}, options = {})
1061
+ req = build_request(:get_send_quota, params)
1062
+ req.send_request(options)
1063
+ end
1064
+
1065
+ # Returns the user's sending statistics. The result is a list of data
1066
+ # points, representing the last two weeks of sending activity.
1067
+ #
1068
+ # Each data point in the list contains statistics for a 15-minute
1069
+ # interval.
1070
+ #
1071
+ # This action is throttled at one request per second.
1072
+ # @return [Types::GetSendStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1073
+ #
1074
+ # * {Types::GetSendStatisticsResponse#send_data_points #SendDataPoints} => Array&lt;Types::SendDataPoint&gt;
1075
+ #
1076
+ # @example Response structure
1077
+ # resp.send_data_points #=> Array
1078
+ # resp.send_data_points[0].timestamp #=> Time
1079
+ # resp.send_data_points[0].delivery_attempts #=> Integer
1080
+ # resp.send_data_points[0].bounces #=> Integer
1081
+ # resp.send_data_points[0].complaints #=> Integer
1082
+ # resp.send_data_points[0].rejects #=> Integer
1083
+ # @overload get_send_statistics(params = {})
1084
+ # @param [Hash] params ({})
1085
+ def get_send_statistics(params = {}, options = {})
1086
+ req = build_request(:get_send_statistics, params)
1087
+ req.send_request(options)
1088
+ end
1089
+
1090
+ # Lists the configuration sets associated with your AWS account.
1091
+ #
1092
+ # Configuration sets enable you to publish email sending events. For
1093
+ # information about using configuration sets, see the [Amazon SES
1094
+ # Developer Guide][1].
1095
+ #
1096
+ # This action is throttled at one request per second and can return up
1097
+ # to 50 configuration sets at a time.
1098
+ #
1099
+ #
1100
+ #
1101
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
1102
+ # @option params [String] :next_token
1103
+ # A token returned from a previous call to `ListConfigurationSets` to
1104
+ # indicate the position of the configuration set in the configuration
1105
+ # set list.
1106
+ # @option params [Integer] :max_items
1107
+ # The number of configuration sets to return.
1108
+ # @return [Types::ListConfigurationSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1109
+ #
1110
+ # * {Types::ListConfigurationSetsResponse#configuration_sets #ConfigurationSets} => Array&lt;Types::ConfigurationSet&gt;
1111
+ # * {Types::ListConfigurationSetsResponse#next_token #NextToken} => String
1112
+ #
1113
+ # @example Request syntax with placeholder values
1114
+ # resp = client.list_configuration_sets({
1115
+ # next_token: "NextToken",
1116
+ # max_items: 1,
1117
+ # })
1118
+ #
1119
+ # @example Response structure
1120
+ # resp.configuration_sets #=> Array
1121
+ # resp.configuration_sets[0].name #=> String
1122
+ # resp.next_token #=> String
1123
+ # @overload list_configuration_sets(params = {})
1124
+ # @param [Hash] params ({})
1125
+ def list_configuration_sets(params = {}, options = {})
1126
+ req = build_request(:list_configuration_sets, params)
1127
+ req.send_request(options)
1128
+ end
1129
+
1130
+ # Returns a list containing all of the identities (email addresses and
1131
+ # domains) for your AWS account, regardless of verification status.
1132
+ #
1133
+ # This action is throttled at one request per second.
1134
+ # @option params [String] :identity_type
1135
+ # The type of the identities to list. Possible values are
1136
+ # "EmailAddress" and "Domain". If this parameter is omitted, then
1137
+ # all identities will be listed.
1138
+ # @option params [String] :next_token
1139
+ # The token to use for pagination.
1140
+ # @option params [Integer] :max_items
1141
+ # The maximum number of identities per page. Possible values are 1-1000
1142
+ # inclusive.
1143
+ # @return [Types::ListIdentitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1144
+ #
1145
+ # * {Types::ListIdentitiesResponse#identities #Identities} => Array&lt;String&gt;
1146
+ # * {Types::ListIdentitiesResponse#next_token #NextToken} => String
1147
+ #
1148
+ # @example Request syntax with placeholder values
1149
+ # resp = client.list_identities({
1150
+ # identity_type: "EmailAddress", # accepts EmailAddress, Domain
1151
+ # next_token: "NextToken",
1152
+ # max_items: 1,
1153
+ # })
1154
+ #
1155
+ # @example Response structure
1156
+ # resp.identities #=> Array
1157
+ # resp.identities[0] #=> String
1158
+ # resp.next_token #=> String
1159
+ # @overload list_identities(params = {})
1160
+ # @param [Hash] params ({})
1161
+ def list_identities(params = {}, options = {})
1162
+ req = build_request(:list_identities, params)
1163
+ req.send_request(options)
1164
+ end
1165
+
1166
+ # Returns a list of sending authorization policies that are attached to
1167
+ # the given identity (an email address or a domain). This API returns
1168
+ # only a list. If you want the actual policy content, you can use
1169
+ # `GetIdentityPolicies`.
1170
+ #
1171
+ # <note markdown="1"> This API is for the identity owner only. If you have not verified the
1172
+ # identity, this API will return an error.
1173
+ #
1174
+ # </note>
1175
+ #
1176
+ # Sending authorization is a feature that enables an identity owner to
1177
+ # authorize other senders to use its identities. For information about
1178
+ # using sending authorization, see the [Amazon SES Developer Guide][1].
1179
+ #
1180
+ # This action is throttled at one request per second.
1181
+ #
1182
+ #
1183
+ #
1184
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1185
+ # @option params [required, String] :identity
1186
+ # The identity that is associated with the policy for which the policies
1187
+ # will be listed. You can specify an identity by using its name or by
1188
+ # using its Amazon Resource Name (ARN). Examples: `user@example.com`,
1189
+ # `example.com`,
1190
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`.
1191
+ #
1192
+ # To successfully call this API, you must own the identity.
1193
+ # @return [Types::ListIdentityPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1194
+ #
1195
+ # * {Types::ListIdentityPoliciesResponse#policy_names #PolicyNames} => Array&lt;String&gt;
1196
+ #
1197
+ # @example Request syntax with placeholder values
1198
+ # resp = client.list_identity_policies({
1199
+ # identity: "Identity", # required
1200
+ # })
1201
+ #
1202
+ # @example Response structure
1203
+ # resp.policy_names #=> Array
1204
+ # resp.policy_names[0] #=> String
1205
+ # @overload list_identity_policies(params = {})
1206
+ # @param [Hash] params ({})
1207
+ def list_identity_policies(params = {}, options = {})
1208
+ req = build_request(:list_identity_policies, params)
1209
+ req.send_request(options)
1210
+ end
1211
+
1212
+ # Lists the IP address filters associated with your AWS account.
1213
+ #
1214
+ # For information about managing IP address filters, see the [Amazon SES
1215
+ # Developer Guide][1].
1216
+ #
1217
+ # This action is throttled at one request per second.
1218
+ #
1219
+ #
1220
+ #
1221
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html
1222
+ # @return [Types::ListReceiptFiltersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1223
+ #
1224
+ # * {Types::ListReceiptFiltersResponse#filters #Filters} => Array&lt;Types::ReceiptFilter&gt;
1225
+ #
1226
+ # @example Request syntax with placeholder values
1227
+ # resp = client.list_receipt_filters()
1228
+ #
1229
+ # @example Response structure
1230
+ # resp.filters #=> Array
1231
+ # resp.filters[0].name #=> String
1232
+ # resp.filters[0].ip_filter.policy #=> String, one of "Block", "Allow"
1233
+ # resp.filters[0].ip_filter.cidr #=> String
1234
+ # @overload list_receipt_filters(params = {})
1235
+ # @param [Hash] params ({})
1236
+ def list_receipt_filters(params = {}, options = {})
1237
+ req = build_request(:list_receipt_filters, params)
1238
+ req.send_request(options)
1239
+ end
1240
+
1241
+ # Lists the receipt rule sets that exist under your AWS account. If
1242
+ # there are additional receipt rule sets to be retrieved, you will
1243
+ # receive a `NextToken` that you can provide to the next call to
1244
+ # `ListReceiptRuleSets` to retrieve the additional entries.
1245
+ #
1246
+ # For information about managing receipt rule sets, see the [Amazon SES
1247
+ # Developer Guide][1].
1248
+ #
1249
+ # This action is throttled at one request per second.
1250
+ #
1251
+ #
1252
+ #
1253
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html
1254
+ # @option params [String] :next_token
1255
+ # A token returned from a previous call to `ListReceiptRuleSets` to
1256
+ # indicate the position in the receipt rule set list.
1257
+ # @return [Types::ListReceiptRuleSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1258
+ #
1259
+ # * {Types::ListReceiptRuleSetsResponse#rule_sets #RuleSets} => Array&lt;Types::ReceiptRuleSetMetadata&gt;
1260
+ # * {Types::ListReceiptRuleSetsResponse#next_token #NextToken} => String
1261
+ #
1262
+ # @example Request syntax with placeholder values
1263
+ # resp = client.list_receipt_rule_sets({
1264
+ # next_token: "NextToken",
1265
+ # })
1266
+ #
1267
+ # @example Response structure
1268
+ # resp.rule_sets #=> Array
1269
+ # resp.rule_sets[0].name #=> String
1270
+ # resp.rule_sets[0].created_timestamp #=> Time
1271
+ # resp.next_token #=> String
1272
+ # @overload list_receipt_rule_sets(params = {})
1273
+ # @param [Hash] params ({})
1274
+ def list_receipt_rule_sets(params = {}, options = {})
1275
+ req = build_request(:list_receipt_rule_sets, params)
1276
+ req.send_request(options)
1277
+ end
1278
+
1279
+ # Returns a list containing all of the email addresses that have been
1280
+ # verified.
1281
+ #
1282
+ # The ListVerifiedEmailAddresses action is deprecated as of the May 15,
1283
+ # 2012 release of Domain Verification. The ListIdentities action is now
1284
+ # preferred.
1285
+ #
1286
+ # This action is throttled at one request per second.
1287
+ # @return [Types::ListVerifiedEmailAddressesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1288
+ #
1289
+ # * {Types::ListVerifiedEmailAddressesResponse#verified_email_addresses #VerifiedEmailAddresses} => Array&lt;String&gt;
1290
+ #
1291
+ # @example Response structure
1292
+ # resp.verified_email_addresses #=> Array
1293
+ # resp.verified_email_addresses[0] #=> String
1294
+ # @overload list_verified_email_addresses(params = {})
1295
+ # @param [Hash] params ({})
1296
+ def list_verified_email_addresses(params = {}, options = {})
1297
+ req = build_request(:list_verified_email_addresses, params)
1298
+ req.send_request(options)
1299
+ end
1300
+
1301
+ # Adds or updates a sending authorization policy for the specified
1302
+ # identity (an email address or a domain).
1303
+ #
1304
+ # <note markdown="1"> This API is for the identity owner only. If you have not verified the
1305
+ # identity, this API will return an error.
1306
+ #
1307
+ # </note>
1308
+ #
1309
+ # Sending authorization is a feature that enables an identity owner to
1310
+ # authorize other senders to use its identities. For information about
1311
+ # using sending authorization, see the [Amazon SES Developer Guide][1].
1312
+ #
1313
+ # This action is throttled at one request per second.
1314
+ #
1315
+ #
1316
+ #
1317
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1318
+ # @option params [required, String] :identity
1319
+ # The identity to which the policy will apply. You can specify an
1320
+ # identity by using its name or by using its Amazon Resource Name (ARN).
1321
+ # Examples: `user@example.com`, `example.com`,
1322
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`.
1323
+ #
1324
+ # To successfully call this API, you must own the identity.
1325
+ # @option params [required, String] :policy_name
1326
+ # The name of the policy.
1327
+ #
1328
+ # The policy name cannot exceed 64 characters and can only include
1329
+ # alphanumeric characters, dashes, and underscores.
1330
+ # @option params [required, String] :policy
1331
+ # The text of the policy in JSON format. The policy cannot exceed 4 KB.
1332
+ #
1333
+ # For information about the syntax of sending authorization policies,
1334
+ # see the [Amazon SES Developer Guide][1].
1335
+ #
1336
+ #
1337
+ #
1338
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html
1339
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1340
+ #
1341
+ # @example Request syntax with placeholder values
1342
+ # resp = client.put_identity_policy({
1343
+ # identity: "Identity", # required
1344
+ # policy_name: "PolicyName", # required
1345
+ # policy: "Policy", # required
1346
+ # })
1347
+ # @overload put_identity_policy(params = {})
1348
+ # @param [Hash] params ({})
1349
+ def put_identity_policy(params = {}, options = {})
1350
+ req = build_request(:put_identity_policy, params)
1351
+ req.send_request(options)
1352
+ end
1353
+
1354
+ # Reorders the receipt rules within a receipt rule set.
1355
+ #
1356
+ # <note markdown="1"> All of the rules in the rule set must be represented in this request.
1357
+ # That is, this API will return an error if the reorder request doesn't
1358
+ # explicitly position all of the rules.
1359
+ #
1360
+ # </note>
1361
+ #
1362
+ # For information about managing receipt rule sets, see the [Amazon SES
1363
+ # Developer Guide][1].
1364
+ #
1365
+ # This action is throttled at one request per second.
1366
+ #
1367
+ #
1368
+ #
1369
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html
1370
+ # @option params [required, String] :rule_set_name
1371
+ # The name of the receipt rule set to reorder.
1372
+ # @option params [required, Array<String>] :rule_names
1373
+ # A list of the specified receipt rule set's receipt rules in the order
1374
+ # that you want to put them.
1375
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1376
+ #
1377
+ # @example Request syntax with placeholder values
1378
+ # resp = client.reorder_receipt_rule_set({
1379
+ # rule_set_name: "ReceiptRuleSetName", # required
1380
+ # rule_names: ["ReceiptRuleName"], # required
1381
+ # })
1382
+ # @overload reorder_receipt_rule_set(params = {})
1383
+ # @param [Hash] params ({})
1384
+ def reorder_receipt_rule_set(params = {}, options = {})
1385
+ req = build_request(:reorder_receipt_rule_set, params)
1386
+ req.send_request(options)
1387
+ end
1388
+
1389
+ # Generates and sends a bounce message to the sender of an email you
1390
+ # received through Amazon SES. You can only use this API on an email up
1391
+ # to 24 hours after you receive it.
1392
+ #
1393
+ # <note markdown="1"> You cannot use this API to send generic bounces for mail that was not
1394
+ # received by Amazon SES.
1395
+ #
1396
+ # </note>
1397
+ #
1398
+ # For information about receiving email through Amazon SES, see the
1399
+ # [Amazon SES Developer Guide][1].
1400
+ #
1401
+ # This action is throttled at one request per second.
1402
+ #
1403
+ #
1404
+ #
1405
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html
1406
+ # @option params [required, String] :original_message_id
1407
+ # The message ID of the message to be bounced.
1408
+ # @option params [required, String] :bounce_sender
1409
+ # The address to use in the "From" header of the bounce message. This
1410
+ # must be an identity that you have verified with Amazon SES.
1411
+ # @option params [String] :explanation
1412
+ # Human-readable text for the bounce message to explain the failure. If
1413
+ # not specified, the text will be auto-generated based on the bounced
1414
+ # recipient information.
1415
+ # @option params [Types::MessageDsn] :message_dsn
1416
+ # Message-related DSN fields. If not specified, Amazon SES will choose
1417
+ # the values.
1418
+ # @option params [required, Array<Types::BouncedRecipientInfo>] :bounced_recipient_info_list
1419
+ # A list of recipients of the bounced message, including the information
1420
+ # required to create the Delivery Status Notifications (DSNs) for the
1421
+ # recipients. You must specify at least one `BouncedRecipientInfo` in
1422
+ # the list.
1423
+ # @option params [String] :bounce_sender_arn
1424
+ # This parameter is used only for sending authorization. It is the ARN
1425
+ # of the identity that is associated with the sending authorization
1426
+ # policy that permits you to use the address in the "From" header of
1427
+ # the bounce. For more information about sending authorization, see the
1428
+ # [Amazon SES Developer Guide][1].
1429
+ #
1430
+ #
1431
+ #
1432
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1433
+ # @return [Types::SendBounceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1434
+ #
1435
+ # * {Types::SendBounceResponse#message_id #MessageId} => String
1436
+ #
1437
+ # @example Request syntax with placeholder values
1438
+ # resp = client.send_bounce({
1439
+ # original_message_id: "MessageId", # required
1440
+ # bounce_sender: "Address", # required
1441
+ # explanation: "Explanation",
1442
+ # message_dsn: {
1443
+ # reporting_mta: "ReportingMta", # required
1444
+ # arrival_date: Time.now,
1445
+ # extension_fields: [
1446
+ # {
1447
+ # name: "ExtensionFieldName", # required
1448
+ # value: "ExtensionFieldValue", # required
1449
+ # },
1450
+ # ],
1451
+ # },
1452
+ # bounced_recipient_info_list: [ # required
1453
+ # {
1454
+ # recipient: "Address", # required
1455
+ # recipient_arn: "AmazonResourceName",
1456
+ # bounce_type: "DoesNotExist", # accepts DoesNotExist, MessageTooLarge, ExceededQuota, ContentRejected, Undefined, TemporaryFailure
1457
+ # recipient_dsn_fields: {
1458
+ # final_recipient: "Address",
1459
+ # action: "failed", # required, accepts failed, delayed, delivered, relayed, expanded
1460
+ # remote_mta: "RemoteMta",
1461
+ # status: "DsnStatus", # required
1462
+ # diagnostic_code: "DiagnosticCode",
1463
+ # last_attempt_date: Time.now,
1464
+ # extension_fields: [
1465
+ # {
1466
+ # name: "ExtensionFieldName", # required
1467
+ # value: "ExtensionFieldValue", # required
1468
+ # },
1469
+ # ],
1470
+ # },
1471
+ # },
1472
+ # ],
1473
+ # bounce_sender_arn: "AmazonResourceName",
1474
+ # })
1475
+ #
1476
+ # @example Response structure
1477
+ # resp.message_id #=> String
1478
+ # @overload send_bounce(params = {})
1479
+ # @param [Hash] params ({})
1480
+ def send_bounce(params = {}, options = {})
1481
+ req = build_request(:send_bounce, params)
1482
+ req.send_request(options)
1483
+ end
1484
+
1485
+ # Composes an email message based on input data, and then immediately
1486
+ # queues the message for sending.
1487
+ #
1488
+ # There are several important points to know about `SendEmail`\:
1489
+ #
1490
+ # * You can only send email from verified email addresses and domains;
1491
+ # otherwise, you will get an "Email address not verified" error. If
1492
+ # your account is still in the Amazon SES sandbox, you must also
1493
+ # verify every recipient email address except for the recipients
1494
+ # provided by the Amazon SES mailbox simulator. For more information,
1495
+ # go to the [Amazon SES Developer Guide][1].
1496
+ #
1497
+ # * The total size of the message cannot exceed 10 MB. This includes any
1498
+ # attachments that are part of the message.
1499
+ #
1500
+ # * Amazon SES has a limit on the total number of recipients per
1501
+ # message. The combined number of To:, CC: and BCC: email addresses
1502
+ # cannot exceed 50. If you need to send an email message to a larger
1503
+ # audience, you can divide your recipient list into groups of 50 or
1504
+ # fewer, and then call Amazon SES repeatedly to send the message to
1505
+ # each group.
1506
+ #
1507
+ # * For every message that you send, the total number of recipients
1508
+ # (To:, CC: and BCC:) is counted against your sending quota - the
1509
+ # maximum number of emails you can send in a 24-hour period. For
1510
+ # information about your sending quota, go to the [Amazon SES
1511
+ # Developer Guide][2].
1512
+ #
1513
+ #
1514
+ #
1515
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
1516
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html
1517
+ # @option params [required, String] :source
1518
+ # The email address that is sending the email. This email address must
1519
+ # be either individually verified with Amazon SES, or from a domain that
1520
+ # has been verified with Amazon SES. For information about verifying
1521
+ # identities, see the [Amazon SES Developer Guide][1].
1522
+ #
1523
+ # If you are sending on behalf of another user and have been permitted
1524
+ # to do so by a sending authorization policy, then you must also specify
1525
+ # the `SourceArn` parameter. For more information about sending
1526
+ # authorization, see the [Amazon SES Developer Guide][2].
1527
+ #
1528
+ # In all cases, the email address must be 7-bit ASCII. If the text must
1529
+ # contain any other characters, then you must use MIME encoded-word
1530
+ # syntax (RFC 2047) instead of a literal string. MIME encoded-word
1531
+ # syntax uses the following form: `=?charset?encoding?encoded-text?=`.
1532
+ # For more information, see [RFC 2047][3].
1533
+ #
1534
+ #
1535
+ #
1536
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
1537
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1538
+ # [3]: http://tools.ietf.org/html/rfc2047
1539
+ # @option params [required, Types::Destination] :destination
1540
+ # The destination for this email, composed of To:, CC:, and BCC: fields.
1541
+ # @option params [required, Types::Message] :message
1542
+ # The message to be sent.
1543
+ # @option params [Array<String>] :reply_to_addresses
1544
+ # The reply-to email address(es) for the message. If the recipient
1545
+ # replies to the message, each reply-to address will receive the reply.
1546
+ # @option params [String] :return_path
1547
+ # The email address to which bounces and complaints are to be forwarded
1548
+ # when feedback forwarding is enabled. If the message cannot be
1549
+ # delivered to the recipient, then an error message will be returned
1550
+ # from the recipient's ISP; this message will then be forwarded to the
1551
+ # email address specified by the `ReturnPath` parameter. The
1552
+ # `ReturnPath` parameter is never overwritten. This email address must
1553
+ # be either individually verified with Amazon SES, or from a domain that
1554
+ # has been verified with Amazon SES.
1555
+ # @option params [String] :source_arn
1556
+ # This parameter is used only for sending authorization. It is the ARN
1557
+ # of the identity that is associated with the sending authorization
1558
+ # policy that permits you to send for the email address specified in the
1559
+ # `Source` parameter.
1560
+ #
1561
+ # For example, if the owner of `example.com` (which has ARN
1562
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches a
1563
+ # policy to it that authorizes you to send from `user@example.com`, then
1564
+ # you would specify the `SourceArn` to be
1565
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
1566
+ # `Source` to be `user@example.com`.
1567
+ #
1568
+ # For more information about sending authorization, see the [Amazon SES
1569
+ # Developer Guide][1].
1570
+ #
1571
+ #
1572
+ #
1573
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1574
+ # @option params [String] :return_path_arn
1575
+ # This parameter is used only for sending authorization. It is the ARN
1576
+ # of the identity that is associated with the sending authorization
1577
+ # policy that permits you to use the email address specified in the
1578
+ # `ReturnPath` parameter.
1579
+ #
1580
+ # For example, if the owner of `example.com` (which has ARN
1581
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches a
1582
+ # policy to it that authorizes you to use `feedback@example.com`, then
1583
+ # you would specify the `ReturnPathArn` to be
1584
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
1585
+ # `ReturnPath` to be `feedback@example.com`.
1586
+ #
1587
+ # For more information about sending authorization, see the [Amazon SES
1588
+ # Developer Guide][1].
1589
+ #
1590
+ #
1591
+ #
1592
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1593
+ # @option params [Array<Types::MessageTag>] :tags
1594
+ # A list of tags, in the form of name/value pairs, to apply to an email
1595
+ # that you send using `SendEmail`. Tags correspond to characteristics of
1596
+ # the email that you define, so that you can publish email sending
1597
+ # events.
1598
+ # @option params [String] :configuration_set_name
1599
+ # The name of the configuration set to use when you send an email using
1600
+ # `SendEmail`.
1601
+ # @return [Types::SendEmailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1602
+ #
1603
+ # * {Types::SendEmailResponse#message_id #MessageId} => String
1604
+ #
1605
+ # @example Request syntax with placeholder values
1606
+ # resp = client.send_email({
1607
+ # source: "Address", # required
1608
+ # destination: { # required
1609
+ # to_addresses: ["Address"],
1610
+ # cc_addresses: ["Address"],
1611
+ # bcc_addresses: ["Address"],
1612
+ # },
1613
+ # message: { # required
1614
+ # subject: { # required
1615
+ # data: "MessageData", # required
1616
+ # charset: "Charset",
1617
+ # },
1618
+ # body: { # required
1619
+ # text: {
1620
+ # data: "MessageData", # required
1621
+ # charset: "Charset",
1622
+ # },
1623
+ # html: {
1624
+ # data: "MessageData", # required
1625
+ # charset: "Charset",
1626
+ # },
1627
+ # },
1628
+ # },
1629
+ # reply_to_addresses: ["Address"],
1630
+ # return_path: "Address",
1631
+ # source_arn: "AmazonResourceName",
1632
+ # return_path_arn: "AmazonResourceName",
1633
+ # tags: [
1634
+ # {
1635
+ # name: "MessageTagName", # required
1636
+ # value: "MessageTagValue", # required
1637
+ # },
1638
+ # ],
1639
+ # configuration_set_name: "ConfigurationSetName",
1640
+ # })
1641
+ #
1642
+ # @example Response structure
1643
+ # resp.message_id #=> String
1644
+ # @overload send_email(params = {})
1645
+ # @param [Hash] params ({})
1646
+ def send_email(params = {}, options = {})
1647
+ req = build_request(:send_email, params)
1648
+ req.send_request(options)
1649
+ end
1650
+
1651
+ # Sends an email message, with header and content specified by the
1652
+ # client. The `SendRawEmail` action is useful for sending multipart MIME
1653
+ # emails. The raw text of the message must comply with Internet email
1654
+ # standards; otherwise, the message cannot be sent.
1655
+ #
1656
+ # There are several important points to know about `SendRawEmail`\:
1657
+ #
1658
+ # * You can only send email from verified email addresses and domains;
1659
+ # otherwise, you will get an "Email address not verified" error. If
1660
+ # your account is still in the Amazon SES sandbox, you must also
1661
+ # verify every recipient email address except for the recipients
1662
+ # provided by the Amazon SES mailbox simulator. For more information,
1663
+ # go to the [Amazon SES Developer Guide][1].
1664
+ #
1665
+ # * The total size of the message cannot exceed 10 MB. This includes any
1666
+ # attachments that are part of the message.
1667
+ #
1668
+ # * Amazon SES has a limit on the total number of recipients per
1669
+ # message. The combined number of To:, CC: and BCC: email addresses
1670
+ # cannot exceed 50. If you need to send an email message to a larger
1671
+ # audience, you can divide your recipient list into groups of 50 or
1672
+ # fewer, and then call Amazon SES repeatedly to send the message to
1673
+ # each group.
1674
+ #
1675
+ # * The To:, CC:, and BCC: headers in the raw message can contain a
1676
+ # group list. Note that each recipient in a group list counts towards
1677
+ # the 50-recipient limit.
1678
+ #
1679
+ # * Amazon SES overrides any Message-ID and Date headers you provide.
1680
+ #
1681
+ # * For every message that you send, the total number of recipients
1682
+ # (To:, CC: and BCC:) is counted against your sending quota - the
1683
+ # maximum number of emails you can send in a 24-hour period. For
1684
+ # information about your sending quota, go to the [Amazon SES
1685
+ # Developer Guide][2].
1686
+ #
1687
+ # * If you are using sending authorization to send on behalf of another
1688
+ # user, `SendRawEmail` enables you to specify the cross-account
1689
+ # identity for the email's "Source," "From," and "Return-Path"
1690
+ # parameters in one of two ways: you can pass optional parameters
1691
+ # `SourceArn`, `FromArn`, and/or `ReturnPathArn` to the API, or you
1692
+ # can include the following X-headers in the header of your raw email:
1693
+ #
1694
+ # * `X-SES-SOURCE-ARN`
1695
+ #
1696
+ # * `X-SES-FROM-ARN`
1697
+ #
1698
+ # * `X-SES-RETURN-PATH-ARN`
1699
+ #
1700
+ # Do not include these X-headers in the DKIM signature, because they
1701
+ # are removed by Amazon SES before sending the email.
1702
+ #
1703
+ # For the most common sending authorization use case, we recommend
1704
+ # that you specify the `SourceIdentityArn` and do not specify either
1705
+ # the `FromIdentityArn` or `ReturnPathIdentityArn`. (The same note
1706
+ # applies to the corresponding X-headers.) If you only specify the
1707
+ # `SourceIdentityArn`, Amazon SES will simply set the "From" address
1708
+ # and the "Return Path" address to the identity specified in
1709
+ # `SourceIdentityArn`. For more information about sending
1710
+ # authorization, see the [Amazon SES Developer Guide][3].
1711
+ #
1712
+ #
1713
+ #
1714
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
1715
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html
1716
+ # [3]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
1717
+ # @option params [String] :source
1718
+ # The identity's email address. If you do not provide a value for this
1719
+ # parameter, you must specify a "From" address in the raw text of the
1720
+ # message. (You can also specify both.)
1721
+ #
1722
+ # By default, the string must be 7-bit ASCII. If the text must contain
1723
+ # any other characters, then you must use MIME encoded-word syntax (RFC
1724
+ # 2047) instead of a literal string. MIME encoded-word syntax uses the
1725
+ # following form: `=?charset?encoding?encoded-text?=`. For more
1726
+ # information, see [RFC 2047][1].
1727
+ #
1728
+ # <note markdown="1"> If you specify the `Source` parameter and have feedback forwarding
1729
+ # enabled, then bounces and complaints will be sent to this email
1730
+ # address. This takes precedence over any *Return-Path* header that you
1731
+ # might include in the raw text of the message.
1732
+ #
1733
+ # </note>
1734
+ #
1735
+ #
1736
+ #
1737
+ # [1]: http://tools.ietf.org/html/rfc2047
1738
+ # @option params [Array<String>] :destinations
1739
+ # A list of destinations for the message, consisting of To:, CC:, and
1740
+ # BCC: addresses.
1741
+ # @option params [required, Types::RawMessage] :raw_message
1742
+ # The raw text of the message. The client is responsible for ensuring
1743
+ # the following:
1744
+ #
1745
+ # * Message must contain a header and a body, separated by a blank line.
1746
+ #
1747
+ # * All required header fields must be present.
1748
+ #
1749
+ # * Each part of a multipart MIME message must be formatted properly.
1750
+ #
1751
+ # * MIME content types must be among those supported by Amazon SES. For
1752
+ # more information, go to the [Amazon SES Developer Guide][1].
1753
+ #
1754
+ # * Must be base64-encoded.
1755
+ #
1756
+ #
1757
+ #
1758
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html
1759
+ # @option params [String] :from_arn
1760
+ # This parameter is used only for sending authorization. It is the ARN
1761
+ # of the identity that is associated with the sending authorization
1762
+ # policy that permits you to specify a particular "From" address in
1763
+ # the header of the raw email.
1764
+ #
1765
+ # Instead of using this parameter, you can use the X-header
1766
+ # `X-SES-FROM-ARN` in the raw message of the email. If you use both the
1767
+ # `FromArn` parameter and the corresponding X-header, Amazon SES uses
1768
+ # the value of the `FromArn` parameter.
1769
+ #
1770
+ # <note markdown="1"> For information about when to use this parameter, see the description
1771
+ # of `SendRawEmail` in this guide, or see the [Amazon SES Developer
1772
+ # Guide][1].
1773
+ #
1774
+ # </note>
1775
+ #
1776
+ #
1777
+ #
1778
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html
1779
+ # @option params [String] :source_arn
1780
+ # This parameter is used only for sending authorization. It is the ARN
1781
+ # of the identity that is associated with the sending authorization
1782
+ # policy that permits you to send for the email address specified in the
1783
+ # `Source` parameter.
1784
+ #
1785
+ # For example, if the owner of `example.com` (which has ARN
1786
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches a
1787
+ # policy to it that authorizes you to send from `user@example.com`, then
1788
+ # you would specify the `SourceArn` to be
1789
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
1790
+ # `Source` to be `user@example.com`.
1791
+ #
1792
+ # Instead of using this parameter, you can use the X-header
1793
+ # `X-SES-SOURCE-ARN` in the raw message of the email. If you use both
1794
+ # the `SourceArn` parameter and the corresponding X-header, Amazon SES
1795
+ # uses the value of the `SourceArn` parameter.
1796
+ #
1797
+ # <note markdown="1"> For information about when to use this parameter, see the description
1798
+ # of `SendRawEmail` in this guide, or see the [Amazon SES Developer
1799
+ # Guide][1].
1800
+ #
1801
+ # </note>
1802
+ #
1803
+ #
1804
+ #
1805
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html
1806
+ # @option params [String] :return_path_arn
1807
+ # This parameter is used only for sending authorization. It is the ARN
1808
+ # of the identity that is associated with the sending authorization
1809
+ # policy that permits you to use the email address specified in the
1810
+ # `ReturnPath` parameter.
1811
+ #
1812
+ # For example, if the owner of `example.com` (which has ARN
1813
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches a
1814
+ # policy to it that authorizes you to use `feedback@example.com`, then
1815
+ # you would specify the `ReturnPathArn` to be
1816
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
1817
+ # `ReturnPath` to be `feedback@example.com`.
1818
+ #
1819
+ # Instead of using this parameter, you can use the X-header
1820
+ # `X-SES-RETURN-PATH-ARN` in the raw message of the email. If you use
1821
+ # both the `ReturnPathArn` parameter and the corresponding X-header,
1822
+ # Amazon SES uses the value of the `ReturnPathArn` parameter.
1823
+ #
1824
+ # <note markdown="1"> For information about when to use this parameter, see the description
1825
+ # of `SendRawEmail` in this guide, or see the [Amazon SES Developer
1826
+ # Guide][1].
1827
+ #
1828
+ # </note>
1829
+ #
1830
+ #
1831
+ #
1832
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html
1833
+ # @option params [Array<Types::MessageTag>] :tags
1834
+ # A list of tags, in the form of name/value pairs, to apply to an email
1835
+ # that you send using `SendRawEmail`. Tags correspond to characteristics
1836
+ # of the email that you define, so that you can publish email sending
1837
+ # events.
1838
+ # @option params [String] :configuration_set_name
1839
+ # The name of the configuration set to use when you send an email using
1840
+ # `SendRawEmail`.
1841
+ # @return [Types::SendRawEmailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1842
+ #
1843
+ # * {Types::SendRawEmailResponse#message_id #MessageId} => String
1844
+ #
1845
+ # @example Request syntax with placeholder values
1846
+ # resp = client.send_raw_email({
1847
+ # source: "Address",
1848
+ # destinations: ["Address"],
1849
+ # raw_message: { # required
1850
+ # data: "data", # required
1851
+ # },
1852
+ # from_arn: "AmazonResourceName",
1853
+ # source_arn: "AmazonResourceName",
1854
+ # return_path_arn: "AmazonResourceName",
1855
+ # tags: [
1856
+ # {
1857
+ # name: "MessageTagName", # required
1858
+ # value: "MessageTagValue", # required
1859
+ # },
1860
+ # ],
1861
+ # configuration_set_name: "ConfigurationSetName",
1862
+ # })
1863
+ #
1864
+ # @example Response structure
1865
+ # resp.message_id #=> String
1866
+ # @overload send_raw_email(params = {})
1867
+ # @param [Hash] params ({})
1868
+ def send_raw_email(params = {}, options = {})
1869
+ req = build_request(:send_raw_email, params)
1870
+ req.send_request(options)
1871
+ end
1872
+
1873
+ # Sets the specified receipt rule set as the active receipt rule set.
1874
+ #
1875
+ # <note markdown="1"> To disable your email-receiving through Amazon SES completely, you can
1876
+ # call this API with RuleSetName set to null.
1877
+ #
1878
+ # </note>
1879
+ #
1880
+ # For information about managing receipt rule sets, see the [Amazon SES
1881
+ # Developer Guide][1].
1882
+ #
1883
+ # This action is throttled at one request per second.
1884
+ #
1885
+ #
1886
+ #
1887
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html
1888
+ # @option params [String] :rule_set_name
1889
+ # The name of the receipt rule set to make active. Setting this value to
1890
+ # null disables all email receiving.
1891
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1892
+ #
1893
+ # @example Request syntax with placeholder values
1894
+ # resp = client.set_active_receipt_rule_set({
1895
+ # rule_set_name: "ReceiptRuleSetName",
1896
+ # })
1897
+ # @overload set_active_receipt_rule_set(params = {})
1898
+ # @param [Hash] params ({})
1899
+ def set_active_receipt_rule_set(params = {}, options = {})
1900
+ req = build_request(:set_active_receipt_rule_set, params)
1901
+ req.send_request(options)
1902
+ end
1903
+
1904
+ # Enables or disables Easy DKIM signing of email sent from an identity:
1905
+ #
1906
+ # * If Easy DKIM signing is enabled for a domain name identity (e.g.,
1907
+ # `example.com`), then Amazon SES will DKIM-sign all email sent by
1908
+ # addresses under that domain name (e.g., `user@example.com`).
1909
+ #
1910
+ # * If Easy DKIM signing is enabled for an email address, then Amazon
1911
+ # SES will DKIM-sign all email sent by that email address.
1912
+ #
1913
+ # For email addresses (e.g., `user@example.com`), you can only enable
1914
+ # Easy DKIM signing if the corresponding domain (e.g., `example.com`)
1915
+ # has been set up for Easy DKIM using the AWS Console or the
1916
+ # `VerifyDomainDkim` action.
1917
+ #
1918
+ # This action is throttled at one request per second.
1919
+ #
1920
+ # For more information about Easy DKIM signing, go to the [Amazon SES
1921
+ # Developer Guide][1].
1922
+ #
1923
+ #
1924
+ #
1925
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html
1926
+ # @option params [required, String] :identity
1927
+ # The identity for which DKIM signing should be enabled or disabled.
1928
+ # @option params [required, Boolean] :dkim_enabled
1929
+ # Sets whether DKIM signing is enabled for an identity. Set to `true` to
1930
+ # enable DKIM signing for this identity; `false` to disable it.
1931
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1932
+ #
1933
+ # @example Request syntax with placeholder values
1934
+ # resp = client.set_identity_dkim_enabled({
1935
+ # identity: "Identity", # required
1936
+ # dkim_enabled: false, # required
1937
+ # })
1938
+ # @overload set_identity_dkim_enabled(params = {})
1939
+ # @param [Hash] params ({})
1940
+ def set_identity_dkim_enabled(params = {}, options = {})
1941
+ req = build_request(:set_identity_dkim_enabled, params)
1942
+ req.send_request(options)
1943
+ end
1944
+
1945
+ # Given an identity (an email address or a domain), enables or disables
1946
+ # whether Amazon SES forwards bounce and complaint notifications as
1947
+ # email. Feedback forwarding can only be disabled when Amazon Simple
1948
+ # Notification Service (Amazon SNS) topics are specified for both
1949
+ # bounces and complaints.
1950
+ #
1951
+ # <note markdown="1"> Feedback forwarding does not apply to delivery notifications. Delivery
1952
+ # notifications are only available through Amazon SNS.
1953
+ #
1954
+ # </note>
1955
+ #
1956
+ # This action is throttled at one request per second.
1957
+ #
1958
+ # For more information about using notifications with Amazon SES, see
1959
+ # the [Amazon SES Developer Guide][1].
1960
+ #
1961
+ #
1962
+ #
1963
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html
1964
+ # @option params [required, String] :identity
1965
+ # The identity for which to set bounce and complaint notification
1966
+ # forwarding. Examples: `user@example.com`, `example.com`.
1967
+ # @option params [required, Boolean] :forwarding_enabled
1968
+ # Sets whether Amazon SES will forward bounce and complaint
1969
+ # notifications as email. `true` specifies that Amazon SES will forward
1970
+ # bounce and complaint notifications as email, in addition to any Amazon
1971
+ # SNS topic publishing otherwise specified. `false` specifies that
1972
+ # Amazon SES will publish bounce and complaint notifications only
1973
+ # through Amazon SNS. This value can only be set to `false` when Amazon
1974
+ # SNS topics are set for both `Bounce` and `Complaint` notification
1975
+ # types.
1976
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1977
+ #
1978
+ # @example Request syntax with placeholder values
1979
+ # resp = client.set_identity_feedback_forwarding_enabled({
1980
+ # identity: "Identity", # required
1981
+ # forwarding_enabled: false, # required
1982
+ # })
1983
+ # @overload set_identity_feedback_forwarding_enabled(params = {})
1984
+ # @param [Hash] params ({})
1985
+ def set_identity_feedback_forwarding_enabled(params = {}, options = {})
1986
+ req = build_request(:set_identity_feedback_forwarding_enabled, params)
1987
+ req.send_request(options)
1988
+ end
1989
+
1990
+ # Given an identity (an email address or a domain), sets whether Amazon
1991
+ # SES includes the original email headers in the Amazon Simple
1992
+ # Notification Service (Amazon SNS) notifications of a specified type.
1993
+ #
1994
+ # This action is throttled at one request per second.
1995
+ #
1996
+ # For more information about using notifications with Amazon SES, see
1997
+ # the [Amazon SES Developer Guide][1].
1998
+ #
1999
+ #
2000
+ #
2001
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html
2002
+ # @option params [required, String] :identity
2003
+ # The identity for which to enable or disable headers in notifications.
2004
+ # Examples: `user@example.com`, `example.com`.
2005
+ # @option params [required, String] :notification_type
2006
+ # The notification type for which to enable or disable headers in
2007
+ # notifications.
2008
+ # @option params [required, Boolean] :enabled
2009
+ # Sets whether Amazon SES includes the original email headers in Amazon
2010
+ # SNS notifications of the specified notification type. A value of
2011
+ # `true` specifies that Amazon SES will include headers in
2012
+ # notifications, and a value of `false` specifies that Amazon SES will
2013
+ # not include headers in notifications.
2014
+ #
2015
+ # This value can only be set when `NotificationType` is already set to
2016
+ # use a particular Amazon SNS topic.
2017
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2018
+ #
2019
+ # @example Request syntax with placeholder values
2020
+ # resp = client.set_identity_headers_in_notifications_enabled({
2021
+ # identity: "Identity", # required
2022
+ # notification_type: "Bounce", # required, accepts Bounce, Complaint, Delivery
2023
+ # enabled: false, # required
2024
+ # })
2025
+ # @overload set_identity_headers_in_notifications_enabled(params = {})
2026
+ # @param [Hash] params ({})
2027
+ def set_identity_headers_in_notifications_enabled(params = {}, options = {})
2028
+ req = build_request(:set_identity_headers_in_notifications_enabled, params)
2029
+ req.send_request(options)
2030
+ end
2031
+
2032
+ # Enables or disables the custom MAIL FROM domain setup for a verified
2033
+ # identity (an email address or a domain).
2034
+ #
2035
+ # To send emails using the specified MAIL FROM domain, you must add an
2036
+ # MX record to your MAIL FROM domain's DNS settings. If you want your
2037
+ # emails to pass Sender Policy Framework (SPF) checks, you must also add
2038
+ # or update an SPF record. For more information, see the [Amazon SES
2039
+ # Developer Guide][1].
2040
+ #
2041
+ # This action is throttled at one request per second.
2042
+ #
2043
+ #
2044
+ #
2045
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html
2046
+ # @option params [required, String] :identity
2047
+ # The verified identity for which you want to enable or disable the
2048
+ # specified custom MAIL FROM domain.
2049
+ # @option params [String] :mail_from_domain
2050
+ # The custom MAIL FROM domain that you want the verified identity to
2051
+ # use. The MAIL FROM domain must 1) be a subdomain of the verified
2052
+ # identity, 2) not be used in a "From" address if the MAIL FROM domain
2053
+ # is the destination of email feedback forwarding (for more information,
2054
+ # see the [Amazon SES Developer Guide][1]), and 3) not be used to
2055
+ # receive emails. A value of `null` disables the custom MAIL FROM
2056
+ # setting for the identity.
2057
+ #
2058
+ #
2059
+ #
2060
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html
2061
+ # @option params [String] :behavior_on_mx_failure
2062
+ # The action that you want Amazon SES to take if it cannot successfully
2063
+ # read the required MX record when you send an email. If you choose
2064
+ # `UseDefaultValue`, Amazon SES will use amazonses.com (or a subdomain
2065
+ # of that) as the MAIL FROM domain. If you choose `RejectMessage`,
2066
+ # Amazon SES will return a `MailFromDomainNotVerified` error and not
2067
+ # send the email.
2068
+ #
2069
+ # The action specified in `BehaviorOnMXFailure` is taken when the custom
2070
+ # MAIL FROM domain setup is in the `Pending`, `Failed`, and
2071
+ # `TemporaryFailure` states.
2072
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2073
+ #
2074
+ # @example Request syntax with placeholder values
2075
+ # resp = client.set_identity_mail_from_domain({
2076
+ # identity: "Identity", # required
2077
+ # mail_from_domain: "MailFromDomainName",
2078
+ # behavior_on_mx_failure: "UseDefaultValue", # accepts UseDefaultValue, RejectMessage
2079
+ # })
2080
+ # @overload set_identity_mail_from_domain(params = {})
2081
+ # @param [Hash] params ({})
2082
+ def set_identity_mail_from_domain(params = {}, options = {})
2083
+ req = build_request(:set_identity_mail_from_domain, params)
2084
+ req.send_request(options)
2085
+ end
2086
+
2087
+ # Given an identity (an email address or a domain), sets the Amazon
2088
+ # Simple Notification Service (Amazon SNS) topic to which Amazon SES
2089
+ # will publish bounce, complaint, and/or delivery notifications for
2090
+ # emails sent with that identity as the `Source`.
2091
+ #
2092
+ # <note markdown="1"> Unless feedback forwarding is enabled, you must specify Amazon SNS
2093
+ # topics for bounce and complaint notifications. For more information,
2094
+ # see `SetIdentityFeedbackForwardingEnabled`.
2095
+ #
2096
+ # </note>
2097
+ #
2098
+ # This action is throttled at one request per second.
2099
+ #
2100
+ # For more information about feedback notification, see the [Amazon SES
2101
+ # Developer Guide][1].
2102
+ #
2103
+ #
2104
+ #
2105
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html
2106
+ # @option params [required, String] :identity
2107
+ # The identity for which the Amazon SNS topic will be set. You can
2108
+ # specify an identity by using its name or by using its Amazon Resource
2109
+ # Name (ARN). Examples: `user@example.com`, `example.com`,
2110
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`.
2111
+ # @option params [required, String] :notification_type
2112
+ # The type of notifications that will be published to the specified
2113
+ # Amazon SNS topic.
2114
+ # @option params [String] :sns_topic
2115
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic. If the
2116
+ # parameter is omitted from the request or a null value is passed,
2117
+ # `SnsTopic` is cleared and publishing is disabled.
2118
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2119
+ #
2120
+ # @example Request syntax with placeholder values
2121
+ # resp = client.set_identity_notification_topic({
2122
+ # identity: "Identity", # required
2123
+ # notification_type: "Bounce", # required, accepts Bounce, Complaint, Delivery
2124
+ # sns_topic: "NotificationTopic",
2125
+ # })
2126
+ # @overload set_identity_notification_topic(params = {})
2127
+ # @param [Hash] params ({})
2128
+ def set_identity_notification_topic(params = {}, options = {})
2129
+ req = build_request(:set_identity_notification_topic, params)
2130
+ req.send_request(options)
2131
+ end
2132
+
2133
+ # Sets the position of the specified receipt rule in the receipt rule
2134
+ # set.
2135
+ #
2136
+ # For information about managing receipt rules, see the [Amazon SES
2137
+ # Developer Guide][1].
2138
+ #
2139
+ # This action is throttled at one request per second.
2140
+ #
2141
+ #
2142
+ #
2143
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html
2144
+ # @option params [required, String] :rule_set_name
2145
+ # The name of the receipt rule set that contains the receipt rule to
2146
+ # reposition.
2147
+ # @option params [required, String] :rule_name
2148
+ # The name of the receipt rule to reposition.
2149
+ # @option params [String] :after
2150
+ # The name of the receipt rule after which to place the specified
2151
+ # receipt rule.
2152
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2153
+ #
2154
+ # @example Request syntax with placeholder values
2155
+ # resp = client.set_receipt_rule_position({
2156
+ # rule_set_name: "ReceiptRuleSetName", # required
2157
+ # rule_name: "ReceiptRuleName", # required
2158
+ # after: "ReceiptRuleName",
2159
+ # })
2160
+ # @overload set_receipt_rule_position(params = {})
2161
+ # @param [Hash] params ({})
2162
+ def set_receipt_rule_position(params = {}, options = {})
2163
+ req = build_request(:set_receipt_rule_position, params)
2164
+ req.send_request(options)
2165
+ end
2166
+
2167
+ # Updates the event destination of a configuration set.
2168
+ #
2169
+ # <note markdown="1"> When you create or update an event destination, you must provide one,
2170
+ # and only one, destination. The destination can be either Amazon
2171
+ # CloudWatch or Amazon Kinesis Firehose.
2172
+ #
2173
+ # </note>
2174
+ #
2175
+ # Event destinations are associated with configuration sets, which
2176
+ # enable you to publish email sending events to Amazon CloudWatch or
2177
+ # Amazon Kinesis Firehose. For information about using configuration
2178
+ # sets, see the [Amazon SES Developer Guide][1].
2179
+ #
2180
+ # This action is throttled at one request per second.
2181
+ #
2182
+ #
2183
+ #
2184
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
2185
+ # @option params [required, String] :configuration_set_name
2186
+ # The name of the configuration set that you want to update.
2187
+ # @option params [required, Types::EventDestination] :event_destination
2188
+ # The event destination object that you want to apply to the specified
2189
+ # configuration set.
2190
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2191
+ #
2192
+ # @example Request syntax with placeholder values
2193
+ # resp = client.update_configuration_set_event_destination({
2194
+ # configuration_set_name: "ConfigurationSetName", # required
2195
+ # event_destination: { # required
2196
+ # name: "EventDestinationName", # required
2197
+ # enabled: false,
2198
+ # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery
2199
+ # kinesis_firehose_destination: {
2200
+ # iam_role_arn: "AmazonResourceName", # required
2201
+ # delivery_stream_arn: "AmazonResourceName", # required
2202
+ # },
2203
+ # cloud_watch_destination: {
2204
+ # dimension_configurations: [ # required
2205
+ # {
2206
+ # dimension_name: "DimensionName", # required
2207
+ # dimension_value_source: "messageTag", # required, accepts messageTag, emailHeader
2208
+ # default_dimension_value: "DefaultDimensionValue", # required
2209
+ # },
2210
+ # ],
2211
+ # },
2212
+ # },
2213
+ # })
2214
+ # @overload update_configuration_set_event_destination(params = {})
2215
+ # @param [Hash] params ({})
2216
+ def update_configuration_set_event_destination(params = {}, options = {})
2217
+ req = build_request(:update_configuration_set_event_destination, params)
2218
+ req.send_request(options)
2219
+ end
2220
+
2221
+ # Updates a receipt rule.
2222
+ #
2223
+ # For information about managing receipt rules, see the [Amazon SES
2224
+ # Developer Guide][1].
2225
+ #
2226
+ # This action is throttled at one request per second.
2227
+ #
2228
+ #
2229
+ #
2230
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html
2231
+ # @option params [required, String] :rule_set_name
2232
+ # The name of the receipt rule set to which the receipt rule belongs.
2233
+ # @option params [required, Types::ReceiptRule] :rule
2234
+ # A data structure that contains the updated receipt rule information.
2235
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2236
+ #
2237
+ # @example Request syntax with placeholder values
2238
+ # resp = client.update_receipt_rule({
2239
+ # rule_set_name: "ReceiptRuleSetName", # required
2240
+ # rule: { # required
2241
+ # name: "ReceiptRuleName", # required
2242
+ # enabled: false,
2243
+ # tls_policy: "Require", # accepts Require, Optional
2244
+ # recipients: ["Recipient"],
2245
+ # actions: [
2246
+ # {
2247
+ # s3_action: {
2248
+ # topic_arn: "AmazonResourceName",
2249
+ # bucket_name: "S3BucketName", # required
2250
+ # object_key_prefix: "S3KeyPrefix",
2251
+ # kms_key_arn: "AmazonResourceName",
2252
+ # },
2253
+ # bounce_action: {
2254
+ # topic_arn: "AmazonResourceName",
2255
+ # smtp_reply_code: "BounceSmtpReplyCode", # required
2256
+ # status_code: "BounceStatusCode",
2257
+ # message: "BounceMessage", # required
2258
+ # sender: "Address", # required
2259
+ # },
2260
+ # workmail_action: {
2261
+ # topic_arn: "AmazonResourceName",
2262
+ # organization_arn: "AmazonResourceName", # required
2263
+ # },
2264
+ # lambda_action: {
2265
+ # topic_arn: "AmazonResourceName",
2266
+ # function_arn: "AmazonResourceName", # required
2267
+ # invocation_type: "Event", # accepts Event, RequestResponse
2268
+ # },
2269
+ # stop_action: {
2270
+ # scope: "RuleSet", # required, accepts RuleSet
2271
+ # topic_arn: "AmazonResourceName",
2272
+ # },
2273
+ # add_header_action: {
2274
+ # header_name: "HeaderName", # required
2275
+ # header_value: "HeaderValue", # required
2276
+ # },
2277
+ # sns_action: {
2278
+ # topic_arn: "AmazonResourceName", # required
2279
+ # encoding: "UTF-8", # accepts UTF-8, Base64
2280
+ # },
2281
+ # },
2282
+ # ],
2283
+ # scan_enabled: false,
2284
+ # },
2285
+ # })
2286
+ # @overload update_receipt_rule(params = {})
2287
+ # @param [Hash] params ({})
2288
+ def update_receipt_rule(params = {}, options = {})
2289
+ req = build_request(:update_receipt_rule, params)
2290
+ req.send_request(options)
2291
+ end
2292
+
2293
+ # Returns a set of DKIM tokens for a domain. DKIM *tokens* are character
2294
+ # strings that represent your domain's identity. Using these tokens,
2295
+ # you will need to create DNS CNAME records that point to DKIM public
2296
+ # keys hosted by Amazon SES. Amazon Web Services will eventually detect
2297
+ # that you have updated your DNS records; this detection process may
2298
+ # take up to 72 hours. Upon successful detection, Amazon SES will be
2299
+ # able to DKIM-sign email originating from that domain.
2300
+ #
2301
+ # This action is throttled at one request per second.
2302
+ #
2303
+ # To enable or disable Easy DKIM signing for a domain, use the
2304
+ # `SetIdentityDkimEnabled` action.
2305
+ #
2306
+ # For more information about creating DNS records using DKIM tokens, go
2307
+ # to the [Amazon SES Developer Guide][1].
2308
+ #
2309
+ #
2310
+ #
2311
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html
2312
+ # @option params [required, String] :domain
2313
+ # The name of the domain to be verified for Easy DKIM signing.
2314
+ # @return [Types::VerifyDomainDkimResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2315
+ #
2316
+ # * {Types::VerifyDomainDkimResponse#dkim_tokens #DkimTokens} => Array&lt;String&gt;
2317
+ #
2318
+ # @example Request syntax with placeholder values
2319
+ # resp = client.verify_domain_dkim({
2320
+ # domain: "Domain", # required
2321
+ # })
2322
+ #
2323
+ # @example Response structure
2324
+ # resp.dkim_tokens #=> Array
2325
+ # resp.dkim_tokens[0] #=> String
2326
+ # @overload verify_domain_dkim(params = {})
2327
+ # @param [Hash] params ({})
2328
+ def verify_domain_dkim(params = {}, options = {})
2329
+ req = build_request(:verify_domain_dkim, params)
2330
+ req.send_request(options)
2331
+ end
2332
+
2333
+ # Verifies a domain.
2334
+ #
2335
+ # This action is throttled at one request per second.
2336
+ # @option params [required, String] :domain
2337
+ # The domain to be verified.
2338
+ # @return [Types::VerifyDomainIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2339
+ #
2340
+ # * {Types::VerifyDomainIdentityResponse#verification_token #VerificationToken} => String
2341
+ #
2342
+ # @example Request syntax with placeholder values
2343
+ # resp = client.verify_domain_identity({
2344
+ # domain: "Domain", # required
2345
+ # })
2346
+ #
2347
+ # @example Response structure
2348
+ # resp.verification_token #=> String
2349
+ # @overload verify_domain_identity(params = {})
2350
+ # @param [Hash] params ({})
2351
+ def verify_domain_identity(params = {}, options = {})
2352
+ req = build_request(:verify_domain_identity, params)
2353
+ req.send_request(options)
2354
+ end
2355
+
2356
+ # Verifies an email address. This action causes a confirmation email
2357
+ # message to be sent to the specified address.
2358
+ #
2359
+ # The VerifyEmailAddress action is deprecated as of the May 15, 2012
2360
+ # release of Domain Verification. The VerifyEmailIdentity action is now
2361
+ # preferred.
2362
+ #
2363
+ # This action is throttled at one request per second.
2364
+ # @option params [required, String] :email_address
2365
+ # The email address to be verified.
2366
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2367
+ #
2368
+ # @example Request syntax with placeholder values
2369
+ # resp = client.verify_email_address({
2370
+ # email_address: "Address", # required
2371
+ # })
2372
+ # @overload verify_email_address(params = {})
2373
+ # @param [Hash] params ({})
2374
+ def verify_email_address(params = {}, options = {})
2375
+ req = build_request(:verify_email_address, params)
2376
+ req.send_request(options)
2377
+ end
2378
+
2379
+ # Verifies an email address. This action causes a confirmation email
2380
+ # message to be sent to the specified address.
2381
+ #
2382
+ # This action is throttled at one request per second.
2383
+ # @option params [required, String] :email_address
2384
+ # The email address to be verified.
2385
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2386
+ #
2387
+ # @example Request syntax with placeholder values
2388
+ # resp = client.verify_email_identity({
2389
+ # email_address: "Address", # required
2390
+ # })
2391
+ # @overload verify_email_identity(params = {})
2392
+ # @param [Hash] params ({})
2393
+ def verify_email_identity(params = {}, options = {})
2394
+ req = build_request(:verify_email_identity, params)
2395
+ req.send_request(options)
2396
+ end
2397
+
2398
+ # @!endgroup
2399
+
2400
+ # @param params ({})
2401
+ # @api private
2402
+ def build_request(operation_name, params = {})
2403
+ handlers = @handlers.for(operation_name)
2404
+ context = Seahorse::Client::RequestContext.new(
2405
+ operation_name: operation_name,
2406
+ operation: config.api.operation(operation_name),
2407
+ client: self,
2408
+ params: params,
2409
+ config: config)
2410
+ context[:gem_name] = 'aws-sdk-ses'
2411
+ context[:gem_version] = '1.0.0.rc1'
2412
+ Seahorse::Client::Request.new(handlers, context)
2413
+ end
2414
+
2415
+ # Polls an API operation until a resource enters a desired state.
2416
+ #
2417
+ # ## Basic Usage
2418
+ #
2419
+ # A waiter will call an API operation until:
2420
+ #
2421
+ # * It is successful
2422
+ # * It enters a terminal state
2423
+ # * It makes the maximum number of attempts
2424
+ #
2425
+ # In between attempts, the waiter will sleep.
2426
+ #
2427
+ # # polls in a loop, sleeping between attempts
2428
+ # client.waiter_until(waiter_name, params)
2429
+ #
2430
+ # ## Configuration
2431
+ #
2432
+ # You can configure the maximum number of polling attempts, and the
2433
+ # delay (in seconds) between each polling attempt. You can pass
2434
+ # configuration as the final arguments hash.
2435
+ #
2436
+ # # poll for ~25 seconds
2437
+ # client.wait_until(waiter_name, params, {
2438
+ # max_attempts: 5,
2439
+ # delay: 5,
2440
+ # })
2441
+ #
2442
+ # ## Callbacks
2443
+ #
2444
+ # You can be notified before each polling attempt and before each
2445
+ # delay. If you throw `:success` or `:failure` from these callbacks,
2446
+ # it will terminate the waiter.
2447
+ #
2448
+ # started_at = Time.now
2449
+ # client.wait_until(waiter_name, params, {
2450
+ #
2451
+ # # disable max attempts
2452
+ # max_attempts: nil,
2453
+ #
2454
+ # # poll for 1 hour, instead of a number of attempts
2455
+ # before_wait: -> (attempts, response) do
2456
+ # throw :failure if Time.now - started_at > 3600
2457
+ # end
2458
+ # })
2459
+ #
2460
+ # ## Handling Errors
2461
+ #
2462
+ # When a waiter is unsuccessful, it will raise an error.
2463
+ # All of the failure errors extend from
2464
+ # {Aws::Waiters::Errors::WaiterFailed}.
2465
+ #
2466
+ # begin
2467
+ # client.wait_until(...)
2468
+ # rescue Aws::Waiters::Errors::WaiterFailed
2469
+ # # resource did not enter the desired state in time
2470
+ # end
2471
+ #
2472
+ # ## Valid Waiters
2473
+ #
2474
+ # The following table lists the valid waiter names, the operations they call,
2475
+ # and the default `:delay` and `:max_attempts` values.
2476
+ #
2477
+ # | waiter_name | params | :delay | :max_attempts |
2478
+ # | --------------- | --------------------------------------- | -------- | ------------- |
2479
+ # | identity_exists | {#get_identity_verification_attributes} | 3 | 20 |
2480
+ #
2481
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
2482
+ # because the waiter has entered a state that it will not transition
2483
+ # out of, preventing success.
2484
+ #
2485
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
2486
+ # maximum number of attempts have been made, and the waiter is not
2487
+ # yet successful.
2488
+ #
2489
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
2490
+ # while polling for a resource that is not expected.
2491
+ #
2492
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
2493
+ # for an unknown state.
2494
+ #
2495
+ # @return [Boolean] Returns `true` if the waiter was successful.
2496
+ # @param [Symbol] waiter_name
2497
+ # @param [Hash] params ({})
2498
+ # @param [Hash] options ({})
2499
+ # @option options [Integer] :max_attempts
2500
+ # @option options [Integer] :delay
2501
+ # @option options [Proc] :before_attempt
2502
+ # @option options [Proc] :before_wait
2503
+ def wait_until(waiter_name, params = {}, options = {})
2504
+ w = waiter(waiter_name, options)
2505
+ yield(w.waiter) if block_given? # deprecated
2506
+ w.wait(params)
2507
+ end
2508
+
2509
+ # @api private
2510
+ # @deprecated
2511
+ def waiter_names
2512
+ waiters.keys
2513
+ end
2514
+
2515
+ private
2516
+
2517
+ # @param [Symbol] waiter_name
2518
+ # @param [Hash] options ({})
2519
+ def waiter(waiter_name, options = {})
2520
+ waiter_class = waiters[waiter_name]
2521
+ if waiter_class
2522
+ waiter_class.new(options.merge(client: self))
2523
+ else
2524
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
2525
+ end
2526
+ end
2527
+
2528
+ def waiters
2529
+ {
2530
+ identity_exists: Waiters::IdentityExists
2531
+ }
2532
+ end
2533
+
2534
+ class << self
2535
+
2536
+ # @api private
2537
+ attr_reader :identifier
2538
+
2539
+ # @api private
2540
+ def errors_module
2541
+ Errors
2542
+ end
2543
+
2544
+ end
2545
+ end
2546
+ end
2547
+ end