aws-sdk-sesv2 1.9.0 → 1.14.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: 769519b2cd68b9c9f42d3d9c7d89f4ac5446539bf4db8756e7938e950a2140c9
4
- data.tar.gz: a984786077a2f8f9faca256098e1348347e656878d64abc4ab46b5e1445320f6
3
+ metadata.gz: cf142d0093dff3eae91675e8dd268efc82abf52409ef2cc9d59360032db79aaf
4
+ data.tar.gz: eb1caed6cf6b965a31cec092cfc8b7e75262fdfe74c360219191a10adffb6bfe
5
5
  SHA512:
6
- metadata.gz: fa3baf68d307164174bed645a86f26c11546f0eeea0c8f703ff809ee67705346d07aab81e2842da2db17a35870ff86487e753aeb68aaddb112b28795d7b29c45
7
- data.tar.gz: bdcf3ce4ceec146ab4ea831c2099c516d76fc3610a4f57f6257a555b7439f2d17cd1d05cc3a2a8e5d58e8152ff05104e98f74202f4e1c47e71f713005ea8ac57
6
+ metadata.gz: 44cc5f80b869a92fd2965925acee808ed6119712be0440a27c521fca2ca9fea95321e781a7331e5dbca90dca64e60102967732de8f9572b8dab711f207e2ca41
7
+ data.tar.gz: 85e2ea755adf6cd26c514d6e6aed6954f647317aeadd030ef0dfd777a3488aabb4218798b7ab0bda413d75fb550a8917e2916feb09056518865c3510fe0f8dd6
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-sesv2/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::SESV2
49
50
 
50
- GEM_VERSION = '1.9.0'
51
+ GEM_VERSION = '1.14.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::SESV2
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::SESV2
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -417,7 +432,7 @@ module Aws::SESV2
417
432
  # event_destination_name: "EventDestinationName", # required
418
433
  # event_destination: { # required
419
434
  # enabled: false,
420
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
435
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
421
436
  # kinesis_firehose_destination: {
422
437
  # iam_role_arn: "AmazonResourceName", # required
423
438
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -449,6 +464,99 @@ module Aws::SESV2
449
464
  req.send_request(options)
450
465
  end
451
466
 
467
+ # Creates a contact, which is an end-user who is receiving the email,
468
+ # and adds them to a contact list.
469
+ #
470
+ # @option params [required, String] :contact_list_name
471
+ # The name of the contact list to which the contact should be added.
472
+ #
473
+ # @option params [required, String] :email_address
474
+ # The contact's email address.
475
+ #
476
+ # @option params [Array<Types::TopicPreference>] :topic_preferences
477
+ # The contact's preferences for being opted-in to or opted-out of
478
+ # topics.
479
+ #
480
+ # @option params [Boolean] :unsubscribe_all
481
+ # A boolean value status noting if the contact is unsubscribed from all
482
+ # contact list topics.
483
+ #
484
+ # @option params [String] :attributes_data
485
+ # The attribute data attached to a contact.
486
+ #
487
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
488
+ #
489
+ # @example Request syntax with placeholder values
490
+ #
491
+ # resp = client.create_contact({
492
+ # contact_list_name: "ContactListName", # required
493
+ # email_address: "EmailAddress", # required
494
+ # topic_preferences: [
495
+ # {
496
+ # topic_name: "TopicName", # required
497
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
498
+ # },
499
+ # ],
500
+ # unsubscribe_all: false,
501
+ # attributes_data: "AttributesData",
502
+ # })
503
+ #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContact AWS API Documentation
505
+ #
506
+ # @overload create_contact(params = {})
507
+ # @param [Hash] params ({})
508
+ def create_contact(params = {}, options = {})
509
+ req = build_request(:create_contact, params)
510
+ req.send_request(options)
511
+ end
512
+
513
+ # Creates a contact list.
514
+ #
515
+ # @option params [required, String] :contact_list_name
516
+ # The name of the contact list.
517
+ #
518
+ # @option params [Array<Types::Topic>] :topics
519
+ # An interest group, theme, or label within a list. A contact list can
520
+ # have multiple topics.
521
+ #
522
+ # @option params [String] :description
523
+ # A description of what the contact list is about.
524
+ #
525
+ # @option params [Array<Types::Tag>] :tags
526
+ # The tags associated with a contact list.
527
+ #
528
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
529
+ #
530
+ # @example Request syntax with placeholder values
531
+ #
532
+ # resp = client.create_contact_list({
533
+ # contact_list_name: "ContactListName", # required
534
+ # topics: [
535
+ # {
536
+ # topic_name: "TopicName", # required
537
+ # display_name: "DisplayName", # required
538
+ # description: "Description",
539
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
540
+ # },
541
+ # ],
542
+ # description: "Description",
543
+ # tags: [
544
+ # {
545
+ # key: "TagKey", # required
546
+ # value: "TagValue", # required
547
+ # },
548
+ # ],
549
+ # })
550
+ #
551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactList AWS API Documentation
552
+ #
553
+ # @overload create_contact_list(params = {})
554
+ # @param [Hash] params ({})
555
+ def create_contact_list(params = {}, options = {})
556
+ req = build_request(:create_contact_list, params)
557
+ req.send_request(options)
558
+ end
559
+
452
560
  # Creates a new custom verification email template.
453
561
  #
454
562
  # For more information about custom verification email templates, see
@@ -818,6 +926,49 @@ module Aws::SESV2
818
926
  req.send_request(options)
819
927
  end
820
928
 
929
+ # Creates an import job for a data destination.
930
+ #
931
+ # @option params [required, Types::ImportDestination] :import_destination
932
+ # The destination for the import job.
933
+ #
934
+ # @option params [required, Types::ImportDataSource] :import_data_source
935
+ # The data source for the import job.
936
+ #
937
+ # @return [Types::CreateImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
938
+ #
939
+ # * {Types::CreateImportJobResponse#job_id #job_id} => String
940
+ #
941
+ # @example Request syntax with placeholder values
942
+ #
943
+ # resp = client.create_import_job({
944
+ # import_destination: { # required
945
+ # suppression_list_destination: {
946
+ # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
947
+ # },
948
+ # contact_list_destination: {
949
+ # contact_list_name: "ContactListName", # required
950
+ # contact_list_import_action: "DELETE", # required, accepts DELETE, PUT
951
+ # },
952
+ # },
953
+ # import_data_source: { # required
954
+ # s3_url: "S3Url", # required
955
+ # data_format: "CSV", # required, accepts CSV, JSON
956
+ # },
957
+ # })
958
+ #
959
+ # @example Response structure
960
+ #
961
+ # resp.job_id #=> String
962
+ #
963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJob AWS API Documentation
964
+ #
965
+ # @overload create_import_job(params = {})
966
+ # @param [Hash] params ({})
967
+ def create_import_job(params = {}, options = {})
968
+ req = build_request(:create_import_job, params)
969
+ req.send_request(options)
970
+ end
971
+
821
972
  # Delete an existing configuration set.
822
973
  #
823
974
  # *Configuration sets* are groups of rules that you can apply to the
@@ -880,6 +1031,54 @@ module Aws::SESV2
880
1031
  req.send_request(options)
881
1032
  end
882
1033
 
1034
+ # Removes a contact from a contact list.
1035
+ #
1036
+ # @option params [required, String] :contact_list_name
1037
+ # The name of the contact list from which the contact should be removed.
1038
+ #
1039
+ # @option params [required, String] :email_address
1040
+ # The contact's email address.
1041
+ #
1042
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1043
+ #
1044
+ # @example Request syntax with placeholder values
1045
+ #
1046
+ # resp = client.delete_contact({
1047
+ # contact_list_name: "ContactListName", # required
1048
+ # email_address: "EmailAddress", # required
1049
+ # })
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContact AWS API Documentation
1052
+ #
1053
+ # @overload delete_contact(params = {})
1054
+ # @param [Hash] params ({})
1055
+ def delete_contact(params = {}, options = {})
1056
+ req = build_request(:delete_contact, params)
1057
+ req.send_request(options)
1058
+ end
1059
+
1060
+ # Deletes a contact list and all of the contacts on that list.
1061
+ #
1062
+ # @option params [required, String] :contact_list_name
1063
+ # The name of the contact list.
1064
+ #
1065
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1066
+ #
1067
+ # @example Request syntax with placeholder values
1068
+ #
1069
+ # resp = client.delete_contact_list({
1070
+ # contact_list_name: "ContactListName", # required
1071
+ # })
1072
+ #
1073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactList AWS API Documentation
1074
+ #
1075
+ # @overload delete_contact_list(params = {})
1076
+ # @param [Hash] params ({})
1077
+ def delete_contact_list(params = {}, options = {})
1078
+ req = build_request(:delete_contact_list, params)
1079
+ req.send_request(options)
1080
+ end
1081
+
883
1082
  # Deletes an existing custom verification email template.
884
1083
  #
885
1084
  # For more information about custom verification email templates, see
@@ -1212,7 +1411,7 @@ module Aws::SESV2
1212
1411
  # resp.event_destinations[0].name #=> String
1213
1412
  # resp.event_destinations[0].enabled #=> Boolean
1214
1413
  # resp.event_destinations[0].matching_event_types #=> Array
1215
- # resp.event_destinations[0].matching_event_types[0] #=> String, one of "SEND", "REJECT", "BOUNCE", "COMPLAINT", "DELIVERY", "OPEN", "CLICK", "RENDERING_FAILURE", "DELIVERY_DELAY"
1414
+ # resp.event_destinations[0].matching_event_types[0] #=> String, one of "SEND", "REJECT", "BOUNCE", "COMPLAINT", "DELIVERY", "OPEN", "CLICK", "RENDERING_FAILURE", "DELIVERY_DELAY", "SUBSCRIPTION"
1216
1415
  # resp.event_destinations[0].kinesis_firehose_destination.iam_role_arn #=> String
1217
1416
  # resp.event_destinations[0].kinesis_firehose_destination.delivery_stream_arn #=> String
1218
1417
  # resp.event_destinations[0].cloud_watch_destination.dimension_configurations #=> Array
@@ -1231,6 +1430,101 @@ module Aws::SESV2
1231
1430
  req.send_request(options)
1232
1431
  end
1233
1432
 
1433
+ # Returns a contact from a contact list.
1434
+ #
1435
+ # @option params [required, String] :contact_list_name
1436
+ # The name of the contact list to which the contact belongs.
1437
+ #
1438
+ # @option params [required, String] :email_address
1439
+ # The contact's email addres.
1440
+ #
1441
+ # @return [Types::GetContactResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1442
+ #
1443
+ # * {Types::GetContactResponse#contact_list_name #contact_list_name} => String
1444
+ # * {Types::GetContactResponse#email_address #email_address} => String
1445
+ # * {Types::GetContactResponse#topic_preferences #topic_preferences} => Array&lt;Types::TopicPreference&gt;
1446
+ # * {Types::GetContactResponse#topic_default_preferences #topic_default_preferences} => Array&lt;Types::TopicPreference&gt;
1447
+ # * {Types::GetContactResponse#unsubscribe_all #unsubscribe_all} => Boolean
1448
+ # * {Types::GetContactResponse#attributes_data #attributes_data} => String
1449
+ # * {Types::GetContactResponse#created_timestamp #created_timestamp} => Time
1450
+ # * {Types::GetContactResponse#last_updated_timestamp #last_updated_timestamp} => Time
1451
+ #
1452
+ # @example Request syntax with placeholder values
1453
+ #
1454
+ # resp = client.get_contact({
1455
+ # contact_list_name: "ContactListName", # required
1456
+ # email_address: "EmailAddress", # required
1457
+ # })
1458
+ #
1459
+ # @example Response structure
1460
+ #
1461
+ # resp.contact_list_name #=> String
1462
+ # resp.email_address #=> String
1463
+ # resp.topic_preferences #=> Array
1464
+ # resp.topic_preferences[0].topic_name #=> String
1465
+ # resp.topic_preferences[0].subscription_status #=> String, one of "OPT_IN", "OPT_OUT"
1466
+ # resp.topic_default_preferences #=> Array
1467
+ # resp.topic_default_preferences[0].topic_name #=> String
1468
+ # resp.topic_default_preferences[0].subscription_status #=> String, one of "OPT_IN", "OPT_OUT"
1469
+ # resp.unsubscribe_all #=> Boolean
1470
+ # resp.attributes_data #=> String
1471
+ # resp.created_timestamp #=> Time
1472
+ # resp.last_updated_timestamp #=> Time
1473
+ #
1474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContact AWS API Documentation
1475
+ #
1476
+ # @overload get_contact(params = {})
1477
+ # @param [Hash] params ({})
1478
+ def get_contact(params = {}, options = {})
1479
+ req = build_request(:get_contact, params)
1480
+ req.send_request(options)
1481
+ end
1482
+
1483
+ # Returns contact list metadata. It does not return any information
1484
+ # about the contacts present in the list.
1485
+ #
1486
+ # @option params [required, String] :contact_list_name
1487
+ # The name of the contact list.
1488
+ #
1489
+ # @return [Types::GetContactListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1490
+ #
1491
+ # * {Types::GetContactListResponse#contact_list_name #contact_list_name} => String
1492
+ # * {Types::GetContactListResponse#topics #topics} => Array&lt;Types::Topic&gt;
1493
+ # * {Types::GetContactListResponse#description #description} => String
1494
+ # * {Types::GetContactListResponse#created_timestamp #created_timestamp} => Time
1495
+ # * {Types::GetContactListResponse#last_updated_timestamp #last_updated_timestamp} => Time
1496
+ # * {Types::GetContactListResponse#tags #tags} => Array&lt;Types::Tag&gt;
1497
+ #
1498
+ # @example Request syntax with placeholder values
1499
+ #
1500
+ # resp = client.get_contact_list({
1501
+ # contact_list_name: "ContactListName", # required
1502
+ # })
1503
+ #
1504
+ # @example Response structure
1505
+ #
1506
+ # resp.contact_list_name #=> String
1507
+ # resp.topics #=> Array
1508
+ # resp.topics[0].topic_name #=> String
1509
+ # resp.topics[0].display_name #=> String
1510
+ # resp.topics[0].description #=> String
1511
+ # resp.topics[0].default_subscription_status #=> String, one of "OPT_IN", "OPT_OUT"
1512
+ # resp.description #=> String
1513
+ # resp.created_timestamp #=> Time
1514
+ # resp.last_updated_timestamp #=> Time
1515
+ # resp.tags #=> Array
1516
+ # resp.tags[0].key #=> String
1517
+ # resp.tags[0].value #=> String
1518
+ #
1519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactList AWS API Documentation
1520
+ #
1521
+ # @overload get_contact_list(params = {})
1522
+ # @param [Hash] params ({})
1523
+ def get_contact_list(params = {}, options = {})
1524
+ req = build_request(:get_contact_list, params)
1525
+ req.send_request(options)
1526
+ end
1527
+
1234
1528
  # Returns the custom email verification template for the template name
1235
1529
  # you specify.
1236
1530
  #
@@ -1712,6 +2006,54 @@ module Aws::SESV2
1712
2006
  req.send_request(options)
1713
2007
  end
1714
2008
 
2009
+ # Provides information about an import job.
2010
+ #
2011
+ # @option params [required, String] :job_id
2012
+ # The ID of the import job.
2013
+ #
2014
+ # @return [Types::GetImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2015
+ #
2016
+ # * {Types::GetImportJobResponse#job_id #job_id} => String
2017
+ # * {Types::GetImportJobResponse#import_destination #import_destination} => Types::ImportDestination
2018
+ # * {Types::GetImportJobResponse#import_data_source #import_data_source} => Types::ImportDataSource
2019
+ # * {Types::GetImportJobResponse#failure_info #failure_info} => Types::FailureInfo
2020
+ # * {Types::GetImportJobResponse#job_status #job_status} => String
2021
+ # * {Types::GetImportJobResponse#created_timestamp #created_timestamp} => Time
2022
+ # * {Types::GetImportJobResponse#completed_timestamp #completed_timestamp} => Time
2023
+ # * {Types::GetImportJobResponse#processed_records_count #processed_records_count} => Integer
2024
+ # * {Types::GetImportJobResponse#failed_records_count #failed_records_count} => Integer
2025
+ #
2026
+ # @example Request syntax with placeholder values
2027
+ #
2028
+ # resp = client.get_import_job({
2029
+ # job_id: "JobId", # required
2030
+ # })
2031
+ #
2032
+ # @example Response structure
2033
+ #
2034
+ # resp.job_id #=> String
2035
+ # resp.import_destination.suppression_list_destination.suppression_list_import_action #=> String, one of "DELETE", "PUT"
2036
+ # resp.import_destination.contact_list_destination.contact_list_name #=> String
2037
+ # resp.import_destination.contact_list_destination.contact_list_import_action #=> String, one of "DELETE", "PUT"
2038
+ # resp.import_data_source.s3_url #=> String
2039
+ # resp.import_data_source.data_format #=> String, one of "CSV", "JSON"
2040
+ # resp.failure_info.failed_records_s3_url #=> String
2041
+ # resp.failure_info.error_message #=> String
2042
+ # resp.job_status #=> String, one of "CREATED", "PROCESSING", "COMPLETED", "FAILED"
2043
+ # resp.created_timestamp #=> Time
2044
+ # resp.completed_timestamp #=> Time
2045
+ # resp.processed_records_count #=> Integer
2046
+ # resp.failed_records_count #=> Integer
2047
+ #
2048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJob AWS API Documentation
2049
+ #
2050
+ # @overload get_import_job(params = {})
2051
+ # @param [Hash] params ({})
2052
+ def get_import_job(params = {}, options = {})
2053
+ req = build_request(:get_import_job, params)
2054
+ req.send_request(options)
2055
+ end
2056
+
1715
2057
  # Retrieves information about a specific email address that's on the
1716
2058
  # suppression list for your account.
1717
2059
  #
@@ -1793,6 +2135,118 @@ module Aws::SESV2
1793
2135
  req.send_request(options)
1794
2136
  end
1795
2137
 
2138
+ # Lists all of the contact lists available.
2139
+ #
2140
+ # @option params [Integer] :page_size
2141
+ # Maximum number of contact lists to return at once. Use this parameter
2142
+ # to paginate results. If additional contact lists exist beyond the
2143
+ # specified limit, the `NextToken` element is sent in the response. Use
2144
+ # the `NextToken` value in subsequent requests to retrieve additional
2145
+ # lists.
2146
+ #
2147
+ # @option params [String] :next_token
2148
+ # A string token indicating that there might be additional contact lists
2149
+ # available to be listed. Use the token provided in the Response to use
2150
+ # in the subsequent call to ListContactLists with the same parameters to
2151
+ # retrieve the next page of contact lists.
2152
+ #
2153
+ # @return [Types::ListContactListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2154
+ #
2155
+ # * {Types::ListContactListsResponse#contact_lists #contact_lists} => Array&lt;Types::ContactList&gt;
2156
+ # * {Types::ListContactListsResponse#next_token #next_token} => String
2157
+ #
2158
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2159
+ #
2160
+ # @example Request syntax with placeholder values
2161
+ #
2162
+ # resp = client.list_contact_lists({
2163
+ # page_size: 1,
2164
+ # next_token: "NextToken",
2165
+ # })
2166
+ #
2167
+ # @example Response structure
2168
+ #
2169
+ # resp.contact_lists #=> Array
2170
+ # resp.contact_lists[0].contact_list_name #=> String
2171
+ # resp.contact_lists[0].last_updated_timestamp #=> Time
2172
+ # resp.next_token #=> String
2173
+ #
2174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactLists AWS API Documentation
2175
+ #
2176
+ # @overload list_contact_lists(params = {})
2177
+ # @param [Hash] params ({})
2178
+ def list_contact_lists(params = {}, options = {})
2179
+ req = build_request(:list_contact_lists, params)
2180
+ req.send_request(options)
2181
+ end
2182
+
2183
+ # Lists the contacts present in a specific contact list.
2184
+ #
2185
+ # @option params [required, String] :contact_list_name
2186
+ # The name of the contact list.
2187
+ #
2188
+ # @option params [Types::ListContactsFilter] :filter
2189
+ # A filter that can be applied to a list of contacts.
2190
+ #
2191
+ # @option params [Integer] :page_size
2192
+ # The number of contacts that may be returned at once, which is
2193
+ # dependent on if there are more or less contacts than the value of the
2194
+ # PageSize. Use this parameter to paginate results. If additional
2195
+ # contacts exist beyond the specified limit, the `NextToken` element is
2196
+ # sent in the response. Use the `NextToken` value in subsequent requests
2197
+ # to retrieve additional contacts.
2198
+ #
2199
+ # @option params [String] :next_token
2200
+ # A string token indicating that there might be additional contacts
2201
+ # available to be listed. Use the token provided in the Response to use
2202
+ # in the subsequent call to ListContacts with the same parameters to
2203
+ # retrieve the next page of contacts.
2204
+ #
2205
+ # @return [Types::ListContactsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2206
+ #
2207
+ # * {Types::ListContactsResponse#contacts #contacts} => Array&lt;Types::Contact&gt;
2208
+ # * {Types::ListContactsResponse#next_token #next_token} => String
2209
+ #
2210
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2211
+ #
2212
+ # @example Request syntax with placeholder values
2213
+ #
2214
+ # resp = client.list_contacts({
2215
+ # contact_list_name: "ContactListName", # required
2216
+ # filter: {
2217
+ # filtered_status: "OPT_IN", # accepts OPT_IN, OPT_OUT
2218
+ # topic_filter: {
2219
+ # topic_name: "TopicName",
2220
+ # use_default_if_preference_unavailable: false,
2221
+ # },
2222
+ # },
2223
+ # page_size: 1,
2224
+ # next_token: "NextToken",
2225
+ # })
2226
+ #
2227
+ # @example Response structure
2228
+ #
2229
+ # resp.contacts #=> Array
2230
+ # resp.contacts[0].email_address #=> String
2231
+ # resp.contacts[0].topic_preferences #=> Array
2232
+ # resp.contacts[0].topic_preferences[0].topic_name #=> String
2233
+ # resp.contacts[0].topic_preferences[0].subscription_status #=> String, one of "OPT_IN", "OPT_OUT"
2234
+ # resp.contacts[0].topic_default_preferences #=> Array
2235
+ # resp.contacts[0].topic_default_preferences[0].topic_name #=> String
2236
+ # resp.contacts[0].topic_default_preferences[0].subscription_status #=> String, one of "OPT_IN", "OPT_OUT"
2237
+ # resp.contacts[0].unsubscribe_all #=> Boolean
2238
+ # resp.contacts[0].last_updated_timestamp #=> Time
2239
+ # resp.next_token #=> String
2240
+ #
2241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContacts AWS API Documentation
2242
+ #
2243
+ # @overload list_contacts(params = {})
2244
+ # @param [Hash] params ({})
2245
+ def list_contacts(params = {}, options = {})
2246
+ req = build_request(:list_contacts, params)
2247
+ req.send_request(options)
2248
+ end
2249
+
1796
2250
  # Lists the existing custom verification email templates for your
1797
2251
  # account in the current AWS Region.
1798
2252
  #
@@ -2124,6 +2578,60 @@ module Aws::SESV2
2124
2578
  req.send_request(options)
2125
2579
  end
2126
2580
 
2581
+ # Lists all of the import jobs.
2582
+ #
2583
+ # @option params [String] :import_destination_type
2584
+ # The destination of the import job, which can be used to list import
2585
+ # jobs that have a certain `ImportDestinationType`.
2586
+ #
2587
+ # @option params [String] :next_token
2588
+ # A string token indicating that there might be additional import jobs
2589
+ # available to be listed. Copy this token to a subsequent call to
2590
+ # `ListImportJobs` with the same parameters to retrieve the next page of
2591
+ # import jobs.
2592
+ #
2593
+ # @option params [Integer] :page_size
2594
+ # Maximum number of import jobs to return at once. Use this parameter to
2595
+ # paginate results. If additional import jobs exist beyond the specified
2596
+ # limit, the `NextToken` element is sent in the response. Use the
2597
+ # `NextToken` value in subsequent requests to retrieve additional
2598
+ # addresses.
2599
+ #
2600
+ # @return [Types::ListImportJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2601
+ #
2602
+ # * {Types::ListImportJobsResponse#import_jobs #import_jobs} => Array&lt;Types::ImportJobSummary&gt;
2603
+ # * {Types::ListImportJobsResponse#next_token #next_token} => String
2604
+ #
2605
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2606
+ #
2607
+ # @example Request syntax with placeholder values
2608
+ #
2609
+ # resp = client.list_import_jobs({
2610
+ # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST, CONTACT_LIST
2611
+ # next_token: "NextToken",
2612
+ # page_size: 1,
2613
+ # })
2614
+ #
2615
+ # @example Response structure
2616
+ #
2617
+ # resp.import_jobs #=> Array
2618
+ # resp.import_jobs[0].job_id #=> String
2619
+ # resp.import_jobs[0].import_destination.suppression_list_destination.suppression_list_import_action #=> String, one of "DELETE", "PUT"
2620
+ # resp.import_jobs[0].import_destination.contact_list_destination.contact_list_name #=> String
2621
+ # resp.import_jobs[0].import_destination.contact_list_destination.contact_list_import_action #=> String, one of "DELETE", "PUT"
2622
+ # resp.import_jobs[0].job_status #=> String, one of "CREATED", "PROCESSING", "COMPLETED", "FAILED"
2623
+ # resp.import_jobs[0].created_timestamp #=> Time
2624
+ # resp.next_token #=> String
2625
+ #
2626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobs AWS API Documentation
2627
+ #
2628
+ # @overload list_import_jobs(params = {})
2629
+ # @param [Hash] params ({})
2630
+ def list_import_jobs(params = {}, options = {})
2631
+ req = build_request(:list_import_jobs, params)
2632
+ req.send_request(options)
2633
+ end
2634
+
2127
2635
  # Retrieves a list of email addresses that are on the suppression list
2128
2636
  # for your account.
2129
2637
  #
@@ -3141,6 +3649,10 @@ module Aws::SESV2
3141
3649
  # The name of the configuration set that you want to use when sending
3142
3650
  # the email.
3143
3651
  #
3652
+ # @option params [Types::ListManagementOptions] :list_management_options
3653
+ # An object used to specify a list or topic to which an email belongs,
3654
+ # which will be used when a contact chooses to unsubscribe.
3655
+ #
3144
3656
  # @return [Types::SendEmailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3145
3657
  #
3146
3658
  # * {Types::SendEmailResponse#message_id #message_id} => String
@@ -3191,6 +3703,10 @@ module Aws::SESV2
3191
3703
  # },
3192
3704
  # ],
3193
3705
  # configuration_set_name: "ConfigurationSetName",
3706
+ # list_management_options: {
3707
+ # contact_list_name: "ContactListName", # required
3708
+ # topic_name: "TopicName",
3709
+ # },
3194
3710
  # })
3195
3711
  #
3196
3712
  # @example Response structure
@@ -3350,7 +3866,7 @@ module Aws::SESV2
3350
3866
  # event_destination_name: "EventDestinationName", # required
3351
3867
  # event_destination: { # required
3352
3868
  # enabled: false,
3353
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
3869
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
3354
3870
  # kinesis_firehose_destination: {
3355
3871
  # iam_role_arn: "AmazonResourceName", # required
3356
3872
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -3382,6 +3898,92 @@ module Aws::SESV2
3382
3898
  req.send_request(options)
3383
3899
  end
3384
3900
 
3901
+ # Updates a contact's preferences for a list. It is not necessary to
3902
+ # specify all existing topic preferences in the TopicPreferences object,
3903
+ # just the ones that need updating.
3904
+ #
3905
+ # @option params [required, String] :contact_list_name
3906
+ # The name of the contact list.
3907
+ #
3908
+ # @option params [required, String] :email_address
3909
+ # The contact's email addres.
3910
+ #
3911
+ # @option params [Array<Types::TopicPreference>] :topic_preferences
3912
+ # The contact's preference for being opted-in to or opted-out of a
3913
+ # topic.
3914
+ #
3915
+ # @option params [Boolean] :unsubscribe_all
3916
+ # A boolean value status noting if the contact is unsubscribed from all
3917
+ # contact list topics.
3918
+ #
3919
+ # @option params [String] :attributes_data
3920
+ # The attribute data attached to a contact.
3921
+ #
3922
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3923
+ #
3924
+ # @example Request syntax with placeholder values
3925
+ #
3926
+ # resp = client.update_contact({
3927
+ # contact_list_name: "ContactListName", # required
3928
+ # email_address: "EmailAddress", # required
3929
+ # topic_preferences: [
3930
+ # {
3931
+ # topic_name: "TopicName", # required
3932
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
3933
+ # },
3934
+ # ],
3935
+ # unsubscribe_all: false,
3936
+ # attributes_data: "AttributesData",
3937
+ # })
3938
+ #
3939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContact AWS API Documentation
3940
+ #
3941
+ # @overload update_contact(params = {})
3942
+ # @param [Hash] params ({})
3943
+ def update_contact(params = {}, options = {})
3944
+ req = build_request(:update_contact, params)
3945
+ req.send_request(options)
3946
+ end
3947
+
3948
+ # Updates contact list metadata. This operation does a complete
3949
+ # replacement.
3950
+ #
3951
+ # @option params [required, String] :contact_list_name
3952
+ # The name of the contact list.
3953
+ #
3954
+ # @option params [Array<Types::Topic>] :topics
3955
+ # An interest group, theme, or label within a list. A contact list can
3956
+ # have multiple topics.
3957
+ #
3958
+ # @option params [String] :description
3959
+ # A description of what the contact list is about.
3960
+ #
3961
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3962
+ #
3963
+ # @example Request syntax with placeholder values
3964
+ #
3965
+ # resp = client.update_contact_list({
3966
+ # contact_list_name: "ContactListName", # required
3967
+ # topics: [
3968
+ # {
3969
+ # topic_name: "TopicName", # required
3970
+ # display_name: "DisplayName", # required
3971
+ # description: "Description",
3972
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
3973
+ # },
3974
+ # ],
3975
+ # description: "Description",
3976
+ # })
3977
+ #
3978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactList AWS API Documentation
3979
+ #
3980
+ # @overload update_contact_list(params = {})
3981
+ # @param [Hash] params ({})
3982
+ def update_contact_list(params = {}, options = {})
3983
+ req = build_request(:update_contact_list, params)
3984
+ req.send_request(options)
3985
+ end
3986
+
3385
3987
  # Updates an existing custom verification email template.
3386
3988
  #
3387
3989
  # For more information about custom verification email templates, see
@@ -3554,7 +4156,7 @@ module Aws::SESV2
3554
4156
  params: params,
3555
4157
  config: config)
3556
4158
  context[:gem_name] = 'aws-sdk-sesv2'
3557
- context[:gem_version] = '1.9.0'
4159
+ context[:gem_version] = '1.14.0'
3558
4160
  Seahorse::Client::Request.new(handlers, context)
3559
4161
  end
3560
4162