aws-sdk-sesv2 1.13.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -407,6 +407,96 @@ module Aws::SESV2
407
407
  #
408
408
  class ConflictException < Aws::EmptyStructure; end
409
409
 
410
+ # A contact is the end-user who is receiving the email.
411
+ #
412
+ # @!attribute [rw] email_address
413
+ # The contact's email address.
414
+ # @return [String]
415
+ #
416
+ # @!attribute [rw] topic_preferences
417
+ # The contact's preference for being opted-in to or opted-out of a
418
+ # topic.
419
+ # @return [Array<Types::TopicPreference>]
420
+ #
421
+ # @!attribute [rw] topic_default_preferences
422
+ # The default topic preferences applied to the contact.
423
+ # @return [Array<Types::TopicPreference>]
424
+ #
425
+ # @!attribute [rw] unsubscribe_all
426
+ # A boolean value status noting if the contact is unsubscribed from
427
+ # all contact list topics.
428
+ # @return [Boolean]
429
+ #
430
+ # @!attribute [rw] last_updated_timestamp
431
+ # A timestamp noting the last time the contact's information was
432
+ # updated.
433
+ # @return [Time]
434
+ #
435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/Contact AWS API Documentation
436
+ #
437
+ class Contact < Struct.new(
438
+ :email_address,
439
+ :topic_preferences,
440
+ :topic_default_preferences,
441
+ :unsubscribe_all,
442
+ :last_updated_timestamp)
443
+ SENSITIVE = []
444
+ include Aws::Structure
445
+ end
446
+
447
+ # A list that contains contacts that have subscribed to a particular
448
+ # topic or topics.
449
+ #
450
+ # @!attribute [rw] contact_list_name
451
+ # The name of the contact list.
452
+ # @return [String]
453
+ #
454
+ # @!attribute [rw] last_updated_timestamp
455
+ # A timestamp noting the last time the contact list was updated.
456
+ # @return [Time]
457
+ #
458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ContactList AWS API Documentation
459
+ #
460
+ class ContactList < Struct.new(
461
+ :contact_list_name,
462
+ :last_updated_timestamp)
463
+ SENSITIVE = []
464
+ include Aws::Structure
465
+ end
466
+
467
+ # An object that contains details about the action of a contact list.
468
+ #
469
+ # @note When making an API call, you may pass ContactListDestination
470
+ # data as a hash:
471
+ #
472
+ # {
473
+ # contact_list_name: "ContactListName", # required
474
+ # contact_list_import_action: "DELETE", # required, accepts DELETE, PUT
475
+ # }
476
+ #
477
+ # @!attribute [rw] contact_list_name
478
+ # The name of the contact list.
479
+ # @return [String]
480
+ #
481
+ # @!attribute [rw] contact_list_import_action
482
+ # &gt;The type of action that you want to perform on the addresses.
483
+ # Acceptable values:
484
+ #
485
+ # * PUT: add the addresses to the contact list. If the record already
486
+ # exists, it will override it with the new value.
487
+ #
488
+ # * DELETE: remove the addresses from the contact list.
489
+ # @return [String]
490
+ #
491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ContactListDestination AWS API Documentation
492
+ #
493
+ class ContactListDestination < Struct.new(
494
+ :contact_list_name,
495
+ :contact_list_import_action)
496
+ SENSITIVE = []
497
+ include Aws::Structure
498
+ end
499
+
410
500
  # An object that represents the content of the email, and optionally a
411
501
  # character set specification.
412
502
  #
@@ -449,7 +539,7 @@ module Aws::SESV2
449
539
  # event_destination_name: "EventDestinationName", # required
450
540
  # event_destination: { # required
451
541
  # enabled: false,
452
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
542
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
453
543
  # kinesis_firehose_destination: {
454
544
  # iam_role_arn: "AmazonResourceName", # required
455
545
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -590,6 +680,114 @@ module Aws::SESV2
590
680
  #
591
681
  class CreateConfigurationSetResponse < Aws::EmptyStructure; end
592
682
 
683
+ # @note When making an API call, you may pass CreateContactListRequest
684
+ # data as a hash:
685
+ #
686
+ # {
687
+ # contact_list_name: "ContactListName", # required
688
+ # topics: [
689
+ # {
690
+ # topic_name: "TopicName", # required
691
+ # display_name: "DisplayName", # required
692
+ # description: "Description",
693
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
694
+ # },
695
+ # ],
696
+ # description: "Description",
697
+ # tags: [
698
+ # {
699
+ # key: "TagKey", # required
700
+ # value: "TagValue", # required
701
+ # },
702
+ # ],
703
+ # }
704
+ #
705
+ # @!attribute [rw] contact_list_name
706
+ # The name of the contact list.
707
+ # @return [String]
708
+ #
709
+ # @!attribute [rw] topics
710
+ # An interest group, theme, or label within a list. A contact list can
711
+ # have multiple topics.
712
+ # @return [Array<Types::Topic>]
713
+ #
714
+ # @!attribute [rw] description
715
+ # A description of what the contact list is about.
716
+ # @return [String]
717
+ #
718
+ # @!attribute [rw] tags
719
+ # The tags associated with a contact list.
720
+ # @return [Array<Types::Tag>]
721
+ #
722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactListRequest AWS API Documentation
723
+ #
724
+ class CreateContactListRequest < Struct.new(
725
+ :contact_list_name,
726
+ :topics,
727
+ :description,
728
+ :tags)
729
+ SENSITIVE = []
730
+ include Aws::Structure
731
+ end
732
+
733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactListResponse AWS API Documentation
734
+ #
735
+ class CreateContactListResponse < Aws::EmptyStructure; end
736
+
737
+ # @note When making an API call, you may pass CreateContactRequest
738
+ # data as a hash:
739
+ #
740
+ # {
741
+ # contact_list_name: "ContactListName", # required
742
+ # email_address: "EmailAddress", # required
743
+ # topic_preferences: [
744
+ # {
745
+ # topic_name: "TopicName", # required
746
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
747
+ # },
748
+ # ],
749
+ # unsubscribe_all: false,
750
+ # attributes_data: "AttributesData",
751
+ # }
752
+ #
753
+ # @!attribute [rw] contact_list_name
754
+ # The name of the contact list to which the contact should be added.
755
+ # @return [String]
756
+ #
757
+ # @!attribute [rw] email_address
758
+ # The contact's email address.
759
+ # @return [String]
760
+ #
761
+ # @!attribute [rw] topic_preferences
762
+ # The contact's preferences for being opted-in to or opted-out of
763
+ # topics.
764
+ # @return [Array<Types::TopicPreference>]
765
+ #
766
+ # @!attribute [rw] unsubscribe_all
767
+ # A boolean value status noting if the contact is unsubscribed from
768
+ # all contact list topics.
769
+ # @return [Boolean]
770
+ #
771
+ # @!attribute [rw] attributes_data
772
+ # The attribute data attached to a contact.
773
+ # @return [String]
774
+ #
775
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactRequest AWS API Documentation
776
+ #
777
+ class CreateContactRequest < Struct.new(
778
+ :contact_list_name,
779
+ :email_address,
780
+ :topic_preferences,
781
+ :unsubscribe_all,
782
+ :attributes_data)
783
+ SENSITIVE = []
784
+ include Aws::Structure
785
+ end
786
+
787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactResponse AWS API Documentation
788
+ #
789
+ class CreateContactResponse < Aws::EmptyStructure; end
790
+
593
791
  # Represents a request to create a custom verification email template.
594
792
  #
595
793
  # @note When making an API call, you may pass CreateCustomVerificationEmailTemplateRequest
@@ -1002,9 +1200,13 @@ module Aws::SESV2
1002
1200
  #
1003
1201
  # {
1004
1202
  # import_destination: { # required
1005
- # suppression_list_destination: { # required
1203
+ # suppression_list_destination: {
1006
1204
  # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
1007
1205
  # },
1206
+ # contact_list_destination: {
1207
+ # contact_list_name: "ContactListName", # required
1208
+ # contact_list_import_action: "DELETE", # required, accepts DELETE, PUT
1209
+ # },
1008
1210
  # },
1009
1211
  # import_data_source: { # required
1010
1212
  # s3_url: "S3Url", # required
@@ -1219,6 +1421,59 @@ module Aws::SESV2
1219
1421
  #
1220
1422
  class DeleteConfigurationSetResponse < Aws::EmptyStructure; end
1221
1423
 
1424
+ # @note When making an API call, you may pass DeleteContactListRequest
1425
+ # data as a hash:
1426
+ #
1427
+ # {
1428
+ # contact_list_name: "ContactListName", # required
1429
+ # }
1430
+ #
1431
+ # @!attribute [rw] contact_list_name
1432
+ # The name of the contact list.
1433
+ # @return [String]
1434
+ #
1435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactListRequest AWS API Documentation
1436
+ #
1437
+ class DeleteContactListRequest < Struct.new(
1438
+ :contact_list_name)
1439
+ SENSITIVE = []
1440
+ include Aws::Structure
1441
+ end
1442
+
1443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactListResponse AWS API Documentation
1444
+ #
1445
+ class DeleteContactListResponse < Aws::EmptyStructure; end
1446
+
1447
+ # @note When making an API call, you may pass DeleteContactRequest
1448
+ # data as a hash:
1449
+ #
1450
+ # {
1451
+ # contact_list_name: "ContactListName", # required
1452
+ # email_address: "EmailAddress", # required
1453
+ # }
1454
+ #
1455
+ # @!attribute [rw] contact_list_name
1456
+ # The name of the contact list from which the contact should be
1457
+ # removed.
1458
+ # @return [String]
1459
+ #
1460
+ # @!attribute [rw] email_address
1461
+ # The contact's email address.
1462
+ # @return [String]
1463
+ #
1464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactRequest AWS API Documentation
1465
+ #
1466
+ class DeleteContactRequest < Struct.new(
1467
+ :contact_list_name,
1468
+ :email_address)
1469
+ SENSITIVE = []
1470
+ include Aws::Structure
1471
+ end
1472
+
1473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactResponse AWS API Documentation
1474
+ #
1475
+ class DeleteContactResponse < Aws::EmptyStructure; end
1476
+
1222
1477
  # Represents a request to delete an existing custom verification email
1223
1478
  # template.
1224
1479
  #
@@ -2067,7 +2322,7 @@ module Aws::SESV2
2067
2322
  #
2068
2323
  # {
2069
2324
  # enabled: false,
2070
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
2325
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
2071
2326
  # kinesis_firehose_destination: {
2072
2327
  # iam_role_arn: "AmazonResourceName", # required
2073
2328
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -2402,6 +2657,138 @@ module Aws::SESV2
2402
2657
  include Aws::Structure
2403
2658
  end
2404
2659
 
2660
+ # @note When making an API call, you may pass GetContactListRequest
2661
+ # data as a hash:
2662
+ #
2663
+ # {
2664
+ # contact_list_name: "ContactListName", # required
2665
+ # }
2666
+ #
2667
+ # @!attribute [rw] contact_list_name
2668
+ # The name of the contact list.
2669
+ # @return [String]
2670
+ #
2671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactListRequest AWS API Documentation
2672
+ #
2673
+ class GetContactListRequest < Struct.new(
2674
+ :contact_list_name)
2675
+ SENSITIVE = []
2676
+ include Aws::Structure
2677
+ end
2678
+
2679
+ # @!attribute [rw] contact_list_name
2680
+ # The name of the contact list.
2681
+ # @return [String]
2682
+ #
2683
+ # @!attribute [rw] topics
2684
+ # An interest group, theme, or label within a list. A contact list can
2685
+ # have multiple topics.
2686
+ # @return [Array<Types::Topic>]
2687
+ #
2688
+ # @!attribute [rw] description
2689
+ # A description of what the contact list is about.
2690
+ # @return [String]
2691
+ #
2692
+ # @!attribute [rw] created_timestamp
2693
+ # A timestamp noting when the contact list was created.
2694
+ # @return [Time]
2695
+ #
2696
+ # @!attribute [rw] last_updated_timestamp
2697
+ # A timestamp noting the last time the contact list was updated.
2698
+ # @return [Time]
2699
+ #
2700
+ # @!attribute [rw] tags
2701
+ # The tags associated with a contact list.
2702
+ # @return [Array<Types::Tag>]
2703
+ #
2704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactListResponse AWS API Documentation
2705
+ #
2706
+ class GetContactListResponse < Struct.new(
2707
+ :contact_list_name,
2708
+ :topics,
2709
+ :description,
2710
+ :created_timestamp,
2711
+ :last_updated_timestamp,
2712
+ :tags)
2713
+ SENSITIVE = []
2714
+ include Aws::Structure
2715
+ end
2716
+
2717
+ # @note When making an API call, you may pass GetContactRequest
2718
+ # data as a hash:
2719
+ #
2720
+ # {
2721
+ # contact_list_name: "ContactListName", # required
2722
+ # email_address: "EmailAddress", # required
2723
+ # }
2724
+ #
2725
+ # @!attribute [rw] contact_list_name
2726
+ # The name of the contact list to which the contact belongs.
2727
+ # @return [String]
2728
+ #
2729
+ # @!attribute [rw] email_address
2730
+ # The contact's email addres.
2731
+ # @return [String]
2732
+ #
2733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactRequest AWS API Documentation
2734
+ #
2735
+ class GetContactRequest < Struct.new(
2736
+ :contact_list_name,
2737
+ :email_address)
2738
+ SENSITIVE = []
2739
+ include Aws::Structure
2740
+ end
2741
+
2742
+ # @!attribute [rw] contact_list_name
2743
+ # The name of the contact list to which the contact belongs.
2744
+ # @return [String]
2745
+ #
2746
+ # @!attribute [rw] email_address
2747
+ # The contact's email addres.
2748
+ # @return [String]
2749
+ #
2750
+ # @!attribute [rw] topic_preferences
2751
+ # The contact's preference for being opted-in to or opted-out of a
2752
+ # topic.&gt;
2753
+ # @return [Array<Types::TopicPreference>]
2754
+ #
2755
+ # @!attribute [rw] topic_default_preferences
2756
+ # The default topic preferences applied to the contact.
2757
+ # @return [Array<Types::TopicPreference>]
2758
+ #
2759
+ # @!attribute [rw] unsubscribe_all
2760
+ # A boolean value status noting if the contact is unsubscribed from
2761
+ # all contact list topics.
2762
+ # @return [Boolean]
2763
+ #
2764
+ # @!attribute [rw] attributes_data
2765
+ # The attribute data attached to a contact.
2766
+ # @return [String]
2767
+ #
2768
+ # @!attribute [rw] created_timestamp
2769
+ # A timestamp noting when the contact was created.
2770
+ # @return [Time]
2771
+ #
2772
+ # @!attribute [rw] last_updated_timestamp
2773
+ # A timestamp noting the last time the contact's information was
2774
+ # updated.
2775
+ # @return [Time]
2776
+ #
2777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactResponse AWS API Documentation
2778
+ #
2779
+ class GetContactResponse < Struct.new(
2780
+ :contact_list_name,
2781
+ :email_address,
2782
+ :topic_preferences,
2783
+ :topic_default_preferences,
2784
+ :unsubscribe_all,
2785
+ :attributes_data,
2786
+ :created_timestamp,
2787
+ :last_updated_timestamp)
2788
+ SENSITIVE = []
2789
+ include Aws::Structure
2790
+ end
2791
+
2405
2792
  # Represents a request to retrieve an existing custom verification email
2406
2793
  # template.
2407
2794
  #
@@ -3151,9 +3538,13 @@ module Aws::SESV2
3151
3538
  # data as a hash:
3152
3539
  #
3153
3540
  # {
3154
- # suppression_list_destination: { # required
3541
+ # suppression_list_destination: {
3155
3542
  # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
3156
3543
  # },
3544
+ # contact_list_destination: {
3545
+ # contact_list_name: "ContactListName", # required
3546
+ # contact_list_import_action: "DELETE", # required, accepts DELETE, PUT
3547
+ # },
3157
3548
  # }
3158
3549
  #
3159
3550
  # @!attribute [rw] suppression_list_destination
@@ -3161,10 +3552,16 @@ module Aws::SESV2
3161
3552
  # suppression list.
3162
3553
  # @return [Types::SuppressionListDestination]
3163
3554
  #
3555
+ # @!attribute [rw] contact_list_destination
3556
+ # An object that contains the action of the import job towards a
3557
+ # contact list.
3558
+ # @return [Types::ContactListDestination]
3559
+ #
3164
3560
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportDestination AWS API Documentation
3165
3561
  #
3166
3562
  class ImportDestination < Struct.new(
3167
- :suppression_list_destination)
3563
+ :suppression_list_destination,
3564
+ :contact_list_destination)
3168
3565
  SENSITIVE = []
3169
3566
  include Aws::Structure
3170
3567
  end
@@ -3185,6 +3582,7 @@ module Aws::SESV2
3185
3582
  # @return [String]
3186
3583
  #
3187
3584
  # @!attribute [rw] created_timestamp
3585
+ # The date and time when the import job was created.
3188
3586
  # @return [Time]
3189
3587
  #
3190
3588
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportJobSummary AWS API Documentation
@@ -3352,6 +3750,159 @@ module Aws::SESV2
3352
3750
  include Aws::Structure
3353
3751
  end
3354
3752
 
3753
+ # @note When making an API call, you may pass ListContactListsRequest
3754
+ # data as a hash:
3755
+ #
3756
+ # {
3757
+ # page_size: 1,
3758
+ # next_token: "NextToken",
3759
+ # }
3760
+ #
3761
+ # @!attribute [rw] page_size
3762
+ # Maximum number of contact lists to return at once. Use this
3763
+ # parameter to paginate results. If additional contact lists exist
3764
+ # beyond the specified limit, the `NextToken` element is sent in the
3765
+ # response. Use the `NextToken` value in subsequent requests to
3766
+ # retrieve additional lists.
3767
+ # @return [Integer]
3768
+ #
3769
+ # @!attribute [rw] next_token
3770
+ # A string token indicating that there might be additional contact
3771
+ # lists available to be listed. Use the token provided in the Response
3772
+ # to use in the subsequent call to ListContactLists with the same
3773
+ # parameters to retrieve the next page of contact lists.
3774
+ # @return [String]
3775
+ #
3776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactListsRequest AWS API Documentation
3777
+ #
3778
+ class ListContactListsRequest < Struct.new(
3779
+ :page_size,
3780
+ :next_token)
3781
+ SENSITIVE = []
3782
+ include Aws::Structure
3783
+ end
3784
+
3785
+ # @!attribute [rw] contact_lists
3786
+ # The available contact lists.
3787
+ # @return [Array<Types::ContactList>]
3788
+ #
3789
+ # @!attribute [rw] next_token
3790
+ # A string token indicating that there might be additional contact
3791
+ # lists available to be listed. Copy this token to a subsequent call
3792
+ # to `ListContactLists` with the same parameters to retrieve the next
3793
+ # page of contact lists.
3794
+ # @return [String]
3795
+ #
3796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactListsResponse AWS API Documentation
3797
+ #
3798
+ class ListContactListsResponse < Struct.new(
3799
+ :contact_lists,
3800
+ :next_token)
3801
+ SENSITIVE = []
3802
+ include Aws::Structure
3803
+ end
3804
+
3805
+ # A filter that can be applied to a list of contacts.
3806
+ #
3807
+ # @note When making an API call, you may pass ListContactsFilter
3808
+ # data as a hash:
3809
+ #
3810
+ # {
3811
+ # filtered_status: "OPT_IN", # accepts OPT_IN, OPT_OUT
3812
+ # topic_filter: {
3813
+ # topic_name: "TopicName",
3814
+ # use_default_if_preference_unavailable: false,
3815
+ # },
3816
+ # }
3817
+ #
3818
+ # @!attribute [rw] filtered_status
3819
+ # The status by which you are filtering: `OPT_IN` or `OPT_OUT`.
3820
+ # @return [String]
3821
+ #
3822
+ # @!attribute [rw] topic_filter
3823
+ # Used for filtering by a specific topic preference.
3824
+ # @return [Types::TopicFilter]
3825
+ #
3826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactsFilter AWS API Documentation
3827
+ #
3828
+ class ListContactsFilter < Struct.new(
3829
+ :filtered_status,
3830
+ :topic_filter)
3831
+ SENSITIVE = []
3832
+ include Aws::Structure
3833
+ end
3834
+
3835
+ # @note When making an API call, you may pass ListContactsRequest
3836
+ # data as a hash:
3837
+ #
3838
+ # {
3839
+ # contact_list_name: "ContactListName", # required
3840
+ # filter: {
3841
+ # filtered_status: "OPT_IN", # accepts OPT_IN, OPT_OUT
3842
+ # topic_filter: {
3843
+ # topic_name: "TopicName",
3844
+ # use_default_if_preference_unavailable: false,
3845
+ # },
3846
+ # },
3847
+ # page_size: 1,
3848
+ # next_token: "NextToken",
3849
+ # }
3850
+ #
3851
+ # @!attribute [rw] contact_list_name
3852
+ # The name of the contact list.
3853
+ # @return [String]
3854
+ #
3855
+ # @!attribute [rw] filter
3856
+ # A filter that can be applied to a list of contacts.
3857
+ # @return [Types::ListContactsFilter]
3858
+ #
3859
+ # @!attribute [rw] page_size
3860
+ # The number of contacts that may be returned at once, which is
3861
+ # dependent on if there are more or less contacts than the value of
3862
+ # the PageSize. Use this parameter to paginate results. If additional
3863
+ # contacts exist beyond the specified limit, the `NextToken` element
3864
+ # is sent in the response. Use the `NextToken` value in subsequent
3865
+ # requests to retrieve additional contacts.
3866
+ # @return [Integer]
3867
+ #
3868
+ # @!attribute [rw] next_token
3869
+ # A string token indicating that there might be additional contacts
3870
+ # available to be listed. Use the token provided in the Response to
3871
+ # use in the subsequent call to ListContacts with the same parameters
3872
+ # to retrieve the next page of contacts.
3873
+ # @return [String]
3874
+ #
3875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactsRequest AWS API Documentation
3876
+ #
3877
+ class ListContactsRequest < Struct.new(
3878
+ :contact_list_name,
3879
+ :filter,
3880
+ :page_size,
3881
+ :next_token)
3882
+ SENSITIVE = []
3883
+ include Aws::Structure
3884
+ end
3885
+
3886
+ # @!attribute [rw] contacts
3887
+ # The contacts present in a specific contact list.
3888
+ # @return [Array<Types::Contact>]
3889
+ #
3890
+ # @!attribute [rw] next_token
3891
+ # A string token indicating that there might be additional contacts
3892
+ # available to be listed. Copy this token to a subsequent call to
3893
+ # `ListContacts` with the same parameters to retrieve the next page of
3894
+ # contacts.
3895
+ # @return [String]
3896
+ #
3897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactsResponse AWS API Documentation
3898
+ #
3899
+ class ListContactsResponse < Struct.new(
3900
+ :contacts,
3901
+ :next_token)
3902
+ SENSITIVE = []
3903
+ include Aws::Structure
3904
+ end
3905
+
3355
3906
  # Represents a request to list the existing custom verification email
3356
3907
  # templates for your account.
3357
3908
  #
@@ -3742,7 +4293,7 @@ module Aws::SESV2
3742
4293
  # data as a hash:
3743
4294
  #
3744
4295
  # {
3745
- # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST
4296
+ # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST, CONTACT_LIST
3746
4297
  # next_token: "NextToken",
3747
4298
  # page_size: 1,
3748
4299
  # }
@@ -3800,6 +4351,34 @@ module Aws::SESV2
3800
4351
  include Aws::Structure
3801
4352
  end
3802
4353
 
4354
+ # An object used to specify a list or topic to which an email belongs,
4355
+ # which will be used when a contact chooses to unsubscribe.
4356
+ #
4357
+ # @note When making an API call, you may pass ListManagementOptions
4358
+ # data as a hash:
4359
+ #
4360
+ # {
4361
+ # contact_list_name: "ContactListName", # required
4362
+ # topic_name: "TopicName",
4363
+ # }
4364
+ #
4365
+ # @!attribute [rw] contact_list_name
4366
+ # The name of the contact list.
4367
+ # @return [String]
4368
+ #
4369
+ # @!attribute [rw] topic_name
4370
+ # The name of the topic.
4371
+ # @return [String]
4372
+ #
4373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListManagementOptions AWS API Documentation
4374
+ #
4375
+ class ListManagementOptions < Struct.new(
4376
+ :contact_list_name,
4377
+ :topic_name)
4378
+ SENSITIVE = []
4379
+ include Aws::Structure
4380
+ end
4381
+
3803
4382
  # A request to obtain a list of email destinations that are on the
3804
4383
  # suppression list for your account.
3805
4384
  #
@@ -5409,6 +5988,10 @@ module Aws::SESV2
5409
5988
  # },
5410
5989
  # ],
5411
5990
  # configuration_set_name: "ConfigurationSetName",
5991
+ # list_management_options: {
5992
+ # contact_list_name: "ContactListName", # required
5993
+ # topic_name: "TopicName",
5994
+ # },
5412
5995
  # }
5413
5996
  #
5414
5997
  # @!attribute [rw] from_email_address
@@ -5493,6 +6076,11 @@ module Aws::SESV2
5493
6076
  # the email.
5494
6077
  # @return [String]
5495
6078
  #
6079
+ # @!attribute [rw] list_management_options
6080
+ # An object used to specify a list or topic to which an email belongs,
6081
+ # which will be used when a contact chooses to unsubscribe.
6082
+ # @return [Types::ListManagementOptions]
6083
+ #
5496
6084
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendEmailRequest AWS API Documentation
5497
6085
  #
5498
6086
  class SendEmailRequest < Struct.new(
@@ -5504,7 +6092,8 @@ module Aws::SESV2
5504
6092
  :feedback_forwarding_email_address_identity_arn,
5505
6093
  :content,
5506
6094
  :email_tags,
5507
- :configuration_set_name)
6095
+ :configuration_set_name,
6096
+ :list_management_options)
5508
6097
  SENSITIVE = []
5509
6098
  include Aws::Structure
5510
6099
  end
@@ -5981,6 +6570,106 @@ module Aws::SESV2
5981
6570
  #
5982
6571
  class TooManyRequestsException < Aws::EmptyStructure; end
5983
6572
 
6573
+ # An interest group, theme, or label within a list. Lists can have
6574
+ # multiple topics.
6575
+ #
6576
+ # @note When making an API call, you may pass Topic
6577
+ # data as a hash:
6578
+ #
6579
+ # {
6580
+ # topic_name: "TopicName", # required
6581
+ # display_name: "DisplayName", # required
6582
+ # description: "Description",
6583
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6584
+ # }
6585
+ #
6586
+ # @!attribute [rw] topic_name
6587
+ # The name of the topic.
6588
+ # @return [String]
6589
+ #
6590
+ # @!attribute [rw] display_name
6591
+ # The name of the topic the contact will see.
6592
+ # @return [String]
6593
+ #
6594
+ # @!attribute [rw] description
6595
+ # A description of what the topic is about, which the contact will
6596
+ # see.
6597
+ # @return [String]
6598
+ #
6599
+ # @!attribute [rw] default_subscription_status
6600
+ # The default subscription status to be applied to a contact if the
6601
+ # contact has not noted their preference for subscribing to a topic.
6602
+ # @return [String]
6603
+ #
6604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/Topic AWS API Documentation
6605
+ #
6606
+ class Topic < Struct.new(
6607
+ :topic_name,
6608
+ :display_name,
6609
+ :description,
6610
+ :default_subscription_status)
6611
+ SENSITIVE = []
6612
+ include Aws::Structure
6613
+ end
6614
+
6615
+ # Used for filtering by a specific topic preference.
6616
+ #
6617
+ # @note When making an API call, you may pass TopicFilter
6618
+ # data as a hash:
6619
+ #
6620
+ # {
6621
+ # topic_name: "TopicName",
6622
+ # use_default_if_preference_unavailable: false,
6623
+ # }
6624
+ #
6625
+ # @!attribute [rw] topic_name
6626
+ # The name of a topic on which you wish to apply the filter.
6627
+ # @return [String]
6628
+ #
6629
+ # @!attribute [rw] use_default_if_preference_unavailable
6630
+ # Notes that the default subscription status should be applied to a
6631
+ # contact because the contact has not noted their preference for
6632
+ # subscribing to a topic.
6633
+ # @return [Boolean]
6634
+ #
6635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TopicFilter AWS API Documentation
6636
+ #
6637
+ class TopicFilter < Struct.new(
6638
+ :topic_name,
6639
+ :use_default_if_preference_unavailable)
6640
+ SENSITIVE = []
6641
+ include Aws::Structure
6642
+ end
6643
+
6644
+ # The contact's preference for being opted-in to or opted-out of a
6645
+ # topic.
6646
+ #
6647
+ # @note When making an API call, you may pass TopicPreference
6648
+ # data as a hash:
6649
+ #
6650
+ # {
6651
+ # topic_name: "TopicName", # required
6652
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6653
+ # }
6654
+ #
6655
+ # @!attribute [rw] topic_name
6656
+ # The name of the topic.
6657
+ # @return [String]
6658
+ #
6659
+ # @!attribute [rw] subscription_status
6660
+ # The contact's subscription status to a topic which is either
6661
+ # `OPT_IN` or `OPT_OUT`.
6662
+ # @return [String]
6663
+ #
6664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TopicPreference AWS API Documentation
6665
+ #
6666
+ class TopicPreference < Struct.new(
6667
+ :topic_name,
6668
+ :subscription_status)
6669
+ SENSITIVE = []
6670
+ include Aws::Structure
6671
+ end
6672
+
5984
6673
  # An object that defines the tracking options for a configuration set.
5985
6674
  # When you use the Amazon SES API v2 to send an email, it contains an
5986
6675
  # invisible image that's used to track when recipients open your email.
@@ -6058,7 +6747,7 @@ module Aws::SESV2
6058
6747
  # event_destination_name: "EventDestinationName", # required
6059
6748
  # event_destination: { # required
6060
6749
  # enabled: false,
6061
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
6750
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
6062
6751
  # kinesis_firehose_destination: {
6063
6752
  # iam_role_arn: "AmazonResourceName", # required
6064
6753
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -6111,6 +6800,103 @@ module Aws::SESV2
6111
6800
  #
6112
6801
  class UpdateConfigurationSetEventDestinationResponse < Aws::EmptyStructure; end
6113
6802
 
6803
+ # @note When making an API call, you may pass UpdateContactListRequest
6804
+ # data as a hash:
6805
+ #
6806
+ # {
6807
+ # contact_list_name: "ContactListName", # required
6808
+ # topics: [
6809
+ # {
6810
+ # topic_name: "TopicName", # required
6811
+ # display_name: "DisplayName", # required
6812
+ # description: "Description",
6813
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6814
+ # },
6815
+ # ],
6816
+ # description: "Description",
6817
+ # }
6818
+ #
6819
+ # @!attribute [rw] contact_list_name
6820
+ # The name of the contact list.
6821
+ # @return [String]
6822
+ #
6823
+ # @!attribute [rw] topics
6824
+ # An interest group, theme, or label within a list. A contact list can
6825
+ # have multiple topics.
6826
+ # @return [Array<Types::Topic>]
6827
+ #
6828
+ # @!attribute [rw] description
6829
+ # A description of what the contact list is about.
6830
+ # @return [String]
6831
+ #
6832
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactListRequest AWS API Documentation
6833
+ #
6834
+ class UpdateContactListRequest < Struct.new(
6835
+ :contact_list_name,
6836
+ :topics,
6837
+ :description)
6838
+ SENSITIVE = []
6839
+ include Aws::Structure
6840
+ end
6841
+
6842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactListResponse AWS API Documentation
6843
+ #
6844
+ class UpdateContactListResponse < Aws::EmptyStructure; end
6845
+
6846
+ # @note When making an API call, you may pass UpdateContactRequest
6847
+ # data as a hash:
6848
+ #
6849
+ # {
6850
+ # contact_list_name: "ContactListName", # required
6851
+ # email_address: "EmailAddress", # required
6852
+ # topic_preferences: [
6853
+ # {
6854
+ # topic_name: "TopicName", # required
6855
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6856
+ # },
6857
+ # ],
6858
+ # unsubscribe_all: false,
6859
+ # attributes_data: "AttributesData",
6860
+ # }
6861
+ #
6862
+ # @!attribute [rw] contact_list_name
6863
+ # The name of the contact list.
6864
+ # @return [String]
6865
+ #
6866
+ # @!attribute [rw] email_address
6867
+ # The contact's email addres.
6868
+ # @return [String]
6869
+ #
6870
+ # @!attribute [rw] topic_preferences
6871
+ # The contact's preference for being opted-in to or opted-out of a
6872
+ # topic.
6873
+ # @return [Array<Types::TopicPreference>]
6874
+ #
6875
+ # @!attribute [rw] unsubscribe_all
6876
+ # A boolean value status noting if the contact is unsubscribed from
6877
+ # all contact list topics.
6878
+ # @return [Boolean]
6879
+ #
6880
+ # @!attribute [rw] attributes_data
6881
+ # The attribute data attached to a contact.
6882
+ # @return [String]
6883
+ #
6884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactRequest AWS API Documentation
6885
+ #
6886
+ class UpdateContactRequest < Struct.new(
6887
+ :contact_list_name,
6888
+ :email_address,
6889
+ :topic_preferences,
6890
+ :unsubscribe_all,
6891
+ :attributes_data)
6892
+ SENSITIVE = []
6893
+ include Aws::Structure
6894
+ end
6895
+
6896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactResponse AWS API Documentation
6897
+ #
6898
+ class UpdateContactResponse < Aws::EmptyStructure; end
6899
+
6114
6900
  # Represents a request to update an existing custom verification email
6115
6901
  # template.
6116
6902
  #