aws-sdk-sesv2 1.11.0 → 1.16.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
@@ -881,6 +1079,7 @@ module Aws::SESV2
881
1079
  # domain_signing_selector: "Selector", # required
882
1080
  # domain_signing_private_key: "PrivateKey", # required
883
1081
  # },
1082
+ # configuration_set_name: "ConfigurationSetName",
884
1083
  # }
885
1084
  #
886
1085
  # @!attribute [rw] email_identity
@@ -906,12 +1105,19 @@ module Aws::SESV2
906
1105
  # [1]: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html
907
1106
  # @return [Types::DkimSigningAttributes]
908
1107
  #
1108
+ # @!attribute [rw] configuration_set_name
1109
+ # The configuration set to use by default when sending from this
1110
+ # identity. Note that any configuration set defined in the email
1111
+ # sending request takes precedence.
1112
+ # @return [String]
1113
+ #
909
1114
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentityRequest AWS API Documentation
910
1115
  #
911
1116
  class CreateEmailIdentityRequest < Struct.new(
912
1117
  :email_identity,
913
1118
  :tags,
914
- :dkim_signing_attributes)
1119
+ :dkim_signing_attributes,
1120
+ :configuration_set_name)
915
1121
  SENSITIVE = []
916
1122
  include Aws::Structure
917
1123
  end
@@ -1002,9 +1208,13 @@ module Aws::SESV2
1002
1208
  #
1003
1209
  # {
1004
1210
  # import_destination: { # required
1005
- # suppression_list_destination: { # required
1211
+ # suppression_list_destination: {
1006
1212
  # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
1007
1213
  # },
1214
+ # contact_list_destination: {
1215
+ # contact_list_name: "ContactListName", # required
1216
+ # contact_list_import_action: "DELETE", # required, accepts DELETE, PUT
1217
+ # },
1008
1218
  # },
1009
1219
  # import_data_source: { # required
1010
1220
  # s3_url: "S3Url", # required
@@ -1219,6 +1429,59 @@ module Aws::SESV2
1219
1429
  #
1220
1430
  class DeleteConfigurationSetResponse < Aws::EmptyStructure; end
1221
1431
 
1432
+ # @note When making an API call, you may pass DeleteContactListRequest
1433
+ # data as a hash:
1434
+ #
1435
+ # {
1436
+ # contact_list_name: "ContactListName", # required
1437
+ # }
1438
+ #
1439
+ # @!attribute [rw] contact_list_name
1440
+ # The name of the contact list.
1441
+ # @return [String]
1442
+ #
1443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactListRequest AWS API Documentation
1444
+ #
1445
+ class DeleteContactListRequest < Struct.new(
1446
+ :contact_list_name)
1447
+ SENSITIVE = []
1448
+ include Aws::Structure
1449
+ end
1450
+
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactListResponse AWS API Documentation
1452
+ #
1453
+ class DeleteContactListResponse < Aws::EmptyStructure; end
1454
+
1455
+ # @note When making an API call, you may pass DeleteContactRequest
1456
+ # data as a hash:
1457
+ #
1458
+ # {
1459
+ # contact_list_name: "ContactListName", # required
1460
+ # email_address: "EmailAddress", # required
1461
+ # }
1462
+ #
1463
+ # @!attribute [rw] contact_list_name
1464
+ # The name of the contact list from which the contact should be
1465
+ # removed.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] email_address
1469
+ # The contact's email address.
1470
+ # @return [String]
1471
+ #
1472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactRequest AWS API Documentation
1473
+ #
1474
+ class DeleteContactRequest < Struct.new(
1475
+ :contact_list_name,
1476
+ :email_address)
1477
+ SENSITIVE = []
1478
+ include Aws::Structure
1479
+ end
1480
+
1481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactResponse AWS API Documentation
1482
+ #
1483
+ class DeleteContactResponse < Aws::EmptyStructure; end
1484
+
1222
1485
  # Represents a request to delete an existing custom verification email
1223
1486
  # template.
1224
1487
  #
@@ -2067,7 +2330,7 @@ module Aws::SESV2
2067
2330
  #
2068
2331
  # {
2069
2332
  # enabled: false,
2070
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
2333
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
2071
2334
  # kinesis_firehose_destination: {
2072
2335
  # iam_role_arn: "AmazonResourceName", # required
2073
2336
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -2402,6 +2665,138 @@ module Aws::SESV2
2402
2665
  include Aws::Structure
2403
2666
  end
2404
2667
 
2668
+ # @note When making an API call, you may pass GetContactListRequest
2669
+ # data as a hash:
2670
+ #
2671
+ # {
2672
+ # contact_list_name: "ContactListName", # required
2673
+ # }
2674
+ #
2675
+ # @!attribute [rw] contact_list_name
2676
+ # The name of the contact list.
2677
+ # @return [String]
2678
+ #
2679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactListRequest AWS API Documentation
2680
+ #
2681
+ class GetContactListRequest < Struct.new(
2682
+ :contact_list_name)
2683
+ SENSITIVE = []
2684
+ include Aws::Structure
2685
+ end
2686
+
2687
+ # @!attribute [rw] contact_list_name
2688
+ # The name of the contact list.
2689
+ # @return [String]
2690
+ #
2691
+ # @!attribute [rw] topics
2692
+ # An interest group, theme, or label within a list. A contact list can
2693
+ # have multiple topics.
2694
+ # @return [Array<Types::Topic>]
2695
+ #
2696
+ # @!attribute [rw] description
2697
+ # A description of what the contact list is about.
2698
+ # @return [String]
2699
+ #
2700
+ # @!attribute [rw] created_timestamp
2701
+ # A timestamp noting when the contact list was created.
2702
+ # @return [Time]
2703
+ #
2704
+ # @!attribute [rw] last_updated_timestamp
2705
+ # A timestamp noting the last time the contact list was updated.
2706
+ # @return [Time]
2707
+ #
2708
+ # @!attribute [rw] tags
2709
+ # The tags associated with a contact list.
2710
+ # @return [Array<Types::Tag>]
2711
+ #
2712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactListResponse AWS API Documentation
2713
+ #
2714
+ class GetContactListResponse < Struct.new(
2715
+ :contact_list_name,
2716
+ :topics,
2717
+ :description,
2718
+ :created_timestamp,
2719
+ :last_updated_timestamp,
2720
+ :tags)
2721
+ SENSITIVE = []
2722
+ include Aws::Structure
2723
+ end
2724
+
2725
+ # @note When making an API call, you may pass GetContactRequest
2726
+ # data as a hash:
2727
+ #
2728
+ # {
2729
+ # contact_list_name: "ContactListName", # required
2730
+ # email_address: "EmailAddress", # required
2731
+ # }
2732
+ #
2733
+ # @!attribute [rw] contact_list_name
2734
+ # The name of the contact list to which the contact belongs.
2735
+ # @return [String]
2736
+ #
2737
+ # @!attribute [rw] email_address
2738
+ # The contact's email addres.
2739
+ # @return [String]
2740
+ #
2741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactRequest AWS API Documentation
2742
+ #
2743
+ class GetContactRequest < Struct.new(
2744
+ :contact_list_name,
2745
+ :email_address)
2746
+ SENSITIVE = []
2747
+ include Aws::Structure
2748
+ end
2749
+
2750
+ # @!attribute [rw] contact_list_name
2751
+ # The name of the contact list to which the contact belongs.
2752
+ # @return [String]
2753
+ #
2754
+ # @!attribute [rw] email_address
2755
+ # The contact's email addres.
2756
+ # @return [String]
2757
+ #
2758
+ # @!attribute [rw] topic_preferences
2759
+ # The contact's preference for being opted-in to or opted-out of a
2760
+ # topic.&gt;
2761
+ # @return [Array<Types::TopicPreference>]
2762
+ #
2763
+ # @!attribute [rw] topic_default_preferences
2764
+ # The default topic preferences applied to the contact.
2765
+ # @return [Array<Types::TopicPreference>]
2766
+ #
2767
+ # @!attribute [rw] unsubscribe_all
2768
+ # A boolean value status noting if the contact is unsubscribed from
2769
+ # all contact list topics.
2770
+ # @return [Boolean]
2771
+ #
2772
+ # @!attribute [rw] attributes_data
2773
+ # The attribute data attached to a contact.
2774
+ # @return [String]
2775
+ #
2776
+ # @!attribute [rw] created_timestamp
2777
+ # A timestamp noting when the contact was created.
2778
+ # @return [Time]
2779
+ #
2780
+ # @!attribute [rw] last_updated_timestamp
2781
+ # A timestamp noting the last time the contact's information was
2782
+ # updated.
2783
+ # @return [Time]
2784
+ #
2785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactResponse AWS API Documentation
2786
+ #
2787
+ class GetContactResponse < Struct.new(
2788
+ :contact_list_name,
2789
+ :email_address,
2790
+ :topic_preferences,
2791
+ :topic_default_preferences,
2792
+ :unsubscribe_all,
2793
+ :attributes_data,
2794
+ :created_timestamp,
2795
+ :last_updated_timestamp)
2796
+ SENSITIVE = []
2797
+ include Aws::Structure
2798
+ end
2799
+
2405
2800
  # Represents a request to retrieve an existing custom verification email
2406
2801
  # template.
2407
2802
  #
@@ -2907,6 +3302,11 @@ module Aws::SESV2
2907
3302
  # associated with the email identity.
2908
3303
  # @return [Array<Types::Tag>]
2909
3304
  #
3305
+ # @!attribute [rw] configuration_set_name
3306
+ # The configuration set used by default when sending from this
3307
+ # identity.
3308
+ # @return [String]
3309
+ #
2910
3310
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentityResponse AWS API Documentation
2911
3311
  #
2912
3312
  class GetEmailIdentityResponse < Struct.new(
@@ -2916,7 +3316,8 @@ module Aws::SESV2
2916
3316
  :dkim_attributes,
2917
3317
  :mail_from_attributes,
2918
3318
  :policies,
2919
- :tags)
3319
+ :tags,
3320
+ :configuration_set_name)
2920
3321
  SENSITIVE = []
2921
3322
  include Aws::Structure
2922
3323
  end
@@ -3151,9 +3552,13 @@ module Aws::SESV2
3151
3552
  # data as a hash:
3152
3553
  #
3153
3554
  # {
3154
- # suppression_list_destination: { # required
3555
+ # suppression_list_destination: {
3155
3556
  # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
3156
3557
  # },
3558
+ # contact_list_destination: {
3559
+ # contact_list_name: "ContactListName", # required
3560
+ # contact_list_import_action: "DELETE", # required, accepts DELETE, PUT
3561
+ # },
3157
3562
  # }
3158
3563
  #
3159
3564
  # @!attribute [rw] suppression_list_destination
@@ -3161,10 +3566,16 @@ module Aws::SESV2
3161
3566
  # suppression list.
3162
3567
  # @return [Types::SuppressionListDestination]
3163
3568
  #
3569
+ # @!attribute [rw] contact_list_destination
3570
+ # An object that contains the action of the import job towards a
3571
+ # contact list.
3572
+ # @return [Types::ContactListDestination]
3573
+ #
3164
3574
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportDestination AWS API Documentation
3165
3575
  #
3166
3576
  class ImportDestination < Struct.new(
3167
- :suppression_list_destination)
3577
+ :suppression_list_destination,
3578
+ :contact_list_destination)
3168
3579
  SENSITIVE = []
3169
3580
  include Aws::Structure
3170
3581
  end
@@ -3185,6 +3596,7 @@ module Aws::SESV2
3185
3596
  # @return [String]
3186
3597
  #
3187
3598
  # @!attribute [rw] created_timestamp
3599
+ # The date and time when the import job was created.
3188
3600
  # @return [Time]
3189
3601
  #
3190
3602
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportJobSummary AWS API Documentation
@@ -3352,6 +3764,159 @@ module Aws::SESV2
3352
3764
  include Aws::Structure
3353
3765
  end
3354
3766
 
3767
+ # @note When making an API call, you may pass ListContactListsRequest
3768
+ # data as a hash:
3769
+ #
3770
+ # {
3771
+ # page_size: 1,
3772
+ # next_token: "NextToken",
3773
+ # }
3774
+ #
3775
+ # @!attribute [rw] page_size
3776
+ # Maximum number of contact lists to return at once. Use this
3777
+ # parameter to paginate results. If additional contact lists exist
3778
+ # beyond the specified limit, the `NextToken` element is sent in the
3779
+ # response. Use the `NextToken` value in subsequent requests to
3780
+ # retrieve additional lists.
3781
+ # @return [Integer]
3782
+ #
3783
+ # @!attribute [rw] next_token
3784
+ # A string token indicating that there might be additional contact
3785
+ # lists available to be listed. Use the token provided in the Response
3786
+ # to use in the subsequent call to ListContactLists with the same
3787
+ # parameters to retrieve the next page of contact lists.
3788
+ # @return [String]
3789
+ #
3790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactListsRequest AWS API Documentation
3791
+ #
3792
+ class ListContactListsRequest < Struct.new(
3793
+ :page_size,
3794
+ :next_token)
3795
+ SENSITIVE = []
3796
+ include Aws::Structure
3797
+ end
3798
+
3799
+ # @!attribute [rw] contact_lists
3800
+ # The available contact lists.
3801
+ # @return [Array<Types::ContactList>]
3802
+ #
3803
+ # @!attribute [rw] next_token
3804
+ # A string token indicating that there might be additional contact
3805
+ # lists available to be listed. Copy this token to a subsequent call
3806
+ # to `ListContactLists` with the same parameters to retrieve the next
3807
+ # page of contact lists.
3808
+ # @return [String]
3809
+ #
3810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactListsResponse AWS API Documentation
3811
+ #
3812
+ class ListContactListsResponse < Struct.new(
3813
+ :contact_lists,
3814
+ :next_token)
3815
+ SENSITIVE = []
3816
+ include Aws::Structure
3817
+ end
3818
+
3819
+ # A filter that can be applied to a list of contacts.
3820
+ #
3821
+ # @note When making an API call, you may pass ListContactsFilter
3822
+ # data as a hash:
3823
+ #
3824
+ # {
3825
+ # filtered_status: "OPT_IN", # accepts OPT_IN, OPT_OUT
3826
+ # topic_filter: {
3827
+ # topic_name: "TopicName",
3828
+ # use_default_if_preference_unavailable: false,
3829
+ # },
3830
+ # }
3831
+ #
3832
+ # @!attribute [rw] filtered_status
3833
+ # The status by which you are filtering: `OPT_IN` or `OPT_OUT`.
3834
+ # @return [String]
3835
+ #
3836
+ # @!attribute [rw] topic_filter
3837
+ # Used for filtering by a specific topic preference.
3838
+ # @return [Types::TopicFilter]
3839
+ #
3840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactsFilter AWS API Documentation
3841
+ #
3842
+ class ListContactsFilter < Struct.new(
3843
+ :filtered_status,
3844
+ :topic_filter)
3845
+ SENSITIVE = []
3846
+ include Aws::Structure
3847
+ end
3848
+
3849
+ # @note When making an API call, you may pass ListContactsRequest
3850
+ # data as a hash:
3851
+ #
3852
+ # {
3853
+ # contact_list_name: "ContactListName", # required
3854
+ # filter: {
3855
+ # filtered_status: "OPT_IN", # accepts OPT_IN, OPT_OUT
3856
+ # topic_filter: {
3857
+ # topic_name: "TopicName",
3858
+ # use_default_if_preference_unavailable: false,
3859
+ # },
3860
+ # },
3861
+ # page_size: 1,
3862
+ # next_token: "NextToken",
3863
+ # }
3864
+ #
3865
+ # @!attribute [rw] contact_list_name
3866
+ # The name of the contact list.
3867
+ # @return [String]
3868
+ #
3869
+ # @!attribute [rw] filter
3870
+ # A filter that can be applied to a list of contacts.
3871
+ # @return [Types::ListContactsFilter]
3872
+ #
3873
+ # @!attribute [rw] page_size
3874
+ # The number of contacts that may be returned at once, which is
3875
+ # dependent on if there are more or less contacts than the value of
3876
+ # the PageSize. Use this parameter to paginate results. If additional
3877
+ # contacts exist beyond the specified limit, the `NextToken` element
3878
+ # is sent in the response. Use the `NextToken` value in subsequent
3879
+ # requests to retrieve additional contacts.
3880
+ # @return [Integer]
3881
+ #
3882
+ # @!attribute [rw] next_token
3883
+ # A string token indicating that there might be additional contacts
3884
+ # available to be listed. Use the token provided in the Response to
3885
+ # use in the subsequent call to ListContacts with the same parameters
3886
+ # to retrieve the next page of contacts.
3887
+ # @return [String]
3888
+ #
3889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactsRequest AWS API Documentation
3890
+ #
3891
+ class ListContactsRequest < Struct.new(
3892
+ :contact_list_name,
3893
+ :filter,
3894
+ :page_size,
3895
+ :next_token)
3896
+ SENSITIVE = []
3897
+ include Aws::Structure
3898
+ end
3899
+
3900
+ # @!attribute [rw] contacts
3901
+ # The contacts present in a specific contact list.
3902
+ # @return [Array<Types::Contact>]
3903
+ #
3904
+ # @!attribute [rw] next_token
3905
+ # A string token indicating that there might be additional contacts
3906
+ # available to be listed. Copy this token to a subsequent call to
3907
+ # `ListContacts` with the same parameters to retrieve the next page of
3908
+ # contacts.
3909
+ # @return [String]
3910
+ #
3911
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactsResponse AWS API Documentation
3912
+ #
3913
+ class ListContactsResponse < Struct.new(
3914
+ :contacts,
3915
+ :next_token)
3916
+ SENSITIVE = []
3917
+ include Aws::Structure
3918
+ end
3919
+
3355
3920
  # Represents a request to list the existing custom verification email
3356
3921
  # templates for your account.
3357
3922
  #
@@ -3742,7 +4307,7 @@ module Aws::SESV2
3742
4307
  # data as a hash:
3743
4308
  #
3744
4309
  # {
3745
- # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST
4310
+ # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST, CONTACT_LIST
3746
4311
  # next_token: "NextToken",
3747
4312
  # page_size: 1,
3748
4313
  # }
@@ -3800,6 +4365,34 @@ module Aws::SESV2
3800
4365
  include Aws::Structure
3801
4366
  end
3802
4367
 
4368
+ # An object used to specify a list or topic to which an email belongs,
4369
+ # which will be used when a contact chooses to unsubscribe.
4370
+ #
4371
+ # @note When making an API call, you may pass ListManagementOptions
4372
+ # data as a hash:
4373
+ #
4374
+ # {
4375
+ # contact_list_name: "ContactListName", # required
4376
+ # topic_name: "TopicName",
4377
+ # }
4378
+ #
4379
+ # @!attribute [rw] contact_list_name
4380
+ # The name of the contact list.
4381
+ # @return [String]
4382
+ #
4383
+ # @!attribute [rw] topic_name
4384
+ # The name of the topic.
4385
+ # @return [String]
4386
+ #
4387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListManagementOptions AWS API Documentation
4388
+ #
4389
+ class ListManagementOptions < Struct.new(
4390
+ :contact_list_name,
4391
+ :topic_name)
4392
+ SENSITIVE = []
4393
+ include Aws::Structure
4394
+ end
4395
+
3803
4396
  # A request to obtain a list of email destinations that are on the
3804
4397
  # suppression list for your account.
3805
4398
  #
@@ -4680,6 +5273,42 @@ module Aws::SESV2
4680
5273
  #
4681
5274
  class PutDeliverabilityDashboardOptionResponse < Aws::EmptyStructure; end
4682
5275
 
5276
+ # A request to associate a configuration set with an email identity.
5277
+ #
5278
+ # @note When making an API call, you may pass PutEmailIdentityConfigurationSetAttributesRequest
5279
+ # data as a hash:
5280
+ #
5281
+ # {
5282
+ # email_identity: "Identity", # required
5283
+ # configuration_set_name: "ConfigurationSetName",
5284
+ # }
5285
+ #
5286
+ # @!attribute [rw] email_identity
5287
+ # The email address or domain that you want to associate with a
5288
+ # configuration set.
5289
+ # @return [String]
5290
+ #
5291
+ # @!attribute [rw] configuration_set_name
5292
+ # The configuration set that you want to associate with an email
5293
+ # identity.
5294
+ # @return [String]
5295
+ #
5296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityConfigurationSetAttributesRequest AWS API Documentation
5297
+ #
5298
+ class PutEmailIdentityConfigurationSetAttributesRequest < Struct.new(
5299
+ :email_identity,
5300
+ :configuration_set_name)
5301
+ SENSITIVE = []
5302
+ include Aws::Structure
5303
+ end
5304
+
5305
+ # If the action is successful, the service sends back an HTTP 200
5306
+ # response with an empty HTTP body.
5307
+ #
5308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityConfigurationSetAttributesResponse AWS API Documentation
5309
+ #
5310
+ class PutEmailIdentityConfigurationSetAttributesResponse < Aws::EmptyStructure; end
5311
+
4683
5312
  # A request to enable or disable DKIM signing of email that you send
4684
5313
  # from an email identity.
4685
5314
  #
@@ -5409,6 +6038,10 @@ module Aws::SESV2
5409
6038
  # },
5410
6039
  # ],
5411
6040
  # configuration_set_name: "ConfigurationSetName",
6041
+ # list_management_options: {
6042
+ # contact_list_name: "ContactListName", # required
6043
+ # topic_name: "TopicName",
6044
+ # },
5412
6045
  # }
5413
6046
  #
5414
6047
  # @!attribute [rw] from_email_address
@@ -5493,6 +6126,11 @@ module Aws::SESV2
5493
6126
  # the email.
5494
6127
  # @return [String]
5495
6128
  #
6129
+ # @!attribute [rw] list_management_options
6130
+ # An object used to specify a list or topic to which an email belongs,
6131
+ # which will be used when a contact chooses to unsubscribe.
6132
+ # @return [Types::ListManagementOptions]
6133
+ #
5496
6134
  # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendEmailRequest AWS API Documentation
5497
6135
  #
5498
6136
  class SendEmailRequest < Struct.new(
@@ -5504,7 +6142,8 @@ module Aws::SESV2
5504
6142
  :feedback_forwarding_email_address_identity_arn,
5505
6143
  :content,
5506
6144
  :email_tags,
5507
- :configuration_set_name)
6145
+ :configuration_set_name,
6146
+ :list_management_options)
5508
6147
  SENSITIVE = []
5509
6148
  include Aws::Structure
5510
6149
  end
@@ -5981,6 +6620,106 @@ module Aws::SESV2
5981
6620
  #
5982
6621
  class TooManyRequestsException < Aws::EmptyStructure; end
5983
6622
 
6623
+ # An interest group, theme, or label within a list. Lists can have
6624
+ # multiple topics.
6625
+ #
6626
+ # @note When making an API call, you may pass Topic
6627
+ # data as a hash:
6628
+ #
6629
+ # {
6630
+ # topic_name: "TopicName", # required
6631
+ # display_name: "DisplayName", # required
6632
+ # description: "Description",
6633
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6634
+ # }
6635
+ #
6636
+ # @!attribute [rw] topic_name
6637
+ # The name of the topic.
6638
+ # @return [String]
6639
+ #
6640
+ # @!attribute [rw] display_name
6641
+ # The name of the topic the contact will see.
6642
+ # @return [String]
6643
+ #
6644
+ # @!attribute [rw] description
6645
+ # A description of what the topic is about, which the contact will
6646
+ # see.
6647
+ # @return [String]
6648
+ #
6649
+ # @!attribute [rw] default_subscription_status
6650
+ # The default subscription status to be applied to a contact if the
6651
+ # contact has not noted their preference for subscribing to a topic.
6652
+ # @return [String]
6653
+ #
6654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/Topic AWS API Documentation
6655
+ #
6656
+ class Topic < Struct.new(
6657
+ :topic_name,
6658
+ :display_name,
6659
+ :description,
6660
+ :default_subscription_status)
6661
+ SENSITIVE = []
6662
+ include Aws::Structure
6663
+ end
6664
+
6665
+ # Used for filtering by a specific topic preference.
6666
+ #
6667
+ # @note When making an API call, you may pass TopicFilter
6668
+ # data as a hash:
6669
+ #
6670
+ # {
6671
+ # topic_name: "TopicName",
6672
+ # use_default_if_preference_unavailable: false,
6673
+ # }
6674
+ #
6675
+ # @!attribute [rw] topic_name
6676
+ # The name of a topic on which you wish to apply the filter.
6677
+ # @return [String]
6678
+ #
6679
+ # @!attribute [rw] use_default_if_preference_unavailable
6680
+ # Notes that the default subscription status should be applied to a
6681
+ # contact because the contact has not noted their preference for
6682
+ # subscribing to a topic.
6683
+ # @return [Boolean]
6684
+ #
6685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TopicFilter AWS API Documentation
6686
+ #
6687
+ class TopicFilter < Struct.new(
6688
+ :topic_name,
6689
+ :use_default_if_preference_unavailable)
6690
+ SENSITIVE = []
6691
+ include Aws::Structure
6692
+ end
6693
+
6694
+ # The contact's preference for being opted-in to or opted-out of a
6695
+ # topic.
6696
+ #
6697
+ # @note When making an API call, you may pass TopicPreference
6698
+ # data as a hash:
6699
+ #
6700
+ # {
6701
+ # topic_name: "TopicName", # required
6702
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6703
+ # }
6704
+ #
6705
+ # @!attribute [rw] topic_name
6706
+ # The name of the topic.
6707
+ # @return [String]
6708
+ #
6709
+ # @!attribute [rw] subscription_status
6710
+ # The contact's subscription status to a topic which is either
6711
+ # `OPT_IN` or `OPT_OUT`.
6712
+ # @return [String]
6713
+ #
6714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TopicPreference AWS API Documentation
6715
+ #
6716
+ class TopicPreference < Struct.new(
6717
+ :topic_name,
6718
+ :subscription_status)
6719
+ SENSITIVE = []
6720
+ include Aws::Structure
6721
+ end
6722
+
5984
6723
  # An object that defines the tracking options for a configuration set.
5985
6724
  # When you use the Amazon SES API v2 to send an email, it contains an
5986
6725
  # invisible image that's used to track when recipients open your email.
@@ -6058,7 +6797,7 @@ module Aws::SESV2
6058
6797
  # event_destination_name: "EventDestinationName", # required
6059
6798
  # event_destination: { # required
6060
6799
  # enabled: false,
6061
- # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY
6800
+ # matching_event_types: ["SEND"], # accepts SEND, REJECT, BOUNCE, COMPLAINT, DELIVERY, OPEN, CLICK, RENDERING_FAILURE, DELIVERY_DELAY, SUBSCRIPTION
6062
6801
  # kinesis_firehose_destination: {
6063
6802
  # iam_role_arn: "AmazonResourceName", # required
6064
6803
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -6111,6 +6850,103 @@ module Aws::SESV2
6111
6850
  #
6112
6851
  class UpdateConfigurationSetEventDestinationResponse < Aws::EmptyStructure; end
6113
6852
 
6853
+ # @note When making an API call, you may pass UpdateContactListRequest
6854
+ # data as a hash:
6855
+ #
6856
+ # {
6857
+ # contact_list_name: "ContactListName", # required
6858
+ # topics: [
6859
+ # {
6860
+ # topic_name: "TopicName", # required
6861
+ # display_name: "DisplayName", # required
6862
+ # description: "Description",
6863
+ # default_subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6864
+ # },
6865
+ # ],
6866
+ # description: "Description",
6867
+ # }
6868
+ #
6869
+ # @!attribute [rw] contact_list_name
6870
+ # The name of the contact list.
6871
+ # @return [String]
6872
+ #
6873
+ # @!attribute [rw] topics
6874
+ # An interest group, theme, or label within a list. A contact list can
6875
+ # have multiple topics.
6876
+ # @return [Array<Types::Topic>]
6877
+ #
6878
+ # @!attribute [rw] description
6879
+ # A description of what the contact list is about.
6880
+ # @return [String]
6881
+ #
6882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactListRequest AWS API Documentation
6883
+ #
6884
+ class UpdateContactListRequest < Struct.new(
6885
+ :contact_list_name,
6886
+ :topics,
6887
+ :description)
6888
+ SENSITIVE = []
6889
+ include Aws::Structure
6890
+ end
6891
+
6892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactListResponse AWS API Documentation
6893
+ #
6894
+ class UpdateContactListResponse < Aws::EmptyStructure; end
6895
+
6896
+ # @note When making an API call, you may pass UpdateContactRequest
6897
+ # data as a hash:
6898
+ #
6899
+ # {
6900
+ # contact_list_name: "ContactListName", # required
6901
+ # email_address: "EmailAddress", # required
6902
+ # topic_preferences: [
6903
+ # {
6904
+ # topic_name: "TopicName", # required
6905
+ # subscription_status: "OPT_IN", # required, accepts OPT_IN, OPT_OUT
6906
+ # },
6907
+ # ],
6908
+ # unsubscribe_all: false,
6909
+ # attributes_data: "AttributesData",
6910
+ # }
6911
+ #
6912
+ # @!attribute [rw] contact_list_name
6913
+ # The name of the contact list.
6914
+ # @return [String]
6915
+ #
6916
+ # @!attribute [rw] email_address
6917
+ # The contact's email addres.
6918
+ # @return [String]
6919
+ #
6920
+ # @!attribute [rw] topic_preferences
6921
+ # The contact's preference for being opted-in to or opted-out of a
6922
+ # topic.
6923
+ # @return [Array<Types::TopicPreference>]
6924
+ #
6925
+ # @!attribute [rw] unsubscribe_all
6926
+ # A boolean value status noting if the contact is unsubscribed from
6927
+ # all contact list topics.
6928
+ # @return [Boolean]
6929
+ #
6930
+ # @!attribute [rw] attributes_data
6931
+ # The attribute data attached to a contact.
6932
+ # @return [String]
6933
+ #
6934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactRequest AWS API Documentation
6935
+ #
6936
+ class UpdateContactRequest < Struct.new(
6937
+ :contact_list_name,
6938
+ :email_address,
6939
+ :topic_preferences,
6940
+ :unsubscribe_all,
6941
+ :attributes_data)
6942
+ SENSITIVE = []
6943
+ include Aws::Structure
6944
+ end
6945
+
6946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactResponse AWS API Documentation
6947
+ #
6948
+ class UpdateContactResponse < Aws::EmptyStructure; end
6949
+
6114
6950
  # Represents a request to update an existing custom verification email
6115
6951
  # template.
6116
6952
  #