aws-sdk-ses 1.2.0 → 1.3.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.
@@ -26,6 +26,11 @@ module Aws::SES
26
26
  BounceType = Shapes::StringShape.new(name: 'BounceType')
27
27
  BouncedRecipientInfo = Shapes::StructureShape.new(name: 'BouncedRecipientInfo')
28
28
  BouncedRecipientInfoList = Shapes::ListShape.new(name: 'BouncedRecipientInfoList')
29
+ BulkEmailDestination = Shapes::StructureShape.new(name: 'BulkEmailDestination')
30
+ BulkEmailDestinationList = Shapes::ListShape.new(name: 'BulkEmailDestinationList')
31
+ BulkEmailDestinationStatus = Shapes::StructureShape.new(name: 'BulkEmailDestinationStatus')
32
+ BulkEmailDestinationStatusList = Shapes::ListShape.new(name: 'BulkEmailDestinationStatusList')
33
+ BulkEmailStatus = Shapes::StringShape.new(name: 'BulkEmailStatus')
29
34
  CannotDeleteException = Shapes::StructureShape.new(name: 'CannotDeleteException')
30
35
  Charset = Shapes::StringShape.new(name: 'Charset')
31
36
  Cidr = Shapes::StringShape.new(name: 'Cidr')
@@ -55,6 +60,8 @@ module Aws::SES
55
60
  CreateReceiptRuleResponse = Shapes::StructureShape.new(name: 'CreateReceiptRuleResponse')
56
61
  CreateReceiptRuleSetRequest = Shapes::StructureShape.new(name: 'CreateReceiptRuleSetRequest')
57
62
  CreateReceiptRuleSetResponse = Shapes::StructureShape.new(name: 'CreateReceiptRuleSetResponse')
63
+ CreateTemplateRequest = Shapes::StructureShape.new(name: 'CreateTemplateRequest')
64
+ CreateTemplateResponse = Shapes::StructureShape.new(name: 'CreateTemplateResponse')
58
65
  CustomMailFromStatus = Shapes::StringShape.new(name: 'CustomMailFromStatus')
59
66
  CustomRedirectDomain = Shapes::StringShape.new(name: 'CustomRedirectDomain')
60
67
  DefaultDimensionValue = Shapes::StringShape.new(name: 'DefaultDimensionValue')
@@ -74,6 +81,8 @@ module Aws::SES
74
81
  DeleteReceiptRuleResponse = Shapes::StructureShape.new(name: 'DeleteReceiptRuleResponse')
75
82
  DeleteReceiptRuleSetRequest = Shapes::StructureShape.new(name: 'DeleteReceiptRuleSetRequest')
76
83
  DeleteReceiptRuleSetResponse = Shapes::StructureShape.new(name: 'DeleteReceiptRuleSetResponse')
84
+ DeleteTemplateRequest = Shapes::StructureShape.new(name: 'DeleteTemplateRequest')
85
+ DeleteTemplateResponse = Shapes::StructureShape.new(name: 'DeleteTemplateResponse')
77
86
  DeleteVerifiedEmailAddressRequest = Shapes::StructureShape.new(name: 'DeleteVerifiedEmailAddressRequest')
78
87
  DescribeActiveReceiptRuleSetRequest = Shapes::StructureShape.new(name: 'DescribeActiveReceiptRuleSetRequest')
79
88
  DescribeActiveReceiptRuleSetResponse = Shapes::StructureShape.new(name: 'DescribeActiveReceiptRuleSetResponse')
@@ -92,6 +101,7 @@ module Aws::SES
92
101
  DsnAction = Shapes::StringShape.new(name: 'DsnAction')
93
102
  DsnStatus = Shapes::StringShape.new(name: 'DsnStatus')
94
103
  Enabled = Shapes::BooleanShape.new(name: 'Enabled')
104
+ Error = Shapes::StringShape.new(name: 'Error')
95
105
  EventDestination = Shapes::StructureShape.new(name: 'EventDestination')
96
106
  EventDestinationAlreadyExistsException = Shapes::StructureShape.new(name: 'EventDestinationAlreadyExistsException')
97
107
  EventDestinationDoesNotExistException = Shapes::StructureShape.new(name: 'EventDestinationDoesNotExistException')
@@ -116,8 +126,11 @@ module Aws::SES
116
126
  GetIdentityVerificationAttributesResponse = Shapes::StructureShape.new(name: 'GetIdentityVerificationAttributesResponse')
117
127
  GetSendQuotaResponse = Shapes::StructureShape.new(name: 'GetSendQuotaResponse')
118
128
  GetSendStatisticsResponse = Shapes::StructureShape.new(name: 'GetSendStatisticsResponse')
129
+ GetTemplateRequest = Shapes::StructureShape.new(name: 'GetTemplateRequest')
130
+ GetTemplateResponse = Shapes::StructureShape.new(name: 'GetTemplateResponse')
119
131
  HeaderName = Shapes::StringShape.new(name: 'HeaderName')
120
132
  HeaderValue = Shapes::StringShape.new(name: 'HeaderValue')
133
+ HtmlPart = Shapes::StringShape.new(name: 'HtmlPart')
121
134
  Identity = Shapes::StringShape.new(name: 'Identity')
122
135
  IdentityDkimAttributes = Shapes::StructureShape.new(name: 'IdentityDkimAttributes')
123
136
  IdentityList = Shapes::ListShape.new(name: 'IdentityList')
@@ -130,9 +143,11 @@ module Aws::SES
130
143
  InvalidFirehoseDestinationException = Shapes::StructureShape.new(name: 'InvalidFirehoseDestinationException')
131
144
  InvalidLambdaFunctionException = Shapes::StructureShape.new(name: 'InvalidLambdaFunctionException')
132
145
  InvalidPolicyException = Shapes::StructureShape.new(name: 'InvalidPolicyException')
146
+ InvalidRenderingParameterException = Shapes::StructureShape.new(name: 'InvalidRenderingParameterException')
133
147
  InvalidS3ConfigurationException = Shapes::StructureShape.new(name: 'InvalidS3ConfigurationException')
134
148
  InvalidSNSDestinationException = Shapes::StructureShape.new(name: 'InvalidSNSDestinationException')
135
149
  InvalidSnsTopicException = Shapes::StructureShape.new(name: 'InvalidSnsTopicException')
150
+ InvalidTemplateException = Shapes::StructureShape.new(name: 'InvalidTemplateException')
136
151
  InvalidTrackingOptionsException = Shapes::StructureShape.new(name: 'InvalidTrackingOptionsException')
137
152
  InvocationType = Shapes::StringShape.new(name: 'InvocationType')
138
153
  KinesisFirehoseDestination = Shapes::StructureShape.new(name: 'KinesisFirehoseDestination')
@@ -149,6 +164,8 @@ module Aws::SES
149
164
  ListReceiptFiltersResponse = Shapes::StructureShape.new(name: 'ListReceiptFiltersResponse')
150
165
  ListReceiptRuleSetsRequest = Shapes::StructureShape.new(name: 'ListReceiptRuleSetsRequest')
151
166
  ListReceiptRuleSetsResponse = Shapes::StructureShape.new(name: 'ListReceiptRuleSetsResponse')
167
+ ListTemplatesRequest = Shapes::StructureShape.new(name: 'ListTemplatesRequest')
168
+ ListTemplatesResponse = Shapes::StructureShape.new(name: 'ListTemplatesResponse')
152
169
  ListVerifiedEmailAddressesResponse = Shapes::StructureShape.new(name: 'ListVerifiedEmailAddressesResponse')
153
170
  MailFromDomainAttributes = Shapes::MapShape.new(name: 'MailFromDomainAttributes')
154
171
  MailFromDomainName = Shapes::StringShape.new(name: 'MailFromDomainName')
@@ -165,6 +182,7 @@ module Aws::SES
165
182
  MessageTagList = Shapes::ListShape.new(name: 'MessageTagList')
166
183
  MessageTagName = Shapes::StringShape.new(name: 'MessageTagName')
167
184
  MessageTagValue = Shapes::StringShape.new(name: 'MessageTagValue')
185
+ MissingRenderingAttributeException = Shapes::StructureShape.new(name: 'MissingRenderingAttributeException')
168
186
  NextToken = Shapes::StringShape.new(name: 'NextToken')
169
187
  NotificationAttributes = Shapes::MapShape.new(name: 'NotificationAttributes')
170
188
  NotificationTopic = Shapes::StringShape.new(name: 'NotificationTopic')
@@ -195,6 +213,7 @@ module Aws::SES
195
213
  RecipientDsnFields = Shapes::StructureShape.new(name: 'RecipientDsnFields')
196
214
  RecipientsList = Shapes::ListShape.new(name: 'RecipientsList')
197
215
  RemoteMta = Shapes::StringShape.new(name: 'RemoteMta')
216
+ RenderedTemplate = Shapes::StringShape.new(name: 'RenderedTemplate')
198
217
  ReorderReceiptRuleSetRequest = Shapes::StructureShape.new(name: 'ReorderReceiptRuleSetRequest')
199
218
  ReorderReceiptRuleSetResponse = Shapes::StructureShape.new(name: 'ReorderReceiptRuleSetResponse')
200
219
  ReportingMta = Shapes::StringShape.new(name: 'ReportingMta')
@@ -209,12 +228,16 @@ module Aws::SES
209
228
  SNSDestination = Shapes::StructureShape.new(name: 'SNSDestination')
210
229
  SendBounceRequest = Shapes::StructureShape.new(name: 'SendBounceRequest')
211
230
  SendBounceResponse = Shapes::StructureShape.new(name: 'SendBounceResponse')
231
+ SendBulkTemplatedEmailRequest = Shapes::StructureShape.new(name: 'SendBulkTemplatedEmailRequest')
232
+ SendBulkTemplatedEmailResponse = Shapes::StructureShape.new(name: 'SendBulkTemplatedEmailResponse')
212
233
  SendDataPoint = Shapes::StructureShape.new(name: 'SendDataPoint')
213
234
  SendDataPointList = Shapes::ListShape.new(name: 'SendDataPointList')
214
235
  SendEmailRequest = Shapes::StructureShape.new(name: 'SendEmailRequest')
215
236
  SendEmailResponse = Shapes::StructureShape.new(name: 'SendEmailResponse')
216
237
  SendRawEmailRequest = Shapes::StructureShape.new(name: 'SendRawEmailRequest')
217
238
  SendRawEmailResponse = Shapes::StructureShape.new(name: 'SendRawEmailResponse')
239
+ SendTemplatedEmailRequest = Shapes::StructureShape.new(name: 'SendTemplatedEmailRequest')
240
+ SendTemplatedEmailResponse = Shapes::StructureShape.new(name: 'SendTemplatedEmailResponse')
218
241
  SentLast24Hours = Shapes::FloatShape.new(name: 'SentLast24Hours')
219
242
  SetActiveReceiptRuleSetRequest = Shapes::StructureShape.new(name: 'SetActiveReceiptRuleSetRequest')
220
243
  SetActiveReceiptRuleSetResponse = Shapes::StructureShape.new(name: 'SetActiveReceiptRuleSetResponse')
@@ -232,6 +255,16 @@ module Aws::SES
232
255
  SetReceiptRulePositionResponse = Shapes::StructureShape.new(name: 'SetReceiptRulePositionResponse')
233
256
  StopAction = Shapes::StructureShape.new(name: 'StopAction')
234
257
  StopScope = Shapes::StringShape.new(name: 'StopScope')
258
+ SubjectPart = Shapes::StringShape.new(name: 'SubjectPart')
259
+ Template = Shapes::StructureShape.new(name: 'Template')
260
+ TemplateData = Shapes::StringShape.new(name: 'TemplateData')
261
+ TemplateDoesNotExistException = Shapes::StructureShape.new(name: 'TemplateDoesNotExistException')
262
+ TemplateMetadata = Shapes::StructureShape.new(name: 'TemplateMetadata')
263
+ TemplateMetadataList = Shapes::ListShape.new(name: 'TemplateMetadataList')
264
+ TemplateName = Shapes::StringShape.new(name: 'TemplateName')
265
+ TestRenderTemplateRequest = Shapes::StructureShape.new(name: 'TestRenderTemplateRequest')
266
+ TestRenderTemplateResponse = Shapes::StructureShape.new(name: 'TestRenderTemplateResponse')
267
+ TextPart = Shapes::StringShape.new(name: 'TextPart')
235
268
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
236
269
  TlsPolicy = Shapes::StringShape.new(name: 'TlsPolicy')
237
270
  TrackingOptions = Shapes::StructureShape.new(name: 'TrackingOptions')
@@ -243,6 +276,8 @@ module Aws::SES
243
276
  UpdateConfigurationSetTrackingOptionsResponse = Shapes::StructureShape.new(name: 'UpdateConfigurationSetTrackingOptionsResponse')
244
277
  UpdateReceiptRuleRequest = Shapes::StructureShape.new(name: 'UpdateReceiptRuleRequest')
245
278
  UpdateReceiptRuleResponse = Shapes::StructureShape.new(name: 'UpdateReceiptRuleResponse')
279
+ UpdateTemplateRequest = Shapes::StructureShape.new(name: 'UpdateTemplateRequest')
280
+ UpdateTemplateResponse = Shapes::StructureShape.new(name: 'UpdateTemplateResponse')
246
281
  VerificationAttributes = Shapes::MapShape.new(name: 'VerificationAttributes')
247
282
  VerificationStatus = Shapes::StringShape.new(name: 'VerificationStatus')
248
283
  VerificationToken = Shapes::StringShape.new(name: 'VerificationToken')
@@ -281,6 +316,20 @@ module Aws::SES
281
316
 
282
317
  BouncedRecipientInfoList.member = Shapes::ShapeRef.new(shape: BouncedRecipientInfo)
283
318
 
319
+ BulkEmailDestination.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
320
+ BulkEmailDestination.add_member(:replacement_tags, Shapes::ShapeRef.new(shape: MessageTagList, location_name: "ReplacementTags"))
321
+ BulkEmailDestination.add_member(:replacement_template_data, Shapes::ShapeRef.new(shape: TemplateData, location_name: "ReplacementTemplateData"))
322
+ BulkEmailDestination.struct_class = Types::BulkEmailDestination
323
+
324
+ BulkEmailDestinationList.member = Shapes::ShapeRef.new(shape: BulkEmailDestination)
325
+
326
+ BulkEmailDestinationStatus.add_member(:status, Shapes::ShapeRef.new(shape: BulkEmailStatus, location_name: "Status"))
327
+ BulkEmailDestinationStatus.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "Error"))
328
+ BulkEmailDestinationStatus.add_member(:message_id, Shapes::ShapeRef.new(shape: MessageId, location_name: "MessageId"))
329
+ BulkEmailDestinationStatus.struct_class = Types::BulkEmailDestinationStatus
330
+
331
+ BulkEmailDestinationStatusList.member = Shapes::ShapeRef.new(shape: BulkEmailDestinationStatus)
332
+
284
333
  CloneReceiptRuleSetRequest.add_member(:rule_set_name, Shapes::ShapeRef.new(shape: ReceiptRuleSetName, required: true, location_name: "RuleSetName"))
285
334
  CloneReceiptRuleSetRequest.add_member(:original_rule_set_name, Shapes::ShapeRef.new(shape: ReceiptRuleSetName, required: true, location_name: "OriginalRuleSetName"))
286
335
  CloneReceiptRuleSetRequest.struct_class = Types::CloneReceiptRuleSetRequest
@@ -342,6 +391,11 @@ module Aws::SES
342
391
 
343
392
  CreateReceiptRuleSetResponse.struct_class = Types::CreateReceiptRuleSetResponse
344
393
 
394
+ CreateTemplateRequest.add_member(:template, Shapes::ShapeRef.new(shape: Template, required: true, location_name: "Template"))
395
+ CreateTemplateRequest.struct_class = Types::CreateTemplateRequest
396
+
397
+ CreateTemplateResponse.struct_class = Types::CreateTemplateResponse
398
+
345
399
  DeleteConfigurationSetEventDestinationRequest.add_member(:configuration_set_name, Shapes::ShapeRef.new(shape: ConfigurationSetName, required: true, location_name: "ConfigurationSetName"))
346
400
  DeleteConfigurationSetEventDestinationRequest.add_member(:event_destination_name, Shapes::ShapeRef.new(shape: EventDestinationName, required: true, location_name: "EventDestinationName"))
347
401
  DeleteConfigurationSetEventDestinationRequest.struct_class = Types::DeleteConfigurationSetEventDestinationRequest
@@ -385,6 +439,11 @@ module Aws::SES
385
439
 
386
440
  DeleteReceiptRuleSetResponse.struct_class = Types::DeleteReceiptRuleSetResponse
387
441
 
442
+ DeleteTemplateRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "TemplateName"))
443
+ DeleteTemplateRequest.struct_class = Types::DeleteTemplateRequest
444
+
445
+ DeleteTemplateResponse.struct_class = Types::DeleteTemplateResponse
446
+
388
447
  DeleteVerifiedEmailAddressRequest.add_member(:email_address, Shapes::ShapeRef.new(shape: Address, required: true, location_name: "EmailAddress"))
389
448
  DeleteVerifiedEmailAddressRequest.struct_class = Types::DeleteVerifiedEmailAddressRequest
390
449
 
@@ -482,6 +541,12 @@ module Aws::SES
482
541
  GetSendStatisticsResponse.add_member(:send_data_points, Shapes::ShapeRef.new(shape: SendDataPointList, location_name: "SendDataPoints"))
483
542
  GetSendStatisticsResponse.struct_class = Types::GetSendStatisticsResponse
484
543
 
544
+ GetTemplateRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "TemplateName"))
545
+ GetTemplateRequest.struct_class = Types::GetTemplateRequest
546
+
547
+ GetTemplateResponse.add_member(:template, Shapes::ShapeRef.new(shape: Template, location_name: "Template"))
548
+ GetTemplateResponse.struct_class = Types::GetTemplateResponse
549
+
485
550
  IdentityDkimAttributes.add_member(:dkim_enabled, Shapes::ShapeRef.new(shape: Enabled, required: true, location_name: "DkimEnabled"))
486
551
  IdentityDkimAttributes.add_member(:dkim_verification_status, Shapes::ShapeRef.new(shape: VerificationStatus, required: true, location_name: "DkimVerificationStatus"))
487
552
  IdentityDkimAttributes.add_member(:dkim_tokens, Shapes::ShapeRef.new(shape: VerificationTokenList, location_name: "DkimTokens"))
@@ -551,6 +616,14 @@ module Aws::SES
551
616
  ListReceiptRuleSetsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
552
617
  ListReceiptRuleSetsResponse.struct_class = Types::ListReceiptRuleSetsResponse
553
618
 
619
+ ListTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
620
+ ListTemplatesRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: MaxItems, location_name: "MaxItems"))
621
+ ListTemplatesRequest.struct_class = Types::ListTemplatesRequest
622
+
623
+ ListTemplatesResponse.add_member(:templates_metadata, Shapes::ShapeRef.new(shape: TemplateMetadataList, location_name: "TemplatesMetadata"))
624
+ ListTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
625
+ ListTemplatesResponse.struct_class = Types::ListTemplatesResponse
626
+
554
627
  ListVerifiedEmailAddressesResponse.add_member(:verified_email_addresses, Shapes::ShapeRef.new(shape: AddressList, location_name: "VerifiedEmailAddresses"))
555
628
  ListVerifiedEmailAddressesResponse.struct_class = Types::ListVerifiedEmailAddressesResponse
556
629
 
@@ -670,6 +743,22 @@ module Aws::SES
670
743
  SendBounceResponse.add_member(:message_id, Shapes::ShapeRef.new(shape: MessageId, location_name: "MessageId"))
671
744
  SendBounceResponse.struct_class = Types::SendBounceResponse
672
745
 
746
+ SendBulkTemplatedEmailRequest.add_member(:source, Shapes::ShapeRef.new(shape: Address, required: true, location_name: "Source"))
747
+ SendBulkTemplatedEmailRequest.add_member(:source_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "SourceArn"))
748
+ SendBulkTemplatedEmailRequest.add_member(:reply_to_addresses, Shapes::ShapeRef.new(shape: AddressList, location_name: "ReplyToAddresses"))
749
+ SendBulkTemplatedEmailRequest.add_member(:return_path, Shapes::ShapeRef.new(shape: Address, location_name: "ReturnPath"))
750
+ SendBulkTemplatedEmailRequest.add_member(:return_path_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "ReturnPathArn"))
751
+ SendBulkTemplatedEmailRequest.add_member(:configuration_set_name, Shapes::ShapeRef.new(shape: ConfigurationSetName, location_name: "ConfigurationSetName"))
752
+ SendBulkTemplatedEmailRequest.add_member(:default_tags, Shapes::ShapeRef.new(shape: MessageTagList, location_name: "DefaultTags"))
753
+ SendBulkTemplatedEmailRequest.add_member(:template, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "Template"))
754
+ SendBulkTemplatedEmailRequest.add_member(:template_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "TemplateArn"))
755
+ SendBulkTemplatedEmailRequest.add_member(:default_template_data, Shapes::ShapeRef.new(shape: TemplateData, location_name: "DefaultTemplateData"))
756
+ SendBulkTemplatedEmailRequest.add_member(:destinations, Shapes::ShapeRef.new(shape: BulkEmailDestinationList, required: true, location_name: "Destinations"))
757
+ SendBulkTemplatedEmailRequest.struct_class = Types::SendBulkTemplatedEmailRequest
758
+
759
+ SendBulkTemplatedEmailResponse.add_member(:status, Shapes::ShapeRef.new(shape: BulkEmailDestinationStatusList, required: true, location_name: "Status"))
760
+ SendBulkTemplatedEmailResponse.struct_class = Types::SendBulkTemplatedEmailResponse
761
+
673
762
  SendDataPoint.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
674
763
  SendDataPoint.add_member(:delivery_attempts, Shapes::ShapeRef.new(shape: Counter, location_name: "DeliveryAttempts"))
675
764
  SendDataPoint.add_member(:bounces, Shapes::ShapeRef.new(shape: Counter, location_name: "Bounces"))
@@ -706,6 +795,22 @@ module Aws::SES
706
795
  SendRawEmailResponse.add_member(:message_id, Shapes::ShapeRef.new(shape: MessageId, required: true, location_name: "MessageId"))
707
796
  SendRawEmailResponse.struct_class = Types::SendRawEmailResponse
708
797
 
798
+ SendTemplatedEmailRequest.add_member(:source, Shapes::ShapeRef.new(shape: Address, required: true, location_name: "Source"))
799
+ SendTemplatedEmailRequest.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
800
+ SendTemplatedEmailRequest.add_member(:reply_to_addresses, Shapes::ShapeRef.new(shape: AddressList, location_name: "ReplyToAddresses"))
801
+ SendTemplatedEmailRequest.add_member(:return_path, Shapes::ShapeRef.new(shape: Address, location_name: "ReturnPath"))
802
+ SendTemplatedEmailRequest.add_member(:source_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "SourceArn"))
803
+ SendTemplatedEmailRequest.add_member(:return_path_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "ReturnPathArn"))
804
+ SendTemplatedEmailRequest.add_member(:tags, Shapes::ShapeRef.new(shape: MessageTagList, location_name: "Tags"))
805
+ SendTemplatedEmailRequest.add_member(:configuration_set_name, Shapes::ShapeRef.new(shape: ConfigurationSetName, location_name: "ConfigurationSetName"))
806
+ SendTemplatedEmailRequest.add_member(:template, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "Template"))
807
+ SendTemplatedEmailRequest.add_member(:template_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "TemplateArn"))
808
+ SendTemplatedEmailRequest.add_member(:template_data, Shapes::ShapeRef.new(shape: TemplateData, required: true, location_name: "TemplateData"))
809
+ SendTemplatedEmailRequest.struct_class = Types::SendTemplatedEmailRequest
810
+
811
+ SendTemplatedEmailResponse.add_member(:message_id, Shapes::ShapeRef.new(shape: MessageId, required: true, location_name: "MessageId"))
812
+ SendTemplatedEmailResponse.struct_class = Types::SendTemplatedEmailResponse
813
+
709
814
  SetActiveReceiptRuleSetRequest.add_member(:rule_set_name, Shapes::ShapeRef.new(shape: ReceiptRuleSetName, location_name: "RuleSetName"))
710
815
  SetActiveReceiptRuleSetRequest.struct_class = Types::SetActiveReceiptRuleSetRequest
711
816
 
@@ -755,6 +860,25 @@ module Aws::SES
755
860
  StopAction.add_member(:topic_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "TopicArn"))
756
861
  StopAction.struct_class = Types::StopAction
757
862
 
863
+ Template.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "TemplateName"))
864
+ Template.add_member(:subject_part, Shapes::ShapeRef.new(shape: SubjectPart, location_name: "SubjectPart"))
865
+ Template.add_member(:text_part, Shapes::ShapeRef.new(shape: TextPart, location_name: "TextPart"))
866
+ Template.add_member(:html_part, Shapes::ShapeRef.new(shape: HtmlPart, location_name: "HtmlPart"))
867
+ Template.struct_class = Types::Template
868
+
869
+ TemplateMetadata.add_member(:name, Shapes::ShapeRef.new(shape: TemplateName, location_name: "Name"))
870
+ TemplateMetadata.add_member(:created_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTimestamp"))
871
+ TemplateMetadata.struct_class = Types::TemplateMetadata
872
+
873
+ TemplateMetadataList.member = Shapes::ShapeRef.new(shape: TemplateMetadata)
874
+
875
+ TestRenderTemplateRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "TemplateName"))
876
+ TestRenderTemplateRequest.add_member(:template_data, Shapes::ShapeRef.new(shape: TemplateData, required: true, location_name: "TemplateData"))
877
+ TestRenderTemplateRequest.struct_class = Types::TestRenderTemplateRequest
878
+
879
+ TestRenderTemplateResponse.add_member(:rendered_template, Shapes::ShapeRef.new(shape: RenderedTemplate, location_name: "RenderedTemplate"))
880
+ TestRenderTemplateResponse.struct_class = Types::TestRenderTemplateResponse
881
+
758
882
  TrackingOptions.add_member(:custom_redirect_domain, Shapes::ShapeRef.new(shape: CustomRedirectDomain, location_name: "CustomRedirectDomain"))
759
883
  TrackingOptions.struct_class = Types::TrackingOptions
760
884
 
@@ -776,6 +900,11 @@ module Aws::SES
776
900
 
777
901
  UpdateReceiptRuleResponse.struct_class = Types::UpdateReceiptRuleResponse
778
902
 
903
+ UpdateTemplateRequest.add_member(:template, Shapes::ShapeRef.new(shape: Template, required: true, location_name: "Template"))
904
+ UpdateTemplateRequest.struct_class = Types::UpdateTemplateRequest
905
+
906
+ UpdateTemplateResponse.struct_class = Types::UpdateTemplateResponse
907
+
779
908
  VerificationAttributes.key = Shapes::ShapeRef.new(shape: Identity)
780
909
  VerificationAttributes.value = Shapes::ShapeRef.new(shape: IdentityVerificationAttributes)
781
910
 
@@ -902,6 +1031,17 @@ module Aws::SES
902
1031
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
903
1032
  end)
904
1033
 
1034
+ api.add_operation(:create_template, Seahorse::Model::Operation.new.tap do |o|
1035
+ o.name = "CreateTemplate"
1036
+ o.http_method = "POST"
1037
+ o.http_request_uri = "/"
1038
+ o.input = Shapes::ShapeRef.new(shape: CreateTemplateRequest)
1039
+ o.output = Shapes::ShapeRef.new(shape: CreateTemplateResponse)
1040
+ o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
1041
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTemplateException)
1042
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1043
+ end)
1044
+
905
1045
  api.add_operation(:delete_configuration_set, Seahorse::Model::Operation.new.tap do |o|
906
1046
  o.name = "DeleteConfigurationSet"
907
1047
  o.http_method = "POST"
@@ -973,6 +1113,14 @@ module Aws::SES
973
1113
  o.errors << Shapes::ShapeRef.new(shape: CannotDeleteException)
974
1114
  end)
975
1115
 
1116
+ api.add_operation(:delete_template, Seahorse::Model::Operation.new.tap do |o|
1117
+ o.name = "DeleteTemplate"
1118
+ o.http_method = "POST"
1119
+ o.http_request_uri = "/"
1120
+ o.input = Shapes::ShapeRef.new(shape: DeleteTemplateRequest)
1121
+ o.output = Shapes::ShapeRef.new(shape: DeleteTemplateResponse)
1122
+ end)
1123
+
976
1124
  api.add_operation(:delete_verified_email_address, Seahorse::Model::Operation.new.tap do |o|
977
1125
  o.name = "DeleteVerifiedEmailAddress"
978
1126
  o.http_method = "POST"
@@ -1073,6 +1221,15 @@ module Aws::SES
1073
1221
  o.output = Shapes::ShapeRef.new(shape: GetSendStatisticsResponse)
1074
1222
  end)
1075
1223
 
1224
+ api.add_operation(:get_template, Seahorse::Model::Operation.new.tap do |o|
1225
+ o.name = "GetTemplate"
1226
+ o.http_method = "POST"
1227
+ o.http_request_uri = "/"
1228
+ o.input = Shapes::ShapeRef.new(shape: GetTemplateRequest)
1229
+ o.output = Shapes::ShapeRef.new(shape: GetTemplateResponse)
1230
+ o.errors << Shapes::ShapeRef.new(shape: TemplateDoesNotExistException)
1231
+ end)
1232
+
1076
1233
  api.add_operation(:list_configuration_sets, Seahorse::Model::Operation.new.tap do |o|
1077
1234
  o.name = "ListConfigurationSets"
1078
1235
  o.http_method = "POST"
@@ -1119,6 +1276,14 @@ module Aws::SES
1119
1276
  o.output = Shapes::ShapeRef.new(shape: ListReceiptRuleSetsResponse)
1120
1277
  end)
1121
1278
 
1279
+ api.add_operation(:list_templates, Seahorse::Model::Operation.new.tap do |o|
1280
+ o.name = "ListTemplates"
1281
+ o.http_method = "POST"
1282
+ o.http_request_uri = "/"
1283
+ o.input = Shapes::ShapeRef.new(shape: ListTemplatesRequest)
1284
+ o.output = Shapes::ShapeRef.new(shape: ListTemplatesResponse)
1285
+ end)
1286
+
1122
1287
  api.add_operation(:list_verified_email_addresses, Seahorse::Model::Operation.new.tap do |o|
1123
1288
  o.name = "ListVerifiedEmailAddresses"
1124
1289
  o.http_method = "POST"
@@ -1155,6 +1320,18 @@ module Aws::SES
1155
1320
  o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
1156
1321
  end)
1157
1322
 
1323
+ api.add_operation(:send_bulk_templated_email, Seahorse::Model::Operation.new.tap do |o|
1324
+ o.name = "SendBulkTemplatedEmail"
1325
+ o.http_method = "POST"
1326
+ o.http_request_uri = "/"
1327
+ o.input = Shapes::ShapeRef.new(shape: SendBulkTemplatedEmailRequest)
1328
+ o.output = Shapes::ShapeRef.new(shape: SendBulkTemplatedEmailResponse)
1329
+ o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
1330
+ o.errors << Shapes::ShapeRef.new(shape: MailFromDomainNotVerifiedException)
1331
+ o.errors << Shapes::ShapeRef.new(shape: ConfigurationSetDoesNotExistException)
1332
+ o.errors << Shapes::ShapeRef.new(shape: TemplateDoesNotExistException)
1333
+ end)
1334
+
1158
1335
  api.add_operation(:send_email, Seahorse::Model::Operation.new.tap do |o|
1159
1336
  o.name = "SendEmail"
1160
1337
  o.http_method = "POST"
@@ -1177,6 +1354,18 @@ module Aws::SES
1177
1354
  o.errors << Shapes::ShapeRef.new(shape: ConfigurationSetDoesNotExistException)
1178
1355
  end)
1179
1356
 
1357
+ api.add_operation(:send_templated_email, Seahorse::Model::Operation.new.tap do |o|
1358
+ o.name = "SendTemplatedEmail"
1359
+ o.http_method = "POST"
1360
+ o.http_request_uri = "/"
1361
+ o.input = Shapes::ShapeRef.new(shape: SendTemplatedEmailRequest)
1362
+ o.output = Shapes::ShapeRef.new(shape: SendTemplatedEmailResponse)
1363
+ o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
1364
+ o.errors << Shapes::ShapeRef.new(shape: MailFromDomainNotVerifiedException)
1365
+ o.errors << Shapes::ShapeRef.new(shape: ConfigurationSetDoesNotExistException)
1366
+ o.errors << Shapes::ShapeRef.new(shape: TemplateDoesNotExistException)
1367
+ end)
1368
+
1180
1369
  api.add_operation(:set_active_receipt_rule_set, Seahorse::Model::Operation.new.tap do |o|
1181
1370
  o.name = "SetActiveReceiptRuleSet"
1182
1371
  o.http_method = "POST"
@@ -1236,6 +1425,17 @@ module Aws::SES
1236
1425
  o.errors << Shapes::ShapeRef.new(shape: RuleDoesNotExistException)
1237
1426
  end)
1238
1427
 
1428
+ api.add_operation(:test_render_template, Seahorse::Model::Operation.new.tap do |o|
1429
+ o.name = "TestRenderTemplate"
1430
+ o.http_method = "POST"
1431
+ o.http_request_uri = "/"
1432
+ o.input = Shapes::ShapeRef.new(shape: TestRenderTemplateRequest)
1433
+ o.output = Shapes::ShapeRef.new(shape: TestRenderTemplateResponse)
1434
+ o.errors << Shapes::ShapeRef.new(shape: TemplateDoesNotExistException)
1435
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRenderingParameterException)
1436
+ o.errors << Shapes::ShapeRef.new(shape: MissingRenderingAttributeException)
1437
+ end)
1438
+
1239
1439
  api.add_operation(:update_configuration_set_event_destination, Seahorse::Model::Operation.new.tap do |o|
1240
1440
  o.name = "UpdateConfigurationSetEventDestination"
1241
1441
  o.http_method = "POST"
@@ -1274,6 +1474,16 @@ module Aws::SES
1274
1474
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1275
1475
  end)
1276
1476
 
1477
+ api.add_operation(:update_template, Seahorse::Model::Operation.new.tap do |o|
1478
+ o.name = "UpdateTemplate"
1479
+ o.http_method = "POST"
1480
+ o.http_request_uri = "/"
1481
+ o.input = Shapes::ShapeRef.new(shape: UpdateTemplateRequest)
1482
+ o.output = Shapes::ShapeRef.new(shape: UpdateTemplateResponse)
1483
+ o.errors << Shapes::ShapeRef.new(shape: TemplateDoesNotExistException)
1484
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTemplateException)
1485
+ end)
1486
+
1277
1487
  api.add_operation(:verify_domain_dkim, Seahorse::Model::Operation.new.tap do |o|
1278
1488
  o.name = "VerifyDomainDkim"
1279
1489
  o.http_method = "POST"
@@ -225,6 +225,133 @@ module Aws::SES
225
225
  include Aws::Structure
226
226
  end
227
227
 
228
+ # An array that contains one or more Destinations, as well as the tags
229
+ # and replacement data associated with each of those Destinations.
230
+ #
231
+ # @note When making an API call, you may pass BulkEmailDestination
232
+ # data as a hash:
233
+ #
234
+ # {
235
+ # destination: { # required
236
+ # to_addresses: ["Address"],
237
+ # cc_addresses: ["Address"],
238
+ # bcc_addresses: ["Address"],
239
+ # },
240
+ # replacement_tags: [
241
+ # {
242
+ # name: "MessageTagName", # required
243
+ # value: "MessageTagValue", # required
244
+ # },
245
+ # ],
246
+ # replacement_template_data: "TemplateData",
247
+ # }
248
+ #
249
+ # @!attribute [rw] destination
250
+ # Represents the destination of the message, consisting of To:, CC:,
251
+ # and BCC: fields.
252
+ #
253
+ # By default, the string must be 7-bit ASCII. If the text must contain
254
+ # any other characters, then you must use MIME encoded-word syntax
255
+ # (RFC 2047) instead of a literal string. MIME encoded-word syntax
256
+ # uses the following form: `=?charset?encoding?encoded-text?=`. For
257
+ # more information, see [RFC 2047][1].
258
+ #
259
+ #
260
+ #
261
+ # [1]: https://tools.ietf.org/html/rfc2047
262
+ # @return [Types::Destination]
263
+ #
264
+ # @!attribute [rw] replacement_tags
265
+ # A list of tags, in the form of name/value pairs, to apply to an
266
+ # email that you send using `SendBulkTemplatedEmail`. Tags correspond
267
+ # to characteristics of the email that you define, so that you can
268
+ # publish email sending events.
269
+ # @return [Array<Types::MessageTag>]
270
+ #
271
+ # @!attribute [rw] replacement_template_data
272
+ # A list of replacement values to apply to the template. This
273
+ # parameter is a JSON object, typically consisting of key-value pairs
274
+ # in which the keys correspond to replacement tags in the email
275
+ # template.
276
+ # @return [String]
277
+ #
278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/BulkEmailDestination AWS API Documentation
279
+ #
280
+ class BulkEmailDestination < Struct.new(
281
+ :destination,
282
+ :replacement_tags,
283
+ :replacement_template_data)
284
+ include Aws::Structure
285
+ end
286
+
287
+ # An object that contains the response from the `SendBulkTemplatedEmail`
288
+ # operation.
289
+ #
290
+ # @!attribute [rw] status
291
+ # The status of a message sent using the `SendBulkTemplatedEmail`
292
+ # operation.
293
+ #
294
+ # Possible values for this parameter include:
295
+ #
296
+ # * `Success`\: Amazon SES accepted the message, and will attempt to
297
+ # deliver it to the recipients.
298
+ #
299
+ # * `MessageRejected`\: The message was rejected because it contained
300
+ # a virus.
301
+ #
302
+ # * `MailFromDomainNotVerified`\: The sender's email address or
303
+ # domain was not verified.
304
+ #
305
+ # * `ConfigurationSetDoesNotExist`\: The configuration set you
306
+ # specified does not exist.
307
+ #
308
+ # * `TemplateDoesNotExist`\: The template you specified does not
309
+ # exist.
310
+ #
311
+ # * `AccountSuspended`\: Your account has been shut down because of
312
+ # issues related to your email sending practices.
313
+ #
314
+ # * `AccountThrottled`\: The number of emails you can send has been
315
+ # reduced because your account has exceeded its allocated sending
316
+ # limit.
317
+ #
318
+ # * `AccountDailyQuotaExceeded`\: You have reached or exceeded the
319
+ # maximum number of emails you can send from your account in a
320
+ # 24-hour period.
321
+ #
322
+ # * `InvalidSendingPoolName`\: The configuration set you specified
323
+ # refers to an IP pool that does not exist.
324
+ #
325
+ # * `InvalidParameterValue`\: One or more of the parameters you
326
+ # specified when calling this operation was invalid. See the error
327
+ # message for additional information.
328
+ #
329
+ # * `TransientFailure`\: Amazon SES was unable to process your request
330
+ # because of a temporary issue.
331
+ #
332
+ # * `Failed`\: Amazon SES was unable to process your request. See the
333
+ # error message for additional information.
334
+ # @return [String]
335
+ #
336
+ # @!attribute [rw] error
337
+ # A description of an error that prevented a message being sent using
338
+ # the `SendBulkTemplatedEmail` operation.
339
+ # @return [String]
340
+ #
341
+ # @!attribute [rw] message_id
342
+ # The unique message identifier returned from the
343
+ # `SendBulkTemplatedEmail` operation.
344
+ # @return [String]
345
+ #
346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/BulkEmailDestinationStatus AWS API Documentation
347
+ #
348
+ class BulkEmailDestinationStatus < Struct.new(
349
+ :status,
350
+ :error,
351
+ :message_id)
352
+ include Aws::Structure
353
+ end
354
+
228
355
  # Represents a request to create a receipt rule set by cloning an
229
356
  # existing one. You use receipt rule sets to receive email with Amazon
230
357
  # SES. For more information, see the [Amazon SES Developer Guide][1].
@@ -369,13 +496,12 @@ module Aws::SES
369
496
  # Configuration sets let you create groups of rules that you can apply
370
497
  # to the emails you send using Amazon SES. For more information about
371
498
  # using configuration sets, see [Using Amazon SES Configuration Sets][1]
372
- # in the <i> <a
373
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/">Amazon
374
- # SES Developer Guide</a>.</i>
499
+ # in the [Amazon SES Developer Guide][2].
375
500
  #
376
501
  #
377
502
  #
378
503
  # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets.html
504
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/
379
505
  #
380
506
  # @note When making an API call, you may pass ConfigurationSet
381
507
  # data as a hash:
@@ -451,7 +577,7 @@ module Aws::SES
451
577
  # event_destination: { # required
452
578
  # name: "EventDestinationName", # required
453
579
  # enabled: false,
454
- # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery, open, click
580
+ # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery, open, click, renderingFailure
455
581
  # kinesis_firehose_destination: {
456
582
  # iam_role_arn: "AmazonResourceName", # required
457
583
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -553,13 +679,12 @@ module Aws::SES
553
679
  # generated by Amazon SES emails.
554
680
  #
555
681
  # For more information, see [Configuring Custom Domains to Handle Open
556
- # and Click Tracking][1] in the <i> <a
557
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html">Amazon
558
- # SES Developer Guide</a>.</i>
682
+ # and Click Tracking][1] in the [Amazon SES Developer Guide][2].
559
683
  #
560
684
  #
561
685
  #
562
686
  # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html
687
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html
563
688
  # @return [Types::TrackingOptions]
564
689
  #
565
690
  # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptionsRequest AWS API Documentation
@@ -746,6 +871,41 @@ module Aws::SES
746
871
  #
747
872
  class CreateReceiptRuleSetResponse < Aws::EmptyStructure; end
748
873
 
874
+ # Represents a request to create an email template. For more
875
+ # information, see the [Amazon SES Developer Guide][1].
876
+ #
877
+ #
878
+ #
879
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html
880
+ #
881
+ # @note When making an API call, you may pass CreateTemplateRequest
882
+ # data as a hash:
883
+ #
884
+ # {
885
+ # template: { # required
886
+ # template_name: "TemplateName", # required
887
+ # subject_part: "SubjectPart",
888
+ # text_part: "TextPart",
889
+ # html_part: "HtmlPart",
890
+ # },
891
+ # }
892
+ #
893
+ # @!attribute [rw] template
894
+ # The content of the email, composed of a subject line, an HTML part,
895
+ # and a text-only part.
896
+ # @return [Types::Template]
897
+ #
898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplateRequest AWS API Documentation
899
+ #
900
+ class CreateTemplateRequest < Struct.new(
901
+ :template)
902
+ include Aws::Structure
903
+ end
904
+
905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplateResponse AWS API Documentation
906
+ #
907
+ class CreateTemplateResponse < Aws::EmptyStructure; end
908
+
749
909
  # Represents a request to delete a configuration set event destination.
750
910
  # Configuration set event destinations are associated with configuration
751
911
  # sets, which enable you to publish email sending events. For
@@ -1024,6 +1184,35 @@ module Aws::SES
1024
1184
  #
1025
1185
  class DeleteReceiptRuleSetResponse < Aws::EmptyStructure; end
1026
1186
 
1187
+ # Represents a request to delete an email template. For more
1188
+ # information, see the [Amazon SES Developer Guide][1].
1189
+ #
1190
+ #
1191
+ #
1192
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html
1193
+ #
1194
+ # @note When making an API call, you may pass DeleteTemplateRequest
1195
+ # data as a hash:
1196
+ #
1197
+ # {
1198
+ # template_name: "TemplateName", # required
1199
+ # }
1200
+ #
1201
+ # @!attribute [rw] template_name
1202
+ # The name of the template to be deleted.
1203
+ # @return [String]
1204
+ #
1205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplateRequest AWS API Documentation
1206
+ #
1207
+ class DeleteTemplateRequest < Struct.new(
1208
+ :template_name)
1209
+ include Aws::Structure
1210
+ end
1211
+
1212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplateResponse AWS API Documentation
1213
+ #
1214
+ class DeleteTemplateResponse < Aws::EmptyStructure; end
1215
+
1027
1216
  # Represents a request to delete an email address from the list of email
1028
1217
  # addresses you have attempted to verify under your AWS account.
1029
1218
  #
@@ -1307,7 +1496,7 @@ module Aws::SES
1307
1496
  # {
1308
1497
  # name: "EventDestinationName", # required
1309
1498
  # enabled: false,
1310
- # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery, open, click
1499
+ # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery, open, click, renderingFailure
1311
1500
  # kinesis_firehose_destination: {
1312
1501
  # iam_role_arn: "AmazonResourceName", # required
1313
1502
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -1681,6 +1870,36 @@ module Aws::SES
1681
1870
  include Aws::Structure
1682
1871
  end
1683
1872
 
1873
+ # @note When making an API call, you may pass GetTemplateRequest
1874
+ # data as a hash:
1875
+ #
1876
+ # {
1877
+ # template_name: "TemplateName", # required
1878
+ # }
1879
+ #
1880
+ # @!attribute [rw] template_name
1881
+ # The name of the template you want to retrieve.
1882
+ # @return [String]
1883
+ #
1884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplateRequest AWS API Documentation
1885
+ #
1886
+ class GetTemplateRequest < Struct.new(
1887
+ :template_name)
1888
+ include Aws::Structure
1889
+ end
1890
+
1891
+ # @!attribute [rw] template
1892
+ # The content of the email, composed of a subject line, an HTML part,
1893
+ # and a text-only part.
1894
+ # @return [Types::Template]
1895
+ #
1896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplateResponse AWS API Documentation
1897
+ #
1898
+ class GetTemplateResponse < Struct.new(
1899
+ :template)
1900
+ include Aws::Structure
1901
+ end
1902
+
1684
1903
  # Represents the DKIM attributes of a verified email address or a
1685
1904
  # domain.
1686
1905
  #
@@ -1851,9 +2070,12 @@ module Aws::SES
1851
2070
  #
1852
2071
  # Event destinations, such as Amazon Kinesis Firehose, are associated
1853
2072
  # with configuration sets, which enable you to publish email sending
1854
- # events. For information about using configuration sets, see the <i> <a
1855
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
1856
- # SES Developer Guide</a>.</i>
2073
+ # events. For information about using configuration sets, see the
2074
+ # [Amazon SES Developer Guide][1].
2075
+ #
2076
+ #
2077
+ #
2078
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
1857
2079
  #
1858
2080
  # @note When making an API call, you may pass KinesisFirehoseDestination
1859
2081
  # data as a hash:
@@ -1888,14 +2110,15 @@ module Aws::SES
1888
2110
  # To enable Amazon SES to call your AWS Lambda function or to publish to
1889
2111
  # an Amazon SNS topic of another account, Amazon SES must have
1890
2112
  # permission to access those resources. For information about giving
1891
- # permissions, see the <i> <a
1892
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html">Amazon
1893
- # SES Developer Guide</a>.</i>
2113
+ # permissions, see the [Amazon SES Developer Guide][1].
1894
2114
  #
1895
2115
  # For information about using AWS Lambda actions in receipt rules, see
1896
- # the <i> <a
1897
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html">Amazon
1898
- # SES Developer Guide</a>.</i>
2116
+ # the [Amazon SES Developer Guide][2].
2117
+ #
2118
+ #
2119
+ #
2120
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html
2121
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html
1899
2122
  #
1900
2123
  # @note When making an API call, you may pass LambdaAction
1901
2124
  # data as a hash:
@@ -1910,18 +2133,24 @@ module Aws::SES
1910
2133
  # The Amazon Resource Name (ARN) of the Amazon SNS topic to notify
1911
2134
  # when the Lambda action is taken. An example of an Amazon SNS topic
1912
2135
  # ARN is `arn:aws:sns:us-west-2:123456789012:MyTopic`. For more
1913
- # information about Amazon SNS topics, see the <i> <a
1914
- # href="http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html">Amazon
1915
- # SNS Developer Guide</a>.</i>
2136
+ # information about Amazon SNS topics, see the [Amazon SNS Developer
2137
+ # Guide][1].
2138
+ #
2139
+ #
2140
+ #
2141
+ # [1]: http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html
1916
2142
  # @return [String]
1917
2143
  #
1918
2144
  # @!attribute [rw] function_arn
1919
2145
  # The Amazon Resource Name (ARN) of the AWS Lambda function. An
1920
2146
  # example of an AWS Lambda function ARN is
1921
2147
  # `arn:aws:lambda:us-west-2:account-id:function:MyFunction`. For more
1922
- # information about AWS Lambda, see the <i> <a
1923
- # href="http://docs.aws.amazon.com/lambda/latest/dg/welcome.html">AWS
1924
- # Lambda Developer Guide</a>.</i>
2148
+ # information about AWS Lambda, see the [AWS Lambda Developer
2149
+ # Guide][1].
2150
+ #
2151
+ #
2152
+ #
2153
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/welcome.html
1925
2154
  # @return [String]
1926
2155
  #
1927
2156
  # @!attribute [rw] invocation_type
@@ -1930,14 +2159,16 @@ module Aws::SES
1930
2159
  # immediately result in a response, and a value of `Event` means that
1931
2160
  # the function will be invoked asynchronously. The default value is
1932
2161
  # `Event`. For information about AWS Lambda invocation types, see the
1933
- # <i> <a
1934
- # href="http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html">AWS
1935
- # Lambda Developer Guide</a>.</i>
2162
+ # [AWS Lambda Developer Guide][1].
1936
2163
  #
1937
2164
  # There is a 30-second timeout on `RequestResponse` invocations. You
1938
2165
  # should use `Event` invocation in most cases. Use `RequestResponse`
1939
2166
  # only when you want to make a mail flow decision, such as whether to
1940
2167
  # stop the receipt rule or the receipt rule set.
2168
+ #
2169
+ #
2170
+ #
2171
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html
1941
2172
  # @return [String]
1942
2173
  #
1943
2174
  # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/LambdaAction AWS API Documentation
@@ -2196,6 +2427,50 @@ module Aws::SES
2196
2427
  include Aws::Structure
2197
2428
  end
2198
2429
 
2430
+ # @note When making an API call, you may pass ListTemplatesRequest
2431
+ # data as a hash:
2432
+ #
2433
+ # {
2434
+ # next_token: "NextToken",
2435
+ # max_items: 1,
2436
+ # }
2437
+ #
2438
+ # @!attribute [rw] next_token
2439
+ # The token to use for pagination.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] max_items
2443
+ # The maximum number of templates to return. This value must be at
2444
+ # least 1 and less than or equal to 10. If you do not specify a value,
2445
+ # or if you specify a value less than 1 or greater than 10, the
2446
+ # operation will return up to 10 results.
2447
+ # @return [Integer]
2448
+ #
2449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplatesRequest AWS API Documentation
2450
+ #
2451
+ class ListTemplatesRequest < Struct.new(
2452
+ :next_token,
2453
+ :max_items)
2454
+ include Aws::Structure
2455
+ end
2456
+
2457
+ # @!attribute [rw] templates_metadata
2458
+ # An array the contains the name of creation time stamp for each
2459
+ # template in your Amazon SES account.
2460
+ # @return [Array<Types::TemplateMetadata>]
2461
+ #
2462
+ # @!attribute [rw] next_token
2463
+ # The token to use for pagination.
2464
+ # @return [String]
2465
+ #
2466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplatesResponse AWS API Documentation
2467
+ #
2468
+ class ListTemplatesResponse < Struct.new(
2469
+ :templates_metadata,
2470
+ :next_token)
2471
+ include Aws::Structure
2472
+ end
2473
+
2199
2474
  # A list of email addresses that you have verified with Amazon SES under
2200
2475
  # your AWS account.
2201
2476
  #
@@ -2253,10 +2528,12 @@ module Aws::SES
2253
2528
  # Notification (DSN) when an email that Amazon SES receives on your
2254
2529
  # behalf bounces.
2255
2530
  #
2256
- # For information about receiving email through Amazon SES, see the <i>
2257
- # <a
2258
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html">Amazon
2259
- # SES Developer Guide</a>.</i>
2531
+ # For information about receiving email through Amazon SES, see the
2532
+ # [Amazon SES Developer Guide][1].
2533
+ #
2534
+ #
2535
+ #
2536
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html
2260
2537
  #
2261
2538
  # @note When making an API call, you may pass MessageDsn
2262
2539
  # data as a hash:
@@ -3122,9 +3399,12 @@ module Aws::SES
3122
3399
  #
3123
3400
  # Event destinations, such as Amazon SNS, are associated with
3124
3401
  # configuration sets, which enable you to publish email sending events.
3125
- # For information about using configuration sets, see the <i> <a
3126
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon
3127
- # SES Developer Guide</a>.</i>
3402
+ # For information about using configuration sets, see the [Amazon SES
3403
+ # Developer Guide][1].
3404
+ #
3405
+ #
3406
+ #
3407
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html
3128
3408
  #
3129
3409
  # @note When making an API call, you may pass SNSDestination
3130
3410
  # data as a hash:
@@ -3137,9 +3417,11 @@ module Aws::SES
3137
3417
  # The ARN of the Amazon SNS topic that email sending events will be
3138
3418
  # published to. An example of an Amazon SNS topic ARN is
3139
3419
  # `arn:aws:sns:us-west-2:123456789012:MyTopic`. For more information
3140
- # about Amazon SNS topics, see the <i> <a
3141
- # href="http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html">Amazon
3142
- # SNS Developer Guide</a>.</i>
3420
+ # about Amazon SNS topics, see the [Amazon SNS Developer Guide][1].
3421
+ #
3422
+ #
3423
+ #
3424
+ # [1]: http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html
3143
3425
  # @return [String]
3144
3426
  #
3145
3427
  # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SNSDestination AWS API Documentation
@@ -3257,86 +3539,280 @@ module Aws::SES
3257
3539
  include Aws::Structure
3258
3540
  end
3259
3541
 
3260
- # Represents sending statistics data. Each `SendDataPoint` contains
3261
- # statistics for a 15-minute period of sending activity.
3262
- #
3263
- # @!attribute [rw] timestamp
3264
- # Time of the data point.
3265
- # @return [Time]
3266
- #
3267
- # @!attribute [rw] delivery_attempts
3268
- # Number of emails that have been sent.
3269
- # @return [Integer]
3270
- #
3271
- # @!attribute [rw] bounces
3272
- # Number of emails that have bounced.
3273
- # @return [Integer]
3274
- #
3275
- # @!attribute [rw] complaints
3276
- # Number of unwanted emails that were rejected by recipients.
3277
- # @return [Integer]
3278
- #
3279
- # @!attribute [rw] rejects
3280
- # Number of emails rejected by Amazon SES.
3281
- # @return [Integer]
3282
- #
3283
- # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendDataPoint AWS API Documentation
3284
- #
3285
- class SendDataPoint < Struct.new(
3286
- :timestamp,
3287
- :delivery_attempts,
3288
- :bounces,
3289
- :complaints,
3290
- :rejects)
3291
- include Aws::Structure
3292
- end
3293
-
3294
- # Represents a request to send a single formatted email using Amazon
3295
- # SES. For more information, see the [Amazon SES Developer Guide][1].
3542
+ # Represents a request to send a templated email to multiple
3543
+ # destinations using Amazon SES. For more information, see the [Amazon
3544
+ # SES Developer Guide][1].
3296
3545
  #
3297
3546
  #
3298
3547
  #
3299
- # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html
3548
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html
3300
3549
  #
3301
- # @note When making an API call, you may pass SendEmailRequest
3550
+ # @note When making an API call, you may pass SendBulkTemplatedEmailRequest
3302
3551
  # data as a hash:
3303
3552
  #
3304
3553
  # {
3305
3554
  # source: "Address", # required
3306
- # destination: { # required
3307
- # to_addresses: ["Address"],
3308
- # cc_addresses: ["Address"],
3309
- # bcc_addresses: ["Address"],
3310
- # },
3311
- # message: { # required
3312
- # subject: { # required
3313
- # data: "MessageData", # required
3314
- # charset: "Charset",
3315
- # },
3316
- # body: { # required
3317
- # text: {
3318
- # data: "MessageData", # required
3319
- # charset: "Charset",
3320
- # },
3321
- # html: {
3322
- # data: "MessageData", # required
3323
- # charset: "Charset",
3324
- # },
3325
- # },
3326
- # },
3555
+ # source_arn: "AmazonResourceName",
3327
3556
  # reply_to_addresses: ["Address"],
3328
3557
  # return_path: "Address",
3329
- # source_arn: "AmazonResourceName",
3330
3558
  # return_path_arn: "AmazonResourceName",
3331
- # tags: [
3559
+ # configuration_set_name: "ConfigurationSetName",
3560
+ # default_tags: [
3332
3561
  # {
3333
3562
  # name: "MessageTagName", # required
3334
3563
  # value: "MessageTagValue", # required
3335
3564
  # },
3336
3565
  # ],
3337
- # configuration_set_name: "ConfigurationSetName",
3338
- # }
3339
- #
3566
+ # template: "TemplateName", # required
3567
+ # template_arn: "AmazonResourceName",
3568
+ # default_template_data: "TemplateData",
3569
+ # destinations: [ # required
3570
+ # {
3571
+ # destination: { # required
3572
+ # to_addresses: ["Address"],
3573
+ # cc_addresses: ["Address"],
3574
+ # bcc_addresses: ["Address"],
3575
+ # },
3576
+ # replacement_tags: [
3577
+ # {
3578
+ # name: "MessageTagName", # required
3579
+ # value: "MessageTagValue", # required
3580
+ # },
3581
+ # ],
3582
+ # replacement_template_data: "TemplateData",
3583
+ # },
3584
+ # ],
3585
+ # }
3586
+ #
3587
+ # @!attribute [rw] source
3588
+ # The email address that is sending the email. This email address must
3589
+ # be either individually verified with Amazon SES, or from a domain
3590
+ # that has been verified with Amazon SES. For information about
3591
+ # verifying identities, see the [Amazon SES Developer Guide][1].
3592
+ #
3593
+ # If you are sending on behalf of another user and have been permitted
3594
+ # to do so by a sending authorization policy, then you must also
3595
+ # specify the `SourceArn` parameter. For more information about
3596
+ # sending authorization, see the [Amazon SES Developer Guide][2].
3597
+ #
3598
+ # In all cases, the email address must be 7-bit ASCII. If the text
3599
+ # must contain any other characters, then you must use MIME
3600
+ # encoded-word syntax (RFC 2047) instead of a literal string. MIME
3601
+ # encoded-word syntax uses the following form:
3602
+ # `=?charset?encoding?encoded-text?=`. For more information, see [RFC
3603
+ # 2047][3].
3604
+ #
3605
+ #
3606
+ #
3607
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
3608
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
3609
+ # [3]: https://tools.ietf.org/html/rfc2047
3610
+ # @return [String]
3611
+ #
3612
+ # @!attribute [rw] source_arn
3613
+ # This parameter is used only for sending authorization. It is the ARN
3614
+ # of the identity that is associated with the sending authorization
3615
+ # policy that permits you to send for the email address specified in
3616
+ # the `Source` parameter.
3617
+ #
3618
+ # For example, if the owner of `example.com` (which has ARN
3619
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches
3620
+ # a policy to it that authorizes you to send from `user@example.com`,
3621
+ # then you would specify the `SourceArn` to be
3622
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
3623
+ # `Source` to be `user@example.com`.
3624
+ #
3625
+ # For more information about sending authorization, see the [Amazon
3626
+ # SES Developer Guide][1].
3627
+ #
3628
+ #
3629
+ #
3630
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
3631
+ # @return [String]
3632
+ #
3633
+ # @!attribute [rw] reply_to_addresses
3634
+ # The reply-to email address(es) for the message. If the recipient
3635
+ # replies to the message, each reply-to address will receive the
3636
+ # reply.
3637
+ # @return [Array<String>]
3638
+ #
3639
+ # @!attribute [rw] return_path
3640
+ # The email address that bounces and complaints will be forwarded to
3641
+ # when feedback forwarding is enabled. If the message cannot be
3642
+ # delivered to the recipient, then an error message will be returned
3643
+ # from the recipient's ISP; this message will then be forwarded to
3644
+ # the email address specified by the `ReturnPath` parameter. The
3645
+ # `ReturnPath` parameter is never overwritten. This email address must
3646
+ # be either individually verified with Amazon SES, or from a domain
3647
+ # that has been verified with Amazon SES.
3648
+ # @return [String]
3649
+ #
3650
+ # @!attribute [rw] return_path_arn
3651
+ # This parameter is used only for sending authorization. It is the ARN
3652
+ # of the identity that is associated with the sending authorization
3653
+ # policy that permits you to use the email address specified in the
3654
+ # `ReturnPath` parameter.
3655
+ #
3656
+ # For example, if the owner of `example.com` (which has ARN
3657
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches
3658
+ # a policy to it that authorizes you to use `feedback@example.com`,
3659
+ # then you would specify the `ReturnPathArn` to be
3660
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
3661
+ # `ReturnPath` to be `feedback@example.com`.
3662
+ #
3663
+ # For more information about sending authorization, see the [Amazon
3664
+ # SES Developer Guide][1].
3665
+ #
3666
+ #
3667
+ #
3668
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
3669
+ # @return [String]
3670
+ #
3671
+ # @!attribute [rw] configuration_set_name
3672
+ # The name of the configuration set to use when you send an email
3673
+ # using `SendBulkTemplatedEmail`.
3674
+ # @return [String]
3675
+ #
3676
+ # @!attribute [rw] default_tags
3677
+ # A list of tags, in the form of name/value pairs, to apply to an
3678
+ # email that you send to a destination using `SendBulkTemplatedEmail`.
3679
+ # @return [Array<Types::MessageTag>]
3680
+ #
3681
+ # @!attribute [rw] template
3682
+ # The template to use when sending this email.
3683
+ # @return [String]
3684
+ #
3685
+ # @!attribute [rw] template_arn
3686
+ # The ARN of the template to use when sending this email.
3687
+ # @return [String]
3688
+ #
3689
+ # @!attribute [rw] default_template_data
3690
+ # A list of replacement values to apply to the template when
3691
+ # replacement data is not specified in a Destination object. These
3692
+ # values act as a default or fallback option when no other data is
3693
+ # available.
3694
+ #
3695
+ # The template data is a JSON object, typically consisting of
3696
+ # key-value pairs in which the keys correspond to replacement tags in
3697
+ # the email template.
3698
+ # @return [String]
3699
+ #
3700
+ # @!attribute [rw] destinations
3701
+ # One or more `Destination` objects. All of the recipients in a
3702
+ # `Destination` will receive the same version of the email. You can
3703
+ # specify up to 50 `Destination` objects within a `Destinations`
3704
+ # array.
3705
+ # @return [Array<Types::BulkEmailDestination>]
3706
+ #
3707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmailRequest AWS API Documentation
3708
+ #
3709
+ class SendBulkTemplatedEmailRequest < Struct.new(
3710
+ :source,
3711
+ :source_arn,
3712
+ :reply_to_addresses,
3713
+ :return_path,
3714
+ :return_path_arn,
3715
+ :configuration_set_name,
3716
+ :default_tags,
3717
+ :template,
3718
+ :template_arn,
3719
+ :default_template_data,
3720
+ :destinations)
3721
+ include Aws::Structure
3722
+ end
3723
+
3724
+ # @!attribute [rw] status
3725
+ # The unique message identifier returned from the
3726
+ # `SendBulkTemplatedEmail` action.
3727
+ # @return [Array<Types::BulkEmailDestinationStatus>]
3728
+ #
3729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmailResponse AWS API Documentation
3730
+ #
3731
+ class SendBulkTemplatedEmailResponse < Struct.new(
3732
+ :status)
3733
+ include Aws::Structure
3734
+ end
3735
+
3736
+ # Represents sending statistics data. Each `SendDataPoint` contains
3737
+ # statistics for a 15-minute period of sending activity.
3738
+ #
3739
+ # @!attribute [rw] timestamp
3740
+ # Time of the data point.
3741
+ # @return [Time]
3742
+ #
3743
+ # @!attribute [rw] delivery_attempts
3744
+ # Number of emails that have been sent.
3745
+ # @return [Integer]
3746
+ #
3747
+ # @!attribute [rw] bounces
3748
+ # Number of emails that have bounced.
3749
+ # @return [Integer]
3750
+ #
3751
+ # @!attribute [rw] complaints
3752
+ # Number of unwanted emails that were rejected by recipients.
3753
+ # @return [Integer]
3754
+ #
3755
+ # @!attribute [rw] rejects
3756
+ # Number of emails rejected by Amazon SES.
3757
+ # @return [Integer]
3758
+ #
3759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendDataPoint AWS API Documentation
3760
+ #
3761
+ class SendDataPoint < Struct.new(
3762
+ :timestamp,
3763
+ :delivery_attempts,
3764
+ :bounces,
3765
+ :complaints,
3766
+ :rejects)
3767
+ include Aws::Structure
3768
+ end
3769
+
3770
+ # Represents a request to send a single formatted email using Amazon
3771
+ # SES. For more information, see the [Amazon SES Developer Guide][1].
3772
+ #
3773
+ #
3774
+ #
3775
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html
3776
+ #
3777
+ # @note When making an API call, you may pass SendEmailRequest
3778
+ # data as a hash:
3779
+ #
3780
+ # {
3781
+ # source: "Address", # required
3782
+ # destination: { # required
3783
+ # to_addresses: ["Address"],
3784
+ # cc_addresses: ["Address"],
3785
+ # bcc_addresses: ["Address"],
3786
+ # },
3787
+ # message: { # required
3788
+ # subject: { # required
3789
+ # data: "MessageData", # required
3790
+ # charset: "Charset",
3791
+ # },
3792
+ # body: { # required
3793
+ # text: {
3794
+ # data: "MessageData", # required
3795
+ # charset: "Charset",
3796
+ # },
3797
+ # html: {
3798
+ # data: "MessageData", # required
3799
+ # charset: "Charset",
3800
+ # },
3801
+ # },
3802
+ # },
3803
+ # reply_to_addresses: ["Address"],
3804
+ # return_path: "Address",
3805
+ # source_arn: "AmazonResourceName",
3806
+ # return_path_arn: "AmazonResourceName",
3807
+ # tags: [
3808
+ # {
3809
+ # name: "MessageTagName", # required
3810
+ # value: "MessageTagValue", # required
3811
+ # },
3812
+ # ],
3813
+ # configuration_set_name: "ConfigurationSetName",
3814
+ # }
3815
+ #
3340
3816
  # @!attribute [rw] source
3341
3817
  # The email address that is sending the email. This email address must
3342
3818
  # be either individually verified with Amazon SES, or from a domain
@@ -3671,6 +4147,185 @@ module Aws::SES
3671
4147
  include Aws::Structure
3672
4148
  end
3673
4149
 
4150
+ # Represents a request to send a templated email using Amazon SES. For
4151
+ # more information, see the [Amazon SES Developer Guide][1].
4152
+ #
4153
+ #
4154
+ #
4155
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html
4156
+ #
4157
+ # @note When making an API call, you may pass SendTemplatedEmailRequest
4158
+ # data as a hash:
4159
+ #
4160
+ # {
4161
+ # source: "Address", # required
4162
+ # destination: { # required
4163
+ # to_addresses: ["Address"],
4164
+ # cc_addresses: ["Address"],
4165
+ # bcc_addresses: ["Address"],
4166
+ # },
4167
+ # reply_to_addresses: ["Address"],
4168
+ # return_path: "Address",
4169
+ # source_arn: "AmazonResourceName",
4170
+ # return_path_arn: "AmazonResourceName",
4171
+ # tags: [
4172
+ # {
4173
+ # name: "MessageTagName", # required
4174
+ # value: "MessageTagValue", # required
4175
+ # },
4176
+ # ],
4177
+ # configuration_set_name: "ConfigurationSetName",
4178
+ # template: "TemplateName", # required
4179
+ # template_arn: "AmazonResourceName",
4180
+ # template_data: "TemplateData", # required
4181
+ # }
4182
+ #
4183
+ # @!attribute [rw] source
4184
+ # The email address that is sending the email. This email address must
4185
+ # be either individually verified with Amazon SES, or from a domain
4186
+ # that has been verified with Amazon SES. For information about
4187
+ # verifying identities, see the [Amazon SES Developer Guide][1].
4188
+ #
4189
+ # If you are sending on behalf of another user and have been permitted
4190
+ # to do so by a sending authorization policy, then you must also
4191
+ # specify the `SourceArn` parameter. For more information about
4192
+ # sending authorization, see the [Amazon SES Developer Guide][2].
4193
+ #
4194
+ # In all cases, the email address must be 7-bit ASCII. If the text
4195
+ # must contain any other characters, then you must use MIME
4196
+ # encoded-word syntax (RFC 2047) instead of a literal string. MIME
4197
+ # encoded-word syntax uses the following form:
4198
+ # `=?charset?encoding?encoded-text?=`. For more information, see [RFC
4199
+ # 2047][3].
4200
+ #
4201
+ #
4202
+ #
4203
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
4204
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
4205
+ # [3]: https://tools.ietf.org/html/rfc2047
4206
+ # @return [String]
4207
+ #
4208
+ # @!attribute [rw] destination
4209
+ # The destination for this email, composed of To:, CC:, and BCC:
4210
+ # fields. A Destination can include up to 50 recipients across these
4211
+ # three fields.
4212
+ # @return [Types::Destination]
4213
+ #
4214
+ # @!attribute [rw] reply_to_addresses
4215
+ # The reply-to email address(es) for the message. If the recipient
4216
+ # replies to the message, each reply-to address will receive the
4217
+ # reply.
4218
+ # @return [Array<String>]
4219
+ #
4220
+ # @!attribute [rw] return_path
4221
+ # The email address that bounces and complaints will be forwarded to
4222
+ # when feedback forwarding is enabled. If the message cannot be
4223
+ # delivered to the recipient, then an error message will be returned
4224
+ # from the recipient's ISP; this message will then be forwarded to
4225
+ # the email address specified by the `ReturnPath` parameter. The
4226
+ # `ReturnPath` parameter is never overwritten. This email address must
4227
+ # be either individually verified with Amazon SES, or from a domain
4228
+ # that has been verified with Amazon SES.
4229
+ # @return [String]
4230
+ #
4231
+ # @!attribute [rw] source_arn
4232
+ # This parameter is used only for sending authorization. It is the ARN
4233
+ # of the identity that is associated with the sending authorization
4234
+ # policy that permits you to send for the email address specified in
4235
+ # the `Source` parameter.
4236
+ #
4237
+ # For example, if the owner of `example.com` (which has ARN
4238
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches
4239
+ # a policy to it that authorizes you to send from `user@example.com`,
4240
+ # then you would specify the `SourceArn` to be
4241
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
4242
+ # `Source` to be `user@example.com`.
4243
+ #
4244
+ # For more information about sending authorization, see the [Amazon
4245
+ # SES Developer Guide][1].
4246
+ #
4247
+ #
4248
+ #
4249
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
4250
+ # @return [String]
4251
+ #
4252
+ # @!attribute [rw] return_path_arn
4253
+ # This parameter is used only for sending authorization. It is the ARN
4254
+ # of the identity that is associated with the sending authorization
4255
+ # policy that permits you to use the email address specified in the
4256
+ # `ReturnPath` parameter.
4257
+ #
4258
+ # For example, if the owner of `example.com` (which has ARN
4259
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`) attaches
4260
+ # a policy to it that authorizes you to use `feedback@example.com`,
4261
+ # then you would specify the `ReturnPathArn` to be
4262
+ # `arn:aws:ses:us-east-1:123456789012:identity/example.com`, and the
4263
+ # `ReturnPath` to be `feedback@example.com`.
4264
+ #
4265
+ # For more information about sending authorization, see the [Amazon
4266
+ # SES Developer Guide][1].
4267
+ #
4268
+ #
4269
+ #
4270
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html
4271
+ # @return [String]
4272
+ #
4273
+ # @!attribute [rw] tags
4274
+ # A list of tags, in the form of name/value pairs, to apply to an
4275
+ # email that you send using `SendTemplatedEmail`. Tags correspond to
4276
+ # characteristics of the email that you define, so that you can
4277
+ # publish email sending events.
4278
+ # @return [Array<Types::MessageTag>]
4279
+ #
4280
+ # @!attribute [rw] configuration_set_name
4281
+ # The name of the configuration set to use when you send an email
4282
+ # using `SendTemplatedEmail`.
4283
+ # @return [String]
4284
+ #
4285
+ # @!attribute [rw] template
4286
+ # The template to use when sending this email.
4287
+ # @return [String]
4288
+ #
4289
+ # @!attribute [rw] template_arn
4290
+ # The ARN of the template to use when sending this email.
4291
+ # @return [String]
4292
+ #
4293
+ # @!attribute [rw] template_data
4294
+ # A list of replacement values to apply to the template. This
4295
+ # parameter is a JSON object, typically consisting of key-value pairs
4296
+ # in which the keys correspond to replacement tags in the email
4297
+ # template.
4298
+ # @return [String]
4299
+ #
4300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmailRequest AWS API Documentation
4301
+ #
4302
+ class SendTemplatedEmailRequest < Struct.new(
4303
+ :source,
4304
+ :destination,
4305
+ :reply_to_addresses,
4306
+ :return_path,
4307
+ :source_arn,
4308
+ :return_path_arn,
4309
+ :tags,
4310
+ :configuration_set_name,
4311
+ :template,
4312
+ :template_arn,
4313
+ :template_data)
4314
+ include Aws::Structure
4315
+ end
4316
+
4317
+ # @!attribute [rw] message_id
4318
+ # The unique message identifier returned from the `SendTemplatedEmail`
4319
+ # action.
4320
+ # @return [String]
4321
+ #
4322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmailResponse AWS API Documentation
4323
+ #
4324
+ class SendTemplatedEmailResponse < Struct.new(
4325
+ :message_id)
4326
+ include Aws::Structure
4327
+ end
4328
+
3674
4329
  # Represents a request to set a receipt rule set as the active receipt
3675
4330
  # rule set. You use receipt rule sets to receive email with Amazon SES.
3676
4331
  # For more information, see the [Amazon SES Developer Guide][1].
@@ -4011,9 +4666,11 @@ module Aws::SES
4011
4666
  # Amazon Simple Notification Service (Amazon SNS).
4012
4667
  #
4013
4668
  # For information about setting a stop action in a receipt rule, see the
4014
- # <i> <a
4015
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-stop.html">Amazon
4016
- # SES Developer Guide</a>.</i>
4669
+ # [Amazon SES Developer Guide][1].
4670
+ #
4671
+ #
4672
+ #
4673
+ # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-stop.html
4017
4674
  #
4018
4675
  # @note When making an API call, you may pass StopAction
4019
4676
  # data as a hash:
@@ -4047,18 +4704,117 @@ module Aws::SES
4047
4704
  include Aws::Structure
4048
4705
  end
4049
4706
 
4707
+ # The content of the email, composed of a subject line, an HTML part,
4708
+ # and a text-only part.
4709
+ #
4710
+ # @note When making an API call, you may pass Template
4711
+ # data as a hash:
4712
+ #
4713
+ # {
4714
+ # template_name: "TemplateName", # required
4715
+ # subject_part: "SubjectPart",
4716
+ # text_part: "TextPart",
4717
+ # html_part: "HtmlPart",
4718
+ # }
4719
+ #
4720
+ # @!attribute [rw] template_name
4721
+ # The name of the template. You will refer to this name when you send
4722
+ # email using the `SendTemplatedEmail` or `SendBulkTemplatedEmail`
4723
+ # operations.
4724
+ # @return [String]
4725
+ #
4726
+ # @!attribute [rw] subject_part
4727
+ # The subject line of the email.
4728
+ # @return [String]
4729
+ #
4730
+ # @!attribute [rw] text_part
4731
+ # The email body that will be visible to recipients whose email
4732
+ # clients do not display HTML.
4733
+ # @return [String]
4734
+ #
4735
+ # @!attribute [rw] html_part
4736
+ # The HTML body of the email.
4737
+ # @return [String]
4738
+ #
4739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/Template AWS API Documentation
4740
+ #
4741
+ class Template < Struct.new(
4742
+ :template_name,
4743
+ :subject_part,
4744
+ :text_part,
4745
+ :html_part)
4746
+ include Aws::Structure
4747
+ end
4748
+
4749
+ # Information about an email template.
4750
+ #
4751
+ # @!attribute [rw] name
4752
+ # The name of the template.
4753
+ # @return [String]
4754
+ #
4755
+ # @!attribute [rw] created_timestamp
4756
+ # The time and date the template was created.
4757
+ # @return [Time]
4758
+ #
4759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TemplateMetadata AWS API Documentation
4760
+ #
4761
+ class TemplateMetadata < Struct.new(
4762
+ :name,
4763
+ :created_timestamp)
4764
+ include Aws::Structure
4765
+ end
4766
+
4767
+ # @note When making an API call, you may pass TestRenderTemplateRequest
4768
+ # data as a hash:
4769
+ #
4770
+ # {
4771
+ # template_name: "TemplateName", # required
4772
+ # template_data: "TemplateData", # required
4773
+ # }
4774
+ #
4775
+ # @!attribute [rw] template_name
4776
+ # The name of the template that you want to render.
4777
+ # @return [String]
4778
+ #
4779
+ # @!attribute [rw] template_data
4780
+ # A list of replacement values to apply to the template. This
4781
+ # parameter is a JSON object, typically consisting of key-value pairs
4782
+ # in which the keys correspond to replacement tags in the email
4783
+ # template.
4784
+ # @return [String]
4785
+ #
4786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplateRequest AWS API Documentation
4787
+ #
4788
+ class TestRenderTemplateRequest < Struct.new(
4789
+ :template_name,
4790
+ :template_data)
4791
+ include Aws::Structure
4792
+ end
4793
+
4794
+ # @!attribute [rw] rendered_template
4795
+ # The complete MIME message rendered by applying the data in the
4796
+ # TemplateData parameter to the template specified in the TemplateName
4797
+ # parameter.
4798
+ # @return [String]
4799
+ #
4800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplateResponse AWS API Documentation
4801
+ #
4802
+ class TestRenderTemplateResponse < Struct.new(
4803
+ :rendered_template)
4804
+ include Aws::Structure
4805
+ end
4806
+
4050
4807
  # A domain that is used to redirect email recipients to an Amazon
4051
4808
  # SES-operated domain. This domain captures open and click events
4052
4809
  # generated by Amazon SES emails.
4053
4810
  #
4054
4811
  # For more information, see [Configuring Custom Domains to Handle Open
4055
- # and Click Tracking][1] in the <i> <a
4056
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html">Amazon
4057
- # SES Developer Guide</a>.</i>
4812
+ # and Click Tracking][1] in the [Amazon SES Developer Guide][2].
4058
4813
  #
4059
4814
  #
4060
4815
  #
4061
4816
  # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html
4817
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html
4062
4818
  #
4063
4819
  # @note When making an API call, you may pass TrackingOptions
4064
4820
  # data as a hash:
@@ -4096,7 +4852,7 @@ module Aws::SES
4096
4852
  # event_destination: { # required
4097
4853
  # name: "EventDestinationName", # required
4098
4854
  # enabled: false,
4099
- # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery, open, click
4855
+ # matching_event_types: ["send"], # required, accepts send, reject, bounce, complaint, delivery, open, click, renderingFailure
4100
4856
  # kinesis_firehose_destination: {
4101
4857
  # iam_role_arn: "AmazonResourceName", # required
4102
4858
  # delivery_stream_arn: "AmazonResourceName", # required
@@ -4164,13 +4920,12 @@ module Aws::SES
4164
4920
  # generated by Amazon SES emails.
4165
4921
  #
4166
4922
  # For more information, see [Configuring Custom Domains to Handle Open
4167
- # and Click Tracking][1] in the <i> <a
4168
- # href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html">Amazon
4169
- # SES Developer Guide</a>.</i>
4923
+ # and Click Tracking][1] in the [Amazon SES Developer Guide][2].
4170
4924
  #
4171
4925
  #
4172
4926
  #
4173
4927
  # [1]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html
4928
+ # [2]: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html
4174
4929
  # @return [Types::TrackingOptions]
4175
4930
  #
4176
4931
  # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptionsRequest AWS API Documentation
@@ -4269,6 +5024,34 @@ module Aws::SES
4269
5024
  #
4270
5025
  class UpdateReceiptRuleResponse < Aws::EmptyStructure; end
4271
5026
 
5027
+ # @note When making an API call, you may pass UpdateTemplateRequest
5028
+ # data as a hash:
5029
+ #
5030
+ # {
5031
+ # template: { # required
5032
+ # template_name: "TemplateName", # required
5033
+ # subject_part: "SubjectPart",
5034
+ # text_part: "TextPart",
5035
+ # html_part: "HtmlPart",
5036
+ # },
5037
+ # }
5038
+ #
5039
+ # @!attribute [rw] template
5040
+ # The content of the email, composed of a subject line, an HTML part,
5041
+ # and a text-only part.
5042
+ # @return [Types::Template]
5043
+ #
5044
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplateRequest AWS API Documentation
5045
+ #
5046
+ class UpdateTemplateRequest < Struct.new(
5047
+ :template)
5048
+ include Aws::Structure
5049
+ end
5050
+
5051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplateResponse AWS API Documentation
5052
+ #
5053
+ class UpdateTemplateResponse < Aws::EmptyStructure; end
5054
+
4272
5055
  # Represents a request to generate the CNAME records needed to set up
4273
5056
  # Easy DKIM with Amazon SES. For more information about setting up Easy
4274
5057
  # DKIM, see the [Amazon SES Developer Guide][1].