aws-sdk-sesv2 1.13.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.
@@ -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
  #