aws-sdk-pinpointemail 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 64914380bfe7e0e1aedc904728d3124d2b09dc94
4
+ data.tar.gz: a3a6abf1151864be4d14f6b8a818ec2a2ec6ecf0
5
+ SHA512:
6
+ metadata.gz: 4696a3994fefeac458a13396a0d059ee5225369a530d772bf77009fb80917adb317ba5139f8b56681cf768c4ce467238ed150f2e670711b365a2abe6387e6d60
7
+ data.tar.gz: b79131fd3727ac7fcaf63dba3cf9c319843932b15a13c73484949488c9962291357c68394d79d4eec79caf68ef797e92e225fc8bea330a80b0239096f9fa98cc
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-pinpointemail/types'
12
+ require_relative 'aws-sdk-pinpointemail/client_api'
13
+ require_relative 'aws-sdk-pinpointemail/client'
14
+ require_relative 'aws-sdk-pinpointemail/errors'
15
+ require_relative 'aws-sdk-pinpointemail/resource'
16
+ require_relative 'aws-sdk-pinpointemail/customizations'
17
+
18
+ # This module provides support for Amazon Pinpoint Email Service. This module is available in the
19
+ # `aws-sdk-pinpointemail` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Pinpoint Email Service all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::PinpointEmail::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::PinpointEmail
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1438 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/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/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
23
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
24
+ require 'aws-sdk-core/plugins/signature_v4.rb'
25
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
26
+
27
+ Aws::Plugins::GlobalConfiguration.add_identifier(:pinpointemail)
28
+
29
+ module Aws::PinpointEmail
30
+ class Client < Seahorse::Client::Base
31
+
32
+ include Aws::ClientStubs
33
+
34
+ @identifier = :pinpointemail
35
+
36
+ set_api(ClientApi::API)
37
+
38
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
39
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
40
+ add_plugin(Aws::Plugins::Logging)
41
+ add_plugin(Aws::Plugins::ParamConverter)
42
+ add_plugin(Aws::Plugins::ParamValidator)
43
+ add_plugin(Aws::Plugins::UserAgent)
44
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
45
+ add_plugin(Aws::Plugins::RetryErrors)
46
+ add_plugin(Aws::Plugins::GlobalConfiguration)
47
+ add_plugin(Aws::Plugins::RegionalEndpoint)
48
+ add_plugin(Aws::Plugins::ResponsePaging)
49
+ add_plugin(Aws::Plugins::StubResponses)
50
+ add_plugin(Aws::Plugins::IdempotencyToken)
51
+ add_plugin(Aws::Plugins::JsonvalueConverter)
52
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
53
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
54
+ add_plugin(Aws::Plugins::SignatureV4)
55
+ add_plugin(Aws::Plugins::Protocols::RestJson)
56
+
57
+ # @overload initialize(options)
58
+ # @param [Hash] options
59
+ # @option options [required, Aws::CredentialProvider] :credentials
60
+ # Your AWS credentials. This can be an instance of any one of the
61
+ # following classes:
62
+ #
63
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
64
+ # credentials.
65
+ #
66
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
67
+ # from an EC2 IMDS on an EC2 instance.
68
+ #
69
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
70
+ # shared file, such as `~/.aws/config`.
71
+ #
72
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
73
+ #
74
+ # When `:credentials` are not configured directly, the following
75
+ # locations will be searched for credentials:
76
+ #
77
+ # * `Aws.config[:credentials]`
78
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
79
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
80
+ # * `~/.aws/credentials`
81
+ # * `~/.aws/config`
82
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
83
+ # very aggressive. Construct and pass an instance of
84
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
85
+ # timeouts.
86
+ #
87
+ # @option options [required, String] :region
88
+ # The AWS region to connect to. The configured `:region` is
89
+ # used to determine the service `:endpoint`. When not passed,
90
+ # a default `:region` is search for in the following locations:
91
+ #
92
+ # * `Aws.config[:region]`
93
+ # * `ENV['AWS_REGION']`
94
+ # * `ENV['AMAZON_REGION']`
95
+ # * `ENV['AWS_DEFAULT_REGION']`
96
+ # * `~/.aws/credentials`
97
+ # * `~/.aws/config`
98
+ #
99
+ # @option options [String] :access_key_id
100
+ #
101
+ # @option options [Boolean] :client_side_monitoring (false)
102
+ # When `true`, client-side metrics will be collected for all API requests from
103
+ # this client.
104
+ #
105
+ # @option options [String] :client_side_monitoring_client_id ("")
106
+ # Allows you to provide an identifier for this client which will be attached to
107
+ # all generated client side metrics. Defaults to an empty string.
108
+ #
109
+ # @option options [Integer] :client_side_monitoring_port (31000)
110
+ # Required for publishing client metrics. The port that the client side monitoring
111
+ # agent is running on, where client metrics will be published via UDP.
112
+ #
113
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
114
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
115
+ # will use the Client Side Monitoring Agent Publisher.
116
+ #
117
+ # @option options [Boolean] :convert_params (true)
118
+ # When `true`, an attempt is made to coerce request parameters into
119
+ # the required types.
120
+ #
121
+ # @option options [String] :endpoint
122
+ # The client endpoint is normally constructed from the `:region`
123
+ # option. You should only configure an `:endpoint` when connecting
124
+ # to test endpoints. This should be avalid HTTP(S) URI.
125
+ #
126
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
127
+ # The log formatter.
128
+ #
129
+ # @option options [Symbol] :log_level (:info)
130
+ # The log level to send messages to the `:logger` at.
131
+ #
132
+ # @option options [Logger] :logger
133
+ # The Logger instance to send log messages to. If this option
134
+ # is not set, logging will be disabled.
135
+ #
136
+ # @option options [String] :profile ("default")
137
+ # Used when loading credentials from the shared credentials file
138
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
139
+ #
140
+ # @option options [Float] :retry_base_delay (0.3)
141
+ # The base delay in seconds used by the default backoff function.
142
+ #
143
+ # @option options [Symbol] :retry_jitter (:none)
144
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
145
+ #
146
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
147
+ #
148
+ # @option options [Integer] :retry_limit (3)
149
+ # The maximum number of times to retry failed requests. Only
150
+ # ~ 500 level server errors and certain ~ 400 level client errors
151
+ # are retried. Generally, these are throttling errors, data
152
+ # checksum errors, networking errors, timeout errors and auth
153
+ # errors from expired credentials.
154
+ #
155
+ # @option options [Integer] :retry_max_delay (0)
156
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
157
+ #
158
+ # @option options [String] :secret_access_key
159
+ #
160
+ # @option options [String] :session_token
161
+ #
162
+ # @option options [Boolean] :stub_responses (false)
163
+ # Causes the client to return stubbed responses. By default
164
+ # fake responses are generated and returned. You can specify
165
+ # the response data to return or errors to raise by calling
166
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
167
+ #
168
+ # ** Please note ** When response stubbing is enabled, no HTTP
169
+ # requests are made, and retries are disabled.
170
+ #
171
+ # @option options [Boolean] :validate_params (true)
172
+ # When `true`, request parameters are validated before
173
+ # sending the request.
174
+ #
175
+ def initialize(*args)
176
+ super
177
+ end
178
+
179
+ # @!group API Operations
180
+
181
+ # Create a configuration set. *Configuration sets* are groups of rules
182
+ # that you can apply to the emails you send using Amazon Pinpoint. You
183
+ # apply a configuration set to an email by including a reference to the
184
+ # configuration set in the headers of the email. When you apply a
185
+ # configuration set to an email, all of the rules in that configuration
186
+ # set are applied to the email.
187
+ #
188
+ # @option params [String] :configuration_set_name
189
+ # The name of the configuration set.
190
+ #
191
+ # @option params [Types::TrackingOptions] :tracking_options
192
+ # An object that defines the open and click tracking options for emails
193
+ # that you send using the configuration set.
194
+ #
195
+ # @option params [Types::DeliveryOptions] :delivery_options
196
+ # An object that defines the dedicated IP pool that is used to send
197
+ # emails that you send using the configuration set.
198
+ #
199
+ # @option params [Types::ReputationOptions] :reputation_options
200
+ # An object that defines whether or not Amazon Pinpoint collects
201
+ # reputation metrics for the emails that you send that use the
202
+ # configuration set.
203
+ #
204
+ # @option params [Types::SendingOptions] :sending_options
205
+ # An object that defines whether or not Amazon Pinpoint can send email
206
+ # that you send using the configuration set.
207
+ #
208
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
209
+ #
210
+ # @example Request syntax with placeholder values
211
+ #
212
+ # resp = client.create_configuration_set({
213
+ # configuration_set_name: "ConfigurationSetName",
214
+ # tracking_options: {
215
+ # custom_redirect_domain: "CustomRedirectDomain", # required
216
+ # },
217
+ # delivery_options: {
218
+ # sending_pool_name: "PoolName",
219
+ # },
220
+ # reputation_options: {
221
+ # reputation_metrics_enabled: false,
222
+ # last_fresh_start: Time.now,
223
+ # },
224
+ # sending_options: {
225
+ # sending_enabled: false,
226
+ # },
227
+ # })
228
+ #
229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/CreateConfigurationSet AWS API Documentation
230
+ #
231
+ # @overload create_configuration_set(params = {})
232
+ # @param [Hash] params ({})
233
+ def create_configuration_set(params = {}, options = {})
234
+ req = build_request(:create_configuration_set, params)
235
+ req.send_request(options)
236
+ end
237
+
238
+ # Create an event destination. In Amazon Pinpoint, *events* include
239
+ # message sends, deliveries, opens, clicks, bounces, and complaints.
240
+ # *Event destinations* are places that you can send information about
241
+ # these events to. For example, you can send event data to Amazon SNS to
242
+ # receive notifications when you receive bounces or complaints, or you
243
+ # can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for
244
+ # long-term storage.
245
+ #
246
+ # A single configuration set can include more than one event
247
+ # destination.
248
+ #
249
+ # @option params [required, String] :configuration_set_name
250
+ # The name of the configuration set that you want to add an event
251
+ # destination to.
252
+ #
253
+ # @option params [required, String] :event_destination_name
254
+ # A name that identifies the event destination within the configuration
255
+ # set.
256
+ #
257
+ # @option params [required, Types::EventDestinationDefinition] :event_destination
258
+ # An object that defines the event destination.
259
+ #
260
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
261
+ #
262
+ # @example Request syntax with placeholder values
263
+ #
264
+ # resp = client.create_configuration_set_event_destination({
265
+ # configuration_set_name: "ConfigurationSetName", # required
266
+ # event_destination_name: "EventDestinationName", # required
267
+ # event_destination: { # required
268
+ # enabled: false,
269
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE
270
+ # kinesis_firehose_destination: {
271
+ # iam_role_arn: "AmazonResourceName", # required
272
+ # delivery_stream_arn: "AmazonResourceName", # required
273
+ # },
274
+ # cloud_watch_destination: {
275
+ # dimension_configurations: [ # required
276
+ # {
277
+ # dimension_name: "DimensionName", # required
278
+ # dimension_value_source: "MESSAGE_TAG", # required, accepts MESSAGE_TAG, EMAIL_HEADER, LINK_TAG
279
+ # default_dimension_value: "DefaultDimensionValue", # required
280
+ # },
281
+ # ],
282
+ # },
283
+ # sns_destination: {
284
+ # topic_arn: "AmazonResourceName", # required
285
+ # },
286
+ # pinpoint_destination: {
287
+ # application_arn: "AmazonResourceName",
288
+ # },
289
+ # },
290
+ # })
291
+ #
292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/CreateConfigurationSetEventDestination AWS API Documentation
293
+ #
294
+ # @overload create_configuration_set_event_destination(params = {})
295
+ # @param [Hash] params ({})
296
+ def create_configuration_set_event_destination(params = {}, options = {})
297
+ req = build_request(:create_configuration_set_event_destination, params)
298
+ req.send_request(options)
299
+ end
300
+
301
+ # Create a new pool of dedicated IP addresses. A pool can include one or
302
+ # more dedicated IP addresses that are associated with your Amazon
303
+ # Pinpoint account. You can associate a pool with a configuration set.
304
+ # When you send an email that uses that configuration set, Amazon
305
+ # Pinpoint sends it using only the IP addresses in the associated pool.
306
+ #
307
+ # @option params [required, String] :pool_name
308
+ # The name of the dedicated IP pool.
309
+ #
310
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
311
+ #
312
+ # @example Request syntax with placeholder values
313
+ #
314
+ # resp = client.create_dedicated_ip_pool({
315
+ # pool_name: "PoolName", # required
316
+ # })
317
+ #
318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/CreateDedicatedIpPool AWS API Documentation
319
+ #
320
+ # @overload create_dedicated_ip_pool(params = {})
321
+ # @param [Hash] params ({})
322
+ def create_dedicated_ip_pool(params = {}, options = {})
323
+ req = build_request(:create_dedicated_ip_pool, params)
324
+ req.send_request(options)
325
+ end
326
+
327
+ # Verifies an email identity for use with Amazon Pinpoint. In Amazon
328
+ # Pinpoint, an identity is an email address or domain that you use when
329
+ # you send email. Before you can use an identity to send email with
330
+ # Amazon Pinpoint, you first have to verify it. By verifying an address,
331
+ # you demonstrate that you're the owner of the address, and that
332
+ # you've given Amazon Pinpoint permission to send email from the
333
+ # address.
334
+ #
335
+ # When you verify an email address, Amazon Pinpoint sends an email to
336
+ # the address. Your email address is verified as soon as you follow the
337
+ # link in the verification email.
338
+ #
339
+ # When you verify a domain, this operation provides a set of DKIM
340
+ # tokens, which you can convert into CNAME tokens. You add these CNAME
341
+ # tokens to the DNS configuration for your domain. Your domain is
342
+ # verified when Amazon Pinpoint detects these records in the DNS
343
+ # configuration for your domain. It usually takes around 72 hours to
344
+ # complete the domain verification process.
345
+ #
346
+ # @option params [required, String] :email_identity
347
+ # The email address or domain that you want to verify.
348
+ #
349
+ # @return [Types::CreateEmailIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
350
+ #
351
+ # * {Types::CreateEmailIdentityResponse#identity_type #identity_type} => String
352
+ # * {Types::CreateEmailIdentityResponse#verified_for_sending_status #verified_for_sending_status} => Boolean
353
+ # * {Types::CreateEmailIdentityResponse#dkim_attributes #dkim_attributes} => Types::DkimAttributes
354
+ #
355
+ # @example Request syntax with placeholder values
356
+ #
357
+ # resp = client.create_email_identity({
358
+ # email_identity: "Identity", # required
359
+ # })
360
+ #
361
+ # @example Response structure
362
+ #
363
+ # resp.identity_type #=> String, one of "EMAIL_ADDRESS", "DOMAIN", "MANAGED_DOMAIN"
364
+ # resp.verified_for_sending_status #=> Boolean
365
+ # resp.dkim_attributes.signing_enabled #=> Boolean
366
+ # resp.dkim_attributes.status #=> String, one of "PENDING", "SUCCESS", "FAILED", "TEMPORARY_FAILURE", "NOT_STARTED"
367
+ # resp.dkim_attributes.tokens #=> Array
368
+ # resp.dkim_attributes.tokens[0] #=> String
369
+ #
370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/CreateEmailIdentity AWS API Documentation
371
+ #
372
+ # @overload create_email_identity(params = {})
373
+ # @param [Hash] params ({})
374
+ def create_email_identity(params = {}, options = {})
375
+ req = build_request(:create_email_identity, params)
376
+ req.send_request(options)
377
+ end
378
+
379
+ # Delete an existing configuration set.
380
+ #
381
+ # In Amazon Pinpoint, *configuration sets* are groups of rules that you
382
+ # can apply to the emails you send. You apply a configuration set to an
383
+ # email by including a reference to the configuration set in the headers
384
+ # of the email. When you apply a configuration set to an email, all of
385
+ # the rules in that configuration set are applied to the email.
386
+ #
387
+ # @option params [required, String] :configuration_set_name
388
+ # The name of the configuration set that you want to delete.
389
+ #
390
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
391
+ #
392
+ # @example Request syntax with placeholder values
393
+ #
394
+ # resp = client.delete_configuration_set({
395
+ # configuration_set_name: "ConfigurationSetName", # required
396
+ # })
397
+ #
398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/DeleteConfigurationSet AWS API Documentation
399
+ #
400
+ # @overload delete_configuration_set(params = {})
401
+ # @param [Hash] params ({})
402
+ def delete_configuration_set(params = {}, options = {})
403
+ req = build_request(:delete_configuration_set, params)
404
+ req.send_request(options)
405
+ end
406
+
407
+ # Delete an event destination.
408
+ #
409
+ # In Amazon Pinpoint, *events* include message sends, deliveries, opens,
410
+ # clicks, bounces, and complaints. *Event destinations* are places that
411
+ # you can send information about these events to. For example, you can
412
+ # send event data to Amazon SNS to receive notifications when you
413
+ # receive bounces or complaints, or you can use Amazon Kinesis Data
414
+ # Firehose to stream data to Amazon S3 for long-term storage.
415
+ #
416
+ # @option params [required, String] :configuration_set_name
417
+ # The name of the configuration set that contains the event destination
418
+ # that you want to delete.
419
+ #
420
+ # @option params [required, String] :event_destination_name
421
+ # The name of the event destination that you want to delete.
422
+ #
423
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
424
+ #
425
+ # @example Request syntax with placeholder values
426
+ #
427
+ # resp = client.delete_configuration_set_event_destination({
428
+ # configuration_set_name: "ConfigurationSetName", # required
429
+ # event_destination_name: "EventDestinationName", # required
430
+ # })
431
+ #
432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/DeleteConfigurationSetEventDestination AWS API Documentation
433
+ #
434
+ # @overload delete_configuration_set_event_destination(params = {})
435
+ # @param [Hash] params ({})
436
+ def delete_configuration_set_event_destination(params = {}, options = {})
437
+ req = build_request(:delete_configuration_set_event_destination, params)
438
+ req.send_request(options)
439
+ end
440
+
441
+ # Delete a dedicated IP pool.
442
+ #
443
+ # @option params [required, String] :pool_name
444
+ # The name of the dedicated IP pool that you want to delete.
445
+ #
446
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
447
+ #
448
+ # @example Request syntax with placeholder values
449
+ #
450
+ # resp = client.delete_dedicated_ip_pool({
451
+ # pool_name: "PoolName", # required
452
+ # })
453
+ #
454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/DeleteDedicatedIpPool AWS API Documentation
455
+ #
456
+ # @overload delete_dedicated_ip_pool(params = {})
457
+ # @param [Hash] params ({})
458
+ def delete_dedicated_ip_pool(params = {}, options = {})
459
+ req = build_request(:delete_dedicated_ip_pool, params)
460
+ req.send_request(options)
461
+ end
462
+
463
+ # Deletes an email identity that you previously verified for use with
464
+ # Amazon Pinpoint. An identity can be either an email address or a
465
+ # domain name.
466
+ #
467
+ # @option params [required, String] :email_identity
468
+ # The identity (that is, the email address or domain) that you want to
469
+ # delete from your Amazon Pinpoint account.
470
+ #
471
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
472
+ #
473
+ # @example Request syntax with placeholder values
474
+ #
475
+ # resp = client.delete_email_identity({
476
+ # email_identity: "Identity", # required
477
+ # })
478
+ #
479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/DeleteEmailIdentity AWS API Documentation
480
+ #
481
+ # @overload delete_email_identity(params = {})
482
+ # @param [Hash] params ({})
483
+ def delete_email_identity(params = {}, options = {})
484
+ req = build_request(:delete_email_identity, params)
485
+ req.send_request(options)
486
+ end
487
+
488
+ # Obtain information about the email-sending status and capabilities of
489
+ # your Amazon Pinpoint account in the current AWS Region.
490
+ #
491
+ # @return [Types::GetAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
492
+ #
493
+ # * {Types::GetAccountResponse#send_quota #send_quota} => Types::SendQuota
494
+ # * {Types::GetAccountResponse#sending_enabled #sending_enabled} => Boolean
495
+ # * {Types::GetAccountResponse#dedicated_ip_auto_warmup_enabled #dedicated_ip_auto_warmup_enabled} => Boolean
496
+ # * {Types::GetAccountResponse#enforcement_status #enforcement_status} => String
497
+ # * {Types::GetAccountResponse#production_access_enabled #production_access_enabled} => Boolean
498
+ #
499
+ # @example Response structure
500
+ #
501
+ # resp.send_quota.max_24_hour_send #=> Float
502
+ # resp.send_quota.max_send_rate #=> Float
503
+ # resp.send_quota.sent_last_24_hours #=> Float
504
+ # resp.sending_enabled #=> Boolean
505
+ # resp.dedicated_ip_auto_warmup_enabled #=> Boolean
506
+ # resp.enforcement_status #=> String
507
+ # resp.production_access_enabled #=> Boolean
508
+ #
509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetAccount AWS API Documentation
510
+ #
511
+ # @overload get_account(params = {})
512
+ # @param [Hash] params ({})
513
+ def get_account(params = {}, options = {})
514
+ req = build_request(:get_account, params)
515
+ req.send_request(options)
516
+ end
517
+
518
+ # Get information about an existing configuration set, including the
519
+ # dedicated IP pool that it's associated with, whether or not it's
520
+ # enabled for sending email, and more.
521
+ #
522
+ # In Amazon Pinpoint, *configuration sets* are groups of rules that you
523
+ # can apply to the emails you send. You apply a configuration set to an
524
+ # email by including a reference to the configuration set in the headers
525
+ # of the email. When you apply a configuration set to an email, all of
526
+ # the rules in that configuration set are applied to the email.
527
+ #
528
+ # @option params [required, String] :configuration_set_name
529
+ # The name of the configuration set that you want to obtain more
530
+ # information about.
531
+ #
532
+ # @return [Types::GetConfigurationSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
533
+ #
534
+ # * {Types::GetConfigurationSetResponse#configuration_set_name #configuration_set_name} => String
535
+ # * {Types::GetConfigurationSetResponse#tracking_options #tracking_options} => Types::TrackingOptions
536
+ # * {Types::GetConfigurationSetResponse#delivery_options #delivery_options} => Types::DeliveryOptions
537
+ # * {Types::GetConfigurationSetResponse#reputation_options #reputation_options} => Types::ReputationOptions
538
+ # * {Types::GetConfigurationSetResponse#sending_options #sending_options} => Types::SendingOptions
539
+ #
540
+ # @example Request syntax with placeholder values
541
+ #
542
+ # resp = client.get_configuration_set({
543
+ # configuration_set_name: "ConfigurationSetName", # required
544
+ # })
545
+ #
546
+ # @example Response structure
547
+ #
548
+ # resp.configuration_set_name #=> String
549
+ # resp.tracking_options.custom_redirect_domain #=> String
550
+ # resp.delivery_options.sending_pool_name #=> String
551
+ # resp.reputation_options.reputation_metrics_enabled #=> Boolean
552
+ # resp.reputation_options.last_fresh_start #=> Time
553
+ # resp.sending_options.sending_enabled #=> Boolean
554
+ #
555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetConfigurationSet AWS API Documentation
556
+ #
557
+ # @overload get_configuration_set(params = {})
558
+ # @param [Hash] params ({})
559
+ def get_configuration_set(params = {}, options = {})
560
+ req = build_request(:get_configuration_set, params)
561
+ req.send_request(options)
562
+ end
563
+
564
+ # Retrieve a list of event destinations that are associated with a
565
+ # configuration set.
566
+ #
567
+ # In Amazon Pinpoint, *events* include message sends, deliveries, opens,
568
+ # clicks, bounces, and complaints. *Event destinations* are places that
569
+ # you can send information about these events to. For example, you can
570
+ # send event data to Amazon SNS to receive notifications when you
571
+ # receive bounces or complaints, or you can use Amazon Kinesis Data
572
+ # Firehose to stream data to Amazon S3 for long-term storage.
573
+ #
574
+ # @option params [required, String] :configuration_set_name
575
+ # The name of the configuration set that contains the event destination.
576
+ #
577
+ # @return [Types::GetConfigurationSetEventDestinationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
578
+ #
579
+ # * {Types::GetConfigurationSetEventDestinationsResponse#event_destinations #event_destinations} => Array&lt;Types::EventDestination&gt;
580
+ #
581
+ # @example Request syntax with placeholder values
582
+ #
583
+ # resp = client.get_configuration_set_event_destinations({
584
+ # configuration_set_name: "ConfigurationSetName", # required
585
+ # })
586
+ #
587
+ # @example Response structure
588
+ #
589
+ # resp.event_destinations #=> Array
590
+ # resp.event_destinations[0].name #=> String
591
+ # resp.event_destinations[0].enabled #=> Boolean
592
+ # resp.event_destinations[0].matching_event_types #=> Array
593
+ # resp.event_destinations[0].matching_event_types[0] #=> String, one of "SEND", "REJECT", "BOUNCE", "COMPLAINT", "DELIVERY", "OPEN", "CLICK", "RENDERING_FAILURE"
594
+ # resp.event_destinations[0].kinesis_firehose_destination.iam_role_arn #=> String
595
+ # resp.event_destinations[0].kinesis_firehose_destination.delivery_stream_arn #=> String
596
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations #=> Array
597
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].dimension_name #=> String
598
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].dimension_value_source #=> String, one of "MESSAGE_TAG", "EMAIL_HEADER", "LINK_TAG"
599
+ # resp.event_destinations[0].cloud_watch_destination.dimension_configurations[0].default_dimension_value #=> String
600
+ # resp.event_destinations[0].sns_destination.topic_arn #=> String
601
+ # resp.event_destinations[0].pinpoint_destination.application_arn #=> String
602
+ #
603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetConfigurationSetEventDestinations AWS API Documentation
604
+ #
605
+ # @overload get_configuration_set_event_destinations(params = {})
606
+ # @param [Hash] params ({})
607
+ def get_configuration_set_event_destinations(params = {}, options = {})
608
+ req = build_request(:get_configuration_set_event_destinations, params)
609
+ req.send_request(options)
610
+ end
611
+
612
+ # Get information about a dedicated IP address, including the name of
613
+ # the dedicated IP pool that it's associated with, as well information
614
+ # about the automatic warm-up process for the address.
615
+ #
616
+ # @option params [required, String] :ip
617
+ # The IP address that you want to obtain more information about. The
618
+ # value you specify has to be a dedicated IP address that's assocaited
619
+ # with your Amazon Pinpoint account.
620
+ #
621
+ # @return [Types::GetDedicatedIpResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
622
+ #
623
+ # * {Types::GetDedicatedIpResponse#dedicated_ip #dedicated_ip} => Types::DedicatedIp
624
+ #
625
+ # @example Request syntax with placeholder values
626
+ #
627
+ # resp = client.get_dedicated_ip({
628
+ # ip: "Ip", # required
629
+ # })
630
+ #
631
+ # @example Response structure
632
+ #
633
+ # resp.dedicated_ip.ip #=> String
634
+ # resp.dedicated_ip.warmup_status #=> String, one of "IN_PROGRESS", "DONE"
635
+ # resp.dedicated_ip.warmup_percentage #=> Integer
636
+ # resp.dedicated_ip.pool_name #=> String
637
+ #
638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetDedicatedIp AWS API Documentation
639
+ #
640
+ # @overload get_dedicated_ip(params = {})
641
+ # @param [Hash] params ({})
642
+ def get_dedicated_ip(params = {}, options = {})
643
+ req = build_request(:get_dedicated_ip, params)
644
+ req.send_request(options)
645
+ end
646
+
647
+ # List the dedicated IP addresses that are associated with your Amazon
648
+ # Pinpoint account.
649
+ #
650
+ # @option params [String] :pool_name
651
+ # The name of the IP pool that the dedicated IP address is associated
652
+ # with.
653
+ #
654
+ # @option params [String] :next_token
655
+ # A token returned from a previous call to `GetDedicatedIps` to indicate
656
+ # the position of the dedicated IP pool in the list of IP pools.
657
+ #
658
+ # @option params [Integer] :page_size
659
+ # The number of results to show in a single call to
660
+ # `GetDedicatedIpsRequest`. If the number of results is larger than the
661
+ # number you specified in this parameter, then the response includes a
662
+ # `NextToken` element, which you can use to obtain additional results.
663
+ #
664
+ # @return [Types::GetDedicatedIpsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
665
+ #
666
+ # * {Types::GetDedicatedIpsResponse#dedicated_ips #dedicated_ips} => Array&lt;Types::DedicatedIp&gt;
667
+ # * {Types::GetDedicatedIpsResponse#next_token #next_token} => String
668
+ #
669
+ # @example Request syntax with placeholder values
670
+ #
671
+ # resp = client.get_dedicated_ips({
672
+ # pool_name: "PoolName",
673
+ # next_token: "NextToken",
674
+ # page_size: 1,
675
+ # })
676
+ #
677
+ # @example Response structure
678
+ #
679
+ # resp.dedicated_ips #=> Array
680
+ # resp.dedicated_ips[0].ip #=> String
681
+ # resp.dedicated_ips[0].warmup_status #=> String, one of "IN_PROGRESS", "DONE"
682
+ # resp.dedicated_ips[0].warmup_percentage #=> Integer
683
+ # resp.dedicated_ips[0].pool_name #=> String
684
+ # resp.next_token #=> String
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetDedicatedIps AWS API Documentation
687
+ #
688
+ # @overload get_dedicated_ips(params = {})
689
+ # @param [Hash] params ({})
690
+ def get_dedicated_ips(params = {}, options = {})
691
+ req = build_request(:get_dedicated_ips, params)
692
+ req.send_request(options)
693
+ end
694
+
695
+ # Provides information about a specific identity associated with your
696
+ # Amazon Pinpoint account, including the identity's verification
697
+ # status, its DKIM authentication status, and its custom Mail-From
698
+ # settings.
699
+ #
700
+ # @option params [required, String] :email_identity
701
+ # The email identity that you want to retrieve details for.
702
+ #
703
+ # @return [Types::GetEmailIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
704
+ #
705
+ # * {Types::GetEmailIdentityResponse#identity_type #identity_type} => String
706
+ # * {Types::GetEmailIdentityResponse#feedback_forwarding_status #feedback_forwarding_status} => Boolean
707
+ # * {Types::GetEmailIdentityResponse#verified_for_sending_status #verified_for_sending_status} => Boolean
708
+ # * {Types::GetEmailIdentityResponse#dkim_attributes #dkim_attributes} => Types::DkimAttributes
709
+ # * {Types::GetEmailIdentityResponse#mail_from_attributes #mail_from_attributes} => Types::MailFromAttributes
710
+ #
711
+ # @example Request syntax with placeholder values
712
+ #
713
+ # resp = client.get_email_identity({
714
+ # email_identity: "Identity", # required
715
+ # })
716
+ #
717
+ # @example Response structure
718
+ #
719
+ # resp.identity_type #=> String, one of "EMAIL_ADDRESS", "DOMAIN", "MANAGED_DOMAIN"
720
+ # resp.feedback_forwarding_status #=> Boolean
721
+ # resp.verified_for_sending_status #=> Boolean
722
+ # resp.dkim_attributes.signing_enabled #=> Boolean
723
+ # resp.dkim_attributes.status #=> String, one of "PENDING", "SUCCESS", "FAILED", "TEMPORARY_FAILURE", "NOT_STARTED"
724
+ # resp.dkim_attributes.tokens #=> Array
725
+ # resp.dkim_attributes.tokens[0] #=> String
726
+ # resp.mail_from_attributes.mail_from_domain #=> String
727
+ # resp.mail_from_attributes.mail_from_domain_status #=> String, one of "PENDING", "SUCCESS", "FAILED", "TEMPORARY_FAILURE"
728
+ # resp.mail_from_attributes.behavior_on_mx_failure #=> String, one of "USE_DEFAULT_VALUE", "REJECT_MESSAGE"
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/GetEmailIdentity AWS API Documentation
731
+ #
732
+ # @overload get_email_identity(params = {})
733
+ # @param [Hash] params ({})
734
+ def get_email_identity(params = {}, options = {})
735
+ req = build_request(:get_email_identity, params)
736
+ req.send_request(options)
737
+ end
738
+
739
+ # List all of the configuration sets associated with your Amazon
740
+ # Pinpoint account in the current region.
741
+ #
742
+ # In Amazon Pinpoint, *configuration sets* are groups of rules that you
743
+ # can apply to the emails you send. You apply a configuration set to an
744
+ # email by including a reference to the configuration set in the headers
745
+ # of the email. When you apply a configuration set to an email, all of
746
+ # the rules in that configuration set are applied to the email.
747
+ #
748
+ # @option params [String] :next_token
749
+ # A token returned from a previous call to `ListConfigurationSets` to
750
+ # indicate the position in the list of configuration sets.
751
+ #
752
+ # @option params [Integer] :page_size
753
+ # The number of results to show in a single call to
754
+ # `ListConfigurationSets`. If the number of results is larger than the
755
+ # number you specified in this parameter, then the response includes a
756
+ # `NextToken` element, which you can use to obtain additional results.
757
+ #
758
+ # @return [Types::ListConfigurationSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
759
+ #
760
+ # * {Types::ListConfigurationSetsResponse#configuration_sets #configuration_sets} => Array&lt;String&gt;
761
+ # * {Types::ListConfigurationSetsResponse#next_token #next_token} => String
762
+ #
763
+ # @example Request syntax with placeholder values
764
+ #
765
+ # resp = client.list_configuration_sets({
766
+ # next_token: "NextToken",
767
+ # page_size: 1,
768
+ # })
769
+ #
770
+ # @example Response structure
771
+ #
772
+ # resp.configuration_sets #=> Array
773
+ # resp.configuration_sets[0] #=> String
774
+ # resp.next_token #=> String
775
+ #
776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/ListConfigurationSets AWS API Documentation
777
+ #
778
+ # @overload list_configuration_sets(params = {})
779
+ # @param [Hash] params ({})
780
+ def list_configuration_sets(params = {}, options = {})
781
+ req = build_request(:list_configuration_sets, params)
782
+ req.send_request(options)
783
+ end
784
+
785
+ # List all of the dedicated IP pools that exist in your Amazon Pinpoint
786
+ # account in the current AWS Region.
787
+ #
788
+ # @option params [String] :next_token
789
+ # A token returned from a previous call to `ListDedicatedIpPools` to
790
+ # indicate the position in the list of dedicated IP pools.
791
+ #
792
+ # @option params [Integer] :page_size
793
+ # The number of results to show in a single call to
794
+ # `ListDedicatedIpPools`. If the number of results is larger than the
795
+ # number you specified in this parameter, then the response includes a
796
+ # `NextToken` element, which you can use to obtain additional results.
797
+ #
798
+ # @return [Types::ListDedicatedIpPoolsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
799
+ #
800
+ # * {Types::ListDedicatedIpPoolsResponse#dedicated_ip_pools #dedicated_ip_pools} => Array&lt;String&gt;
801
+ # * {Types::ListDedicatedIpPoolsResponse#next_token #next_token} => String
802
+ #
803
+ # @example Request syntax with placeholder values
804
+ #
805
+ # resp = client.list_dedicated_ip_pools({
806
+ # next_token: "NextToken",
807
+ # page_size: 1,
808
+ # })
809
+ #
810
+ # @example Response structure
811
+ #
812
+ # resp.dedicated_ip_pools #=> Array
813
+ # resp.dedicated_ip_pools[0] #=> String
814
+ # resp.next_token #=> String
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/ListDedicatedIpPools AWS API Documentation
817
+ #
818
+ # @overload list_dedicated_ip_pools(params = {})
819
+ # @param [Hash] params ({})
820
+ def list_dedicated_ip_pools(params = {}, options = {})
821
+ req = build_request(:list_dedicated_ip_pools, params)
822
+ req.send_request(options)
823
+ end
824
+
825
+ # Returns a list of all of the email identities that are associated with
826
+ # your Amazon Pinpoint account. An identity can be either an email
827
+ # address or a domain. This operation returns identities that are
828
+ # verified as well as those that aren't.
829
+ #
830
+ # @option params [String] :next_token
831
+ # A token returned from a previous call to `ListEmailIdentities` to
832
+ # indicate the position in the list of identities.
833
+ #
834
+ # @option params [Integer] :page_size
835
+ # The number of results to show in a single call to
836
+ # `ListEmailIdentities`. If the number of results is larger than the
837
+ # number you specified in this parameter, then the response includes a
838
+ # `NextToken` element, which you can use to obtain additional results.
839
+ #
840
+ # The value you specify has to be at least 0, and can be no more than
841
+ # 1000.
842
+ #
843
+ # @return [Types::ListEmailIdentitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
844
+ #
845
+ # * {Types::ListEmailIdentitiesResponse#email_identities #email_identities} => Array&lt;Types::IdentityInfo&gt;
846
+ # * {Types::ListEmailIdentitiesResponse#next_token #next_token} => String
847
+ #
848
+ # @example Request syntax with placeholder values
849
+ #
850
+ # resp = client.list_email_identities({
851
+ # next_token: "NextToken",
852
+ # page_size: 1,
853
+ # })
854
+ #
855
+ # @example Response structure
856
+ #
857
+ # resp.email_identities #=> Array
858
+ # resp.email_identities[0].identity_type #=> String, one of "EMAIL_ADDRESS", "DOMAIN", "MANAGED_DOMAIN"
859
+ # resp.email_identities[0].identity_name #=> String
860
+ # resp.email_identities[0].sending_enabled #=> Boolean
861
+ # resp.next_token #=> String
862
+ #
863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/ListEmailIdentities AWS API Documentation
864
+ #
865
+ # @overload list_email_identities(params = {})
866
+ # @param [Hash] params ({})
867
+ def list_email_identities(params = {}, options = {})
868
+ req = build_request(:list_email_identities, params)
869
+ req.send_request(options)
870
+ end
871
+
872
+ # Enable or disable the automatic warm-up feature for dedicated IP
873
+ # addresses.
874
+ #
875
+ # @option params [Boolean] :auto_warmup_enabled
876
+ # Enables or disables the automatic warm-up feature for dedicated IP
877
+ # addresses that are associated with your Amazon Pinpoint account in the
878
+ # current AWS Region. Set to `true` to enable the automatic warm-up
879
+ # feature, or set to `false` to disable it.
880
+ #
881
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
882
+ #
883
+ # @example Request syntax with placeholder values
884
+ #
885
+ # resp = client.put_account_dedicated_ip_warmup_attributes({
886
+ # auto_warmup_enabled: false,
887
+ # })
888
+ #
889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutAccountDedicatedIpWarmupAttributes AWS API Documentation
890
+ #
891
+ # @overload put_account_dedicated_ip_warmup_attributes(params = {})
892
+ # @param [Hash] params ({})
893
+ def put_account_dedicated_ip_warmup_attributes(params = {}, options = {})
894
+ req = build_request(:put_account_dedicated_ip_warmup_attributes, params)
895
+ req.send_request(options)
896
+ end
897
+
898
+ # Enable or disable the ability of your account to send email.
899
+ #
900
+ # @option params [Boolean] :sending_enabled
901
+ # Enables or disables your account's ability to send email. Set to
902
+ # `true` to enable email sending, or set to `false` to disable email
903
+ # sending.
904
+ #
905
+ # <note markdown="1"> If AWS paused your account's ability to send email, you can't use
906
+ # this operation to resume your account's ability to send email.
907
+ #
908
+ # </note>
909
+ #
910
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
911
+ #
912
+ # @example Request syntax with placeholder values
913
+ #
914
+ # resp = client.put_account_sending_attributes({
915
+ # sending_enabled: false,
916
+ # })
917
+ #
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutAccountSendingAttributes AWS API Documentation
919
+ #
920
+ # @overload put_account_sending_attributes(params = {})
921
+ # @param [Hash] params ({})
922
+ def put_account_sending_attributes(params = {}, options = {})
923
+ req = build_request(:put_account_sending_attributes, params)
924
+ req.send_request(options)
925
+ end
926
+
927
+ # Associate a configuration set with a dedicated IP pool. You can use
928
+ # dedicated IP pools to create groups of dedicated IP addresses for
929
+ # sending specific types of email.
930
+ #
931
+ # @option params [required, String] :configuration_set_name
932
+ # The name of the configuration set that you want to associate with a
933
+ # dedicated IP pool.
934
+ #
935
+ # @option params [String] :sending_pool_name
936
+ # The name of the dedicated IP pool that you want to associate with the
937
+ # configuration set.
938
+ #
939
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
940
+ #
941
+ # @example Request syntax with placeholder values
942
+ #
943
+ # resp = client.put_configuration_set_delivery_options({
944
+ # configuration_set_name: "ConfigurationSetName", # required
945
+ # sending_pool_name: "SendingPoolName",
946
+ # })
947
+ #
948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutConfigurationSetDeliveryOptions AWS API Documentation
949
+ #
950
+ # @overload put_configuration_set_delivery_options(params = {})
951
+ # @param [Hash] params ({})
952
+ def put_configuration_set_delivery_options(params = {}, options = {})
953
+ req = build_request(:put_configuration_set_delivery_options, params)
954
+ req.send_request(options)
955
+ end
956
+
957
+ # Enable or disable collection of reputation metrics for emails that you
958
+ # send using a particular configuration set in a specific AWS Region.
959
+ #
960
+ # @option params [required, String] :configuration_set_name
961
+ # The name of the configuration set that you want to enable or disable
962
+ # reputation metric tracking for.
963
+ #
964
+ # @option params [Boolean] :reputation_metrics_enabled
965
+ # If `true`, tracking of reputation metrics is enabled for the
966
+ # configuration set. If `false`, tracking of reputation metrics is
967
+ # disabled for the configuration set.
968
+ #
969
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
970
+ #
971
+ # @example Request syntax with placeholder values
972
+ #
973
+ # resp = client.put_configuration_set_reputation_options({
974
+ # configuration_set_name: "ConfigurationSetName", # required
975
+ # reputation_metrics_enabled: false,
976
+ # })
977
+ #
978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutConfigurationSetReputationOptions AWS API Documentation
979
+ #
980
+ # @overload put_configuration_set_reputation_options(params = {})
981
+ # @param [Hash] params ({})
982
+ def put_configuration_set_reputation_options(params = {}, options = {})
983
+ req = build_request(:put_configuration_set_reputation_options, params)
984
+ req.send_request(options)
985
+ end
986
+
987
+ # Enable or disable email sending for messages that use a particular
988
+ # configuration set in a specific AWS Region.
989
+ #
990
+ # @option params [required, String] :configuration_set_name
991
+ # The name of the configuration set that you want to enable or disable
992
+ # email sending for.
993
+ #
994
+ # @option params [Boolean] :sending_enabled
995
+ # If `true`, email sending is enabled for the configuration set. If
996
+ # `false`, email sending is disabled for the configuration set.
997
+ #
998
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
999
+ #
1000
+ # @example Request syntax with placeholder values
1001
+ #
1002
+ # resp = client.put_configuration_set_sending_options({
1003
+ # configuration_set_name: "ConfigurationSetName", # required
1004
+ # sending_enabled: false,
1005
+ # })
1006
+ #
1007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutConfigurationSetSendingOptions AWS API Documentation
1008
+ #
1009
+ # @overload put_configuration_set_sending_options(params = {})
1010
+ # @param [Hash] params ({})
1011
+ def put_configuration_set_sending_options(params = {}, options = {})
1012
+ req = build_request(:put_configuration_set_sending_options, params)
1013
+ req.send_request(options)
1014
+ end
1015
+
1016
+ # Specify a custom domain to use for open and click tracking elements in
1017
+ # email that you send using Amazon Pinpoint.
1018
+ #
1019
+ # @option params [required, String] :configuration_set_name
1020
+ # The name of the configuration set that you want to add a custom
1021
+ # tracking domain to.
1022
+ #
1023
+ # @option params [String] :custom_redirect_domain
1024
+ # The domain that you want to use to track open and click events.
1025
+ #
1026
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1027
+ #
1028
+ # @example Request syntax with placeholder values
1029
+ #
1030
+ # resp = client.put_configuration_set_tracking_options({
1031
+ # configuration_set_name: "ConfigurationSetName", # required
1032
+ # custom_redirect_domain: "CustomRedirectDomain",
1033
+ # })
1034
+ #
1035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutConfigurationSetTrackingOptions AWS API Documentation
1036
+ #
1037
+ # @overload put_configuration_set_tracking_options(params = {})
1038
+ # @param [Hash] params ({})
1039
+ def put_configuration_set_tracking_options(params = {}, options = {})
1040
+ req = build_request(:put_configuration_set_tracking_options, params)
1041
+ req.send_request(options)
1042
+ end
1043
+
1044
+ # Move a dedicated IP address to an existing dedicated IP pool.
1045
+ #
1046
+ # <note markdown="1"> The dedicated IP address that you specify must already exist, and must
1047
+ # be associated with your Amazon Pinpoint account.
1048
+ #
1049
+ # The dedicated IP pool you specify must already exist. You can create a
1050
+ # new pool by using the `CreateDedicatedIpPool` operation.
1051
+ #
1052
+ # </note>
1053
+ #
1054
+ # @option params [required, String] :ip
1055
+ # The IP address that you want to move to the dedicated IP pool. The
1056
+ # value you specify has to be a dedicated IP address that's associated
1057
+ # with your Amazon Pinpoint account.
1058
+ #
1059
+ # @option params [required, String] :destination_pool_name
1060
+ # The name of the IP pool that you want to add the dedicated IP address
1061
+ # to. You have to specify an IP pool that already exists.
1062
+ #
1063
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1064
+ #
1065
+ # @example Request syntax with placeholder values
1066
+ #
1067
+ # resp = client.put_dedicated_ip_in_pool({
1068
+ # ip: "Ip", # required
1069
+ # destination_pool_name: "PoolName", # required
1070
+ # })
1071
+ #
1072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutDedicatedIpInPool AWS API Documentation
1073
+ #
1074
+ # @overload put_dedicated_ip_in_pool(params = {})
1075
+ # @param [Hash] params ({})
1076
+ def put_dedicated_ip_in_pool(params = {}, options = {})
1077
+ req = build_request(:put_dedicated_ip_in_pool, params)
1078
+ req.send_request(options)
1079
+ end
1080
+
1081
+ # @option params [required, String] :ip
1082
+ # The dedicated IP address that you want to update the warm-up
1083
+ # attributes for.
1084
+ #
1085
+ # @option params [required, Integer] :warmup_percentage
1086
+ # The warm-up percentage that you want to associate with the dedicated
1087
+ # IP address.
1088
+ #
1089
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1090
+ #
1091
+ # @example Request syntax with placeholder values
1092
+ #
1093
+ # resp = client.put_dedicated_ip_warmup_attributes({
1094
+ # ip: "Ip", # required
1095
+ # warmup_percentage: 1, # required
1096
+ # })
1097
+ #
1098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutDedicatedIpWarmupAttributes AWS API Documentation
1099
+ #
1100
+ # @overload put_dedicated_ip_warmup_attributes(params = {})
1101
+ # @param [Hash] params ({})
1102
+ def put_dedicated_ip_warmup_attributes(params = {}, options = {})
1103
+ req = build_request(:put_dedicated_ip_warmup_attributes, params)
1104
+ req.send_request(options)
1105
+ end
1106
+
1107
+ # Used to enable or disable DKIM authentication for an email identity.
1108
+ #
1109
+ # @option params [required, String] :email_identity
1110
+ # The email identity that you want to change the DKIM settings for.
1111
+ #
1112
+ # @option params [Boolean] :signing_enabled
1113
+ # Sets the DKIM signing configuration for the identity.
1114
+ #
1115
+ # When you set this value `true`, then the messages that Amazon Pinpoint
1116
+ # sends from the identity are DKIM-signed. When you set this value to
1117
+ # `false`, then the messages that Amazon Pinpoint sends from the
1118
+ # identity aren't DKIM-signed.
1119
+ #
1120
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1121
+ #
1122
+ # @example Request syntax with placeholder values
1123
+ #
1124
+ # resp = client.put_email_identity_dkim_attributes({
1125
+ # email_identity: "Identity", # required
1126
+ # signing_enabled: false,
1127
+ # })
1128
+ #
1129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutEmailIdentityDkimAttributes AWS API Documentation
1130
+ #
1131
+ # @overload put_email_identity_dkim_attributes(params = {})
1132
+ # @param [Hash] params ({})
1133
+ def put_email_identity_dkim_attributes(params = {}, options = {})
1134
+ req = build_request(:put_email_identity_dkim_attributes, params)
1135
+ req.send_request(options)
1136
+ end
1137
+
1138
+ # Used to enable or disable feedback forwarding for an identity. This
1139
+ # setting determines what happens when an identity is used to send an
1140
+ # email that results in a bounce or complaint event.
1141
+ #
1142
+ # When you enable feedback forwarding, Amazon Pinpoint sends you email
1143
+ # notifications when bounce or complaint events occur. Amazon Pinpoint
1144
+ # sends this notification to the address that you specified in the
1145
+ # Return-Path header of the original email.
1146
+ #
1147
+ # When you disable feedback forwarding, Amazon Pinpoint sends
1148
+ # notifications through other mechanisms, such as by notifying an Amazon
1149
+ # SNS topic. You're required to have a method of tracking bounces and
1150
+ # complaints. If you haven't set up another mechanism for receiving
1151
+ # bounce or complaint notifications, Amazon Pinpoint sends an email
1152
+ # notification when these events occur (even if this setting is
1153
+ # disabled).
1154
+ #
1155
+ # @option params [required, String] :email_identity
1156
+ # The email identity that you want to configure bounce and complaint
1157
+ # feedback forwarding for.
1158
+ #
1159
+ # @option params [Boolean] :email_forwarding_enabled
1160
+ # Sets the feedback forwarding configuration for the identity.
1161
+ #
1162
+ # If the value is `true`, Amazon Pinpoint sends you email notifications
1163
+ # when bounce or complaint events occur. Amazon Pinpoint sends this
1164
+ # notification to the address that you specified in the Return-Path
1165
+ # header of the original email.
1166
+ #
1167
+ # When you set this value to `false`, Amazon Pinpoint sends
1168
+ # notifications through other mechanisms, such as by notifying an Amazon
1169
+ # SNS topic or another event destination. You're required to have a
1170
+ # method of tracking bounces and complaints. If you haven't set up
1171
+ # another mechanism for receiving bounce or complaint notifications,
1172
+ # Amazon Pinpoint sends an email notification when these events occur
1173
+ # (even if this setting is disabled).
1174
+ #
1175
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1176
+ #
1177
+ # @example Request syntax with placeholder values
1178
+ #
1179
+ # resp = client.put_email_identity_feedback_attributes({
1180
+ # email_identity: "Identity", # required
1181
+ # email_forwarding_enabled: false,
1182
+ # })
1183
+ #
1184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutEmailIdentityFeedbackAttributes AWS API Documentation
1185
+ #
1186
+ # @overload put_email_identity_feedback_attributes(params = {})
1187
+ # @param [Hash] params ({})
1188
+ def put_email_identity_feedback_attributes(params = {}, options = {})
1189
+ req = build_request(:put_email_identity_feedback_attributes, params)
1190
+ req.send_request(options)
1191
+ end
1192
+
1193
+ # Used to enable or disable the custom Mail-From domain configuration
1194
+ # for an email identity.
1195
+ #
1196
+ # @option params [required, String] :email_identity
1197
+ # The verified email identity that you want to set up the custom MAIL
1198
+ # FROM domain for.
1199
+ #
1200
+ # @option params [String] :mail_from_domain
1201
+ # The custom MAIL FROM domain that you want the verified identity to
1202
+ # use. The MAIL FROM domain must meet the following criteria:
1203
+ #
1204
+ # * It has to be a subdomain of the verified identity.
1205
+ #
1206
+ # * It can't be used to receive email.
1207
+ #
1208
+ # * It can't be used in a "From" address if the MAIL FROM domain is a
1209
+ # destination for feedback forwarding emails.
1210
+ #
1211
+ # @option params [String] :behavior_on_mx_failure
1212
+ # The action that you want Amazon Pinpoint to take if it can't read the
1213
+ # required MX record when you send an email. When you set this value to
1214
+ # `UseDefaultValue`, Amazon Pinpoint uses *amazonses.com* as the MAIL
1215
+ # FROM domain. When you set this value to `RejectMessage`, Amazon
1216
+ # Pinpoint returns a `MailFromDomainNotVerified` error, and doesn't
1217
+ # attempt to deliver the email.
1218
+ #
1219
+ # These behaviors are taken when the custom MAIL FROM domain
1220
+ # configuration is in the `Pending`, `Failed`, and `TemporaryFailure`
1221
+ # states.
1222
+ #
1223
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1224
+ #
1225
+ # @example Request syntax with placeholder values
1226
+ #
1227
+ # resp = client.put_email_identity_mail_from_attributes({
1228
+ # email_identity: "Identity", # required
1229
+ # mail_from_domain: "MailFromDomainName",
1230
+ # behavior_on_mx_failure: "USE_DEFAULT_VALUE", # accepts USE_DEFAULT_VALUE, REJECT_MESSAGE
1231
+ # })
1232
+ #
1233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/PutEmailIdentityMailFromAttributes AWS API Documentation
1234
+ #
1235
+ # @overload put_email_identity_mail_from_attributes(params = {})
1236
+ # @param [Hash] params ({})
1237
+ def put_email_identity_mail_from_attributes(params = {}, options = {})
1238
+ req = build_request(:put_email_identity_mail_from_attributes, params)
1239
+ req.send_request(options)
1240
+ end
1241
+
1242
+ # Sends an email message. You can use the Amazon Pinpoint Email API to
1243
+ # send two types of messages:
1244
+ #
1245
+ # * **Simple** – A standard email message. When you create this type of
1246
+ # message, you specify the sender, the recipient, and the message
1247
+ # body, and Amazon Pinpoint assembles the message for you.
1248
+ #
1249
+ # * **Raw** – A raw, MIME-formatted email message. When you send this
1250
+ # type of email, you have to specify all of the message headers, as
1251
+ # well as the message body. You can use this message type to send
1252
+ # messages that contain attachments. The message that you specify has
1253
+ # to be a valid MIME message.
1254
+ #
1255
+ # @option params [String] :from_email_address
1256
+ # The email address that you want to use as the "From" address for the
1257
+ # email. The address that you specify has to be verified.
1258
+ #
1259
+ # @option params [required, Types::Destination] :destination
1260
+ # An object that contains the recipients of the email message.
1261
+ #
1262
+ # @option params [Array<String>] :reply_to_addresses
1263
+ # The "Reply-to" email addresses for the message. When the recipient
1264
+ # replies to the message, each Reply-to address receives the reply.
1265
+ #
1266
+ # @option params [String] :feedback_forwarding_email_address
1267
+ # The address that Amazon Pinpoint should send bounce and complaint
1268
+ # notifications to.
1269
+ #
1270
+ # @option params [required, Types::EmailContent] :content
1271
+ # An object that contains the body of the message. You can send either a
1272
+ # Simple message or a Raw message.
1273
+ #
1274
+ # @option params [Array<Types::MessageTag>] :email_tags
1275
+ # A list of tags, in the form of name/value pairs, to apply to an email
1276
+ # that you send using the `SendEmail` operation. Tags correspond to
1277
+ # characteristics of the email that you define, so that you can publish
1278
+ # email sending events.
1279
+ #
1280
+ # @option params [String] :configuration_set_name
1281
+ # The name of the configuration set that you want to use when sending
1282
+ # the email.
1283
+ #
1284
+ # @return [Types::SendEmailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1285
+ #
1286
+ # * {Types::SendEmailResponse#message_id #message_id} => String
1287
+ #
1288
+ # @example Request syntax with placeholder values
1289
+ #
1290
+ # resp = client.send_email({
1291
+ # from_email_address: "EmailAddress",
1292
+ # destination: { # required
1293
+ # to_addresses: ["EmailAddress"],
1294
+ # cc_addresses: ["EmailAddress"],
1295
+ # bcc_addresses: ["EmailAddress"],
1296
+ # },
1297
+ # reply_to_addresses: ["EmailAddress"],
1298
+ # feedback_forwarding_email_address: "EmailAddress",
1299
+ # content: { # required
1300
+ # simple: {
1301
+ # subject: { # required
1302
+ # data: "MessageData", # required
1303
+ # charset: "Charset",
1304
+ # },
1305
+ # body: { # required
1306
+ # text: {
1307
+ # data: "MessageData", # required
1308
+ # charset: "Charset",
1309
+ # },
1310
+ # html: {
1311
+ # data: "MessageData", # required
1312
+ # charset: "Charset",
1313
+ # },
1314
+ # },
1315
+ # },
1316
+ # raw: {
1317
+ # data: "data", # required
1318
+ # },
1319
+ # },
1320
+ # email_tags: [
1321
+ # {
1322
+ # name: "MessageTagName", # required
1323
+ # value: "MessageTagValue", # required
1324
+ # },
1325
+ # ],
1326
+ # configuration_set_name: "ConfigurationSetName",
1327
+ # })
1328
+ #
1329
+ # @example Response structure
1330
+ #
1331
+ # resp.message_id #=> String
1332
+ #
1333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/SendEmail AWS API Documentation
1334
+ #
1335
+ # @overload send_email(params = {})
1336
+ # @param [Hash] params ({})
1337
+ def send_email(params = {}, options = {})
1338
+ req = build_request(:send_email, params)
1339
+ req.send_request(options)
1340
+ end
1341
+
1342
+ # Update the configuration of an event destination for a configuration
1343
+ # set.
1344
+ #
1345
+ # In Amazon Pinpoint, *events* include message sends, deliveries, opens,
1346
+ # clicks, bounces, and complaints. *Event destinations* are places that
1347
+ # you can send information about these events to. For example, you can
1348
+ # send event data to Amazon SNS to receive notifications when you
1349
+ # receive bounces or complaints, or you can use Amazon Kinesis Data
1350
+ # Firehose to stream data to Amazon S3 for long-term storage.
1351
+ #
1352
+ # @option params [required, String] :configuration_set_name
1353
+ # The name of the configuration set that contains the event destination
1354
+ # that you want to modify.
1355
+ #
1356
+ # @option params [required, String] :event_destination_name
1357
+ # The name of the event destination that you want to modify.
1358
+ #
1359
+ # @option params [required, Types::EventDestinationDefinition] :event_destination
1360
+ # An object that defines the event destination.
1361
+ #
1362
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1363
+ #
1364
+ # @example Request syntax with placeholder values
1365
+ #
1366
+ # resp = client.update_configuration_set_event_destination({
1367
+ # configuration_set_name: "ConfigurationSetName", # required
1368
+ # event_destination_name: "EventDestinationName", # required
1369
+ # event_destination: { # required
1370
+ # enabled: false,
1371
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE
1372
+ # kinesis_firehose_destination: {
1373
+ # iam_role_arn: "AmazonResourceName", # required
1374
+ # delivery_stream_arn: "AmazonResourceName", # required
1375
+ # },
1376
+ # cloud_watch_destination: {
1377
+ # dimension_configurations: [ # required
1378
+ # {
1379
+ # dimension_name: "DimensionName", # required
1380
+ # dimension_value_source: "MESSAGE_TAG", # required, accepts MESSAGE_TAG, EMAIL_HEADER, LINK_TAG
1381
+ # default_dimension_value: "DefaultDimensionValue", # required
1382
+ # },
1383
+ # ],
1384
+ # },
1385
+ # sns_destination: {
1386
+ # topic_arn: "AmazonResourceName", # required
1387
+ # },
1388
+ # pinpoint_destination: {
1389
+ # application_arn: "AmazonResourceName",
1390
+ # },
1391
+ # },
1392
+ # })
1393
+ #
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/UpdateConfigurationSetEventDestination AWS API Documentation
1395
+ #
1396
+ # @overload update_configuration_set_event_destination(params = {})
1397
+ # @param [Hash] params ({})
1398
+ def update_configuration_set_event_destination(params = {}, options = {})
1399
+ req = build_request(:update_configuration_set_event_destination, params)
1400
+ req.send_request(options)
1401
+ end
1402
+
1403
+ # @!endgroup
1404
+
1405
+ # @param params ({})
1406
+ # @api private
1407
+ def build_request(operation_name, params = {})
1408
+ handlers = @handlers.for(operation_name)
1409
+ context = Seahorse::Client::RequestContext.new(
1410
+ operation_name: operation_name,
1411
+ operation: config.api.operation(operation_name),
1412
+ client: self,
1413
+ params: params,
1414
+ config: config)
1415
+ context[:gem_name] = 'aws-sdk-pinpointemail'
1416
+ context[:gem_version] = '1.0.0'
1417
+ Seahorse::Client::Request.new(handlers, context)
1418
+ end
1419
+
1420
+ # @api private
1421
+ # @deprecated
1422
+ def waiter_names
1423
+ []
1424
+ end
1425
+
1426
+ class << self
1427
+
1428
+ # @api private
1429
+ attr_reader :identifier
1430
+
1431
+ # @api private
1432
+ def errors_module
1433
+ Errors
1434
+ end
1435
+
1436
+ end
1437
+ end
1438
+ end