aws-sdk-sesv2 1.9.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
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