aws-sdk-sesv2 1.67.0 → 1.69.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '062650195298fb5e72afab4a48ca86e9f85b4b87c85fd0998481aeea4984c0da'
4
- data.tar.gz: ba70ad9ed5a5eab9b7a62e4fad0652c9de2cf2fc7168f4dca910036ce7cf68e3
3
+ metadata.gz: 1b43676d3026daf9f088d5567971f21b8cae9756a5adda3886d4066a1f67077a
4
+ data.tar.gz: 6d63f7bbd85c67aeadf9aae40346599ed3381b4b86b61eac8424a4f53101381e
5
5
  SHA512:
6
- metadata.gz: 88e319371a90ffdeac338bb336459cabc626704bfa7a12bfb6151040637ee57effdcfb7bbaa77d351a08b6640e4eb02707d37602e503a00e8bcde2d86e143437
7
- data.tar.gz: 1c52eacee1217656e30f2291badad92e1569fa415a3fd7bf8985cce6ec115a4affa7bd8945784ca3ea6348148263efc05ab3515092fb3eddd1217c76791f7598
6
+ metadata.gz: c491752de1fe19eee9b67ca0d139ed182e0266bf169089b0ac45a72e3e55928060dfad545744f2e508eff7dd00643012497220814d6ee6298992afff2ad48865
7
+ data.tar.gz: f6d416b579e03e29d16a91c295ad750849f84ef562aed34edc609296fc9c38a4897b7eb3ed4cf29eaf23923594e2b9e3b39dfd4b0a6940293d6a2782c5501aa9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.69.0 (2025-01-15)
5
+ ------------------
6
+
7
+ * Feature - This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects elevated complaint rates for customer sending identities.
8
+
9
+ 1.68.0 (2024-12-11)
10
+ ------------------
11
+
12
+ * Feature - Introduces support for multi-region endpoint.
13
+
4
14
  1.67.0 (2024-12-10)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.67.0
1
+ 1.69.0
@@ -257,11 +257,34 @@ module Aws::SESV2
257
257
  # Used when loading credentials from the shared credentials file
258
258
  # at HOME/.aws/credentials. When not specified, 'default' is used.
259
259
  #
260
+ # @option options [String] :request_checksum_calculation ("when_supported")
261
+ # Determines when a checksum will be calculated for request payloads. Values are:
262
+ #
263
+ # * `when_supported` - (default) When set, a checksum will be
264
+ # calculated for all request payloads of operations modeled with the
265
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
266
+ # `requestAlgorithmMember` is modeled.
267
+ # * `when_required` - When set, a checksum will only be calculated for
268
+ # request payloads of operations modeled with the `httpChecksum` trait where
269
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
270
+ # is modeled and supplied.
271
+ #
260
272
  # @option options [Integer] :request_min_compression_size_bytes (10240)
261
273
  # The minimum size in bytes that triggers compression for request
262
274
  # bodies. The value must be non-negative integer value between 0
263
275
  # and 10485780 bytes inclusive.
264
276
  #
277
+ # @option options [String] :response_checksum_validation ("when_supported")
278
+ # Determines when checksum validation will be performed on response payloads. Values are:
279
+ #
280
+ # * `when_supported` - (default) When set, checksum validation is performed on all
281
+ # response payloads of operations modeled with the `httpChecksum` trait where
282
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
283
+ # are supported.
284
+ # * `when_required` - When set, checksum validation is not performed on
285
+ # response payloads of operations unless the checksum algorithm is supported and
286
+ # the `requestValidationModeMember` member is set to `ENABLED`.
287
+ #
265
288
  # @option options [Proc] :retry_backoff
266
289
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
290
  # This option is only used in the `legacy` retry mode.
@@ -1376,6 +1399,64 @@ module Aws::SESV2
1376
1399
  req.send_request(options)
1377
1400
  end
1378
1401
 
1402
+ # Creates a multi-region endpoint (global-endpoint).
1403
+ #
1404
+ # The primary region is going to be the AWS-Region where the operation
1405
+ # is executed. The secondary region has to be provided in request's
1406
+ # parameters. From the data flow standpoint there is no difference
1407
+ # between primary and secondary regions - sending traffic will be split
1408
+ # equally between the two. The primary region is the region where the
1409
+ # resource has been created and where it can be managed.
1410
+ #
1411
+ # @option params [required, String] :endpoint_name
1412
+ # The name of the multi-region endpoint (global-endpoint).
1413
+ #
1414
+ # @option params [required, Types::Details] :details
1415
+ # Contains details of a multi-region endpoint (global-endpoint) being
1416
+ # created.
1417
+ #
1418
+ # @option params [Array<Types::Tag>] :tags
1419
+ # An array of objects that define the tags (keys and values) to
1420
+ # associate with the multi-region endpoint (global-endpoint).
1421
+ #
1422
+ # @return [Types::CreateMultiRegionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1423
+ #
1424
+ # * {Types::CreateMultiRegionEndpointResponse#status #status} => String
1425
+ # * {Types::CreateMultiRegionEndpointResponse#endpoint_id #endpoint_id} => String
1426
+ #
1427
+ # @example Request syntax with placeholder values
1428
+ #
1429
+ # resp = client.create_multi_region_endpoint({
1430
+ # endpoint_name: "EndpointName", # required
1431
+ # details: { # required
1432
+ # routes_details: [ # required
1433
+ # {
1434
+ # region: "Region", # required
1435
+ # },
1436
+ # ],
1437
+ # },
1438
+ # tags: [
1439
+ # {
1440
+ # key: "TagKey", # required
1441
+ # value: "TagValue", # required
1442
+ # },
1443
+ # ],
1444
+ # })
1445
+ #
1446
+ # @example Response structure
1447
+ #
1448
+ # resp.status #=> String, one of "CREATING", "READY", "FAILED", "DELETING"
1449
+ # resp.endpoint_id #=> String
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateMultiRegionEndpoint AWS API Documentation
1452
+ #
1453
+ # @overload create_multi_region_endpoint(params = {})
1454
+ # @param [Hash] params ({})
1455
+ def create_multi_region_endpoint(params = {}, options = {})
1456
+ req = build_request(:create_multi_region_endpoint, params)
1457
+ req.send_request(options)
1458
+ end
1459
+
1379
1460
  # Delete an existing configuration set.
1380
1461
  #
1381
1462
  # *Configuration sets* are groups of rules that you can apply to the
@@ -1633,6 +1714,37 @@ module Aws::SESV2
1633
1714
  req.send_request(options)
1634
1715
  end
1635
1716
 
1717
+ # Deletes a multi-region endpoint (global-endpoint).
1718
+ #
1719
+ # Only multi-region endpoints (global-endpoints) whose primary region is
1720
+ # the AWS-Region where operation is executed can be deleted.
1721
+ #
1722
+ # @option params [required, String] :endpoint_name
1723
+ # The name of the multi-region endpoint (global-endpoint) to be deleted.
1724
+ #
1725
+ # @return [Types::DeleteMultiRegionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1726
+ #
1727
+ # * {Types::DeleteMultiRegionEndpointResponse#status #status} => String
1728
+ #
1729
+ # @example Request syntax with placeholder values
1730
+ #
1731
+ # resp = client.delete_multi_region_endpoint({
1732
+ # endpoint_name: "EndpointName", # required
1733
+ # })
1734
+ #
1735
+ # @example Response structure
1736
+ #
1737
+ # resp.status #=> String, one of "CREATING", "READY", "FAILED", "DELETING"
1738
+ #
1739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteMultiRegionEndpoint AWS API Documentation
1740
+ #
1741
+ # @overload delete_multi_region_endpoint(params = {})
1742
+ # @param [Hash] params ({})
1743
+ def delete_multi_region_endpoint(params = {}, options = {})
1744
+ req = build_request(:delete_multi_region_endpoint, params)
1745
+ req.send_request(options)
1746
+ end
1747
+
1636
1748
  # Removes an email address from the suppression list for your account.
1637
1749
  #
1638
1750
  # @option params [required, String] :email_address
@@ -2753,6 +2865,48 @@ module Aws::SESV2
2753
2865
  req.send_request(options)
2754
2866
  end
2755
2867
 
2868
+ # Displays the multi-region endpoint (global-endpoint) configuration.
2869
+ #
2870
+ # Only multi-region endpoints (global-endpoints) whose primary region is
2871
+ # the AWS-Region where operation is executed can be displayed.
2872
+ #
2873
+ # @option params [required, String] :endpoint_name
2874
+ # The name of the multi-region endpoint (global-endpoint).
2875
+ #
2876
+ # @return [Types::GetMultiRegionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2877
+ #
2878
+ # * {Types::GetMultiRegionEndpointResponse#endpoint_name #endpoint_name} => String
2879
+ # * {Types::GetMultiRegionEndpointResponse#endpoint_id #endpoint_id} => String
2880
+ # * {Types::GetMultiRegionEndpointResponse#routes #routes} => Array&lt;Types::Route&gt;
2881
+ # * {Types::GetMultiRegionEndpointResponse#status #status} => String
2882
+ # * {Types::GetMultiRegionEndpointResponse#created_timestamp #created_timestamp} => Time
2883
+ # * {Types::GetMultiRegionEndpointResponse#last_updated_timestamp #last_updated_timestamp} => Time
2884
+ #
2885
+ # @example Request syntax with placeholder values
2886
+ #
2887
+ # resp = client.get_multi_region_endpoint({
2888
+ # endpoint_name: "EndpointName", # required
2889
+ # })
2890
+ #
2891
+ # @example Response structure
2892
+ #
2893
+ # resp.endpoint_name #=> String
2894
+ # resp.endpoint_id #=> String
2895
+ # resp.routes #=> Array
2896
+ # resp.routes[0].region #=> String
2897
+ # resp.status #=> String, one of "CREATING", "READY", "FAILED", "DELETING"
2898
+ # resp.created_timestamp #=> Time
2899
+ # resp.last_updated_timestamp #=> Time
2900
+ #
2901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetMultiRegionEndpoint AWS API Documentation
2902
+ #
2903
+ # @overload get_multi_region_endpoint(params = {})
2904
+ # @param [Hash] params ({})
2905
+ def get_multi_region_endpoint(params = {}, options = {})
2906
+ req = build_request(:get_multi_region_endpoint, params)
2907
+ req.send_request(options)
2908
+ end
2909
+
2756
2910
  # Retrieves information about a specific email address that's on the
2757
2911
  # suppression list for your account.
2758
2912
  #
@@ -3411,6 +3565,58 @@ module Aws::SESV2
3411
3565
  req.send_request(options)
3412
3566
  end
3413
3567
 
3568
+ # List the multi-region endpoints (global-endpoints).
3569
+ #
3570
+ # Only multi-region endpoints (global-endpoints) whose primary region is
3571
+ # the AWS-Region where operation is executed will be listed.
3572
+ #
3573
+ # @option params [String] :next_token
3574
+ # A token returned from a previous call to `ListMultiRegionEndpoints` to
3575
+ # indicate the position in the list of multi-region endpoints
3576
+ # (global-endpoints).
3577
+ #
3578
+ # @option params [Integer] :page_size
3579
+ # The number of results to show in a single call to
3580
+ # `ListMultiRegionEndpoints`. If the number of results is larger than
3581
+ # the number you specified in this parameter, the response includes a
3582
+ # `NextToken` element that you can use to retrieve the next page of
3583
+ # results.
3584
+ #
3585
+ # @return [Types::ListMultiRegionEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3586
+ #
3587
+ # * {Types::ListMultiRegionEndpointsResponse#multi_region_endpoints #multi_region_endpoints} => Array&lt;Types::MultiRegionEndpoint&gt;
3588
+ # * {Types::ListMultiRegionEndpointsResponse#next_token #next_token} => String
3589
+ #
3590
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3591
+ #
3592
+ # @example Request syntax with placeholder values
3593
+ #
3594
+ # resp = client.list_multi_region_endpoints({
3595
+ # next_token: "NextTokenV2",
3596
+ # page_size: 1,
3597
+ # })
3598
+ #
3599
+ # @example Response structure
3600
+ #
3601
+ # resp.multi_region_endpoints #=> Array
3602
+ # resp.multi_region_endpoints[0].endpoint_name #=> String
3603
+ # resp.multi_region_endpoints[0].status #=> String, one of "CREATING", "READY", "FAILED", "DELETING"
3604
+ # resp.multi_region_endpoints[0].endpoint_id #=> String
3605
+ # resp.multi_region_endpoints[0].regions #=> Array
3606
+ # resp.multi_region_endpoints[0].regions[0] #=> String
3607
+ # resp.multi_region_endpoints[0].created_timestamp #=> Time
3608
+ # resp.multi_region_endpoints[0].last_updated_timestamp #=> Time
3609
+ # resp.next_token #=> String
3610
+ #
3611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListMultiRegionEndpoints AWS API Documentation
3612
+ #
3613
+ # @overload list_multi_region_endpoints(params = {})
3614
+ # @param [Hash] params ({})
3615
+ def list_multi_region_endpoints(params = {}, options = {})
3616
+ req = build_request(:list_multi_region_endpoints, params)
3617
+ req.send_request(options)
3618
+ end
3619
+
3414
3620
  # Lists the recommendations present in your Amazon SES account in the
3415
3621
  # current Amazon Web Services Region.
3416
3622
  #
@@ -3455,7 +3661,7 @@ module Aws::SESV2
3455
3661
  #
3456
3662
  # resp.recommendations #=> Array
3457
3663
  # resp.recommendations[0].resource_arn #=> String
3458
- # resp.recommendations[0].type #=> String, one of "DKIM", "DMARC", "SPF", "BIMI"
3664
+ # resp.recommendations[0].type #=> String, one of "DKIM", "DMARC", "SPF", "BIMI", "COMPLAINT"
3459
3665
  # resp.recommendations[0].description #=> String
3460
3666
  # resp.recommendations[0].status #=> String, one of "OPEN", "FIXED"
3461
3667
  # resp.recommendations[0].created_timestamp #=> Time
@@ -4445,6 +4651,9 @@ module Aws::SESV2
4445
4651
  # @option params [String] :configuration_set_name
4446
4652
  # The name of the configuration set to use when sending the email.
4447
4653
  #
4654
+ # @option params [String] :endpoint_id
4655
+ # The ID of the multi-region endpoint (global-endpoint).
4656
+ #
4448
4657
  # @return [Types::SendBulkEmailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4449
4658
  #
4450
4659
  # * {Types::SendBulkEmailResponse#bulk_email_entry_results #bulk_email_entry_results} => Array&lt;Types::BulkEmailEntryResult&gt;
@@ -4508,6 +4717,7 @@ module Aws::SESV2
4508
4717
  # },
4509
4718
  # ],
4510
4719
  # configuration_set_name: "ConfigurationSetName",
4720
+ # endpoint_id: "EndpointId",
4511
4721
  # })
4512
4722
  #
4513
4723
  # @example Response structure
@@ -4667,6 +4877,9 @@ module Aws::SESV2
4667
4877
  # @option params [String] :configuration_set_name
4668
4878
  # The name of the configuration set to use when sending the email.
4669
4879
  #
4880
+ # @option params [String] :endpoint_id
4881
+ # The ID of the multi-region endpoint (global-endpoint).
4882
+ #
4670
4883
  # @option params [Types::ListManagementOptions] :list_management_options
4671
4884
  # An object used to specify a list or topic to which an email belongs,
4672
4885
  # which will be used when a contact chooses to unsubscribe.
@@ -4738,6 +4951,7 @@ module Aws::SESV2
4738
4951
  # },
4739
4952
  # ],
4740
4953
  # configuration_set_name: "ConfigurationSetName",
4954
+ # endpoint_id: "EndpointId",
4741
4955
  # list_management_options: {
4742
4956
  # contact_list_name: "ContactListName", # required
4743
4957
  # topic_name: "TopicName",
@@ -5202,7 +5416,7 @@ module Aws::SESV2
5202
5416
  tracer: tracer
5203
5417
  )
5204
5418
  context[:gem_name] = 'aws-sdk-sesv2'
5205
- context[:gem_version] = '1.67.0'
5419
+ context[:gem_version] = '1.69.0'
5206
5420
  Seahorse::Client::Request.new(handlers, context)
5207
5421
  end
5208
5422
 
@@ -91,6 +91,8 @@ module Aws::SESV2
91
91
  CreateExportJobResponse = Shapes::StructureShape.new(name: 'CreateExportJobResponse')
92
92
  CreateImportJobRequest = Shapes::StructureShape.new(name: 'CreateImportJobRequest')
93
93
  CreateImportJobResponse = Shapes::StructureShape.new(name: 'CreateImportJobResponse')
94
+ CreateMultiRegionEndpointRequest = Shapes::StructureShape.new(name: 'CreateMultiRegionEndpointRequest')
95
+ CreateMultiRegionEndpointResponse = Shapes::StructureShape.new(name: 'CreateMultiRegionEndpointResponse')
94
96
  CustomRedirectDomain = Shapes::StringShape.new(name: 'CustomRedirectDomain')
95
97
  CustomVerificationEmailTemplateMetadata = Shapes::StructureShape.new(name: 'CustomVerificationEmailTemplateMetadata')
96
98
  CustomVerificationEmailTemplatesList = Shapes::ListShape.new(name: 'CustomVerificationEmailTemplatesList')
@@ -121,6 +123,8 @@ module Aws::SESV2
121
123
  DeleteEmailIdentityResponse = Shapes::StructureShape.new(name: 'DeleteEmailIdentityResponse')
122
124
  DeleteEmailTemplateRequest = Shapes::StructureShape.new(name: 'DeleteEmailTemplateRequest')
123
125
  DeleteEmailTemplateResponse = Shapes::StructureShape.new(name: 'DeleteEmailTemplateResponse')
126
+ DeleteMultiRegionEndpointRequest = Shapes::StructureShape.new(name: 'DeleteMultiRegionEndpointRequest')
127
+ DeleteMultiRegionEndpointResponse = Shapes::StructureShape.new(name: 'DeleteMultiRegionEndpointResponse')
124
128
  DeleteSuppressedDestinationRequest = Shapes::StructureShape.new(name: 'DeleteSuppressedDestinationRequest')
125
129
  DeleteSuppressedDestinationResponse = Shapes::StructureShape.new(name: 'DeleteSuppressedDestinationResponse')
126
130
  DeliverabilityDashboardAccountStatus = Shapes::StringShape.new(name: 'DeliverabilityDashboardAccountStatus')
@@ -132,6 +136,7 @@ module Aws::SESV2
132
136
  DeliveryOptions = Shapes::StructureShape.new(name: 'DeliveryOptions')
133
137
  Description = Shapes::StringShape.new(name: 'Description')
134
138
  Destination = Shapes::StructureShape.new(name: 'Destination')
139
+ Details = Shapes::StructureShape.new(name: 'Details')
135
140
  DiagnosticCode = Shapes::StringShape.new(name: 'DiagnosticCode')
136
141
  DimensionName = Shapes::StringShape.new(name: 'DimensionName')
137
142
  DimensionValueSource = Shapes::StringShape.new(name: 'DimensionValueSource')
@@ -169,6 +174,8 @@ module Aws::SESV2
169
174
  EmailTemplateText = Shapes::StringShape.new(name: 'EmailTemplateText')
170
175
  Enabled = Shapes::BooleanShape.new(name: 'Enabled')
171
176
  EnabledWrapper = Shapes::BooleanShape.new(name: 'EnabledWrapper')
177
+ EndpointId = Shapes::StringShape.new(name: 'EndpointId')
178
+ EndpointName = Shapes::StringShape.new(name: 'EndpointName')
172
179
  EngagementEventType = Shapes::StringShape.new(name: 'EngagementEventType')
173
180
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
174
181
  Esp = Shapes::StringShape.new(name: 'Esp')
@@ -239,6 +246,8 @@ module Aws::SESV2
239
246
  GetImportJobResponse = Shapes::StructureShape.new(name: 'GetImportJobResponse')
240
247
  GetMessageInsightsRequest = Shapes::StructureShape.new(name: 'GetMessageInsightsRequest')
241
248
  GetMessageInsightsResponse = Shapes::StructureShape.new(name: 'GetMessageInsightsResponse')
249
+ GetMultiRegionEndpointRequest = Shapes::StructureShape.new(name: 'GetMultiRegionEndpointRequest')
250
+ GetMultiRegionEndpointResponse = Shapes::StructureShape.new(name: 'GetMultiRegionEndpointResponse')
242
251
  GetSuppressedDestinationRequest = Shapes::StructureShape.new(name: 'GetSuppressedDestinationRequest')
243
252
  GetSuppressedDestinationResponse = Shapes::StructureShape.new(name: 'GetSuppressedDestinationResponse')
244
253
  GuardianAttributes = Shapes::StructureShape.new(name: 'GuardianAttributes')
@@ -299,6 +308,8 @@ module Aws::SESV2
299
308
  ListImportJobsRequest = Shapes::StructureShape.new(name: 'ListImportJobsRequest')
300
309
  ListImportJobsResponse = Shapes::StructureShape.new(name: 'ListImportJobsResponse')
301
310
  ListManagementOptions = Shapes::StructureShape.new(name: 'ListManagementOptions')
311
+ ListMultiRegionEndpointsRequest = Shapes::StructureShape.new(name: 'ListMultiRegionEndpointsRequest')
312
+ ListMultiRegionEndpointsResponse = Shapes::StructureShape.new(name: 'ListMultiRegionEndpointsResponse')
302
313
  ListOfContactLists = Shapes::ListShape.new(name: 'ListOfContactLists')
303
314
  ListOfContacts = Shapes::ListShape.new(name: 'ListOfContacts')
304
315
  ListOfDedicatedIpPools = Shapes::ListShape.new(name: 'ListOfDedicatedIpPools')
@@ -346,10 +357,14 @@ module Aws::SESV2
346
357
  MetricNamespace = Shapes::StringShape.new(name: 'MetricNamespace')
347
358
  MetricValueList = Shapes::ListShape.new(name: 'MetricValueList')
348
359
  MetricsDataSource = Shapes::StructureShape.new(name: 'MetricsDataSource')
360
+ MultiRegionEndpoint = Shapes::StructureShape.new(name: 'MultiRegionEndpoint')
361
+ MultiRegionEndpoints = Shapes::ListShape.new(name: 'MultiRegionEndpoints')
349
362
  NextToken = Shapes::StringShape.new(name: 'NextToken')
363
+ NextTokenV2 = Shapes::StringShape.new(name: 'NextTokenV2')
350
364
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
351
365
  OutboundMessageId = Shapes::StringShape.new(name: 'OutboundMessageId')
352
366
  OverallVolume = Shapes::StructureShape.new(name: 'OverallVolume')
367
+ PageSizeV2 = Shapes::IntegerShape.new(name: 'PageSizeV2')
353
368
  Percentage = Shapes::FloatShape.new(name: 'Percentage')
354
369
  Percentage100Wrapper = Shapes::IntegerShape.new(name: 'Percentage100Wrapper')
355
370
  PinpointDestination = Shapes::StructureShape.new(name: 'PinpointDestination')
@@ -415,6 +430,8 @@ module Aws::SESV2
415
430
  RecommendationStatus = Shapes::StringShape.new(name: 'RecommendationStatus')
416
431
  RecommendationType = Shapes::StringShape.new(name: 'RecommendationType')
417
432
  RecommendationsList = Shapes::ListShape.new(name: 'RecommendationsList')
433
+ Region = Shapes::StringShape.new(name: 'Region')
434
+ Regions = Shapes::ListShape.new(name: 'Regions')
418
435
  RenderedEmailTemplate = Shapes::StringShape.new(name: 'RenderedEmailTemplate')
419
436
  ReplacementEmailContent = Shapes::StructureShape.new(name: 'ReplacementEmailContent')
420
437
  ReplacementTemplate = Shapes::StructureShape.new(name: 'ReplacementTemplate')
@@ -423,6 +440,10 @@ module Aws::SESV2
423
440
  ReputationOptions = Shapes::StructureShape.new(name: 'ReputationOptions')
424
441
  ReviewDetails = Shapes::StructureShape.new(name: 'ReviewDetails')
425
442
  ReviewStatus = Shapes::StringShape.new(name: 'ReviewStatus')
443
+ Route = Shapes::StructureShape.new(name: 'Route')
444
+ RouteDetails = Shapes::StructureShape.new(name: 'RouteDetails')
445
+ Routes = Shapes::ListShape.new(name: 'Routes')
446
+ RoutesDetails = Shapes::ListShape.new(name: 'RoutesDetails')
426
447
  S3Url = Shapes::StringShape.new(name: 'S3Url')
427
448
  SOARecord = Shapes::StructureShape.new(name: 'SOARecord')
428
449
  ScalingMode = Shapes::StringShape.new(name: 'ScalingMode')
@@ -440,6 +461,7 @@ module Aws::SESV2
440
461
  SentLast24Hours = Shapes::FloatShape.new(name: 'SentLast24Hours')
441
462
  SerialNumber = Shapes::IntegerShape.new(name: 'SerialNumber')
442
463
  SnsDestination = Shapes::StructureShape.new(name: 'SnsDestination')
464
+ Status = Shapes::StringShape.new(name: 'Status')
443
465
  Subject = Shapes::StringShape.new(name: 'Subject')
444
466
  SubscriptionStatus = Shapes::StringShape.new(name: 'SubscriptionStatus')
445
467
  SuccessRedirectionURL = Shapes::StringShape.new(name: 'SuccessRedirectionURL')
@@ -719,6 +741,15 @@ module Aws::SESV2
719
741
  CreateImportJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
720
742
  CreateImportJobResponse.struct_class = Types::CreateImportJobResponse
721
743
 
744
+ CreateMultiRegionEndpointRequest.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, required: true, location_name: "EndpointName"))
745
+ CreateMultiRegionEndpointRequest.add_member(:details, Shapes::ShapeRef.new(shape: Details, required: true, location_name: "Details"))
746
+ CreateMultiRegionEndpointRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
747
+ CreateMultiRegionEndpointRequest.struct_class = Types::CreateMultiRegionEndpointRequest
748
+
749
+ CreateMultiRegionEndpointResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
750
+ CreateMultiRegionEndpointResponse.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: EndpointId, location_name: "EndpointId"))
751
+ CreateMultiRegionEndpointResponse.struct_class = Types::CreateMultiRegionEndpointResponse
752
+
722
753
  CustomVerificationEmailTemplateMetadata.add_member(:template_name, Shapes::ShapeRef.new(shape: EmailTemplateName, location_name: "TemplateName"))
723
754
  CustomVerificationEmailTemplateMetadata.add_member(:from_email_address, Shapes::ShapeRef.new(shape: EmailAddress, location_name: "FromEmailAddress"))
724
755
  CustomVerificationEmailTemplateMetadata.add_member(:template_subject, Shapes::ShapeRef.new(shape: EmailTemplateSubject, location_name: "TemplateSubject"))
@@ -801,6 +832,12 @@ module Aws::SESV2
801
832
 
802
833
  DeleteEmailTemplateResponse.struct_class = Types::DeleteEmailTemplateResponse
803
834
 
835
+ DeleteMultiRegionEndpointRequest.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, required: true, location: "uri", location_name: "EndpointName"))
836
+ DeleteMultiRegionEndpointRequest.struct_class = Types::DeleteMultiRegionEndpointRequest
837
+
838
+ DeleteMultiRegionEndpointResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
839
+ DeleteMultiRegionEndpointResponse.struct_class = Types::DeleteMultiRegionEndpointResponse
840
+
804
841
  DeleteSuppressedDestinationRequest.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location: "uri", location_name: "EmailAddress"))
805
842
  DeleteSuppressedDestinationRequest.struct_class = Types::DeleteSuppressedDestinationRequest
806
843
 
@@ -826,6 +863,9 @@ module Aws::SESV2
826
863
  Destination.add_member(:bcc_addresses, Shapes::ShapeRef.new(shape: EmailAddressList, location_name: "BccAddresses"))
827
864
  Destination.struct_class = Types::Destination
828
865
 
866
+ Details.add_member(:routes_details, Shapes::ShapeRef.new(shape: RoutesDetails, required: true, location_name: "RoutesDetails"))
867
+ Details.struct_class = Types::Details
868
+
829
869
  Dimensions.key = Shapes::ShapeRef.new(shape: MetricDimensionName)
830
870
  Dimensions.value = Shapes::ShapeRef.new(shape: MetricDimensionValue)
831
871
 
@@ -1171,6 +1211,17 @@ module Aws::SESV2
1171
1211
  GetMessageInsightsResponse.add_member(:insights, Shapes::ShapeRef.new(shape: EmailInsightsList, location_name: "Insights"))
1172
1212
  GetMessageInsightsResponse.struct_class = Types::GetMessageInsightsResponse
1173
1213
 
1214
+ GetMultiRegionEndpointRequest.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, required: true, location: "uri", location_name: "EndpointName"))
1215
+ GetMultiRegionEndpointRequest.struct_class = Types::GetMultiRegionEndpointRequest
1216
+
1217
+ GetMultiRegionEndpointResponse.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, location_name: "EndpointName"))
1218
+ GetMultiRegionEndpointResponse.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: EndpointId, location_name: "EndpointId"))
1219
+ GetMultiRegionEndpointResponse.add_member(:routes, Shapes::ShapeRef.new(shape: Routes, location_name: "Routes"))
1220
+ GetMultiRegionEndpointResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
1221
+ GetMultiRegionEndpointResponse.add_member(:created_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTimestamp"))
1222
+ GetMultiRegionEndpointResponse.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedTimestamp"))
1223
+ GetMultiRegionEndpointResponse.struct_class = Types::GetMultiRegionEndpointResponse
1224
+
1174
1225
  GetSuppressedDestinationRequest.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location: "uri", location_name: "EmailAddress"))
1175
1226
  GetSuppressedDestinationRequest.struct_class = Types::GetSuppressedDestinationRequest
1176
1227
 
@@ -1350,6 +1401,14 @@ module Aws::SESV2
1350
1401
  ListManagementOptions.add_member(:topic_name, Shapes::ShapeRef.new(shape: TopicName, location_name: "TopicName"))
1351
1402
  ListManagementOptions.struct_class = Types::ListManagementOptions
1352
1403
 
1404
+ ListMultiRegionEndpointsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenV2, location: "querystring", location_name: "NextToken"))
1405
+ ListMultiRegionEndpointsRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: PageSizeV2, location: "querystring", location_name: "PageSize"))
1406
+ ListMultiRegionEndpointsRequest.struct_class = Types::ListMultiRegionEndpointsRequest
1407
+
1408
+ ListMultiRegionEndpointsResponse.add_member(:multi_region_endpoints, Shapes::ShapeRef.new(shape: MultiRegionEndpoints, location_name: "MultiRegionEndpoints"))
1409
+ ListMultiRegionEndpointsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenV2, location_name: "NextToken"))
1410
+ ListMultiRegionEndpointsResponse.struct_class = Types::ListMultiRegionEndpointsResponse
1411
+
1353
1412
  ListOfContactLists.member = Shapes::ShapeRef.new(shape: ContactList)
1354
1413
 
1355
1414
  ListOfContacts.member = Shapes::ShapeRef.new(shape: Contact)
@@ -1449,6 +1508,16 @@ module Aws::SESV2
1449
1508
  MetricsDataSource.add_member(:end_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndDate"))
1450
1509
  MetricsDataSource.struct_class = Types::MetricsDataSource
1451
1510
 
1511
+ MultiRegionEndpoint.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, location_name: "EndpointName"))
1512
+ MultiRegionEndpoint.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
1513
+ MultiRegionEndpoint.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: EndpointId, location_name: "EndpointId"))
1514
+ MultiRegionEndpoint.add_member(:regions, Shapes::ShapeRef.new(shape: Regions, location_name: "Regions"))
1515
+ MultiRegionEndpoint.add_member(:created_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTimestamp"))
1516
+ MultiRegionEndpoint.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedTimestamp"))
1517
+ MultiRegionEndpoint.struct_class = Types::MultiRegionEndpoint
1518
+
1519
+ MultiRegionEndpoints.member = Shapes::ShapeRef.new(shape: MultiRegionEndpoint)
1520
+
1452
1521
  NotFoundException.struct_class = Types::NotFoundException
1453
1522
 
1454
1523
  OverallVolume.add_member(:volume_statistics, Shapes::ShapeRef.new(shape: VolumeStatistics, location_name: "VolumeStatistics"))
@@ -1616,6 +1685,8 @@ module Aws::SESV2
1616
1685
 
1617
1686
  RecommendationsList.member = Shapes::ShapeRef.new(shape: Recommendation)
1618
1687
 
1688
+ Regions.member = Shapes::ShapeRef.new(shape: Region)
1689
+
1619
1690
  ReplacementEmailContent.add_member(:replacement_template, Shapes::ShapeRef.new(shape: ReplacementTemplate, location_name: "ReplacementTemplate"))
1620
1691
  ReplacementEmailContent.struct_class = Types::ReplacementEmailContent
1621
1692
 
@@ -1630,6 +1701,16 @@ module Aws::SESV2
1630
1701
  ReviewDetails.add_member(:case_id, Shapes::ShapeRef.new(shape: CaseId, location_name: "CaseId"))
1631
1702
  ReviewDetails.struct_class = Types::ReviewDetails
1632
1703
 
1704
+ Route.add_member(:region, Shapes::ShapeRef.new(shape: Region, required: true, location_name: "Region"))
1705
+ Route.struct_class = Types::Route
1706
+
1707
+ RouteDetails.add_member(:region, Shapes::ShapeRef.new(shape: Region, required: true, location_name: "Region"))
1708
+ RouteDetails.struct_class = Types::RouteDetails
1709
+
1710
+ Routes.member = Shapes::ShapeRef.new(shape: Route)
1711
+
1712
+ RoutesDetails.member = Shapes::ShapeRef.new(shape: RouteDetails)
1713
+
1633
1714
  SOARecord.add_member(:primary_name_server, Shapes::ShapeRef.new(shape: PrimaryNameServer, location_name: "PrimaryNameServer"))
1634
1715
  SOARecord.add_member(:admin_email, Shapes::ShapeRef.new(shape: AdminEmail, location_name: "AdminEmail"))
1635
1716
  SOARecord.add_member(:serial_number, Shapes::ShapeRef.new(shape: SerialNumber, location_name: "SerialNumber"))
@@ -1644,6 +1725,7 @@ module Aws::SESV2
1644
1725
  SendBulkEmailRequest.add_member(:default_content, Shapes::ShapeRef.new(shape: BulkEmailContent, required: true, location_name: "DefaultContent"))
1645
1726
  SendBulkEmailRequest.add_member(:bulk_email_entries, Shapes::ShapeRef.new(shape: BulkEmailEntryList, required: true, location_name: "BulkEmailEntries"))
1646
1727
  SendBulkEmailRequest.add_member(:configuration_set_name, Shapes::ShapeRef.new(shape: ConfigurationSetName, location_name: "ConfigurationSetName"))
1728
+ SendBulkEmailRequest.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: EndpointId, location_name: "EndpointId", metadata: {"contextParam"=>{"name"=>"EndpointId"}}))
1647
1729
  SendBulkEmailRequest.struct_class = Types::SendBulkEmailRequest
1648
1730
 
1649
1731
  SendBulkEmailResponse.add_member(:bulk_email_entry_results, Shapes::ShapeRef.new(shape: BulkEmailEntryResultList, required: true, location_name: "BulkEmailEntryResults"))
@@ -1666,6 +1748,7 @@ module Aws::SESV2
1666
1748
  SendEmailRequest.add_member(:content, Shapes::ShapeRef.new(shape: EmailContent, required: true, location_name: "Content"))
1667
1749
  SendEmailRequest.add_member(:email_tags, Shapes::ShapeRef.new(shape: MessageTagList, location_name: "EmailTags"))
1668
1750
  SendEmailRequest.add_member(:configuration_set_name, Shapes::ShapeRef.new(shape: ConfigurationSetName, location_name: "ConfigurationSetName"))
1751
+ SendEmailRequest.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: EndpointId, location_name: "EndpointId", metadata: {"contextParam"=>{"name"=>"EndpointId"}}))
1669
1752
  SendEmailRequest.add_member(:list_management_options, Shapes::ShapeRef.new(shape: ListManagementOptions, location_name: "ListManagementOptions"))
1670
1753
  SendEmailRequest.struct_class = Types::SendEmailRequest
1671
1754
 
@@ -2040,6 +2123,18 @@ module Aws::SESV2
2040
2123
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2041
2124
  end)
2042
2125
 
2126
+ api.add_operation(:create_multi_region_endpoint, Seahorse::Model::Operation.new.tap do |o|
2127
+ o.name = "CreateMultiRegionEndpoint"
2128
+ o.http_method = "POST"
2129
+ o.http_request_uri = "/v2/email/multi-region-endpoints"
2130
+ o.input = Shapes::ShapeRef.new(shape: CreateMultiRegionEndpointRequest)
2131
+ o.output = Shapes::ShapeRef.new(shape: CreateMultiRegionEndpointResponse)
2132
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2133
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2134
+ o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
2135
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2136
+ end)
2137
+
2043
2138
  api.add_operation(:delete_configuration_set, Seahorse::Model::Operation.new.tap do |o|
2044
2139
  o.name = "DeleteConfigurationSet"
2045
2140
  o.http_method = "DELETE"
@@ -2143,6 +2238,18 @@ module Aws::SESV2
2143
2238
  o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2144
2239
  end)
2145
2240
 
2241
+ api.add_operation(:delete_multi_region_endpoint, Seahorse::Model::Operation.new.tap do |o|
2242
+ o.name = "DeleteMultiRegionEndpoint"
2243
+ o.http_method = "DELETE"
2244
+ o.http_request_uri = "/v2/email/multi-region-endpoints/{EndpointName}"
2245
+ o.input = Shapes::ShapeRef.new(shape: DeleteMultiRegionEndpointRequest)
2246
+ o.output = Shapes::ShapeRef.new(shape: DeleteMultiRegionEndpointResponse)
2247
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2248
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2249
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2250
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
2251
+ end)
2252
+
2146
2253
  api.add_operation(:delete_suppressed_destination, Seahorse::Model::Operation.new.tap do |o|
2147
2254
  o.name = "DeleteSuppressedDestination"
2148
2255
  o.http_method = "DELETE"
@@ -2379,6 +2486,17 @@ module Aws::SESV2
2379
2486
  o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2380
2487
  end)
2381
2488
 
2489
+ api.add_operation(:get_multi_region_endpoint, Seahorse::Model::Operation.new.tap do |o|
2490
+ o.name = "GetMultiRegionEndpoint"
2491
+ o.http_method = "GET"
2492
+ o.http_request_uri = "/v2/email/multi-region-endpoints/{EndpointName}"
2493
+ o.input = Shapes::ShapeRef.new(shape: GetMultiRegionEndpointRequest)
2494
+ o.output = Shapes::ShapeRef.new(shape: GetMultiRegionEndpointResponse)
2495
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2496
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2497
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2498
+ end)
2499
+
2382
2500
  api.add_operation(:get_suppressed_destination, Seahorse::Model::Operation.new.tap do |o|
2383
2501
  o.name = "GetSuppressedDestination"
2384
2502
  o.http_method = "GET"
@@ -2569,6 +2687,22 @@ module Aws::SESV2
2569
2687
  )
2570
2688
  end)
2571
2689
 
2690
+ api.add_operation(:list_multi_region_endpoints, Seahorse::Model::Operation.new.tap do |o|
2691
+ o.name = "ListMultiRegionEndpoints"
2692
+ o.http_method = "GET"
2693
+ o.http_request_uri = "/v2/email/multi-region-endpoints"
2694
+ o.input = Shapes::ShapeRef.new(shape: ListMultiRegionEndpointsRequest)
2695
+ o.output = Shapes::ShapeRef.new(shape: ListMultiRegionEndpointsResponse)
2696
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2697
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2698
+ o[:pager] = Aws::Pager.new(
2699
+ limit_key: "page_size",
2700
+ tokens: {
2701
+ "next_token" => "next_token"
2702
+ }
2703
+ )
2704
+ end)
2705
+
2572
2706
  api.add_operation(:list_recommendations, Seahorse::Model::Operation.new.tap do |o|
2573
2707
  o.name = "ListRecommendations"
2574
2708
  o.http_method = "POST"
@@ -30,11 +30,17 @@ module Aws::SESV2
30
30
  #
31
31
  # @return [String]
32
32
  #
33
+ # @!attribute endpoint_id
34
+ # Operation parameter for EndpointId
35
+ #
36
+ # @return [String]
37
+ #
33
38
  EndpointParameters = Struct.new(
34
39
  :region,
35
40
  :use_dual_stack,
36
41
  :use_fips,
37
42
  :endpoint,
43
+ :endpoint_id,
38
44
  ) do
39
45
  include Aws::Structure
40
46
 
@@ -45,6 +51,7 @@ module Aws::SESV2
45
51
  'UseDualStack' => :use_dual_stack,
46
52
  'UseFIPS' => :use_fips,
47
53
  'Endpoint' => :endpoint,
54
+ 'EndpointId' => :endpoint_id,
48
55
  }.freeze
49
56
  end
50
57
 
@@ -55,6 +62,7 @@ module Aws::SESV2
55
62
  self[:use_fips] = options[:use_fips]
56
63
  self[:use_fips] = false if self[:use_fips].nil?
57
64
  self[:endpoint] = options[:endpoint]
65
+ self[:endpoint_id] = options[:endpoint_id]
58
66
  end
59
67
 
60
68
  def self.create(config, options={})