aws-sdk-ses 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 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