1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ses
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/query"
14)
15
16const opCloneReceiptRuleSet = "CloneReceiptRuleSet"
17
18// CloneReceiptRuleSetRequest generates a "aws/request.Request" representing the
19// client's request for the CloneReceiptRuleSet operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CloneReceiptRuleSet for more information on using the CloneReceiptRuleSet
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CloneReceiptRuleSetRequest method.
34//    req, resp := client.CloneReceiptRuleSetRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CloneReceiptRuleSet
42func (c *SES) CloneReceiptRuleSetRequest(input *CloneReceiptRuleSetInput) (req *request.Request, output *CloneReceiptRuleSetOutput) {
43	op := &request.Operation{
44		Name:       opCloneReceiptRuleSet,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CloneReceiptRuleSetInput{}
51	}
52
53	output = &CloneReceiptRuleSetOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// CloneReceiptRuleSet API operation for Amazon Simple Email Service.
60//
61// Creates a receipt rule set by cloning an existing one. All receipt rules
62// and configurations are copied to the new receipt rule set and are completely
63// independent of the source rule set.
64//
65// For information about setting up rule sets, see the Amazon SES Developer
66// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html).
67//
68// You can execute this operation no more than once per second.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for Amazon Simple Email Service's
75// API operation CloneReceiptRuleSet for usage and error information.
76//
77// Returned Error Codes:
78//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
79//   Indicates that the provided receipt rule set does not exist.
80//
81//   * ErrCodeAlreadyExistsException "AlreadyExists"
82//   Indicates that a resource could not be created because of a naming conflict.
83//
84//   * ErrCodeLimitExceededException "LimitExceeded"
85//   Indicates that a resource could not be created because of service limits.
86//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
87//
88// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CloneReceiptRuleSet
89func (c *SES) CloneReceiptRuleSet(input *CloneReceiptRuleSetInput) (*CloneReceiptRuleSetOutput, error) {
90	req, out := c.CloneReceiptRuleSetRequest(input)
91	return out, req.Send()
92}
93
94// CloneReceiptRuleSetWithContext is the same as CloneReceiptRuleSet with the addition of
95// the ability to pass a context and additional request options.
96//
97// See CloneReceiptRuleSet for details on how to use this API operation.
98//
99// The context must be non-nil and will be used for request cancellation. If
100// the context is nil a panic will occur. In the future the SDK may create
101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
102// for more information on using Contexts.
103func (c *SES) CloneReceiptRuleSetWithContext(ctx aws.Context, input *CloneReceiptRuleSetInput, opts ...request.Option) (*CloneReceiptRuleSetOutput, error) {
104	req, out := c.CloneReceiptRuleSetRequest(input)
105	req.SetContext(ctx)
106	req.ApplyOptions(opts...)
107	return out, req.Send()
108}
109
110const opCreateConfigurationSet = "CreateConfigurationSet"
111
112// CreateConfigurationSetRequest generates a "aws/request.Request" representing the
113// client's request for the CreateConfigurationSet operation. The "output" return
114// value will be populated with the request's response once the request completes
115// successfully.
116//
117// Use "Send" method on the returned Request to send the API call to the service.
118// the "output" return value is not valid until after Send returns without error.
119//
120// See CreateConfigurationSet for more information on using the CreateConfigurationSet
121// API call, and error handling.
122//
123// This method is useful when you want to inject custom logic or configuration
124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
125//
126//
127//    // Example sending a request using the CreateConfigurationSetRequest method.
128//    req, resp := client.CreateConfigurationSetRequest(params)
129//
130//    err := req.Send()
131//    if err == nil { // resp is now filled
132//        fmt.Println(resp)
133//    }
134//
135// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSet
136func (c *SES) CreateConfigurationSetRequest(input *CreateConfigurationSetInput) (req *request.Request, output *CreateConfigurationSetOutput) {
137	op := &request.Operation{
138		Name:       opCreateConfigurationSet,
139		HTTPMethod: "POST",
140		HTTPPath:   "/",
141	}
142
143	if input == nil {
144		input = &CreateConfigurationSetInput{}
145	}
146
147	output = &CreateConfigurationSetOutput{}
148	req = c.newRequest(op, input, output)
149	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
150	return
151}
152
153// CreateConfigurationSet API operation for Amazon Simple Email Service.
154//
155// Creates a configuration set.
156//
157// Configuration sets enable you to publish email sending events. For information
158// about using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
159//
160// You can execute this operation no more than once per second.
161//
162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
163// with awserr.Error's Code and Message methods to get detailed information about
164// the error.
165//
166// See the AWS API reference guide for Amazon Simple Email Service's
167// API operation CreateConfigurationSet for usage and error information.
168//
169// Returned Error Codes:
170//   * ErrCodeConfigurationSetAlreadyExistsException "ConfigurationSetAlreadyExists"
171//   Indicates that the configuration set could not be created because of a naming
172//   conflict.
173//
174//   * ErrCodeInvalidConfigurationSetException "InvalidConfigurationSet"
175//   Indicates that the configuration set is invalid. See the error message for
176//   details.
177//
178//   * ErrCodeLimitExceededException "LimitExceeded"
179//   Indicates that a resource could not be created because of service limits.
180//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
181//
182// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSet
183func (c *SES) CreateConfigurationSet(input *CreateConfigurationSetInput) (*CreateConfigurationSetOutput, error) {
184	req, out := c.CreateConfigurationSetRequest(input)
185	return out, req.Send()
186}
187
188// CreateConfigurationSetWithContext is the same as CreateConfigurationSet with the addition of
189// the ability to pass a context and additional request options.
190//
191// See CreateConfigurationSet for details on how to use this API operation.
192//
193// The context must be non-nil and will be used for request cancellation. If
194// the context is nil a panic will occur. In the future the SDK may create
195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
196// for more information on using Contexts.
197func (c *SES) CreateConfigurationSetWithContext(ctx aws.Context, input *CreateConfigurationSetInput, opts ...request.Option) (*CreateConfigurationSetOutput, error) {
198	req, out := c.CreateConfigurationSetRequest(input)
199	req.SetContext(ctx)
200	req.ApplyOptions(opts...)
201	return out, req.Send()
202}
203
204const opCreateConfigurationSetEventDestination = "CreateConfigurationSetEventDestination"
205
206// CreateConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the
207// client's request for the CreateConfigurationSetEventDestination operation. The "output" return
208// value will be populated with the request's response once the request completes
209// successfully.
210//
211// Use "Send" method on the returned Request to send the API call to the service.
212// the "output" return value is not valid until after Send returns without error.
213//
214// See CreateConfigurationSetEventDestination for more information on using the CreateConfigurationSetEventDestination
215// API call, and error handling.
216//
217// This method is useful when you want to inject custom logic or configuration
218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
219//
220//
221//    // Example sending a request using the CreateConfigurationSetEventDestinationRequest method.
222//    req, resp := client.CreateConfigurationSetEventDestinationRequest(params)
223//
224//    err := req.Send()
225//    if err == nil { // resp is now filled
226//        fmt.Println(resp)
227//    }
228//
229// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetEventDestination
230func (c *SES) CreateConfigurationSetEventDestinationRequest(input *CreateConfigurationSetEventDestinationInput) (req *request.Request, output *CreateConfigurationSetEventDestinationOutput) {
231	op := &request.Operation{
232		Name:       opCreateConfigurationSetEventDestination,
233		HTTPMethod: "POST",
234		HTTPPath:   "/",
235	}
236
237	if input == nil {
238		input = &CreateConfigurationSetEventDestinationInput{}
239	}
240
241	output = &CreateConfigurationSetEventDestinationOutput{}
242	req = c.newRequest(op, input, output)
243	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
244	return
245}
246
247// CreateConfigurationSetEventDestination API operation for Amazon Simple Email Service.
248//
249// Creates a configuration set event destination.
250//
251// When you create or update an event destination, you must provide one, and
252// only one, destination. The destination can be CloudWatch, Amazon Kinesis
253// Firehose, or Amazon Simple Notification Service (Amazon SNS).
254//
255// An event destination is the AWS service to which Amazon SES publishes the
256// email sending events associated with a configuration set. For information
257// about using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
258//
259// You can execute this operation no more than once per second.
260//
261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
262// with awserr.Error's Code and Message methods to get detailed information about
263// the error.
264//
265// See the AWS API reference guide for Amazon Simple Email Service's
266// API operation CreateConfigurationSetEventDestination for usage and error information.
267//
268// Returned Error Codes:
269//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
270//   Indicates that the configuration set does not exist.
271//
272//   * ErrCodeEventDestinationAlreadyExistsException "EventDestinationAlreadyExists"
273//   Indicates that the event destination could not be created because of a naming
274//   conflict.
275//
276//   * ErrCodeInvalidCloudWatchDestinationException "InvalidCloudWatchDestination"
277//   Indicates that the Amazon CloudWatch destination is invalid. See the error
278//   message for details.
279//
280//   * ErrCodeInvalidFirehoseDestinationException "InvalidFirehoseDestination"
281//   Indicates that the Amazon Kinesis Firehose destination is invalid. See the
282//   error message for details.
283//
284//   * ErrCodeInvalidSNSDestinationException "InvalidSNSDestination"
285//   Indicates that the Amazon Simple Notification Service (Amazon SNS) destination
286//   is invalid. See the error message for details.
287//
288//   * ErrCodeLimitExceededException "LimitExceeded"
289//   Indicates that a resource could not be created because of service limits.
290//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
291//
292// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetEventDestination
293func (c *SES) CreateConfigurationSetEventDestination(input *CreateConfigurationSetEventDestinationInput) (*CreateConfigurationSetEventDestinationOutput, error) {
294	req, out := c.CreateConfigurationSetEventDestinationRequest(input)
295	return out, req.Send()
296}
297
298// CreateConfigurationSetEventDestinationWithContext is the same as CreateConfigurationSetEventDestination with the addition of
299// the ability to pass a context and additional request options.
300//
301// See CreateConfigurationSetEventDestination for details on how to use this API operation.
302//
303// The context must be non-nil and will be used for request cancellation. If
304// the context is nil a panic will occur. In the future the SDK may create
305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
306// for more information on using Contexts.
307func (c *SES) CreateConfigurationSetEventDestinationWithContext(ctx aws.Context, input *CreateConfigurationSetEventDestinationInput, opts ...request.Option) (*CreateConfigurationSetEventDestinationOutput, error) {
308	req, out := c.CreateConfigurationSetEventDestinationRequest(input)
309	req.SetContext(ctx)
310	req.ApplyOptions(opts...)
311	return out, req.Send()
312}
313
314const opCreateConfigurationSetTrackingOptions = "CreateConfigurationSetTrackingOptions"
315
316// CreateConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the
317// client's request for the CreateConfigurationSetTrackingOptions operation. The "output" return
318// value will be populated with the request's response once the request completes
319// successfully.
320//
321// Use "Send" method on the returned Request to send the API call to the service.
322// the "output" return value is not valid until after Send returns without error.
323//
324// See CreateConfigurationSetTrackingOptions for more information on using the CreateConfigurationSetTrackingOptions
325// API call, and error handling.
326//
327// This method is useful when you want to inject custom logic or configuration
328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
329//
330//
331//    // Example sending a request using the CreateConfigurationSetTrackingOptionsRequest method.
332//    req, resp := client.CreateConfigurationSetTrackingOptionsRequest(params)
333//
334//    err := req.Send()
335//    if err == nil { // resp is now filled
336//        fmt.Println(resp)
337//    }
338//
339// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions
340func (c *SES) CreateConfigurationSetTrackingOptionsRequest(input *CreateConfigurationSetTrackingOptionsInput) (req *request.Request, output *CreateConfigurationSetTrackingOptionsOutput) {
341	op := &request.Operation{
342		Name:       opCreateConfigurationSetTrackingOptions,
343		HTTPMethod: "POST",
344		HTTPPath:   "/",
345	}
346
347	if input == nil {
348		input = &CreateConfigurationSetTrackingOptionsInput{}
349	}
350
351	output = &CreateConfigurationSetTrackingOptionsOutput{}
352	req = c.newRequest(op, input, output)
353	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
354	return
355}
356
357// CreateConfigurationSetTrackingOptions API operation for Amazon Simple Email Service.
358//
359// Creates an association between a configuration set and a custom domain for
360// open and click event tracking.
361//
362// By default, images and links used for tracking open and click events are
363// hosted on domains operated by Amazon SES. You can configure a subdomain of
364// your own to handle these events. For information about using custom domains,
365// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html).
366//
367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
368// with awserr.Error's Code and Message methods to get detailed information about
369// the error.
370//
371// See the AWS API reference guide for Amazon Simple Email Service's
372// API operation CreateConfigurationSetTrackingOptions for usage and error information.
373//
374// Returned Error Codes:
375//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
376//   Indicates that the configuration set does not exist.
377//
378//   * ErrCodeTrackingOptionsAlreadyExistsException "TrackingOptionsAlreadyExistsException"
379//   Indicates that the configuration set you specified already contains a TrackingOptions
380//   object.
381//
382//   * ErrCodeInvalidTrackingOptionsException "InvalidTrackingOptions"
383//   Indicates that the custom domain to be used for open and click tracking redirects
384//   is invalid. This error appears most often in the following situations:
385//
386//      * When the tracking domain you specified is not verified in Amazon SES.
387//
388//      * When the tracking domain you specified is not a valid domain or subdomain.
389//
390// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions
391func (c *SES) CreateConfigurationSetTrackingOptions(input *CreateConfigurationSetTrackingOptionsInput) (*CreateConfigurationSetTrackingOptionsOutput, error) {
392	req, out := c.CreateConfigurationSetTrackingOptionsRequest(input)
393	return out, req.Send()
394}
395
396// CreateConfigurationSetTrackingOptionsWithContext is the same as CreateConfigurationSetTrackingOptions with the addition of
397// the ability to pass a context and additional request options.
398//
399// See CreateConfigurationSetTrackingOptions for details on how to use this API operation.
400//
401// The context must be non-nil and will be used for request cancellation. If
402// the context is nil a panic will occur. In the future the SDK may create
403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
404// for more information on using Contexts.
405func (c *SES) CreateConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *CreateConfigurationSetTrackingOptionsInput, opts ...request.Option) (*CreateConfigurationSetTrackingOptionsOutput, error) {
406	req, out := c.CreateConfigurationSetTrackingOptionsRequest(input)
407	req.SetContext(ctx)
408	req.ApplyOptions(opts...)
409	return out, req.Send()
410}
411
412const opCreateCustomVerificationEmailTemplate = "CreateCustomVerificationEmailTemplate"
413
414// CreateCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
415// client's request for the CreateCustomVerificationEmailTemplate operation. The "output" return
416// value will be populated with the request's response once the request completes
417// successfully.
418//
419// Use "Send" method on the returned Request to send the API call to the service.
420// the "output" return value is not valid until after Send returns without error.
421//
422// See CreateCustomVerificationEmailTemplate for more information on using the CreateCustomVerificationEmailTemplate
423// API call, and error handling.
424//
425// This method is useful when you want to inject custom logic or configuration
426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
427//
428//
429//    // Example sending a request using the CreateCustomVerificationEmailTemplateRequest method.
430//    req, resp := client.CreateCustomVerificationEmailTemplateRequest(params)
431//
432//    err := req.Send()
433//    if err == nil { // resp is now filled
434//        fmt.Println(resp)
435//    }
436//
437// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateCustomVerificationEmailTemplate
438func (c *SES) CreateCustomVerificationEmailTemplateRequest(input *CreateCustomVerificationEmailTemplateInput) (req *request.Request, output *CreateCustomVerificationEmailTemplateOutput) {
439	op := &request.Operation{
440		Name:       opCreateCustomVerificationEmailTemplate,
441		HTTPMethod: "POST",
442		HTTPPath:   "/",
443	}
444
445	if input == nil {
446		input = &CreateCustomVerificationEmailTemplateInput{}
447	}
448
449	output = &CreateCustomVerificationEmailTemplateOutput{}
450	req = c.newRequest(op, input, output)
451	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
452	return
453}
454
455// CreateCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
456//
457// Creates a new custom verification email template.
458//
459// For more information about custom verification email templates, see Using
460// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
461// in the Amazon SES Developer Guide.
462//
463// You can execute this operation no more than once per second.
464//
465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
466// with awserr.Error's Code and Message methods to get detailed information about
467// the error.
468//
469// See the AWS API reference guide for Amazon Simple Email Service's
470// API operation CreateCustomVerificationEmailTemplate for usage and error information.
471//
472// Returned Error Codes:
473//   * ErrCodeCustomVerificationEmailTemplateAlreadyExistsException "CustomVerificationEmailTemplateAlreadyExists"
474//   Indicates that a custom verification email template with the name you specified
475//   already exists.
476//
477//   * ErrCodeFromEmailAddressNotVerifiedException "FromEmailAddressNotVerified"
478//   Indicates that the sender address specified for a custom verification email
479//   is not verified, and is therefore not eligible to send the custom verification
480//   email.
481//
482//   * ErrCodeCustomVerificationEmailInvalidContentException "CustomVerificationEmailInvalidContent"
483//   Indicates that custom verification email template provided content is invalid.
484//
485//   * ErrCodeLimitExceededException "LimitExceeded"
486//   Indicates that a resource could not be created because of service limits.
487//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
488//
489// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateCustomVerificationEmailTemplate
490func (c *SES) CreateCustomVerificationEmailTemplate(input *CreateCustomVerificationEmailTemplateInput) (*CreateCustomVerificationEmailTemplateOutput, error) {
491	req, out := c.CreateCustomVerificationEmailTemplateRequest(input)
492	return out, req.Send()
493}
494
495// CreateCustomVerificationEmailTemplateWithContext is the same as CreateCustomVerificationEmailTemplate with the addition of
496// the ability to pass a context and additional request options.
497//
498// See CreateCustomVerificationEmailTemplate for details on how to use this API operation.
499//
500// The context must be non-nil and will be used for request cancellation. If
501// the context is nil a panic will occur. In the future the SDK may create
502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
503// for more information on using Contexts.
504func (c *SES) CreateCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *CreateCustomVerificationEmailTemplateInput, opts ...request.Option) (*CreateCustomVerificationEmailTemplateOutput, error) {
505	req, out := c.CreateCustomVerificationEmailTemplateRequest(input)
506	req.SetContext(ctx)
507	req.ApplyOptions(opts...)
508	return out, req.Send()
509}
510
511const opCreateReceiptFilter = "CreateReceiptFilter"
512
513// CreateReceiptFilterRequest generates a "aws/request.Request" representing the
514// client's request for the CreateReceiptFilter operation. The "output" return
515// value will be populated with the request's response once the request completes
516// successfully.
517//
518// Use "Send" method on the returned Request to send the API call to the service.
519// the "output" return value is not valid until after Send returns without error.
520//
521// See CreateReceiptFilter for more information on using the CreateReceiptFilter
522// API call, and error handling.
523//
524// This method is useful when you want to inject custom logic or configuration
525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
526//
527//
528//    // Example sending a request using the CreateReceiptFilterRequest method.
529//    req, resp := client.CreateReceiptFilterRequest(params)
530//
531//    err := req.Send()
532//    if err == nil { // resp is now filled
533//        fmt.Println(resp)
534//    }
535//
536// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptFilter
537func (c *SES) CreateReceiptFilterRequest(input *CreateReceiptFilterInput) (req *request.Request, output *CreateReceiptFilterOutput) {
538	op := &request.Operation{
539		Name:       opCreateReceiptFilter,
540		HTTPMethod: "POST",
541		HTTPPath:   "/",
542	}
543
544	if input == nil {
545		input = &CreateReceiptFilterInput{}
546	}
547
548	output = &CreateReceiptFilterOutput{}
549	req = c.newRequest(op, input, output)
550	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
551	return
552}
553
554// CreateReceiptFilter API operation for Amazon Simple Email Service.
555//
556// Creates a new IP address filter.
557//
558// For information about setting up IP address filters, see the Amazon SES Developer
559// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
560//
561// You can execute this operation no more than once per second.
562//
563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
564// with awserr.Error's Code and Message methods to get detailed information about
565// the error.
566//
567// See the AWS API reference guide for Amazon Simple Email Service's
568// API operation CreateReceiptFilter for usage and error information.
569//
570// Returned Error Codes:
571//   * ErrCodeLimitExceededException "LimitExceeded"
572//   Indicates that a resource could not be created because of service limits.
573//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
574//
575//   * ErrCodeAlreadyExistsException "AlreadyExists"
576//   Indicates that a resource could not be created because of a naming conflict.
577//
578// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptFilter
579func (c *SES) CreateReceiptFilter(input *CreateReceiptFilterInput) (*CreateReceiptFilterOutput, error) {
580	req, out := c.CreateReceiptFilterRequest(input)
581	return out, req.Send()
582}
583
584// CreateReceiptFilterWithContext is the same as CreateReceiptFilter with the addition of
585// the ability to pass a context and additional request options.
586//
587// See CreateReceiptFilter for details on how to use this API operation.
588//
589// The context must be non-nil and will be used for request cancellation. If
590// the context is nil a panic will occur. In the future the SDK may create
591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
592// for more information on using Contexts.
593func (c *SES) CreateReceiptFilterWithContext(ctx aws.Context, input *CreateReceiptFilterInput, opts ...request.Option) (*CreateReceiptFilterOutput, error) {
594	req, out := c.CreateReceiptFilterRequest(input)
595	req.SetContext(ctx)
596	req.ApplyOptions(opts...)
597	return out, req.Send()
598}
599
600const opCreateReceiptRule = "CreateReceiptRule"
601
602// CreateReceiptRuleRequest generates a "aws/request.Request" representing the
603// client's request for the CreateReceiptRule operation. The "output" return
604// value will be populated with the request's response once the request completes
605// successfully.
606//
607// Use "Send" method on the returned Request to send the API call to the service.
608// the "output" return value is not valid until after Send returns without error.
609//
610// See CreateReceiptRule for more information on using the CreateReceiptRule
611// API call, and error handling.
612//
613// This method is useful when you want to inject custom logic or configuration
614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
615//
616//
617//    // Example sending a request using the CreateReceiptRuleRequest method.
618//    req, resp := client.CreateReceiptRuleRequest(params)
619//
620//    err := req.Send()
621//    if err == nil { // resp is now filled
622//        fmt.Println(resp)
623//    }
624//
625// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRule
626func (c *SES) CreateReceiptRuleRequest(input *CreateReceiptRuleInput) (req *request.Request, output *CreateReceiptRuleOutput) {
627	op := &request.Operation{
628		Name:       opCreateReceiptRule,
629		HTTPMethod: "POST",
630		HTTPPath:   "/",
631	}
632
633	if input == nil {
634		input = &CreateReceiptRuleInput{}
635	}
636
637	output = &CreateReceiptRuleOutput{}
638	req = c.newRequest(op, input, output)
639	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
640	return
641}
642
643// CreateReceiptRule API operation for Amazon Simple Email Service.
644//
645// Creates a receipt rule.
646//
647// For information about setting up receipt rules, see the Amazon SES Developer
648// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
649//
650// You can execute this operation no more than once per second.
651//
652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
653// with awserr.Error's Code and Message methods to get detailed information about
654// the error.
655//
656// See the AWS API reference guide for Amazon Simple Email Service's
657// API operation CreateReceiptRule for usage and error information.
658//
659// Returned Error Codes:
660//   * ErrCodeInvalidSnsTopicException "InvalidSnsTopic"
661//   Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES
662//   could not publish to the topic, possibly due to permissions issues. For information
663//   about giving permissions, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
664//
665//   * ErrCodeInvalidS3ConfigurationException "InvalidS3Configuration"
666//   Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is
667//   invalid, or that Amazon SES could not publish to the bucket, possibly due
668//   to permissions issues. For information about giving permissions, see the
669//   Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
670//
671//   * ErrCodeInvalidLambdaFunctionException "InvalidLambdaFunction"
672//   Indicates that the provided AWS Lambda function is invalid, or that Amazon
673//   SES could not execute the provided function, possibly due to permissions
674//   issues. For information about giving permissions, see the Amazon SES Developer
675//   Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
676//
677//   * ErrCodeAlreadyExistsException "AlreadyExists"
678//   Indicates that a resource could not be created because of a naming conflict.
679//
680//   * ErrCodeRuleDoesNotExistException "RuleDoesNotExist"
681//   Indicates that the provided receipt rule does not exist.
682//
683//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
684//   Indicates that the provided receipt rule set does not exist.
685//
686//   * ErrCodeLimitExceededException "LimitExceeded"
687//   Indicates that a resource could not be created because of service limits.
688//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRule
691func (c *SES) CreateReceiptRule(input *CreateReceiptRuleInput) (*CreateReceiptRuleOutput, error) {
692	req, out := c.CreateReceiptRuleRequest(input)
693	return out, req.Send()
694}
695
696// CreateReceiptRuleWithContext is the same as CreateReceiptRule with the addition of
697// the ability to pass a context and additional request options.
698//
699// See CreateReceiptRule for details on how to use this API operation.
700//
701// The context must be non-nil and will be used for request cancellation. If
702// the context is nil a panic will occur. In the future the SDK may create
703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
704// for more information on using Contexts.
705func (c *SES) CreateReceiptRuleWithContext(ctx aws.Context, input *CreateReceiptRuleInput, opts ...request.Option) (*CreateReceiptRuleOutput, error) {
706	req, out := c.CreateReceiptRuleRequest(input)
707	req.SetContext(ctx)
708	req.ApplyOptions(opts...)
709	return out, req.Send()
710}
711
712const opCreateReceiptRuleSet = "CreateReceiptRuleSet"
713
714// CreateReceiptRuleSetRequest generates a "aws/request.Request" representing the
715// client's request for the CreateReceiptRuleSet operation. The "output" return
716// value will be populated with the request's response once the request completes
717// successfully.
718//
719// Use "Send" method on the returned Request to send the API call to the service.
720// the "output" return value is not valid until after Send returns without error.
721//
722// See CreateReceiptRuleSet for more information on using the CreateReceiptRuleSet
723// API call, and error handling.
724//
725// This method is useful when you want to inject custom logic or configuration
726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
727//
728//
729//    // Example sending a request using the CreateReceiptRuleSetRequest method.
730//    req, resp := client.CreateReceiptRuleSetRequest(params)
731//
732//    err := req.Send()
733//    if err == nil { // resp is now filled
734//        fmt.Println(resp)
735//    }
736//
737// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRuleSet
738func (c *SES) CreateReceiptRuleSetRequest(input *CreateReceiptRuleSetInput) (req *request.Request, output *CreateReceiptRuleSetOutput) {
739	op := &request.Operation{
740		Name:       opCreateReceiptRuleSet,
741		HTTPMethod: "POST",
742		HTTPPath:   "/",
743	}
744
745	if input == nil {
746		input = &CreateReceiptRuleSetInput{}
747	}
748
749	output = &CreateReceiptRuleSetOutput{}
750	req = c.newRequest(op, input, output)
751	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
752	return
753}
754
755// CreateReceiptRuleSet API operation for Amazon Simple Email Service.
756//
757// Creates an empty receipt rule set.
758//
759// For information about setting up receipt rule sets, see the Amazon SES Developer
760// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html).
761//
762// You can execute this operation no more than once per second.
763//
764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
765// with awserr.Error's Code and Message methods to get detailed information about
766// the error.
767//
768// See the AWS API reference guide for Amazon Simple Email Service's
769// API operation CreateReceiptRuleSet for usage and error information.
770//
771// Returned Error Codes:
772//   * ErrCodeAlreadyExistsException "AlreadyExists"
773//   Indicates that a resource could not be created because of a naming conflict.
774//
775//   * ErrCodeLimitExceededException "LimitExceeded"
776//   Indicates that a resource could not be created because of service limits.
777//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
778//
779// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateReceiptRuleSet
780func (c *SES) CreateReceiptRuleSet(input *CreateReceiptRuleSetInput) (*CreateReceiptRuleSetOutput, error) {
781	req, out := c.CreateReceiptRuleSetRequest(input)
782	return out, req.Send()
783}
784
785// CreateReceiptRuleSetWithContext is the same as CreateReceiptRuleSet with the addition of
786// the ability to pass a context and additional request options.
787//
788// See CreateReceiptRuleSet for details on how to use this API operation.
789//
790// The context must be non-nil and will be used for request cancellation. If
791// the context is nil a panic will occur. In the future the SDK may create
792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
793// for more information on using Contexts.
794func (c *SES) CreateReceiptRuleSetWithContext(ctx aws.Context, input *CreateReceiptRuleSetInput, opts ...request.Option) (*CreateReceiptRuleSetOutput, error) {
795	req, out := c.CreateReceiptRuleSetRequest(input)
796	req.SetContext(ctx)
797	req.ApplyOptions(opts...)
798	return out, req.Send()
799}
800
801const opCreateTemplate = "CreateTemplate"
802
803// CreateTemplateRequest generates a "aws/request.Request" representing the
804// client's request for the CreateTemplate operation. The "output" return
805// value will be populated with the request's response once the request completes
806// successfully.
807//
808// Use "Send" method on the returned Request to send the API call to the service.
809// the "output" return value is not valid until after Send returns without error.
810//
811// See CreateTemplate for more information on using the CreateTemplate
812// API call, and error handling.
813//
814// This method is useful when you want to inject custom logic or configuration
815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
816//
817//
818//    // Example sending a request using the CreateTemplateRequest method.
819//    req, resp := client.CreateTemplateRequest(params)
820//
821//    err := req.Send()
822//    if err == nil { // resp is now filled
823//        fmt.Println(resp)
824//    }
825//
826// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplate
827func (c *SES) CreateTemplateRequest(input *CreateTemplateInput) (req *request.Request, output *CreateTemplateOutput) {
828	op := &request.Operation{
829		Name:       opCreateTemplate,
830		HTTPMethod: "POST",
831		HTTPPath:   "/",
832	}
833
834	if input == nil {
835		input = &CreateTemplateInput{}
836	}
837
838	output = &CreateTemplateOutput{}
839	req = c.newRequest(op, input, output)
840	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
841	return
842}
843
844// CreateTemplate API operation for Amazon Simple Email Service.
845//
846// Creates an email template. Email templates enable you to send personalized
847// email to one or more destinations in a single API operation. For more information,
848// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
849//
850// You can execute this operation no more than once per second.
851//
852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
853// with awserr.Error's Code and Message methods to get detailed information about
854// the error.
855//
856// See the AWS API reference guide for Amazon Simple Email Service's
857// API operation CreateTemplate for usage and error information.
858//
859// Returned Error Codes:
860//   * ErrCodeAlreadyExistsException "AlreadyExists"
861//   Indicates that a resource could not be created because of a naming conflict.
862//
863//   * ErrCodeInvalidTemplateException "InvalidTemplate"
864//   Indicates that the template that you specified could not be rendered. This
865//   issue may occur when a template refers to a partial that does not exist.
866//
867//   * ErrCodeLimitExceededException "LimitExceeded"
868//   Indicates that a resource could not be created because of service limits.
869//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
870//
871// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateTemplate
872func (c *SES) CreateTemplate(input *CreateTemplateInput) (*CreateTemplateOutput, error) {
873	req, out := c.CreateTemplateRequest(input)
874	return out, req.Send()
875}
876
877// CreateTemplateWithContext is the same as CreateTemplate with the addition of
878// the ability to pass a context and additional request options.
879//
880// See CreateTemplate for details on how to use this API operation.
881//
882// The context must be non-nil and will be used for request cancellation. If
883// the context is nil a panic will occur. In the future the SDK may create
884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
885// for more information on using Contexts.
886func (c *SES) CreateTemplateWithContext(ctx aws.Context, input *CreateTemplateInput, opts ...request.Option) (*CreateTemplateOutput, error) {
887	req, out := c.CreateTemplateRequest(input)
888	req.SetContext(ctx)
889	req.ApplyOptions(opts...)
890	return out, req.Send()
891}
892
893const opDeleteConfigurationSet = "DeleteConfigurationSet"
894
895// DeleteConfigurationSetRequest generates a "aws/request.Request" representing the
896// client's request for the DeleteConfigurationSet operation. The "output" return
897// value will be populated with the request's response once the request completes
898// successfully.
899//
900// Use "Send" method on the returned Request to send the API call to the service.
901// the "output" return value is not valid until after Send returns without error.
902//
903// See DeleteConfigurationSet for more information on using the DeleteConfigurationSet
904// API call, and error handling.
905//
906// This method is useful when you want to inject custom logic or configuration
907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
908//
909//
910//    // Example sending a request using the DeleteConfigurationSetRequest method.
911//    req, resp := client.DeleteConfigurationSetRequest(params)
912//
913//    err := req.Send()
914//    if err == nil { // resp is now filled
915//        fmt.Println(resp)
916//    }
917//
918// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSet
919func (c *SES) DeleteConfigurationSetRequest(input *DeleteConfigurationSetInput) (req *request.Request, output *DeleteConfigurationSetOutput) {
920	op := &request.Operation{
921		Name:       opDeleteConfigurationSet,
922		HTTPMethod: "POST",
923		HTTPPath:   "/",
924	}
925
926	if input == nil {
927		input = &DeleteConfigurationSetInput{}
928	}
929
930	output = &DeleteConfigurationSetOutput{}
931	req = c.newRequest(op, input, output)
932	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
933	return
934}
935
936// DeleteConfigurationSet API operation for Amazon Simple Email Service.
937//
938// Deletes a configuration set. Configuration sets enable you to publish email
939// sending events. For information about using configuration sets, see the Amazon
940// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
941//
942// You can execute this operation no more than once per second.
943//
944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
945// with awserr.Error's Code and Message methods to get detailed information about
946// the error.
947//
948// See the AWS API reference guide for Amazon Simple Email Service's
949// API operation DeleteConfigurationSet for usage and error information.
950//
951// Returned Error Codes:
952//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
953//   Indicates that the configuration set does not exist.
954//
955// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSet
956func (c *SES) DeleteConfigurationSet(input *DeleteConfigurationSetInput) (*DeleteConfigurationSetOutput, error) {
957	req, out := c.DeleteConfigurationSetRequest(input)
958	return out, req.Send()
959}
960
961// DeleteConfigurationSetWithContext is the same as DeleteConfigurationSet with the addition of
962// the ability to pass a context and additional request options.
963//
964// See DeleteConfigurationSet for details on how to use this API operation.
965//
966// The context must be non-nil and will be used for request cancellation. If
967// the context is nil a panic will occur. In the future the SDK may create
968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
969// for more information on using Contexts.
970func (c *SES) DeleteConfigurationSetWithContext(ctx aws.Context, input *DeleteConfigurationSetInput, opts ...request.Option) (*DeleteConfigurationSetOutput, error) {
971	req, out := c.DeleteConfigurationSetRequest(input)
972	req.SetContext(ctx)
973	req.ApplyOptions(opts...)
974	return out, req.Send()
975}
976
977const opDeleteConfigurationSetEventDestination = "DeleteConfigurationSetEventDestination"
978
979// DeleteConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the
980// client's request for the DeleteConfigurationSetEventDestination operation. The "output" return
981// value will be populated with the request's response once the request completes
982// successfully.
983//
984// Use "Send" method on the returned Request to send the API call to the service.
985// the "output" return value is not valid until after Send returns without error.
986//
987// See DeleteConfigurationSetEventDestination for more information on using the DeleteConfigurationSetEventDestination
988// API call, and error handling.
989//
990// This method is useful when you want to inject custom logic or configuration
991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
992//
993//
994//    // Example sending a request using the DeleteConfigurationSetEventDestinationRequest method.
995//    req, resp := client.DeleteConfigurationSetEventDestinationRequest(params)
996//
997//    err := req.Send()
998//    if err == nil { // resp is now filled
999//        fmt.Println(resp)
1000//    }
1001//
1002// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetEventDestination
1003func (c *SES) DeleteConfigurationSetEventDestinationRequest(input *DeleteConfigurationSetEventDestinationInput) (req *request.Request, output *DeleteConfigurationSetEventDestinationOutput) {
1004	op := &request.Operation{
1005		Name:       opDeleteConfigurationSetEventDestination,
1006		HTTPMethod: "POST",
1007		HTTPPath:   "/",
1008	}
1009
1010	if input == nil {
1011		input = &DeleteConfigurationSetEventDestinationInput{}
1012	}
1013
1014	output = &DeleteConfigurationSetEventDestinationOutput{}
1015	req = c.newRequest(op, input, output)
1016	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1017	return
1018}
1019
1020// DeleteConfigurationSetEventDestination API operation for Amazon Simple Email Service.
1021//
1022// Deletes a configuration set event destination. Configuration set event destinations
1023// are associated with configuration sets, which enable you to publish email
1024// sending events. For information about using configuration sets, see the Amazon
1025// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
1026//
1027// You can execute this operation no more than once per second.
1028//
1029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1030// with awserr.Error's Code and Message methods to get detailed information about
1031// the error.
1032//
1033// See the AWS API reference guide for Amazon Simple Email Service's
1034// API operation DeleteConfigurationSetEventDestination for usage and error information.
1035//
1036// Returned Error Codes:
1037//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
1038//   Indicates that the configuration set does not exist.
1039//
1040//   * ErrCodeEventDestinationDoesNotExistException "EventDestinationDoesNotExist"
1041//   Indicates that the event destination does not exist.
1042//
1043// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetEventDestination
1044func (c *SES) DeleteConfigurationSetEventDestination(input *DeleteConfigurationSetEventDestinationInput) (*DeleteConfigurationSetEventDestinationOutput, error) {
1045	req, out := c.DeleteConfigurationSetEventDestinationRequest(input)
1046	return out, req.Send()
1047}
1048
1049// DeleteConfigurationSetEventDestinationWithContext is the same as DeleteConfigurationSetEventDestination with the addition of
1050// the ability to pass a context and additional request options.
1051//
1052// See DeleteConfigurationSetEventDestination for details on how to use this API operation.
1053//
1054// The context must be non-nil and will be used for request cancellation. If
1055// the context is nil a panic will occur. In the future the SDK may create
1056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1057// for more information on using Contexts.
1058func (c *SES) DeleteConfigurationSetEventDestinationWithContext(ctx aws.Context, input *DeleteConfigurationSetEventDestinationInput, opts ...request.Option) (*DeleteConfigurationSetEventDestinationOutput, error) {
1059	req, out := c.DeleteConfigurationSetEventDestinationRequest(input)
1060	req.SetContext(ctx)
1061	req.ApplyOptions(opts...)
1062	return out, req.Send()
1063}
1064
1065const opDeleteConfigurationSetTrackingOptions = "DeleteConfigurationSetTrackingOptions"
1066
1067// DeleteConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the
1068// client's request for the DeleteConfigurationSetTrackingOptions operation. The "output" return
1069// value will be populated with the request's response once the request completes
1070// successfully.
1071//
1072// Use "Send" method on the returned Request to send the API call to the service.
1073// the "output" return value is not valid until after Send returns without error.
1074//
1075// See DeleteConfigurationSetTrackingOptions for more information on using the DeleteConfigurationSetTrackingOptions
1076// API call, and error handling.
1077//
1078// This method is useful when you want to inject custom logic or configuration
1079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1080//
1081//
1082//    // Example sending a request using the DeleteConfigurationSetTrackingOptionsRequest method.
1083//    req, resp := client.DeleteConfigurationSetTrackingOptionsRequest(params)
1084//
1085//    err := req.Send()
1086//    if err == nil { // resp is now filled
1087//        fmt.Println(resp)
1088//    }
1089//
1090// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions
1091func (c *SES) DeleteConfigurationSetTrackingOptionsRequest(input *DeleteConfigurationSetTrackingOptionsInput) (req *request.Request, output *DeleteConfigurationSetTrackingOptionsOutput) {
1092	op := &request.Operation{
1093		Name:       opDeleteConfigurationSetTrackingOptions,
1094		HTTPMethod: "POST",
1095		HTTPPath:   "/",
1096	}
1097
1098	if input == nil {
1099		input = &DeleteConfigurationSetTrackingOptionsInput{}
1100	}
1101
1102	output = &DeleteConfigurationSetTrackingOptionsOutput{}
1103	req = c.newRequest(op, input, output)
1104	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1105	return
1106}
1107
1108// DeleteConfigurationSetTrackingOptions API operation for Amazon Simple Email Service.
1109//
1110// Deletes an association between a configuration set and a custom domain for
1111// open and click event tracking.
1112//
1113// By default, images and links used for tracking open and click events are
1114// hosted on domains operated by Amazon SES. You can configure a subdomain of
1115// your own to handle these events. For information about using custom domains,
1116// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html).
1117//
1118// Deleting this kind of association will result in emails sent using the specified
1119// configuration set to capture open and click events using the standard, Amazon
1120// SES-operated domains.
1121//
1122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1123// with awserr.Error's Code and Message methods to get detailed information about
1124// the error.
1125//
1126// See the AWS API reference guide for Amazon Simple Email Service's
1127// API operation DeleteConfigurationSetTrackingOptions for usage and error information.
1128//
1129// Returned Error Codes:
1130//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
1131//   Indicates that the configuration set does not exist.
1132//
1133//   * ErrCodeTrackingOptionsDoesNotExistException "TrackingOptionsDoesNotExistException"
1134//   Indicates that the TrackingOptions object you specified does not exist.
1135//
1136// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions
1137func (c *SES) DeleteConfigurationSetTrackingOptions(input *DeleteConfigurationSetTrackingOptionsInput) (*DeleteConfigurationSetTrackingOptionsOutput, error) {
1138	req, out := c.DeleteConfigurationSetTrackingOptionsRequest(input)
1139	return out, req.Send()
1140}
1141
1142// DeleteConfigurationSetTrackingOptionsWithContext is the same as DeleteConfigurationSetTrackingOptions with the addition of
1143// the ability to pass a context and additional request options.
1144//
1145// See DeleteConfigurationSetTrackingOptions for details on how to use this API operation.
1146//
1147// The context must be non-nil and will be used for request cancellation. If
1148// the context is nil a panic will occur. In the future the SDK may create
1149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1150// for more information on using Contexts.
1151func (c *SES) DeleteConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *DeleteConfigurationSetTrackingOptionsInput, opts ...request.Option) (*DeleteConfigurationSetTrackingOptionsOutput, error) {
1152	req, out := c.DeleteConfigurationSetTrackingOptionsRequest(input)
1153	req.SetContext(ctx)
1154	req.ApplyOptions(opts...)
1155	return out, req.Send()
1156}
1157
1158const opDeleteCustomVerificationEmailTemplate = "DeleteCustomVerificationEmailTemplate"
1159
1160// DeleteCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
1161// client's request for the DeleteCustomVerificationEmailTemplate operation. The "output" return
1162// value will be populated with the request's response once the request completes
1163// successfully.
1164//
1165// Use "Send" method on the returned Request to send the API call to the service.
1166// the "output" return value is not valid until after Send returns without error.
1167//
1168// See DeleteCustomVerificationEmailTemplate for more information on using the DeleteCustomVerificationEmailTemplate
1169// API call, and error handling.
1170//
1171// This method is useful when you want to inject custom logic or configuration
1172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1173//
1174//
1175//    // Example sending a request using the DeleteCustomVerificationEmailTemplateRequest method.
1176//    req, resp := client.DeleteCustomVerificationEmailTemplateRequest(params)
1177//
1178//    err := req.Send()
1179//    if err == nil { // resp is now filled
1180//        fmt.Println(resp)
1181//    }
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteCustomVerificationEmailTemplate
1184func (c *SES) DeleteCustomVerificationEmailTemplateRequest(input *DeleteCustomVerificationEmailTemplateInput) (req *request.Request, output *DeleteCustomVerificationEmailTemplateOutput) {
1185	op := &request.Operation{
1186		Name:       opDeleteCustomVerificationEmailTemplate,
1187		HTTPMethod: "POST",
1188		HTTPPath:   "/",
1189	}
1190
1191	if input == nil {
1192		input = &DeleteCustomVerificationEmailTemplateInput{}
1193	}
1194
1195	output = &DeleteCustomVerificationEmailTemplateOutput{}
1196	req = c.newRequest(op, input, output)
1197	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1198	return
1199}
1200
1201// DeleteCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
1202//
1203// Deletes an existing custom verification email template.
1204//
1205// For more information about custom verification email templates, see Using
1206// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
1207// in the Amazon SES Developer Guide.
1208//
1209// You can execute this operation no more than once per second.
1210//
1211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1212// with awserr.Error's Code and Message methods to get detailed information about
1213// the error.
1214//
1215// See the AWS API reference guide for Amazon Simple Email Service's
1216// API operation DeleteCustomVerificationEmailTemplate for usage and error information.
1217// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteCustomVerificationEmailTemplate
1218func (c *SES) DeleteCustomVerificationEmailTemplate(input *DeleteCustomVerificationEmailTemplateInput) (*DeleteCustomVerificationEmailTemplateOutput, error) {
1219	req, out := c.DeleteCustomVerificationEmailTemplateRequest(input)
1220	return out, req.Send()
1221}
1222
1223// DeleteCustomVerificationEmailTemplateWithContext is the same as DeleteCustomVerificationEmailTemplate with the addition of
1224// the ability to pass a context and additional request options.
1225//
1226// See DeleteCustomVerificationEmailTemplate for details on how to use this API operation.
1227//
1228// The context must be non-nil and will be used for request cancellation. If
1229// the context is nil a panic will occur. In the future the SDK may create
1230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1231// for more information on using Contexts.
1232func (c *SES) DeleteCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *DeleteCustomVerificationEmailTemplateInput, opts ...request.Option) (*DeleteCustomVerificationEmailTemplateOutput, error) {
1233	req, out := c.DeleteCustomVerificationEmailTemplateRequest(input)
1234	req.SetContext(ctx)
1235	req.ApplyOptions(opts...)
1236	return out, req.Send()
1237}
1238
1239const opDeleteIdentity = "DeleteIdentity"
1240
1241// DeleteIdentityRequest generates a "aws/request.Request" representing the
1242// client's request for the DeleteIdentity operation. The "output" return
1243// value will be populated with the request's response once the request completes
1244// successfully.
1245//
1246// Use "Send" method on the returned Request to send the API call to the service.
1247// the "output" return value is not valid until after Send returns without error.
1248//
1249// See DeleteIdentity for more information on using the DeleteIdentity
1250// API call, and error handling.
1251//
1252// This method is useful when you want to inject custom logic or configuration
1253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1254//
1255//
1256//    // Example sending a request using the DeleteIdentityRequest method.
1257//    req, resp := client.DeleteIdentityRequest(params)
1258//
1259//    err := req.Send()
1260//    if err == nil { // resp is now filled
1261//        fmt.Println(resp)
1262//    }
1263//
1264// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentity
1265func (c *SES) DeleteIdentityRequest(input *DeleteIdentityInput) (req *request.Request, output *DeleteIdentityOutput) {
1266	op := &request.Operation{
1267		Name:       opDeleteIdentity,
1268		HTTPMethod: "POST",
1269		HTTPPath:   "/",
1270	}
1271
1272	if input == nil {
1273		input = &DeleteIdentityInput{}
1274	}
1275
1276	output = &DeleteIdentityOutput{}
1277	req = c.newRequest(op, input, output)
1278	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1279	return
1280}
1281
1282// DeleteIdentity API operation for Amazon Simple Email Service.
1283//
1284// Deletes the specified identity (an email address or a domain) from the list
1285// of verified identities.
1286//
1287// You can execute this operation no more than once per second.
1288//
1289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1290// with awserr.Error's Code and Message methods to get detailed information about
1291// the error.
1292//
1293// See the AWS API reference guide for Amazon Simple Email Service's
1294// API operation DeleteIdentity for usage and error information.
1295// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentity
1296func (c *SES) DeleteIdentity(input *DeleteIdentityInput) (*DeleteIdentityOutput, error) {
1297	req, out := c.DeleteIdentityRequest(input)
1298	return out, req.Send()
1299}
1300
1301// DeleteIdentityWithContext is the same as DeleteIdentity with the addition of
1302// the ability to pass a context and additional request options.
1303//
1304// See DeleteIdentity for details on how to use this API operation.
1305//
1306// The context must be non-nil and will be used for request cancellation. If
1307// the context is nil a panic will occur. In the future the SDK may create
1308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1309// for more information on using Contexts.
1310func (c *SES) DeleteIdentityWithContext(ctx aws.Context, input *DeleteIdentityInput, opts ...request.Option) (*DeleteIdentityOutput, error) {
1311	req, out := c.DeleteIdentityRequest(input)
1312	req.SetContext(ctx)
1313	req.ApplyOptions(opts...)
1314	return out, req.Send()
1315}
1316
1317const opDeleteIdentityPolicy = "DeleteIdentityPolicy"
1318
1319// DeleteIdentityPolicyRequest generates a "aws/request.Request" representing the
1320// client's request for the DeleteIdentityPolicy operation. The "output" return
1321// value will be populated with the request's response once the request completes
1322// successfully.
1323//
1324// Use "Send" method on the returned Request to send the API call to the service.
1325// the "output" return value is not valid until after Send returns without error.
1326//
1327// See DeleteIdentityPolicy for more information on using the DeleteIdentityPolicy
1328// API call, and error handling.
1329//
1330// This method is useful when you want to inject custom logic or configuration
1331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1332//
1333//
1334//    // Example sending a request using the DeleteIdentityPolicyRequest method.
1335//    req, resp := client.DeleteIdentityPolicyRequest(params)
1336//
1337//    err := req.Send()
1338//    if err == nil { // resp is now filled
1339//        fmt.Println(resp)
1340//    }
1341//
1342// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentityPolicy
1343func (c *SES) DeleteIdentityPolicyRequest(input *DeleteIdentityPolicyInput) (req *request.Request, output *DeleteIdentityPolicyOutput) {
1344	op := &request.Operation{
1345		Name:       opDeleteIdentityPolicy,
1346		HTTPMethod: "POST",
1347		HTTPPath:   "/",
1348	}
1349
1350	if input == nil {
1351		input = &DeleteIdentityPolicyInput{}
1352	}
1353
1354	output = &DeleteIdentityPolicyOutput{}
1355	req = c.newRequest(op, input, output)
1356	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1357	return
1358}
1359
1360// DeleteIdentityPolicy API operation for Amazon Simple Email Service.
1361//
1362// Deletes the specified sending authorization policy for the given identity
1363// (an email address or a domain). This API returns successfully even if a policy
1364// with the specified name does not exist.
1365//
1366// This API is for the identity owner only. If you have not verified the identity,
1367// this API will return an error.
1368//
1369// Sending authorization is a feature that enables an identity owner to authorize
1370// other senders to use its identities. For information about using sending
1371// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
1372//
1373// You can execute this operation no more than once per second.
1374//
1375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1376// with awserr.Error's Code and Message methods to get detailed information about
1377// the error.
1378//
1379// See the AWS API reference guide for Amazon Simple Email Service's
1380// API operation DeleteIdentityPolicy for usage and error information.
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentityPolicy
1382func (c *SES) DeleteIdentityPolicy(input *DeleteIdentityPolicyInput) (*DeleteIdentityPolicyOutput, error) {
1383	req, out := c.DeleteIdentityPolicyRequest(input)
1384	return out, req.Send()
1385}
1386
1387// DeleteIdentityPolicyWithContext is the same as DeleteIdentityPolicy with the addition of
1388// the ability to pass a context and additional request options.
1389//
1390// See DeleteIdentityPolicy for details on how to use this API operation.
1391//
1392// The context must be non-nil and will be used for request cancellation. If
1393// the context is nil a panic will occur. In the future the SDK may create
1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1395// for more information on using Contexts.
1396func (c *SES) DeleteIdentityPolicyWithContext(ctx aws.Context, input *DeleteIdentityPolicyInput, opts ...request.Option) (*DeleteIdentityPolicyOutput, error) {
1397	req, out := c.DeleteIdentityPolicyRequest(input)
1398	req.SetContext(ctx)
1399	req.ApplyOptions(opts...)
1400	return out, req.Send()
1401}
1402
1403const opDeleteReceiptFilter = "DeleteReceiptFilter"
1404
1405// DeleteReceiptFilterRequest generates a "aws/request.Request" representing the
1406// client's request for the DeleteReceiptFilter operation. The "output" return
1407// value will be populated with the request's response once the request completes
1408// successfully.
1409//
1410// Use "Send" method on the returned Request to send the API call to the service.
1411// the "output" return value is not valid until after Send returns without error.
1412//
1413// See DeleteReceiptFilter for more information on using the DeleteReceiptFilter
1414// API call, and error handling.
1415//
1416// This method is useful when you want to inject custom logic or configuration
1417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1418//
1419//
1420//    // Example sending a request using the DeleteReceiptFilterRequest method.
1421//    req, resp := client.DeleteReceiptFilterRequest(params)
1422//
1423//    err := req.Send()
1424//    if err == nil { // resp is now filled
1425//        fmt.Println(resp)
1426//    }
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptFilter
1429func (c *SES) DeleteReceiptFilterRequest(input *DeleteReceiptFilterInput) (req *request.Request, output *DeleteReceiptFilterOutput) {
1430	op := &request.Operation{
1431		Name:       opDeleteReceiptFilter,
1432		HTTPMethod: "POST",
1433		HTTPPath:   "/",
1434	}
1435
1436	if input == nil {
1437		input = &DeleteReceiptFilterInput{}
1438	}
1439
1440	output = &DeleteReceiptFilterOutput{}
1441	req = c.newRequest(op, input, output)
1442	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1443	return
1444}
1445
1446// DeleteReceiptFilter API operation for Amazon Simple Email Service.
1447//
1448// Deletes the specified IP address filter.
1449//
1450// For information about managing IP address filters, see the Amazon SES Developer
1451// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html).
1452//
1453// You can execute this operation no more than once per second.
1454//
1455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1456// with awserr.Error's Code and Message methods to get detailed information about
1457// the error.
1458//
1459// See the AWS API reference guide for Amazon Simple Email Service's
1460// API operation DeleteReceiptFilter for usage and error information.
1461// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptFilter
1462func (c *SES) DeleteReceiptFilter(input *DeleteReceiptFilterInput) (*DeleteReceiptFilterOutput, error) {
1463	req, out := c.DeleteReceiptFilterRequest(input)
1464	return out, req.Send()
1465}
1466
1467// DeleteReceiptFilterWithContext is the same as DeleteReceiptFilter with the addition of
1468// the ability to pass a context and additional request options.
1469//
1470// See DeleteReceiptFilter for details on how to use this API operation.
1471//
1472// The context must be non-nil and will be used for request cancellation. If
1473// the context is nil a panic will occur. In the future the SDK may create
1474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1475// for more information on using Contexts.
1476func (c *SES) DeleteReceiptFilterWithContext(ctx aws.Context, input *DeleteReceiptFilterInput, opts ...request.Option) (*DeleteReceiptFilterOutput, error) {
1477	req, out := c.DeleteReceiptFilterRequest(input)
1478	req.SetContext(ctx)
1479	req.ApplyOptions(opts...)
1480	return out, req.Send()
1481}
1482
1483const opDeleteReceiptRule = "DeleteReceiptRule"
1484
1485// DeleteReceiptRuleRequest generates a "aws/request.Request" representing the
1486// client's request for the DeleteReceiptRule operation. The "output" return
1487// value will be populated with the request's response once the request completes
1488// successfully.
1489//
1490// Use "Send" method on the returned Request to send the API call to the service.
1491// the "output" return value is not valid until after Send returns without error.
1492//
1493// See DeleteReceiptRule for more information on using the DeleteReceiptRule
1494// API call, and error handling.
1495//
1496// This method is useful when you want to inject custom logic or configuration
1497// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1498//
1499//
1500//    // Example sending a request using the DeleteReceiptRuleRequest method.
1501//    req, resp := client.DeleteReceiptRuleRequest(params)
1502//
1503//    err := req.Send()
1504//    if err == nil { // resp is now filled
1505//        fmt.Println(resp)
1506//    }
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRule
1509func (c *SES) DeleteReceiptRuleRequest(input *DeleteReceiptRuleInput) (req *request.Request, output *DeleteReceiptRuleOutput) {
1510	op := &request.Operation{
1511		Name:       opDeleteReceiptRule,
1512		HTTPMethod: "POST",
1513		HTTPPath:   "/",
1514	}
1515
1516	if input == nil {
1517		input = &DeleteReceiptRuleInput{}
1518	}
1519
1520	output = &DeleteReceiptRuleOutput{}
1521	req = c.newRequest(op, input, output)
1522	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1523	return
1524}
1525
1526// DeleteReceiptRule API operation for Amazon Simple Email Service.
1527//
1528// Deletes the specified receipt rule.
1529//
1530// For information about managing receipt rules, see the Amazon SES Developer
1531// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html).
1532//
1533// You can execute this operation no more than once per second.
1534//
1535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1536// with awserr.Error's Code and Message methods to get detailed information about
1537// the error.
1538//
1539// See the AWS API reference guide for Amazon Simple Email Service's
1540// API operation DeleteReceiptRule for usage and error information.
1541//
1542// Returned Error Codes:
1543//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
1544//   Indicates that the provided receipt rule set does not exist.
1545//
1546// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRule
1547func (c *SES) DeleteReceiptRule(input *DeleteReceiptRuleInput) (*DeleteReceiptRuleOutput, error) {
1548	req, out := c.DeleteReceiptRuleRequest(input)
1549	return out, req.Send()
1550}
1551
1552// DeleteReceiptRuleWithContext is the same as DeleteReceiptRule with the addition of
1553// the ability to pass a context and additional request options.
1554//
1555// See DeleteReceiptRule for details on how to use this API operation.
1556//
1557// The context must be non-nil and will be used for request cancellation. If
1558// the context is nil a panic will occur. In the future the SDK may create
1559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1560// for more information on using Contexts.
1561func (c *SES) DeleteReceiptRuleWithContext(ctx aws.Context, input *DeleteReceiptRuleInput, opts ...request.Option) (*DeleteReceiptRuleOutput, error) {
1562	req, out := c.DeleteReceiptRuleRequest(input)
1563	req.SetContext(ctx)
1564	req.ApplyOptions(opts...)
1565	return out, req.Send()
1566}
1567
1568const opDeleteReceiptRuleSet = "DeleteReceiptRuleSet"
1569
1570// DeleteReceiptRuleSetRequest generates a "aws/request.Request" representing the
1571// client's request for the DeleteReceiptRuleSet operation. The "output" return
1572// value will be populated with the request's response once the request completes
1573// successfully.
1574//
1575// Use "Send" method on the returned Request to send the API call to the service.
1576// the "output" return value is not valid until after Send returns without error.
1577//
1578// See DeleteReceiptRuleSet for more information on using the DeleteReceiptRuleSet
1579// API call, and error handling.
1580//
1581// This method is useful when you want to inject custom logic or configuration
1582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1583//
1584//
1585//    // Example sending a request using the DeleteReceiptRuleSetRequest method.
1586//    req, resp := client.DeleteReceiptRuleSetRequest(params)
1587//
1588//    err := req.Send()
1589//    if err == nil { // resp is now filled
1590//        fmt.Println(resp)
1591//    }
1592//
1593// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRuleSet
1594func (c *SES) DeleteReceiptRuleSetRequest(input *DeleteReceiptRuleSetInput) (req *request.Request, output *DeleteReceiptRuleSetOutput) {
1595	op := &request.Operation{
1596		Name:       opDeleteReceiptRuleSet,
1597		HTTPMethod: "POST",
1598		HTTPPath:   "/",
1599	}
1600
1601	if input == nil {
1602		input = &DeleteReceiptRuleSetInput{}
1603	}
1604
1605	output = &DeleteReceiptRuleSetOutput{}
1606	req = c.newRequest(op, input, output)
1607	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1608	return
1609}
1610
1611// DeleteReceiptRuleSet API operation for Amazon Simple Email Service.
1612//
1613// Deletes the specified receipt rule set and all of the receipt rules it contains.
1614//
1615// The currently active rule set cannot be deleted.
1616//
1617// For information about managing receipt rule sets, see the Amazon SES Developer
1618// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html).
1619//
1620// You can execute this operation no more than once per second.
1621//
1622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1623// with awserr.Error's Code and Message methods to get detailed information about
1624// the error.
1625//
1626// See the AWS API reference guide for Amazon Simple Email Service's
1627// API operation DeleteReceiptRuleSet for usage and error information.
1628//
1629// Returned Error Codes:
1630//   * ErrCodeCannotDeleteException "CannotDelete"
1631//   Indicates that the delete operation could not be completed.
1632//
1633// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteReceiptRuleSet
1634func (c *SES) DeleteReceiptRuleSet(input *DeleteReceiptRuleSetInput) (*DeleteReceiptRuleSetOutput, error) {
1635	req, out := c.DeleteReceiptRuleSetRequest(input)
1636	return out, req.Send()
1637}
1638
1639// DeleteReceiptRuleSetWithContext is the same as DeleteReceiptRuleSet with the addition of
1640// the ability to pass a context and additional request options.
1641//
1642// See DeleteReceiptRuleSet for details on how to use this API operation.
1643//
1644// The context must be non-nil and will be used for request cancellation. If
1645// the context is nil a panic will occur. In the future the SDK may create
1646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1647// for more information on using Contexts.
1648func (c *SES) DeleteReceiptRuleSetWithContext(ctx aws.Context, input *DeleteReceiptRuleSetInput, opts ...request.Option) (*DeleteReceiptRuleSetOutput, error) {
1649	req, out := c.DeleteReceiptRuleSetRequest(input)
1650	req.SetContext(ctx)
1651	req.ApplyOptions(opts...)
1652	return out, req.Send()
1653}
1654
1655const opDeleteTemplate = "DeleteTemplate"
1656
1657// DeleteTemplateRequest generates a "aws/request.Request" representing the
1658// client's request for the DeleteTemplate operation. The "output" return
1659// value will be populated with the request's response once the request completes
1660// successfully.
1661//
1662// Use "Send" method on the returned Request to send the API call to the service.
1663// the "output" return value is not valid until after Send returns without error.
1664//
1665// See DeleteTemplate for more information on using the DeleteTemplate
1666// API call, and error handling.
1667//
1668// This method is useful when you want to inject custom logic or configuration
1669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1670//
1671//
1672//    // Example sending a request using the DeleteTemplateRequest method.
1673//    req, resp := client.DeleteTemplateRequest(params)
1674//
1675//    err := req.Send()
1676//    if err == nil { // resp is now filled
1677//        fmt.Println(resp)
1678//    }
1679//
1680// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplate
1681func (c *SES) DeleteTemplateRequest(input *DeleteTemplateInput) (req *request.Request, output *DeleteTemplateOutput) {
1682	op := &request.Operation{
1683		Name:       opDeleteTemplate,
1684		HTTPMethod: "POST",
1685		HTTPPath:   "/",
1686	}
1687
1688	if input == nil {
1689		input = &DeleteTemplateInput{}
1690	}
1691
1692	output = &DeleteTemplateOutput{}
1693	req = c.newRequest(op, input, output)
1694	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1695	return
1696}
1697
1698// DeleteTemplate API operation for Amazon Simple Email Service.
1699//
1700// Deletes an email template.
1701//
1702// You can execute this operation no more than once per second.
1703//
1704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1705// with awserr.Error's Code and Message methods to get detailed information about
1706// the error.
1707//
1708// See the AWS API reference guide for Amazon Simple Email Service's
1709// API operation DeleteTemplate for usage and error information.
1710// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteTemplate
1711func (c *SES) DeleteTemplate(input *DeleteTemplateInput) (*DeleteTemplateOutput, error) {
1712	req, out := c.DeleteTemplateRequest(input)
1713	return out, req.Send()
1714}
1715
1716// DeleteTemplateWithContext is the same as DeleteTemplate with the addition of
1717// the ability to pass a context and additional request options.
1718//
1719// See DeleteTemplate for details on how to use this API operation.
1720//
1721// The context must be non-nil and will be used for request cancellation. If
1722// the context is nil a panic will occur. In the future the SDK may create
1723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1724// for more information on using Contexts.
1725func (c *SES) DeleteTemplateWithContext(ctx aws.Context, input *DeleteTemplateInput, opts ...request.Option) (*DeleteTemplateOutput, error) {
1726	req, out := c.DeleteTemplateRequest(input)
1727	req.SetContext(ctx)
1728	req.ApplyOptions(opts...)
1729	return out, req.Send()
1730}
1731
1732const opDeleteVerifiedEmailAddress = "DeleteVerifiedEmailAddress"
1733
1734// DeleteVerifiedEmailAddressRequest generates a "aws/request.Request" representing the
1735// client's request for the DeleteVerifiedEmailAddress operation. The "output" return
1736// value will be populated with the request's response once the request completes
1737// successfully.
1738//
1739// Use "Send" method on the returned Request to send the API call to the service.
1740// the "output" return value is not valid until after Send returns without error.
1741//
1742// See DeleteVerifiedEmailAddress for more information on using the DeleteVerifiedEmailAddress
1743// API call, and error handling.
1744//
1745// This method is useful when you want to inject custom logic or configuration
1746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1747//
1748//
1749//    // Example sending a request using the DeleteVerifiedEmailAddressRequest method.
1750//    req, resp := client.DeleteVerifiedEmailAddressRequest(params)
1751//
1752//    err := req.Send()
1753//    if err == nil { // resp is now filled
1754//        fmt.Println(resp)
1755//    }
1756//
1757// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteVerifiedEmailAddress
1758func (c *SES) DeleteVerifiedEmailAddressRequest(input *DeleteVerifiedEmailAddressInput) (req *request.Request, output *DeleteVerifiedEmailAddressOutput) {
1759	op := &request.Operation{
1760		Name:       opDeleteVerifiedEmailAddress,
1761		HTTPMethod: "POST",
1762		HTTPPath:   "/",
1763	}
1764
1765	if input == nil {
1766		input = &DeleteVerifiedEmailAddressInput{}
1767	}
1768
1769	output = &DeleteVerifiedEmailAddressOutput{}
1770	req = c.newRequest(op, input, output)
1771	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1772	return
1773}
1774
1775// DeleteVerifiedEmailAddress API operation for Amazon Simple Email Service.
1776//
1777// Deprecated. Use the DeleteIdentity operation to delete email addresses and
1778// domains.
1779//
1780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1781// with awserr.Error's Code and Message methods to get detailed information about
1782// the error.
1783//
1784// See the AWS API reference guide for Amazon Simple Email Service's
1785// API operation DeleteVerifiedEmailAddress for usage and error information.
1786// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteVerifiedEmailAddress
1787func (c *SES) DeleteVerifiedEmailAddress(input *DeleteVerifiedEmailAddressInput) (*DeleteVerifiedEmailAddressOutput, error) {
1788	req, out := c.DeleteVerifiedEmailAddressRequest(input)
1789	return out, req.Send()
1790}
1791
1792// DeleteVerifiedEmailAddressWithContext is the same as DeleteVerifiedEmailAddress with the addition of
1793// the ability to pass a context and additional request options.
1794//
1795// See DeleteVerifiedEmailAddress for details on how to use this API operation.
1796//
1797// The context must be non-nil and will be used for request cancellation. If
1798// the context is nil a panic will occur. In the future the SDK may create
1799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1800// for more information on using Contexts.
1801func (c *SES) DeleteVerifiedEmailAddressWithContext(ctx aws.Context, input *DeleteVerifiedEmailAddressInput, opts ...request.Option) (*DeleteVerifiedEmailAddressOutput, error) {
1802	req, out := c.DeleteVerifiedEmailAddressRequest(input)
1803	req.SetContext(ctx)
1804	req.ApplyOptions(opts...)
1805	return out, req.Send()
1806}
1807
1808const opDescribeActiveReceiptRuleSet = "DescribeActiveReceiptRuleSet"
1809
1810// DescribeActiveReceiptRuleSetRequest generates a "aws/request.Request" representing the
1811// client's request for the DescribeActiveReceiptRuleSet operation. The "output" return
1812// value will be populated with the request's response once the request completes
1813// successfully.
1814//
1815// Use "Send" method on the returned Request to send the API call to the service.
1816// the "output" return value is not valid until after Send returns without error.
1817//
1818// See DescribeActiveReceiptRuleSet for more information on using the DescribeActiveReceiptRuleSet
1819// API call, and error handling.
1820//
1821// This method is useful when you want to inject custom logic or configuration
1822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1823//
1824//
1825//    // Example sending a request using the DescribeActiveReceiptRuleSetRequest method.
1826//    req, resp := client.DescribeActiveReceiptRuleSetRequest(params)
1827//
1828//    err := req.Send()
1829//    if err == nil { // resp is now filled
1830//        fmt.Println(resp)
1831//    }
1832//
1833// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeActiveReceiptRuleSet
1834func (c *SES) DescribeActiveReceiptRuleSetRequest(input *DescribeActiveReceiptRuleSetInput) (req *request.Request, output *DescribeActiveReceiptRuleSetOutput) {
1835	op := &request.Operation{
1836		Name:       opDescribeActiveReceiptRuleSet,
1837		HTTPMethod: "POST",
1838		HTTPPath:   "/",
1839	}
1840
1841	if input == nil {
1842		input = &DescribeActiveReceiptRuleSetInput{}
1843	}
1844
1845	output = &DescribeActiveReceiptRuleSetOutput{}
1846	req = c.newRequest(op, input, output)
1847	return
1848}
1849
1850// DescribeActiveReceiptRuleSet API operation for Amazon Simple Email Service.
1851//
1852// Returns the metadata and receipt rules for the receipt rule set that is currently
1853// active.
1854//
1855// For information about setting up receipt rule sets, see the Amazon SES Developer
1856// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html).
1857//
1858// You can execute this operation no more than once per second.
1859//
1860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1861// with awserr.Error's Code and Message methods to get detailed information about
1862// the error.
1863//
1864// See the AWS API reference guide for Amazon Simple Email Service's
1865// API operation DescribeActiveReceiptRuleSet for usage and error information.
1866// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeActiveReceiptRuleSet
1867func (c *SES) DescribeActiveReceiptRuleSet(input *DescribeActiveReceiptRuleSetInput) (*DescribeActiveReceiptRuleSetOutput, error) {
1868	req, out := c.DescribeActiveReceiptRuleSetRequest(input)
1869	return out, req.Send()
1870}
1871
1872// DescribeActiveReceiptRuleSetWithContext is the same as DescribeActiveReceiptRuleSet with the addition of
1873// the ability to pass a context and additional request options.
1874//
1875// See DescribeActiveReceiptRuleSet for details on how to use this API operation.
1876//
1877// The context must be non-nil and will be used for request cancellation. If
1878// the context is nil a panic will occur. In the future the SDK may create
1879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1880// for more information on using Contexts.
1881func (c *SES) DescribeActiveReceiptRuleSetWithContext(ctx aws.Context, input *DescribeActiveReceiptRuleSetInput, opts ...request.Option) (*DescribeActiveReceiptRuleSetOutput, error) {
1882	req, out := c.DescribeActiveReceiptRuleSetRequest(input)
1883	req.SetContext(ctx)
1884	req.ApplyOptions(opts...)
1885	return out, req.Send()
1886}
1887
1888const opDescribeConfigurationSet = "DescribeConfigurationSet"
1889
1890// DescribeConfigurationSetRequest generates a "aws/request.Request" representing the
1891// client's request for the DescribeConfigurationSet operation. The "output" return
1892// value will be populated with the request's response once the request completes
1893// successfully.
1894//
1895// Use "Send" method on the returned Request to send the API call to the service.
1896// the "output" return value is not valid until after Send returns without error.
1897//
1898// See DescribeConfigurationSet for more information on using the DescribeConfigurationSet
1899// API call, and error handling.
1900//
1901// This method is useful when you want to inject custom logic or configuration
1902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1903//
1904//
1905//    // Example sending a request using the DescribeConfigurationSetRequest method.
1906//    req, resp := client.DescribeConfigurationSetRequest(params)
1907//
1908//    err := req.Send()
1909//    if err == nil { // resp is now filled
1910//        fmt.Println(resp)
1911//    }
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeConfigurationSet
1914func (c *SES) DescribeConfigurationSetRequest(input *DescribeConfigurationSetInput) (req *request.Request, output *DescribeConfigurationSetOutput) {
1915	op := &request.Operation{
1916		Name:       opDescribeConfigurationSet,
1917		HTTPMethod: "POST",
1918		HTTPPath:   "/",
1919	}
1920
1921	if input == nil {
1922		input = &DescribeConfigurationSetInput{}
1923	}
1924
1925	output = &DescribeConfigurationSetOutput{}
1926	req = c.newRequest(op, input, output)
1927	return
1928}
1929
1930// DescribeConfigurationSet API operation for Amazon Simple Email Service.
1931//
1932// Returns the details of the specified configuration set. For information about
1933// using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
1934//
1935// You can execute this operation no more than once per second.
1936//
1937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1938// with awserr.Error's Code and Message methods to get detailed information about
1939// the error.
1940//
1941// See the AWS API reference guide for Amazon Simple Email Service's
1942// API operation DescribeConfigurationSet for usage and error information.
1943//
1944// Returned Error Codes:
1945//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
1946//   Indicates that the configuration set does not exist.
1947//
1948// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeConfigurationSet
1949func (c *SES) DescribeConfigurationSet(input *DescribeConfigurationSetInput) (*DescribeConfigurationSetOutput, error) {
1950	req, out := c.DescribeConfigurationSetRequest(input)
1951	return out, req.Send()
1952}
1953
1954// DescribeConfigurationSetWithContext is the same as DescribeConfigurationSet with the addition of
1955// the ability to pass a context and additional request options.
1956//
1957// See DescribeConfigurationSet for details on how to use this API operation.
1958//
1959// The context must be non-nil and will be used for request cancellation. If
1960// the context is nil a panic will occur. In the future the SDK may create
1961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1962// for more information on using Contexts.
1963func (c *SES) DescribeConfigurationSetWithContext(ctx aws.Context, input *DescribeConfigurationSetInput, opts ...request.Option) (*DescribeConfigurationSetOutput, error) {
1964	req, out := c.DescribeConfigurationSetRequest(input)
1965	req.SetContext(ctx)
1966	req.ApplyOptions(opts...)
1967	return out, req.Send()
1968}
1969
1970const opDescribeReceiptRule = "DescribeReceiptRule"
1971
1972// DescribeReceiptRuleRequest generates a "aws/request.Request" representing the
1973// client's request for the DescribeReceiptRule operation. The "output" return
1974// value will be populated with the request's response once the request completes
1975// successfully.
1976//
1977// Use "Send" method on the returned Request to send the API call to the service.
1978// the "output" return value is not valid until after Send returns without error.
1979//
1980// See DescribeReceiptRule for more information on using the DescribeReceiptRule
1981// API call, and error handling.
1982//
1983// This method is useful when you want to inject custom logic or configuration
1984// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1985//
1986//
1987//    // Example sending a request using the DescribeReceiptRuleRequest method.
1988//    req, resp := client.DescribeReceiptRuleRequest(params)
1989//
1990//    err := req.Send()
1991//    if err == nil { // resp is now filled
1992//        fmt.Println(resp)
1993//    }
1994//
1995// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRule
1996func (c *SES) DescribeReceiptRuleRequest(input *DescribeReceiptRuleInput) (req *request.Request, output *DescribeReceiptRuleOutput) {
1997	op := &request.Operation{
1998		Name:       opDescribeReceiptRule,
1999		HTTPMethod: "POST",
2000		HTTPPath:   "/",
2001	}
2002
2003	if input == nil {
2004		input = &DescribeReceiptRuleInput{}
2005	}
2006
2007	output = &DescribeReceiptRuleOutput{}
2008	req = c.newRequest(op, input, output)
2009	return
2010}
2011
2012// DescribeReceiptRule API operation for Amazon Simple Email Service.
2013//
2014// Returns the details of the specified receipt rule.
2015//
2016// For information about setting up receipt rules, see the Amazon SES Developer
2017// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
2018//
2019// You can execute this operation no more than once per second.
2020//
2021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2022// with awserr.Error's Code and Message methods to get detailed information about
2023// the error.
2024//
2025// See the AWS API reference guide for Amazon Simple Email Service's
2026// API operation DescribeReceiptRule for usage and error information.
2027//
2028// Returned Error Codes:
2029//   * ErrCodeRuleDoesNotExistException "RuleDoesNotExist"
2030//   Indicates that the provided receipt rule does not exist.
2031//
2032//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
2033//   Indicates that the provided receipt rule set does not exist.
2034//
2035// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRule
2036func (c *SES) DescribeReceiptRule(input *DescribeReceiptRuleInput) (*DescribeReceiptRuleOutput, error) {
2037	req, out := c.DescribeReceiptRuleRequest(input)
2038	return out, req.Send()
2039}
2040
2041// DescribeReceiptRuleWithContext is the same as DescribeReceiptRule with the addition of
2042// the ability to pass a context and additional request options.
2043//
2044// See DescribeReceiptRule for details on how to use this API operation.
2045//
2046// The context must be non-nil and will be used for request cancellation. If
2047// the context is nil a panic will occur. In the future the SDK may create
2048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2049// for more information on using Contexts.
2050func (c *SES) DescribeReceiptRuleWithContext(ctx aws.Context, input *DescribeReceiptRuleInput, opts ...request.Option) (*DescribeReceiptRuleOutput, error) {
2051	req, out := c.DescribeReceiptRuleRequest(input)
2052	req.SetContext(ctx)
2053	req.ApplyOptions(opts...)
2054	return out, req.Send()
2055}
2056
2057const opDescribeReceiptRuleSet = "DescribeReceiptRuleSet"
2058
2059// DescribeReceiptRuleSetRequest generates a "aws/request.Request" representing the
2060// client's request for the DescribeReceiptRuleSet operation. The "output" return
2061// value will be populated with the request's response once the request completes
2062// successfully.
2063//
2064// Use "Send" method on the returned Request to send the API call to the service.
2065// the "output" return value is not valid until after Send returns without error.
2066//
2067// See DescribeReceiptRuleSet for more information on using the DescribeReceiptRuleSet
2068// API call, and error handling.
2069//
2070// This method is useful when you want to inject custom logic or configuration
2071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2072//
2073//
2074//    // Example sending a request using the DescribeReceiptRuleSetRequest method.
2075//    req, resp := client.DescribeReceiptRuleSetRequest(params)
2076//
2077//    err := req.Send()
2078//    if err == nil { // resp is now filled
2079//        fmt.Println(resp)
2080//    }
2081//
2082// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRuleSet
2083func (c *SES) DescribeReceiptRuleSetRequest(input *DescribeReceiptRuleSetInput) (req *request.Request, output *DescribeReceiptRuleSetOutput) {
2084	op := &request.Operation{
2085		Name:       opDescribeReceiptRuleSet,
2086		HTTPMethod: "POST",
2087		HTTPPath:   "/",
2088	}
2089
2090	if input == nil {
2091		input = &DescribeReceiptRuleSetInput{}
2092	}
2093
2094	output = &DescribeReceiptRuleSetOutput{}
2095	req = c.newRequest(op, input, output)
2096	return
2097}
2098
2099// DescribeReceiptRuleSet API operation for Amazon Simple Email Service.
2100//
2101// Returns the details of the specified receipt rule set.
2102//
2103// For information about managing receipt rule sets, see the Amazon SES Developer
2104// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html).
2105//
2106// You can execute this operation no more than once per second.
2107//
2108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2109// with awserr.Error's Code and Message methods to get detailed information about
2110// the error.
2111//
2112// See the AWS API reference guide for Amazon Simple Email Service's
2113// API operation DescribeReceiptRuleSet for usage and error information.
2114//
2115// Returned Error Codes:
2116//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
2117//   Indicates that the provided receipt rule set does not exist.
2118//
2119// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DescribeReceiptRuleSet
2120func (c *SES) DescribeReceiptRuleSet(input *DescribeReceiptRuleSetInput) (*DescribeReceiptRuleSetOutput, error) {
2121	req, out := c.DescribeReceiptRuleSetRequest(input)
2122	return out, req.Send()
2123}
2124
2125// DescribeReceiptRuleSetWithContext is the same as DescribeReceiptRuleSet with the addition of
2126// the ability to pass a context and additional request options.
2127//
2128// See DescribeReceiptRuleSet for details on how to use this API operation.
2129//
2130// The context must be non-nil and will be used for request cancellation. If
2131// the context is nil a panic will occur. In the future the SDK may create
2132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2133// for more information on using Contexts.
2134func (c *SES) DescribeReceiptRuleSetWithContext(ctx aws.Context, input *DescribeReceiptRuleSetInput, opts ...request.Option) (*DescribeReceiptRuleSetOutput, error) {
2135	req, out := c.DescribeReceiptRuleSetRequest(input)
2136	req.SetContext(ctx)
2137	req.ApplyOptions(opts...)
2138	return out, req.Send()
2139}
2140
2141const opGetAccountSendingEnabled = "GetAccountSendingEnabled"
2142
2143// GetAccountSendingEnabledRequest generates a "aws/request.Request" representing the
2144// client's request for the GetAccountSendingEnabled operation. The "output" return
2145// value will be populated with the request's response once the request completes
2146// successfully.
2147//
2148// Use "Send" method on the returned Request to send the API call to the service.
2149// the "output" return value is not valid until after Send returns without error.
2150//
2151// See GetAccountSendingEnabled for more information on using the GetAccountSendingEnabled
2152// API call, and error handling.
2153//
2154// This method is useful when you want to inject custom logic or configuration
2155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2156//
2157//
2158//    // Example sending a request using the GetAccountSendingEnabledRequest method.
2159//    req, resp := client.GetAccountSendingEnabledRequest(params)
2160//
2161//    err := req.Send()
2162//    if err == nil { // resp is now filled
2163//        fmt.Println(resp)
2164//    }
2165//
2166// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetAccountSendingEnabled
2167func (c *SES) GetAccountSendingEnabledRequest(input *GetAccountSendingEnabledInput) (req *request.Request, output *GetAccountSendingEnabledOutput) {
2168	op := &request.Operation{
2169		Name:       opGetAccountSendingEnabled,
2170		HTTPMethod: "POST",
2171		HTTPPath:   "/",
2172	}
2173
2174	if input == nil {
2175		input = &GetAccountSendingEnabledInput{}
2176	}
2177
2178	output = &GetAccountSendingEnabledOutput{}
2179	req = c.newRequest(op, input, output)
2180	return
2181}
2182
2183// GetAccountSendingEnabled API operation for Amazon Simple Email Service.
2184//
2185// Returns the email sending status of the Amazon SES account for the current
2186// region.
2187//
2188// You can execute this operation no more than once per second.
2189//
2190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2191// with awserr.Error's Code and Message methods to get detailed information about
2192// the error.
2193//
2194// See the AWS API reference guide for Amazon Simple Email Service's
2195// API operation GetAccountSendingEnabled for usage and error information.
2196// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetAccountSendingEnabled
2197func (c *SES) GetAccountSendingEnabled(input *GetAccountSendingEnabledInput) (*GetAccountSendingEnabledOutput, error) {
2198	req, out := c.GetAccountSendingEnabledRequest(input)
2199	return out, req.Send()
2200}
2201
2202// GetAccountSendingEnabledWithContext is the same as GetAccountSendingEnabled with the addition of
2203// the ability to pass a context and additional request options.
2204//
2205// See GetAccountSendingEnabled for details on how to use this API operation.
2206//
2207// The context must be non-nil and will be used for request cancellation. If
2208// the context is nil a panic will occur. In the future the SDK may create
2209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2210// for more information on using Contexts.
2211func (c *SES) GetAccountSendingEnabledWithContext(ctx aws.Context, input *GetAccountSendingEnabledInput, opts ...request.Option) (*GetAccountSendingEnabledOutput, error) {
2212	req, out := c.GetAccountSendingEnabledRequest(input)
2213	req.SetContext(ctx)
2214	req.ApplyOptions(opts...)
2215	return out, req.Send()
2216}
2217
2218const opGetCustomVerificationEmailTemplate = "GetCustomVerificationEmailTemplate"
2219
2220// GetCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
2221// client's request for the GetCustomVerificationEmailTemplate operation. The "output" return
2222// value will be populated with the request's response once the request completes
2223// successfully.
2224//
2225// Use "Send" method on the returned Request to send the API call to the service.
2226// the "output" return value is not valid until after Send returns without error.
2227//
2228// See GetCustomVerificationEmailTemplate for more information on using the GetCustomVerificationEmailTemplate
2229// API call, and error handling.
2230//
2231// This method is useful when you want to inject custom logic or configuration
2232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2233//
2234//
2235//    // Example sending a request using the GetCustomVerificationEmailTemplateRequest method.
2236//    req, resp := client.GetCustomVerificationEmailTemplateRequest(params)
2237//
2238//    err := req.Send()
2239//    if err == nil { // resp is now filled
2240//        fmt.Println(resp)
2241//    }
2242//
2243// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetCustomVerificationEmailTemplate
2244func (c *SES) GetCustomVerificationEmailTemplateRequest(input *GetCustomVerificationEmailTemplateInput) (req *request.Request, output *GetCustomVerificationEmailTemplateOutput) {
2245	op := &request.Operation{
2246		Name:       opGetCustomVerificationEmailTemplate,
2247		HTTPMethod: "POST",
2248		HTTPPath:   "/",
2249	}
2250
2251	if input == nil {
2252		input = &GetCustomVerificationEmailTemplateInput{}
2253	}
2254
2255	output = &GetCustomVerificationEmailTemplateOutput{}
2256	req = c.newRequest(op, input, output)
2257	return
2258}
2259
2260// GetCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
2261//
2262// Returns the custom email verification template for the template name you
2263// specify.
2264//
2265// For more information about custom verification email templates, see Using
2266// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
2267// in the Amazon SES Developer Guide.
2268//
2269// You can execute this operation no more than once per second.
2270//
2271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2272// with awserr.Error's Code and Message methods to get detailed information about
2273// the error.
2274//
2275// See the AWS API reference guide for Amazon Simple Email Service's
2276// API operation GetCustomVerificationEmailTemplate for usage and error information.
2277//
2278// Returned Error Codes:
2279//   * ErrCodeCustomVerificationEmailTemplateDoesNotExistException "CustomVerificationEmailTemplateDoesNotExist"
2280//   Indicates that a custom verification email template with the name you specified
2281//   does not exist.
2282//
2283// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetCustomVerificationEmailTemplate
2284func (c *SES) GetCustomVerificationEmailTemplate(input *GetCustomVerificationEmailTemplateInput) (*GetCustomVerificationEmailTemplateOutput, error) {
2285	req, out := c.GetCustomVerificationEmailTemplateRequest(input)
2286	return out, req.Send()
2287}
2288
2289// GetCustomVerificationEmailTemplateWithContext is the same as GetCustomVerificationEmailTemplate with the addition of
2290// the ability to pass a context and additional request options.
2291//
2292// See GetCustomVerificationEmailTemplate for details on how to use this API operation.
2293//
2294// The context must be non-nil and will be used for request cancellation. If
2295// the context is nil a panic will occur. In the future the SDK may create
2296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2297// for more information on using Contexts.
2298func (c *SES) GetCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *GetCustomVerificationEmailTemplateInput, opts ...request.Option) (*GetCustomVerificationEmailTemplateOutput, error) {
2299	req, out := c.GetCustomVerificationEmailTemplateRequest(input)
2300	req.SetContext(ctx)
2301	req.ApplyOptions(opts...)
2302	return out, req.Send()
2303}
2304
2305const opGetIdentityDkimAttributes = "GetIdentityDkimAttributes"
2306
2307// GetIdentityDkimAttributesRequest generates a "aws/request.Request" representing the
2308// client's request for the GetIdentityDkimAttributes operation. The "output" return
2309// value will be populated with the request's response once the request completes
2310// successfully.
2311//
2312// Use "Send" method on the returned Request to send the API call to the service.
2313// the "output" return value is not valid until after Send returns without error.
2314//
2315// See GetIdentityDkimAttributes for more information on using the GetIdentityDkimAttributes
2316// API call, and error handling.
2317//
2318// This method is useful when you want to inject custom logic or configuration
2319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2320//
2321//
2322//    // Example sending a request using the GetIdentityDkimAttributesRequest method.
2323//    req, resp := client.GetIdentityDkimAttributesRequest(params)
2324//
2325//    err := req.Send()
2326//    if err == nil { // resp is now filled
2327//        fmt.Println(resp)
2328//    }
2329//
2330// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityDkimAttributes
2331func (c *SES) GetIdentityDkimAttributesRequest(input *GetIdentityDkimAttributesInput) (req *request.Request, output *GetIdentityDkimAttributesOutput) {
2332	op := &request.Operation{
2333		Name:       opGetIdentityDkimAttributes,
2334		HTTPMethod: "POST",
2335		HTTPPath:   "/",
2336	}
2337
2338	if input == nil {
2339		input = &GetIdentityDkimAttributesInput{}
2340	}
2341
2342	output = &GetIdentityDkimAttributesOutput{}
2343	req = c.newRequest(op, input, output)
2344	return
2345}
2346
2347// GetIdentityDkimAttributes API operation for Amazon Simple Email Service.
2348//
2349// Returns the current status of Easy DKIM signing for an entity. For domain
2350// name identities, this operation also returns the DKIM tokens that are required
2351// for Easy DKIM signing, and whether Amazon SES has successfully verified that
2352// these tokens have been published.
2353//
2354// This operation takes a list of identities as input and returns the following
2355// information for each:
2356//
2357//    * Whether Easy DKIM signing is enabled or disabled.
2358//
2359//    * A set of DKIM tokens that represent the identity. If the identity is
2360//    an email address, the tokens represent the domain of that address.
2361//
2362//    * Whether Amazon SES has successfully verified the DKIM tokens published
2363//    in the domain's DNS. This information is only returned for domain name
2364//    identities, not for email addresses.
2365//
2366// This operation is throttled at one request per second and can only get DKIM
2367// attributes for up to 100 identities at a time.
2368//
2369// For more information about creating DNS records using DKIM tokens, go to
2370// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html).
2371//
2372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2373// with awserr.Error's Code and Message methods to get detailed information about
2374// the error.
2375//
2376// See the AWS API reference guide for Amazon Simple Email Service's
2377// API operation GetIdentityDkimAttributes for usage and error information.
2378// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityDkimAttributes
2379func (c *SES) GetIdentityDkimAttributes(input *GetIdentityDkimAttributesInput) (*GetIdentityDkimAttributesOutput, error) {
2380	req, out := c.GetIdentityDkimAttributesRequest(input)
2381	return out, req.Send()
2382}
2383
2384// GetIdentityDkimAttributesWithContext is the same as GetIdentityDkimAttributes with the addition of
2385// the ability to pass a context and additional request options.
2386//
2387// See GetIdentityDkimAttributes for details on how to use this API operation.
2388//
2389// The context must be non-nil and will be used for request cancellation. If
2390// the context is nil a panic will occur. In the future the SDK may create
2391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2392// for more information on using Contexts.
2393func (c *SES) GetIdentityDkimAttributesWithContext(ctx aws.Context, input *GetIdentityDkimAttributesInput, opts ...request.Option) (*GetIdentityDkimAttributesOutput, error) {
2394	req, out := c.GetIdentityDkimAttributesRequest(input)
2395	req.SetContext(ctx)
2396	req.ApplyOptions(opts...)
2397	return out, req.Send()
2398}
2399
2400const opGetIdentityMailFromDomainAttributes = "GetIdentityMailFromDomainAttributes"
2401
2402// GetIdentityMailFromDomainAttributesRequest generates a "aws/request.Request" representing the
2403// client's request for the GetIdentityMailFromDomainAttributes operation. The "output" return
2404// value will be populated with the request's response once the request completes
2405// successfully.
2406//
2407// Use "Send" method on the returned Request to send the API call to the service.
2408// the "output" return value is not valid until after Send returns without error.
2409//
2410// See GetIdentityMailFromDomainAttributes for more information on using the GetIdentityMailFromDomainAttributes
2411// API call, and error handling.
2412//
2413// This method is useful when you want to inject custom logic or configuration
2414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2415//
2416//
2417//    // Example sending a request using the GetIdentityMailFromDomainAttributesRequest method.
2418//    req, resp := client.GetIdentityMailFromDomainAttributesRequest(params)
2419//
2420//    err := req.Send()
2421//    if err == nil { // resp is now filled
2422//        fmt.Println(resp)
2423//    }
2424//
2425// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityMailFromDomainAttributes
2426func (c *SES) GetIdentityMailFromDomainAttributesRequest(input *GetIdentityMailFromDomainAttributesInput) (req *request.Request, output *GetIdentityMailFromDomainAttributesOutput) {
2427	op := &request.Operation{
2428		Name:       opGetIdentityMailFromDomainAttributes,
2429		HTTPMethod: "POST",
2430		HTTPPath:   "/",
2431	}
2432
2433	if input == nil {
2434		input = &GetIdentityMailFromDomainAttributesInput{}
2435	}
2436
2437	output = &GetIdentityMailFromDomainAttributesOutput{}
2438	req = c.newRequest(op, input, output)
2439	return
2440}
2441
2442// GetIdentityMailFromDomainAttributes API operation for Amazon Simple Email Service.
2443//
2444// Returns the custom MAIL FROM attributes for a list of identities (email addresses
2445// : domains).
2446//
2447// This operation is throttled at one request per second and can only get custom
2448// MAIL FROM attributes for up to 100 identities at a time.
2449//
2450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2451// with awserr.Error's Code and Message methods to get detailed information about
2452// the error.
2453//
2454// See the AWS API reference guide for Amazon Simple Email Service's
2455// API operation GetIdentityMailFromDomainAttributes for usage and error information.
2456// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityMailFromDomainAttributes
2457func (c *SES) GetIdentityMailFromDomainAttributes(input *GetIdentityMailFromDomainAttributesInput) (*GetIdentityMailFromDomainAttributesOutput, error) {
2458	req, out := c.GetIdentityMailFromDomainAttributesRequest(input)
2459	return out, req.Send()
2460}
2461
2462// GetIdentityMailFromDomainAttributesWithContext is the same as GetIdentityMailFromDomainAttributes with the addition of
2463// the ability to pass a context and additional request options.
2464//
2465// See GetIdentityMailFromDomainAttributes for details on how to use this API operation.
2466//
2467// The context must be non-nil and will be used for request cancellation. If
2468// the context is nil a panic will occur. In the future the SDK may create
2469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2470// for more information on using Contexts.
2471func (c *SES) GetIdentityMailFromDomainAttributesWithContext(ctx aws.Context, input *GetIdentityMailFromDomainAttributesInput, opts ...request.Option) (*GetIdentityMailFromDomainAttributesOutput, error) {
2472	req, out := c.GetIdentityMailFromDomainAttributesRequest(input)
2473	req.SetContext(ctx)
2474	req.ApplyOptions(opts...)
2475	return out, req.Send()
2476}
2477
2478const opGetIdentityNotificationAttributes = "GetIdentityNotificationAttributes"
2479
2480// GetIdentityNotificationAttributesRequest generates a "aws/request.Request" representing the
2481// client's request for the GetIdentityNotificationAttributes operation. The "output" return
2482// value will be populated with the request's response once the request completes
2483// successfully.
2484//
2485// Use "Send" method on the returned Request to send the API call to the service.
2486// the "output" return value is not valid until after Send returns without error.
2487//
2488// See GetIdentityNotificationAttributes for more information on using the GetIdentityNotificationAttributes
2489// API call, and error handling.
2490//
2491// This method is useful when you want to inject custom logic or configuration
2492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2493//
2494//
2495//    // Example sending a request using the GetIdentityNotificationAttributesRequest method.
2496//    req, resp := client.GetIdentityNotificationAttributesRequest(params)
2497//
2498//    err := req.Send()
2499//    if err == nil { // resp is now filled
2500//        fmt.Println(resp)
2501//    }
2502//
2503// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityNotificationAttributes
2504func (c *SES) GetIdentityNotificationAttributesRequest(input *GetIdentityNotificationAttributesInput) (req *request.Request, output *GetIdentityNotificationAttributesOutput) {
2505	op := &request.Operation{
2506		Name:       opGetIdentityNotificationAttributes,
2507		HTTPMethod: "POST",
2508		HTTPPath:   "/",
2509	}
2510
2511	if input == nil {
2512		input = &GetIdentityNotificationAttributesInput{}
2513	}
2514
2515	output = &GetIdentityNotificationAttributesOutput{}
2516	req = c.newRequest(op, input, output)
2517	return
2518}
2519
2520// GetIdentityNotificationAttributes API operation for Amazon Simple Email Service.
2521//
2522// Given a list of verified identities (email addresses and/or domains), returns
2523// a structure describing identity notification attributes.
2524//
2525// This operation is throttled at one request per second and can only get notification
2526// attributes for up to 100 identities at a time.
2527//
2528// For more information about using notifications with Amazon SES, see the Amazon
2529// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html).
2530//
2531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2532// with awserr.Error's Code and Message methods to get detailed information about
2533// the error.
2534//
2535// See the AWS API reference guide for Amazon Simple Email Service's
2536// API operation GetIdentityNotificationAttributes for usage and error information.
2537// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityNotificationAttributes
2538func (c *SES) GetIdentityNotificationAttributes(input *GetIdentityNotificationAttributesInput) (*GetIdentityNotificationAttributesOutput, error) {
2539	req, out := c.GetIdentityNotificationAttributesRequest(input)
2540	return out, req.Send()
2541}
2542
2543// GetIdentityNotificationAttributesWithContext is the same as GetIdentityNotificationAttributes with the addition of
2544// the ability to pass a context and additional request options.
2545//
2546// See GetIdentityNotificationAttributes for details on how to use this API operation.
2547//
2548// The context must be non-nil and will be used for request cancellation. If
2549// the context is nil a panic will occur. In the future the SDK may create
2550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2551// for more information on using Contexts.
2552func (c *SES) GetIdentityNotificationAttributesWithContext(ctx aws.Context, input *GetIdentityNotificationAttributesInput, opts ...request.Option) (*GetIdentityNotificationAttributesOutput, error) {
2553	req, out := c.GetIdentityNotificationAttributesRequest(input)
2554	req.SetContext(ctx)
2555	req.ApplyOptions(opts...)
2556	return out, req.Send()
2557}
2558
2559const opGetIdentityPolicies = "GetIdentityPolicies"
2560
2561// GetIdentityPoliciesRequest generates a "aws/request.Request" representing the
2562// client's request for the GetIdentityPolicies operation. The "output" return
2563// value will be populated with the request's response once the request completes
2564// successfully.
2565//
2566// Use "Send" method on the returned Request to send the API call to the service.
2567// the "output" return value is not valid until after Send returns without error.
2568//
2569// See GetIdentityPolicies for more information on using the GetIdentityPolicies
2570// API call, and error handling.
2571//
2572// This method is useful when you want to inject custom logic or configuration
2573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2574//
2575//
2576//    // Example sending a request using the GetIdentityPoliciesRequest method.
2577//    req, resp := client.GetIdentityPoliciesRequest(params)
2578//
2579//    err := req.Send()
2580//    if err == nil { // resp is now filled
2581//        fmt.Println(resp)
2582//    }
2583//
2584// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityPolicies
2585func (c *SES) GetIdentityPoliciesRequest(input *GetIdentityPoliciesInput) (req *request.Request, output *GetIdentityPoliciesOutput) {
2586	op := &request.Operation{
2587		Name:       opGetIdentityPolicies,
2588		HTTPMethod: "POST",
2589		HTTPPath:   "/",
2590	}
2591
2592	if input == nil {
2593		input = &GetIdentityPoliciesInput{}
2594	}
2595
2596	output = &GetIdentityPoliciesOutput{}
2597	req = c.newRequest(op, input, output)
2598	return
2599}
2600
2601// GetIdentityPolicies API operation for Amazon Simple Email Service.
2602//
2603// Returns the requested sending authorization policies for the given identity
2604// (an email address or a domain). The policies are returned as a map of policy
2605// names to policy contents. You can retrieve a maximum of 20 policies at a
2606// time.
2607//
2608// This API is for the identity owner only. If you have not verified the identity,
2609// this API will return an error.
2610//
2611// Sending authorization is a feature that enables an identity owner to authorize
2612// other senders to use its identities. For information about using sending
2613// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
2614//
2615// You can execute this operation no more than once per second.
2616//
2617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2618// with awserr.Error's Code and Message methods to get detailed information about
2619// the error.
2620//
2621// See the AWS API reference guide for Amazon Simple Email Service's
2622// API operation GetIdentityPolicies for usage and error information.
2623// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityPolicies
2624func (c *SES) GetIdentityPolicies(input *GetIdentityPoliciesInput) (*GetIdentityPoliciesOutput, error) {
2625	req, out := c.GetIdentityPoliciesRequest(input)
2626	return out, req.Send()
2627}
2628
2629// GetIdentityPoliciesWithContext is the same as GetIdentityPolicies with the addition of
2630// the ability to pass a context and additional request options.
2631//
2632// See GetIdentityPolicies for details on how to use this API operation.
2633//
2634// The context must be non-nil and will be used for request cancellation. If
2635// the context is nil a panic will occur. In the future the SDK may create
2636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2637// for more information on using Contexts.
2638func (c *SES) GetIdentityPoliciesWithContext(ctx aws.Context, input *GetIdentityPoliciesInput, opts ...request.Option) (*GetIdentityPoliciesOutput, error) {
2639	req, out := c.GetIdentityPoliciesRequest(input)
2640	req.SetContext(ctx)
2641	req.ApplyOptions(opts...)
2642	return out, req.Send()
2643}
2644
2645const opGetIdentityVerificationAttributes = "GetIdentityVerificationAttributes"
2646
2647// GetIdentityVerificationAttributesRequest generates a "aws/request.Request" representing the
2648// client's request for the GetIdentityVerificationAttributes operation. The "output" return
2649// value will be populated with the request's response once the request completes
2650// successfully.
2651//
2652// Use "Send" method on the returned Request to send the API call to the service.
2653// the "output" return value is not valid until after Send returns without error.
2654//
2655// See GetIdentityVerificationAttributes for more information on using the GetIdentityVerificationAttributes
2656// API call, and error handling.
2657//
2658// This method is useful when you want to inject custom logic or configuration
2659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2660//
2661//
2662//    // Example sending a request using the GetIdentityVerificationAttributesRequest method.
2663//    req, resp := client.GetIdentityVerificationAttributesRequest(params)
2664//
2665//    err := req.Send()
2666//    if err == nil { // resp is now filled
2667//        fmt.Println(resp)
2668//    }
2669//
2670// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityVerificationAttributes
2671func (c *SES) GetIdentityVerificationAttributesRequest(input *GetIdentityVerificationAttributesInput) (req *request.Request, output *GetIdentityVerificationAttributesOutput) {
2672	op := &request.Operation{
2673		Name:       opGetIdentityVerificationAttributes,
2674		HTTPMethod: "POST",
2675		HTTPPath:   "/",
2676	}
2677
2678	if input == nil {
2679		input = &GetIdentityVerificationAttributesInput{}
2680	}
2681
2682	output = &GetIdentityVerificationAttributesOutput{}
2683	req = c.newRequest(op, input, output)
2684	return
2685}
2686
2687// GetIdentityVerificationAttributes API operation for Amazon Simple Email Service.
2688//
2689// Given a list of identities (email addresses and/or domains), returns the
2690// verification status and (for domain identities) the verification token for
2691// each identity.
2692//
2693// The verification status of an email address is "Pending" until the email
2694// address owner clicks the link within the verification email that Amazon SES
2695// sent to that address. If the email address owner clicks the link within 24
2696// hours, the verification status of the email address changes to "Success".
2697// If the link is not clicked within 24 hours, the verification status changes
2698// to "Failed." In that case, if you still want to verify the email address,
2699// you must restart the verification process from the beginning.
2700//
2701// For domain identities, the domain's verification status is "Pending" as Amazon
2702// SES searches for the required TXT record in the DNS settings of the domain.
2703// When Amazon SES detects the record, the domain's verification status changes
2704// to "Success". If Amazon SES is unable to detect the record within 72 hours,
2705// the domain's verification status changes to "Failed." In that case, if you
2706// still want to verify the domain, you must restart the verification process
2707// from the beginning.
2708//
2709// This operation is throttled at one request per second and can only get verification
2710// attributes for up to 100 identities at a time.
2711//
2712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2713// with awserr.Error's Code and Message methods to get detailed information about
2714// the error.
2715//
2716// See the AWS API reference guide for Amazon Simple Email Service's
2717// API operation GetIdentityVerificationAttributes for usage and error information.
2718// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetIdentityVerificationAttributes
2719func (c *SES) GetIdentityVerificationAttributes(input *GetIdentityVerificationAttributesInput) (*GetIdentityVerificationAttributesOutput, error) {
2720	req, out := c.GetIdentityVerificationAttributesRequest(input)
2721	return out, req.Send()
2722}
2723
2724// GetIdentityVerificationAttributesWithContext is the same as GetIdentityVerificationAttributes with the addition of
2725// the ability to pass a context and additional request options.
2726//
2727// See GetIdentityVerificationAttributes for details on how to use this API operation.
2728//
2729// The context must be non-nil and will be used for request cancellation. If
2730// the context is nil a panic will occur. In the future the SDK may create
2731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2732// for more information on using Contexts.
2733func (c *SES) GetIdentityVerificationAttributesWithContext(ctx aws.Context, input *GetIdentityVerificationAttributesInput, opts ...request.Option) (*GetIdentityVerificationAttributesOutput, error) {
2734	req, out := c.GetIdentityVerificationAttributesRequest(input)
2735	req.SetContext(ctx)
2736	req.ApplyOptions(opts...)
2737	return out, req.Send()
2738}
2739
2740const opGetSendQuota = "GetSendQuota"
2741
2742// GetSendQuotaRequest generates a "aws/request.Request" representing the
2743// client's request for the GetSendQuota operation. The "output" return
2744// value will be populated with the request's response once the request completes
2745// successfully.
2746//
2747// Use "Send" method on the returned Request to send the API call to the service.
2748// the "output" return value is not valid until after Send returns without error.
2749//
2750// See GetSendQuota for more information on using the GetSendQuota
2751// API call, and error handling.
2752//
2753// This method is useful when you want to inject custom logic or configuration
2754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2755//
2756//
2757//    // Example sending a request using the GetSendQuotaRequest method.
2758//    req, resp := client.GetSendQuotaRequest(params)
2759//
2760//    err := req.Send()
2761//    if err == nil { // resp is now filled
2762//        fmt.Println(resp)
2763//    }
2764//
2765// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendQuota
2766func (c *SES) GetSendQuotaRequest(input *GetSendQuotaInput) (req *request.Request, output *GetSendQuotaOutput) {
2767	op := &request.Operation{
2768		Name:       opGetSendQuota,
2769		HTTPMethod: "POST",
2770		HTTPPath:   "/",
2771	}
2772
2773	if input == nil {
2774		input = &GetSendQuotaInput{}
2775	}
2776
2777	output = &GetSendQuotaOutput{}
2778	req = c.newRequest(op, input, output)
2779	return
2780}
2781
2782// GetSendQuota API operation for Amazon Simple Email Service.
2783//
2784// Provides the sending limits for the Amazon SES account.
2785//
2786// You can execute this operation no more than once per second.
2787//
2788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2789// with awserr.Error's Code and Message methods to get detailed information about
2790// the error.
2791//
2792// See the AWS API reference guide for Amazon Simple Email Service's
2793// API operation GetSendQuota for usage and error information.
2794// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendQuota
2795func (c *SES) GetSendQuota(input *GetSendQuotaInput) (*GetSendQuotaOutput, error) {
2796	req, out := c.GetSendQuotaRequest(input)
2797	return out, req.Send()
2798}
2799
2800// GetSendQuotaWithContext is the same as GetSendQuota with the addition of
2801// the ability to pass a context and additional request options.
2802//
2803// See GetSendQuota for details on how to use this API operation.
2804//
2805// The context must be non-nil and will be used for request cancellation. If
2806// the context is nil a panic will occur. In the future the SDK may create
2807// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2808// for more information on using Contexts.
2809func (c *SES) GetSendQuotaWithContext(ctx aws.Context, input *GetSendQuotaInput, opts ...request.Option) (*GetSendQuotaOutput, error) {
2810	req, out := c.GetSendQuotaRequest(input)
2811	req.SetContext(ctx)
2812	req.ApplyOptions(opts...)
2813	return out, req.Send()
2814}
2815
2816const opGetSendStatistics = "GetSendStatistics"
2817
2818// GetSendStatisticsRequest generates a "aws/request.Request" representing the
2819// client's request for the GetSendStatistics operation. The "output" return
2820// value will be populated with the request's response once the request completes
2821// successfully.
2822//
2823// Use "Send" method on the returned Request to send the API call to the service.
2824// the "output" return value is not valid until after Send returns without error.
2825//
2826// See GetSendStatistics for more information on using the GetSendStatistics
2827// API call, and error handling.
2828//
2829// This method is useful when you want to inject custom logic or configuration
2830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2831//
2832//
2833//    // Example sending a request using the GetSendStatisticsRequest method.
2834//    req, resp := client.GetSendStatisticsRequest(params)
2835//
2836//    err := req.Send()
2837//    if err == nil { // resp is now filled
2838//        fmt.Println(resp)
2839//    }
2840//
2841// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendStatistics
2842func (c *SES) GetSendStatisticsRequest(input *GetSendStatisticsInput) (req *request.Request, output *GetSendStatisticsOutput) {
2843	op := &request.Operation{
2844		Name:       opGetSendStatistics,
2845		HTTPMethod: "POST",
2846		HTTPPath:   "/",
2847	}
2848
2849	if input == nil {
2850		input = &GetSendStatisticsInput{}
2851	}
2852
2853	output = &GetSendStatisticsOutput{}
2854	req = c.newRequest(op, input, output)
2855	return
2856}
2857
2858// GetSendStatistics API operation for Amazon Simple Email Service.
2859//
2860// Provides sending statistics for the current AWS Region. The result is a list
2861// of data points, representing the last two weeks of sending activity. Each
2862// data point in the list contains statistics for a 15-minute period of time.
2863//
2864// You can execute this operation no more than once per second.
2865//
2866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2867// with awserr.Error's Code and Message methods to get detailed information about
2868// the error.
2869//
2870// See the AWS API reference guide for Amazon Simple Email Service's
2871// API operation GetSendStatistics for usage and error information.
2872// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendStatistics
2873func (c *SES) GetSendStatistics(input *GetSendStatisticsInput) (*GetSendStatisticsOutput, error) {
2874	req, out := c.GetSendStatisticsRequest(input)
2875	return out, req.Send()
2876}
2877
2878// GetSendStatisticsWithContext is the same as GetSendStatistics with the addition of
2879// the ability to pass a context and additional request options.
2880//
2881// See GetSendStatistics for details on how to use this API operation.
2882//
2883// The context must be non-nil and will be used for request cancellation. If
2884// the context is nil a panic will occur. In the future the SDK may create
2885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2886// for more information on using Contexts.
2887func (c *SES) GetSendStatisticsWithContext(ctx aws.Context, input *GetSendStatisticsInput, opts ...request.Option) (*GetSendStatisticsOutput, error) {
2888	req, out := c.GetSendStatisticsRequest(input)
2889	req.SetContext(ctx)
2890	req.ApplyOptions(opts...)
2891	return out, req.Send()
2892}
2893
2894const opGetTemplate = "GetTemplate"
2895
2896// GetTemplateRequest generates a "aws/request.Request" representing the
2897// client's request for the GetTemplate operation. The "output" return
2898// value will be populated with the request's response once the request completes
2899// successfully.
2900//
2901// Use "Send" method on the returned Request to send the API call to the service.
2902// the "output" return value is not valid until after Send returns without error.
2903//
2904// See GetTemplate for more information on using the GetTemplate
2905// API call, and error handling.
2906//
2907// This method is useful when you want to inject custom logic or configuration
2908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2909//
2910//
2911//    // Example sending a request using the GetTemplateRequest method.
2912//    req, resp := client.GetTemplateRequest(params)
2913//
2914//    err := req.Send()
2915//    if err == nil { // resp is now filled
2916//        fmt.Println(resp)
2917//    }
2918//
2919// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplate
2920func (c *SES) GetTemplateRequest(input *GetTemplateInput) (req *request.Request, output *GetTemplateOutput) {
2921	op := &request.Operation{
2922		Name:       opGetTemplate,
2923		HTTPMethod: "POST",
2924		HTTPPath:   "/",
2925	}
2926
2927	if input == nil {
2928		input = &GetTemplateInput{}
2929	}
2930
2931	output = &GetTemplateOutput{}
2932	req = c.newRequest(op, input, output)
2933	return
2934}
2935
2936// GetTemplate API operation for Amazon Simple Email Service.
2937//
2938// Displays the template object (which includes the Subject line, HTML part
2939// and text part) for the template you specify.
2940//
2941// You can execute this operation no more than once per second.
2942//
2943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2944// with awserr.Error's Code and Message methods to get detailed information about
2945// the error.
2946//
2947// See the AWS API reference guide for Amazon Simple Email Service's
2948// API operation GetTemplate for usage and error information.
2949//
2950// Returned Error Codes:
2951//   * ErrCodeTemplateDoesNotExistException "TemplateDoesNotExist"
2952//   Indicates that the Template object you specified does not exist in your Amazon
2953//   SES account.
2954//
2955// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetTemplate
2956func (c *SES) GetTemplate(input *GetTemplateInput) (*GetTemplateOutput, error) {
2957	req, out := c.GetTemplateRequest(input)
2958	return out, req.Send()
2959}
2960
2961// GetTemplateWithContext is the same as GetTemplate with the addition of
2962// the ability to pass a context and additional request options.
2963//
2964// See GetTemplate for details on how to use this API operation.
2965//
2966// The context must be non-nil and will be used for request cancellation. If
2967// the context is nil a panic will occur. In the future the SDK may create
2968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2969// for more information on using Contexts.
2970func (c *SES) GetTemplateWithContext(ctx aws.Context, input *GetTemplateInput, opts ...request.Option) (*GetTemplateOutput, error) {
2971	req, out := c.GetTemplateRequest(input)
2972	req.SetContext(ctx)
2973	req.ApplyOptions(opts...)
2974	return out, req.Send()
2975}
2976
2977const opListConfigurationSets = "ListConfigurationSets"
2978
2979// ListConfigurationSetsRequest generates a "aws/request.Request" representing the
2980// client's request for the ListConfigurationSets operation. The "output" return
2981// value will be populated with the request's response once the request completes
2982// successfully.
2983//
2984// Use "Send" method on the returned Request to send the API call to the service.
2985// the "output" return value is not valid until after Send returns without error.
2986//
2987// See ListConfigurationSets for more information on using the ListConfigurationSets
2988// API call, and error handling.
2989//
2990// This method is useful when you want to inject custom logic or configuration
2991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2992//
2993//
2994//    // Example sending a request using the ListConfigurationSetsRequest method.
2995//    req, resp := client.ListConfigurationSetsRequest(params)
2996//
2997//    err := req.Send()
2998//    if err == nil { // resp is now filled
2999//        fmt.Println(resp)
3000//    }
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListConfigurationSets
3003func (c *SES) ListConfigurationSetsRequest(input *ListConfigurationSetsInput) (req *request.Request, output *ListConfigurationSetsOutput) {
3004	op := &request.Operation{
3005		Name:       opListConfigurationSets,
3006		HTTPMethod: "POST",
3007		HTTPPath:   "/",
3008	}
3009
3010	if input == nil {
3011		input = &ListConfigurationSetsInput{}
3012	}
3013
3014	output = &ListConfigurationSetsOutput{}
3015	req = c.newRequest(op, input, output)
3016	return
3017}
3018
3019// ListConfigurationSets API operation for Amazon Simple Email Service.
3020//
3021// Provides a list of the configuration sets associated with your Amazon SES
3022// account in the current AWS Region. For information about using configuration
3023// sets, see Monitoring Your Amazon SES Sending Activity (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html)
3024// in the Amazon SES Developer Guide.
3025//
3026// You can execute this operation no more than once per second. This operation
3027// will return up to 1,000 configuration sets each time it is run. If your Amazon
3028// SES account has more than 1,000 configuration sets, this operation will also
3029// return a NextToken element. You can then execute the ListConfigurationSets
3030// operation again, passing the NextToken parameter and the value of the NextToken
3031// element to retrieve additional results.
3032//
3033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3034// with awserr.Error's Code and Message methods to get detailed information about
3035// the error.
3036//
3037// See the AWS API reference guide for Amazon Simple Email Service's
3038// API operation ListConfigurationSets for usage and error information.
3039// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListConfigurationSets
3040func (c *SES) ListConfigurationSets(input *ListConfigurationSetsInput) (*ListConfigurationSetsOutput, error) {
3041	req, out := c.ListConfigurationSetsRequest(input)
3042	return out, req.Send()
3043}
3044
3045// ListConfigurationSetsWithContext is the same as ListConfigurationSets with the addition of
3046// the ability to pass a context and additional request options.
3047//
3048// See ListConfigurationSets for details on how to use this API operation.
3049//
3050// The context must be non-nil and will be used for request cancellation. If
3051// the context is nil a panic will occur. In the future the SDK may create
3052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3053// for more information on using Contexts.
3054func (c *SES) ListConfigurationSetsWithContext(ctx aws.Context, input *ListConfigurationSetsInput, opts ...request.Option) (*ListConfigurationSetsOutput, error) {
3055	req, out := c.ListConfigurationSetsRequest(input)
3056	req.SetContext(ctx)
3057	req.ApplyOptions(opts...)
3058	return out, req.Send()
3059}
3060
3061const opListCustomVerificationEmailTemplates = "ListCustomVerificationEmailTemplates"
3062
3063// ListCustomVerificationEmailTemplatesRequest generates a "aws/request.Request" representing the
3064// client's request for the ListCustomVerificationEmailTemplates operation. The "output" return
3065// value will be populated with the request's response once the request completes
3066// successfully.
3067//
3068// Use "Send" method on the returned Request to send the API call to the service.
3069// the "output" return value is not valid until after Send returns without error.
3070//
3071// See ListCustomVerificationEmailTemplates for more information on using the ListCustomVerificationEmailTemplates
3072// API call, and error handling.
3073//
3074// This method is useful when you want to inject custom logic or configuration
3075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3076//
3077//
3078//    // Example sending a request using the ListCustomVerificationEmailTemplatesRequest method.
3079//    req, resp := client.ListCustomVerificationEmailTemplatesRequest(params)
3080//
3081//    err := req.Send()
3082//    if err == nil { // resp is now filled
3083//        fmt.Println(resp)
3084//    }
3085//
3086// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListCustomVerificationEmailTemplates
3087func (c *SES) ListCustomVerificationEmailTemplatesRequest(input *ListCustomVerificationEmailTemplatesInput) (req *request.Request, output *ListCustomVerificationEmailTemplatesOutput) {
3088	op := &request.Operation{
3089		Name:       opListCustomVerificationEmailTemplates,
3090		HTTPMethod: "POST",
3091		HTTPPath:   "/",
3092		Paginator: &request.Paginator{
3093			InputTokens:     []string{"NextToken"},
3094			OutputTokens:    []string{"NextToken"},
3095			LimitToken:      "MaxResults",
3096			TruncationToken: "",
3097		},
3098	}
3099
3100	if input == nil {
3101		input = &ListCustomVerificationEmailTemplatesInput{}
3102	}
3103
3104	output = &ListCustomVerificationEmailTemplatesOutput{}
3105	req = c.newRequest(op, input, output)
3106	return
3107}
3108
3109// ListCustomVerificationEmailTemplates API operation for Amazon Simple Email Service.
3110//
3111// Lists the existing custom verification email templates for your account in
3112// the current AWS Region.
3113//
3114// For more information about custom verification email templates, see Using
3115// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
3116// in the Amazon SES Developer Guide.
3117//
3118// You can execute this operation no more than once per second.
3119//
3120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3121// with awserr.Error's Code and Message methods to get detailed information about
3122// the error.
3123//
3124// See the AWS API reference guide for Amazon Simple Email Service's
3125// API operation ListCustomVerificationEmailTemplates for usage and error information.
3126// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListCustomVerificationEmailTemplates
3127func (c *SES) ListCustomVerificationEmailTemplates(input *ListCustomVerificationEmailTemplatesInput) (*ListCustomVerificationEmailTemplatesOutput, error) {
3128	req, out := c.ListCustomVerificationEmailTemplatesRequest(input)
3129	return out, req.Send()
3130}
3131
3132// ListCustomVerificationEmailTemplatesWithContext is the same as ListCustomVerificationEmailTemplates with the addition of
3133// the ability to pass a context and additional request options.
3134//
3135// See ListCustomVerificationEmailTemplates for details on how to use this API operation.
3136//
3137// The context must be non-nil and will be used for request cancellation. If
3138// the context is nil a panic will occur. In the future the SDK may create
3139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3140// for more information on using Contexts.
3141func (c *SES) ListCustomVerificationEmailTemplatesWithContext(ctx aws.Context, input *ListCustomVerificationEmailTemplatesInput, opts ...request.Option) (*ListCustomVerificationEmailTemplatesOutput, error) {
3142	req, out := c.ListCustomVerificationEmailTemplatesRequest(input)
3143	req.SetContext(ctx)
3144	req.ApplyOptions(opts...)
3145	return out, req.Send()
3146}
3147
3148// ListCustomVerificationEmailTemplatesPages iterates over the pages of a ListCustomVerificationEmailTemplates operation,
3149// calling the "fn" function with the response data for each page. To stop
3150// iterating, return false from the fn function.
3151//
3152// See ListCustomVerificationEmailTemplates method for more information on how to use this operation.
3153//
3154// Note: This operation can generate multiple requests to a service.
3155//
3156//    // Example iterating over at most 3 pages of a ListCustomVerificationEmailTemplates operation.
3157//    pageNum := 0
3158//    err := client.ListCustomVerificationEmailTemplatesPages(params,
3159//        func(page *ses.ListCustomVerificationEmailTemplatesOutput, lastPage bool) bool {
3160//            pageNum++
3161//            fmt.Println(page)
3162//            return pageNum <= 3
3163//        })
3164//
3165func (c *SES) ListCustomVerificationEmailTemplatesPages(input *ListCustomVerificationEmailTemplatesInput, fn func(*ListCustomVerificationEmailTemplatesOutput, bool) bool) error {
3166	return c.ListCustomVerificationEmailTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
3167}
3168
3169// ListCustomVerificationEmailTemplatesPagesWithContext same as ListCustomVerificationEmailTemplatesPages except
3170// it takes a Context and allows setting request options on the pages.
3171//
3172// The context must be non-nil and will be used for request cancellation. If
3173// the context is nil a panic will occur. In the future the SDK may create
3174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3175// for more information on using Contexts.
3176func (c *SES) ListCustomVerificationEmailTemplatesPagesWithContext(ctx aws.Context, input *ListCustomVerificationEmailTemplatesInput, fn func(*ListCustomVerificationEmailTemplatesOutput, bool) bool, opts ...request.Option) error {
3177	p := request.Pagination{
3178		NewRequest: func() (*request.Request, error) {
3179			var inCpy *ListCustomVerificationEmailTemplatesInput
3180			if input != nil {
3181				tmp := *input
3182				inCpy = &tmp
3183			}
3184			req, _ := c.ListCustomVerificationEmailTemplatesRequest(inCpy)
3185			req.SetContext(ctx)
3186			req.ApplyOptions(opts...)
3187			return req, nil
3188		},
3189	}
3190
3191	for p.Next() {
3192		if !fn(p.Page().(*ListCustomVerificationEmailTemplatesOutput), !p.HasNextPage()) {
3193			break
3194		}
3195	}
3196
3197	return p.Err()
3198}
3199
3200const opListIdentities = "ListIdentities"
3201
3202// ListIdentitiesRequest generates a "aws/request.Request" representing the
3203// client's request for the ListIdentities operation. The "output" return
3204// value will be populated with the request's response once the request completes
3205// successfully.
3206//
3207// Use "Send" method on the returned Request to send the API call to the service.
3208// the "output" return value is not valid until after Send returns without error.
3209//
3210// See ListIdentities for more information on using the ListIdentities
3211// API call, and error handling.
3212//
3213// This method is useful when you want to inject custom logic or configuration
3214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3215//
3216//
3217//    // Example sending a request using the ListIdentitiesRequest method.
3218//    req, resp := client.ListIdentitiesRequest(params)
3219//
3220//    err := req.Send()
3221//    if err == nil { // resp is now filled
3222//        fmt.Println(resp)
3223//    }
3224//
3225// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentities
3226func (c *SES) ListIdentitiesRequest(input *ListIdentitiesInput) (req *request.Request, output *ListIdentitiesOutput) {
3227	op := &request.Operation{
3228		Name:       opListIdentities,
3229		HTTPMethod: "POST",
3230		HTTPPath:   "/",
3231		Paginator: &request.Paginator{
3232			InputTokens:     []string{"NextToken"},
3233			OutputTokens:    []string{"NextToken"},
3234			LimitToken:      "MaxItems",
3235			TruncationToken: "",
3236		},
3237	}
3238
3239	if input == nil {
3240		input = &ListIdentitiesInput{}
3241	}
3242
3243	output = &ListIdentitiesOutput{}
3244	req = c.newRequest(op, input, output)
3245	return
3246}
3247
3248// ListIdentities API operation for Amazon Simple Email Service.
3249//
3250// Returns a list containing all of the identities (email addresses and domains)
3251// for your AWS account in the current AWS Region, regardless of verification
3252// status.
3253//
3254// You can execute this operation no more than once per second.
3255//
3256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3257// with awserr.Error's Code and Message methods to get detailed information about
3258// the error.
3259//
3260// See the AWS API reference guide for Amazon Simple Email Service's
3261// API operation ListIdentities for usage and error information.
3262// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentities
3263func (c *SES) ListIdentities(input *ListIdentitiesInput) (*ListIdentitiesOutput, error) {
3264	req, out := c.ListIdentitiesRequest(input)
3265	return out, req.Send()
3266}
3267
3268// ListIdentitiesWithContext is the same as ListIdentities with the addition of
3269// the ability to pass a context and additional request options.
3270//
3271// See ListIdentities for details on how to use this API operation.
3272//
3273// The context must be non-nil and will be used for request cancellation. If
3274// the context is nil a panic will occur. In the future the SDK may create
3275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3276// for more information on using Contexts.
3277func (c *SES) ListIdentitiesWithContext(ctx aws.Context, input *ListIdentitiesInput, opts ...request.Option) (*ListIdentitiesOutput, error) {
3278	req, out := c.ListIdentitiesRequest(input)
3279	req.SetContext(ctx)
3280	req.ApplyOptions(opts...)
3281	return out, req.Send()
3282}
3283
3284// ListIdentitiesPages iterates over the pages of a ListIdentities operation,
3285// calling the "fn" function with the response data for each page. To stop
3286// iterating, return false from the fn function.
3287//
3288// See ListIdentities method for more information on how to use this operation.
3289//
3290// Note: This operation can generate multiple requests to a service.
3291//
3292//    // Example iterating over at most 3 pages of a ListIdentities operation.
3293//    pageNum := 0
3294//    err := client.ListIdentitiesPages(params,
3295//        func(page *ses.ListIdentitiesOutput, lastPage bool) bool {
3296//            pageNum++
3297//            fmt.Println(page)
3298//            return pageNum <= 3
3299//        })
3300//
3301func (c *SES) ListIdentitiesPages(input *ListIdentitiesInput, fn func(*ListIdentitiesOutput, bool) bool) error {
3302	return c.ListIdentitiesPagesWithContext(aws.BackgroundContext(), input, fn)
3303}
3304
3305// ListIdentitiesPagesWithContext same as ListIdentitiesPages except
3306// it takes a Context and allows setting request options on the pages.
3307//
3308// The context must be non-nil and will be used for request cancellation. If
3309// the context is nil a panic will occur. In the future the SDK may create
3310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3311// for more information on using Contexts.
3312func (c *SES) ListIdentitiesPagesWithContext(ctx aws.Context, input *ListIdentitiesInput, fn func(*ListIdentitiesOutput, bool) bool, opts ...request.Option) error {
3313	p := request.Pagination{
3314		NewRequest: func() (*request.Request, error) {
3315			var inCpy *ListIdentitiesInput
3316			if input != nil {
3317				tmp := *input
3318				inCpy = &tmp
3319			}
3320			req, _ := c.ListIdentitiesRequest(inCpy)
3321			req.SetContext(ctx)
3322			req.ApplyOptions(opts...)
3323			return req, nil
3324		},
3325	}
3326
3327	for p.Next() {
3328		if !fn(p.Page().(*ListIdentitiesOutput), !p.HasNextPage()) {
3329			break
3330		}
3331	}
3332
3333	return p.Err()
3334}
3335
3336const opListIdentityPolicies = "ListIdentityPolicies"
3337
3338// ListIdentityPoliciesRequest generates a "aws/request.Request" representing the
3339// client's request for the ListIdentityPolicies operation. The "output" return
3340// value will be populated with the request's response once the request completes
3341// successfully.
3342//
3343// Use "Send" method on the returned Request to send the API call to the service.
3344// the "output" return value is not valid until after Send returns without error.
3345//
3346// See ListIdentityPolicies for more information on using the ListIdentityPolicies
3347// API call, and error handling.
3348//
3349// This method is useful when you want to inject custom logic or configuration
3350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3351//
3352//
3353//    // Example sending a request using the ListIdentityPoliciesRequest method.
3354//    req, resp := client.ListIdentityPoliciesRequest(params)
3355//
3356//    err := req.Send()
3357//    if err == nil { // resp is now filled
3358//        fmt.Println(resp)
3359//    }
3360//
3361// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentityPolicies
3362func (c *SES) ListIdentityPoliciesRequest(input *ListIdentityPoliciesInput) (req *request.Request, output *ListIdentityPoliciesOutput) {
3363	op := &request.Operation{
3364		Name:       opListIdentityPolicies,
3365		HTTPMethod: "POST",
3366		HTTPPath:   "/",
3367	}
3368
3369	if input == nil {
3370		input = &ListIdentityPoliciesInput{}
3371	}
3372
3373	output = &ListIdentityPoliciesOutput{}
3374	req = c.newRequest(op, input, output)
3375	return
3376}
3377
3378// ListIdentityPolicies API operation for Amazon Simple Email Service.
3379//
3380// Returns a list of sending authorization policies that are attached to the
3381// given identity (an email address or a domain). This API returns only a list.
3382// If you want the actual policy content, you can use GetIdentityPolicies.
3383//
3384// This API is for the identity owner only. If you have not verified the identity,
3385// this API will return an error.
3386//
3387// Sending authorization is a feature that enables an identity owner to authorize
3388// other senders to use its identities. For information about using sending
3389// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
3390//
3391// You can execute this operation no more than once per second.
3392//
3393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3394// with awserr.Error's Code and Message methods to get detailed information about
3395// the error.
3396//
3397// See the AWS API reference guide for Amazon Simple Email Service's
3398// API operation ListIdentityPolicies for usage and error information.
3399// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListIdentityPolicies
3400func (c *SES) ListIdentityPolicies(input *ListIdentityPoliciesInput) (*ListIdentityPoliciesOutput, error) {
3401	req, out := c.ListIdentityPoliciesRequest(input)
3402	return out, req.Send()
3403}
3404
3405// ListIdentityPoliciesWithContext is the same as ListIdentityPolicies with the addition of
3406// the ability to pass a context and additional request options.
3407//
3408// See ListIdentityPolicies for details on how to use this API operation.
3409//
3410// The context must be non-nil and will be used for request cancellation. If
3411// the context is nil a panic will occur. In the future the SDK may create
3412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3413// for more information on using Contexts.
3414func (c *SES) ListIdentityPoliciesWithContext(ctx aws.Context, input *ListIdentityPoliciesInput, opts ...request.Option) (*ListIdentityPoliciesOutput, error) {
3415	req, out := c.ListIdentityPoliciesRequest(input)
3416	req.SetContext(ctx)
3417	req.ApplyOptions(opts...)
3418	return out, req.Send()
3419}
3420
3421const opListReceiptFilters = "ListReceiptFilters"
3422
3423// ListReceiptFiltersRequest generates a "aws/request.Request" representing the
3424// client's request for the ListReceiptFilters operation. The "output" return
3425// value will be populated with the request's response once the request completes
3426// successfully.
3427//
3428// Use "Send" method on the returned Request to send the API call to the service.
3429// the "output" return value is not valid until after Send returns without error.
3430//
3431// See ListReceiptFilters for more information on using the ListReceiptFilters
3432// API call, and error handling.
3433//
3434// This method is useful when you want to inject custom logic or configuration
3435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3436//
3437//
3438//    // Example sending a request using the ListReceiptFiltersRequest method.
3439//    req, resp := client.ListReceiptFiltersRequest(params)
3440//
3441//    err := req.Send()
3442//    if err == nil { // resp is now filled
3443//        fmt.Println(resp)
3444//    }
3445//
3446// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptFilters
3447func (c *SES) ListReceiptFiltersRequest(input *ListReceiptFiltersInput) (req *request.Request, output *ListReceiptFiltersOutput) {
3448	op := &request.Operation{
3449		Name:       opListReceiptFilters,
3450		HTTPMethod: "POST",
3451		HTTPPath:   "/",
3452	}
3453
3454	if input == nil {
3455		input = &ListReceiptFiltersInput{}
3456	}
3457
3458	output = &ListReceiptFiltersOutput{}
3459	req = c.newRequest(op, input, output)
3460	return
3461}
3462
3463// ListReceiptFilters API operation for Amazon Simple Email Service.
3464//
3465// Lists the IP address filters associated with your AWS account in the current
3466// AWS Region.
3467//
3468// For information about managing IP address filters, see the Amazon SES Developer
3469// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html).
3470//
3471// You can execute this operation no more than once per second.
3472//
3473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3474// with awserr.Error's Code and Message methods to get detailed information about
3475// the error.
3476//
3477// See the AWS API reference guide for Amazon Simple Email Service's
3478// API operation ListReceiptFilters for usage and error information.
3479// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptFilters
3480func (c *SES) ListReceiptFilters(input *ListReceiptFiltersInput) (*ListReceiptFiltersOutput, error) {
3481	req, out := c.ListReceiptFiltersRequest(input)
3482	return out, req.Send()
3483}
3484
3485// ListReceiptFiltersWithContext is the same as ListReceiptFilters with the addition of
3486// the ability to pass a context and additional request options.
3487//
3488// See ListReceiptFilters for details on how to use this API operation.
3489//
3490// The context must be non-nil and will be used for request cancellation. If
3491// the context is nil a panic will occur. In the future the SDK may create
3492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3493// for more information on using Contexts.
3494func (c *SES) ListReceiptFiltersWithContext(ctx aws.Context, input *ListReceiptFiltersInput, opts ...request.Option) (*ListReceiptFiltersOutput, error) {
3495	req, out := c.ListReceiptFiltersRequest(input)
3496	req.SetContext(ctx)
3497	req.ApplyOptions(opts...)
3498	return out, req.Send()
3499}
3500
3501const opListReceiptRuleSets = "ListReceiptRuleSets"
3502
3503// ListReceiptRuleSetsRequest generates a "aws/request.Request" representing the
3504// client's request for the ListReceiptRuleSets operation. The "output" return
3505// value will be populated with the request's response once the request completes
3506// successfully.
3507//
3508// Use "Send" method on the returned Request to send the API call to the service.
3509// the "output" return value is not valid until after Send returns without error.
3510//
3511// See ListReceiptRuleSets for more information on using the ListReceiptRuleSets
3512// API call, and error handling.
3513//
3514// This method is useful when you want to inject custom logic or configuration
3515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3516//
3517//
3518//    // Example sending a request using the ListReceiptRuleSetsRequest method.
3519//    req, resp := client.ListReceiptRuleSetsRequest(params)
3520//
3521//    err := req.Send()
3522//    if err == nil { // resp is now filled
3523//        fmt.Println(resp)
3524//    }
3525//
3526// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptRuleSets
3527func (c *SES) ListReceiptRuleSetsRequest(input *ListReceiptRuleSetsInput) (req *request.Request, output *ListReceiptRuleSetsOutput) {
3528	op := &request.Operation{
3529		Name:       opListReceiptRuleSets,
3530		HTTPMethod: "POST",
3531		HTTPPath:   "/",
3532	}
3533
3534	if input == nil {
3535		input = &ListReceiptRuleSetsInput{}
3536	}
3537
3538	output = &ListReceiptRuleSetsOutput{}
3539	req = c.newRequest(op, input, output)
3540	return
3541}
3542
3543// ListReceiptRuleSets API operation for Amazon Simple Email Service.
3544//
3545// Lists the receipt rule sets that exist under your AWS account in the current
3546// AWS Region. If there are additional receipt rule sets to be retrieved, you
3547// will receive a NextToken that you can provide to the next call to ListReceiptRuleSets
3548// to retrieve the additional entries.
3549//
3550// For information about managing receipt rule sets, see the Amazon SES Developer
3551// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html).
3552//
3553// You can execute this operation no more than once per second.
3554//
3555// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3556// with awserr.Error's Code and Message methods to get detailed information about
3557// the error.
3558//
3559// See the AWS API reference guide for Amazon Simple Email Service's
3560// API operation ListReceiptRuleSets for usage and error information.
3561// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListReceiptRuleSets
3562func (c *SES) ListReceiptRuleSets(input *ListReceiptRuleSetsInput) (*ListReceiptRuleSetsOutput, error) {
3563	req, out := c.ListReceiptRuleSetsRequest(input)
3564	return out, req.Send()
3565}
3566
3567// ListReceiptRuleSetsWithContext is the same as ListReceiptRuleSets with the addition of
3568// the ability to pass a context and additional request options.
3569//
3570// See ListReceiptRuleSets for details on how to use this API operation.
3571//
3572// The context must be non-nil and will be used for request cancellation. If
3573// the context is nil a panic will occur. In the future the SDK may create
3574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3575// for more information on using Contexts.
3576func (c *SES) ListReceiptRuleSetsWithContext(ctx aws.Context, input *ListReceiptRuleSetsInput, opts ...request.Option) (*ListReceiptRuleSetsOutput, error) {
3577	req, out := c.ListReceiptRuleSetsRequest(input)
3578	req.SetContext(ctx)
3579	req.ApplyOptions(opts...)
3580	return out, req.Send()
3581}
3582
3583const opListTemplates = "ListTemplates"
3584
3585// ListTemplatesRequest generates a "aws/request.Request" representing the
3586// client's request for the ListTemplates operation. The "output" return
3587// value will be populated with the request's response once the request completes
3588// successfully.
3589//
3590// Use "Send" method on the returned Request to send the API call to the service.
3591// the "output" return value is not valid until after Send returns without error.
3592//
3593// See ListTemplates for more information on using the ListTemplates
3594// API call, and error handling.
3595//
3596// This method is useful when you want to inject custom logic or configuration
3597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3598//
3599//
3600//    // Example sending a request using the ListTemplatesRequest method.
3601//    req, resp := client.ListTemplatesRequest(params)
3602//
3603//    err := req.Send()
3604//    if err == nil { // resp is now filled
3605//        fmt.Println(resp)
3606//    }
3607//
3608// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplates
3609func (c *SES) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) {
3610	op := &request.Operation{
3611		Name:       opListTemplates,
3612		HTTPMethod: "POST",
3613		HTTPPath:   "/",
3614	}
3615
3616	if input == nil {
3617		input = &ListTemplatesInput{}
3618	}
3619
3620	output = &ListTemplatesOutput{}
3621	req = c.newRequest(op, input, output)
3622	return
3623}
3624
3625// ListTemplates API operation for Amazon Simple Email Service.
3626//
3627// Lists the email templates present in your Amazon SES account in the current
3628// AWS Region.
3629//
3630// You can execute this operation no more than once per second.
3631//
3632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3633// with awserr.Error's Code and Message methods to get detailed information about
3634// the error.
3635//
3636// See the AWS API reference guide for Amazon Simple Email Service's
3637// API operation ListTemplates for usage and error information.
3638// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListTemplates
3639func (c *SES) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) {
3640	req, out := c.ListTemplatesRequest(input)
3641	return out, req.Send()
3642}
3643
3644// ListTemplatesWithContext is the same as ListTemplates with the addition of
3645// the ability to pass a context and additional request options.
3646//
3647// See ListTemplates for details on how to use this API operation.
3648//
3649// The context must be non-nil and will be used for request cancellation. If
3650// the context is nil a panic will occur. In the future the SDK may create
3651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3652// for more information on using Contexts.
3653func (c *SES) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) {
3654	req, out := c.ListTemplatesRequest(input)
3655	req.SetContext(ctx)
3656	req.ApplyOptions(opts...)
3657	return out, req.Send()
3658}
3659
3660const opListVerifiedEmailAddresses = "ListVerifiedEmailAddresses"
3661
3662// ListVerifiedEmailAddressesRequest generates a "aws/request.Request" representing the
3663// client's request for the ListVerifiedEmailAddresses operation. The "output" return
3664// value will be populated with the request's response once the request completes
3665// successfully.
3666//
3667// Use "Send" method on the returned Request to send the API call to the service.
3668// the "output" return value is not valid until after Send returns without error.
3669//
3670// See ListVerifiedEmailAddresses for more information on using the ListVerifiedEmailAddresses
3671// API call, and error handling.
3672//
3673// This method is useful when you want to inject custom logic or configuration
3674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3675//
3676//
3677//    // Example sending a request using the ListVerifiedEmailAddressesRequest method.
3678//    req, resp := client.ListVerifiedEmailAddressesRequest(params)
3679//
3680//    err := req.Send()
3681//    if err == nil { // resp is now filled
3682//        fmt.Println(resp)
3683//    }
3684//
3685// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListVerifiedEmailAddresses
3686func (c *SES) ListVerifiedEmailAddressesRequest(input *ListVerifiedEmailAddressesInput) (req *request.Request, output *ListVerifiedEmailAddressesOutput) {
3687	op := &request.Operation{
3688		Name:       opListVerifiedEmailAddresses,
3689		HTTPMethod: "POST",
3690		HTTPPath:   "/",
3691	}
3692
3693	if input == nil {
3694		input = &ListVerifiedEmailAddressesInput{}
3695	}
3696
3697	output = &ListVerifiedEmailAddressesOutput{}
3698	req = c.newRequest(op, input, output)
3699	return
3700}
3701
3702// ListVerifiedEmailAddresses API operation for Amazon Simple Email Service.
3703//
3704// Deprecated. Use the ListIdentities operation to list the email addresses
3705// and domains associated with your account.
3706//
3707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3708// with awserr.Error's Code and Message methods to get detailed information about
3709// the error.
3710//
3711// See the AWS API reference guide for Amazon Simple Email Service's
3712// API operation ListVerifiedEmailAddresses for usage and error information.
3713// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ListVerifiedEmailAddresses
3714func (c *SES) ListVerifiedEmailAddresses(input *ListVerifiedEmailAddressesInput) (*ListVerifiedEmailAddressesOutput, error) {
3715	req, out := c.ListVerifiedEmailAddressesRequest(input)
3716	return out, req.Send()
3717}
3718
3719// ListVerifiedEmailAddressesWithContext is the same as ListVerifiedEmailAddresses with the addition of
3720// the ability to pass a context and additional request options.
3721//
3722// See ListVerifiedEmailAddresses for details on how to use this API operation.
3723//
3724// The context must be non-nil and will be used for request cancellation. If
3725// the context is nil a panic will occur. In the future the SDK may create
3726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3727// for more information on using Contexts.
3728func (c *SES) ListVerifiedEmailAddressesWithContext(ctx aws.Context, input *ListVerifiedEmailAddressesInput, opts ...request.Option) (*ListVerifiedEmailAddressesOutput, error) {
3729	req, out := c.ListVerifiedEmailAddressesRequest(input)
3730	req.SetContext(ctx)
3731	req.ApplyOptions(opts...)
3732	return out, req.Send()
3733}
3734
3735const opPutConfigurationSetDeliveryOptions = "PutConfigurationSetDeliveryOptions"
3736
3737// PutConfigurationSetDeliveryOptionsRequest generates a "aws/request.Request" representing the
3738// client's request for the PutConfigurationSetDeliveryOptions operation. The "output" return
3739// value will be populated with the request's response once the request completes
3740// successfully.
3741//
3742// Use "Send" method on the returned Request to send the API call to the service.
3743// the "output" return value is not valid until after Send returns without error.
3744//
3745// See PutConfigurationSetDeliveryOptions for more information on using the PutConfigurationSetDeliveryOptions
3746// API call, and error handling.
3747//
3748// This method is useful when you want to inject custom logic or configuration
3749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3750//
3751//
3752//    // Example sending a request using the PutConfigurationSetDeliveryOptionsRequest method.
3753//    req, resp := client.PutConfigurationSetDeliveryOptionsRequest(params)
3754//
3755//    err := req.Send()
3756//    if err == nil { // resp is now filled
3757//        fmt.Println(resp)
3758//    }
3759//
3760// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutConfigurationSetDeliveryOptions
3761func (c *SES) PutConfigurationSetDeliveryOptionsRequest(input *PutConfigurationSetDeliveryOptionsInput) (req *request.Request, output *PutConfigurationSetDeliveryOptionsOutput) {
3762	op := &request.Operation{
3763		Name:       opPutConfigurationSetDeliveryOptions,
3764		HTTPMethod: "POST",
3765		HTTPPath:   "/",
3766	}
3767
3768	if input == nil {
3769		input = &PutConfigurationSetDeliveryOptionsInput{}
3770	}
3771
3772	output = &PutConfigurationSetDeliveryOptionsOutput{}
3773	req = c.newRequest(op, input, output)
3774	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3775	return
3776}
3777
3778// PutConfigurationSetDeliveryOptions API operation for Amazon Simple Email Service.
3779//
3780// Adds or updates the delivery options for a configuration set.
3781//
3782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3783// with awserr.Error's Code and Message methods to get detailed information about
3784// the error.
3785//
3786// See the AWS API reference guide for Amazon Simple Email Service's
3787// API operation PutConfigurationSetDeliveryOptions for usage and error information.
3788//
3789// Returned Error Codes:
3790//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
3791//   Indicates that the configuration set does not exist.
3792//
3793//   * ErrCodeInvalidDeliveryOptionsException "InvalidDeliveryOptions"
3794//   Indicates that provided delivery option is invalid.
3795//
3796// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutConfigurationSetDeliveryOptions
3797func (c *SES) PutConfigurationSetDeliveryOptions(input *PutConfigurationSetDeliveryOptionsInput) (*PutConfigurationSetDeliveryOptionsOutput, error) {
3798	req, out := c.PutConfigurationSetDeliveryOptionsRequest(input)
3799	return out, req.Send()
3800}
3801
3802// PutConfigurationSetDeliveryOptionsWithContext is the same as PutConfigurationSetDeliveryOptions with the addition of
3803// the ability to pass a context and additional request options.
3804//
3805// See PutConfigurationSetDeliveryOptions for details on how to use this API operation.
3806//
3807// The context must be non-nil and will be used for request cancellation. If
3808// the context is nil a panic will occur. In the future the SDK may create
3809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3810// for more information on using Contexts.
3811func (c *SES) PutConfigurationSetDeliveryOptionsWithContext(ctx aws.Context, input *PutConfigurationSetDeliveryOptionsInput, opts ...request.Option) (*PutConfigurationSetDeliveryOptionsOutput, error) {
3812	req, out := c.PutConfigurationSetDeliveryOptionsRequest(input)
3813	req.SetContext(ctx)
3814	req.ApplyOptions(opts...)
3815	return out, req.Send()
3816}
3817
3818const opPutIdentityPolicy = "PutIdentityPolicy"
3819
3820// PutIdentityPolicyRequest generates a "aws/request.Request" representing the
3821// client's request for the PutIdentityPolicy operation. The "output" return
3822// value will be populated with the request's response once the request completes
3823// successfully.
3824//
3825// Use "Send" method on the returned Request to send the API call to the service.
3826// the "output" return value is not valid until after Send returns without error.
3827//
3828// See PutIdentityPolicy for more information on using the PutIdentityPolicy
3829// API call, and error handling.
3830//
3831// This method is useful when you want to inject custom logic or configuration
3832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3833//
3834//
3835//    // Example sending a request using the PutIdentityPolicyRequest method.
3836//    req, resp := client.PutIdentityPolicyRequest(params)
3837//
3838//    err := req.Send()
3839//    if err == nil { // resp is now filled
3840//        fmt.Println(resp)
3841//    }
3842//
3843// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutIdentityPolicy
3844func (c *SES) PutIdentityPolicyRequest(input *PutIdentityPolicyInput) (req *request.Request, output *PutIdentityPolicyOutput) {
3845	op := &request.Operation{
3846		Name:       opPutIdentityPolicy,
3847		HTTPMethod: "POST",
3848		HTTPPath:   "/",
3849	}
3850
3851	if input == nil {
3852		input = &PutIdentityPolicyInput{}
3853	}
3854
3855	output = &PutIdentityPolicyOutput{}
3856	req = c.newRequest(op, input, output)
3857	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3858	return
3859}
3860
3861// PutIdentityPolicy API operation for Amazon Simple Email Service.
3862//
3863// Adds or updates a sending authorization policy for the specified identity
3864// (an email address or a domain).
3865//
3866// This API is for the identity owner only. If you have not verified the identity,
3867// this API will return an error.
3868//
3869// Sending authorization is a feature that enables an identity owner to authorize
3870// other senders to use its identities. For information about using sending
3871// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
3872//
3873// You can execute this operation no more than once per second.
3874//
3875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3876// with awserr.Error's Code and Message methods to get detailed information about
3877// the error.
3878//
3879// See the AWS API reference guide for Amazon Simple Email Service's
3880// API operation PutIdentityPolicy for usage and error information.
3881//
3882// Returned Error Codes:
3883//   * ErrCodeInvalidPolicyException "InvalidPolicy"
3884//   Indicates that the provided policy is invalid. Check the error stack for
3885//   more information about what caused the error.
3886//
3887// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutIdentityPolicy
3888func (c *SES) PutIdentityPolicy(input *PutIdentityPolicyInput) (*PutIdentityPolicyOutput, error) {
3889	req, out := c.PutIdentityPolicyRequest(input)
3890	return out, req.Send()
3891}
3892
3893// PutIdentityPolicyWithContext is the same as PutIdentityPolicy with the addition of
3894// the ability to pass a context and additional request options.
3895//
3896// See PutIdentityPolicy for details on how to use this API operation.
3897//
3898// The context must be non-nil and will be used for request cancellation. If
3899// the context is nil a panic will occur. In the future the SDK may create
3900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3901// for more information on using Contexts.
3902func (c *SES) PutIdentityPolicyWithContext(ctx aws.Context, input *PutIdentityPolicyInput, opts ...request.Option) (*PutIdentityPolicyOutput, error) {
3903	req, out := c.PutIdentityPolicyRequest(input)
3904	req.SetContext(ctx)
3905	req.ApplyOptions(opts...)
3906	return out, req.Send()
3907}
3908
3909const opReorderReceiptRuleSet = "ReorderReceiptRuleSet"
3910
3911// ReorderReceiptRuleSetRequest generates a "aws/request.Request" representing the
3912// client's request for the ReorderReceiptRuleSet operation. The "output" return
3913// value will be populated with the request's response once the request completes
3914// successfully.
3915//
3916// Use "Send" method on the returned Request to send the API call to the service.
3917// the "output" return value is not valid until after Send returns without error.
3918//
3919// See ReorderReceiptRuleSet for more information on using the ReorderReceiptRuleSet
3920// API call, and error handling.
3921//
3922// This method is useful when you want to inject custom logic or configuration
3923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3924//
3925//
3926//    // Example sending a request using the ReorderReceiptRuleSetRequest method.
3927//    req, resp := client.ReorderReceiptRuleSetRequest(params)
3928//
3929//    err := req.Send()
3930//    if err == nil { // resp is now filled
3931//        fmt.Println(resp)
3932//    }
3933//
3934// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ReorderReceiptRuleSet
3935func (c *SES) ReorderReceiptRuleSetRequest(input *ReorderReceiptRuleSetInput) (req *request.Request, output *ReorderReceiptRuleSetOutput) {
3936	op := &request.Operation{
3937		Name:       opReorderReceiptRuleSet,
3938		HTTPMethod: "POST",
3939		HTTPPath:   "/",
3940	}
3941
3942	if input == nil {
3943		input = &ReorderReceiptRuleSetInput{}
3944	}
3945
3946	output = &ReorderReceiptRuleSetOutput{}
3947	req = c.newRequest(op, input, output)
3948	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3949	return
3950}
3951
3952// ReorderReceiptRuleSet API operation for Amazon Simple Email Service.
3953//
3954// Reorders the receipt rules within a receipt rule set.
3955//
3956// All of the rules in the rule set must be represented in this request. That
3957// is, this API will return an error if the reorder request doesn't explicitly
3958// position all of the rules.
3959//
3960// For information about managing receipt rule sets, see the Amazon SES Developer
3961// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html).
3962//
3963// You can execute this operation no more than once per second.
3964//
3965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3966// with awserr.Error's Code and Message methods to get detailed information about
3967// the error.
3968//
3969// See the AWS API reference guide for Amazon Simple Email Service's
3970// API operation ReorderReceiptRuleSet for usage and error information.
3971//
3972// Returned Error Codes:
3973//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
3974//   Indicates that the provided receipt rule set does not exist.
3975//
3976//   * ErrCodeRuleDoesNotExistException "RuleDoesNotExist"
3977//   Indicates that the provided receipt rule does not exist.
3978//
3979// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ReorderReceiptRuleSet
3980func (c *SES) ReorderReceiptRuleSet(input *ReorderReceiptRuleSetInput) (*ReorderReceiptRuleSetOutput, error) {
3981	req, out := c.ReorderReceiptRuleSetRequest(input)
3982	return out, req.Send()
3983}
3984
3985// ReorderReceiptRuleSetWithContext is the same as ReorderReceiptRuleSet with the addition of
3986// the ability to pass a context and additional request options.
3987//
3988// See ReorderReceiptRuleSet for details on how to use this API operation.
3989//
3990// The context must be non-nil and will be used for request cancellation. If
3991// the context is nil a panic will occur. In the future the SDK may create
3992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3993// for more information on using Contexts.
3994func (c *SES) ReorderReceiptRuleSetWithContext(ctx aws.Context, input *ReorderReceiptRuleSetInput, opts ...request.Option) (*ReorderReceiptRuleSetOutput, error) {
3995	req, out := c.ReorderReceiptRuleSetRequest(input)
3996	req.SetContext(ctx)
3997	req.ApplyOptions(opts...)
3998	return out, req.Send()
3999}
4000
4001const opSendBounce = "SendBounce"
4002
4003// SendBounceRequest generates a "aws/request.Request" representing the
4004// client's request for the SendBounce operation. The "output" return
4005// value will be populated with the request's response once the request completes
4006// successfully.
4007//
4008// Use "Send" method on the returned Request to send the API call to the service.
4009// the "output" return value is not valid until after Send returns without error.
4010//
4011// See SendBounce for more information on using the SendBounce
4012// API call, and error handling.
4013//
4014// This method is useful when you want to inject custom logic or configuration
4015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4016//
4017//
4018//    // Example sending a request using the SendBounceRequest method.
4019//    req, resp := client.SendBounceRequest(params)
4020//
4021//    err := req.Send()
4022//    if err == nil { // resp is now filled
4023//        fmt.Println(resp)
4024//    }
4025//
4026// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounce
4027func (c *SES) SendBounceRequest(input *SendBounceInput) (req *request.Request, output *SendBounceOutput) {
4028	op := &request.Operation{
4029		Name:       opSendBounce,
4030		HTTPMethod: "POST",
4031		HTTPPath:   "/",
4032	}
4033
4034	if input == nil {
4035		input = &SendBounceInput{}
4036	}
4037
4038	output = &SendBounceOutput{}
4039	req = c.newRequest(op, input, output)
4040	return
4041}
4042
4043// SendBounce API operation for Amazon Simple Email Service.
4044//
4045// Generates and sends a bounce message to the sender of an email you received
4046// through Amazon SES. You can only use this API on an email up to 24 hours
4047// after you receive it.
4048//
4049// You cannot use this API to send generic bounces for mail that was not received
4050// by Amazon SES.
4051//
4052// For information about receiving email through Amazon SES, see the Amazon
4053// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
4054//
4055// You can execute this operation no more than once per second.
4056//
4057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4058// with awserr.Error's Code and Message methods to get detailed information about
4059// the error.
4060//
4061// See the AWS API reference guide for Amazon Simple Email Service's
4062// API operation SendBounce for usage and error information.
4063//
4064// Returned Error Codes:
4065//   * ErrCodeMessageRejected "MessageRejected"
4066//   Indicates that the action failed, and the message could not be sent. Check
4067//   the error stack for more information about what caused the error.
4068//
4069// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounce
4070func (c *SES) SendBounce(input *SendBounceInput) (*SendBounceOutput, error) {
4071	req, out := c.SendBounceRequest(input)
4072	return out, req.Send()
4073}
4074
4075// SendBounceWithContext is the same as SendBounce with the addition of
4076// the ability to pass a context and additional request options.
4077//
4078// See SendBounce for details on how to use this API operation.
4079//
4080// The context must be non-nil and will be used for request cancellation. If
4081// the context is nil a panic will occur. In the future the SDK may create
4082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4083// for more information on using Contexts.
4084func (c *SES) SendBounceWithContext(ctx aws.Context, input *SendBounceInput, opts ...request.Option) (*SendBounceOutput, error) {
4085	req, out := c.SendBounceRequest(input)
4086	req.SetContext(ctx)
4087	req.ApplyOptions(opts...)
4088	return out, req.Send()
4089}
4090
4091const opSendBulkTemplatedEmail = "SendBulkTemplatedEmail"
4092
4093// SendBulkTemplatedEmailRequest generates a "aws/request.Request" representing the
4094// client's request for the SendBulkTemplatedEmail operation. The "output" return
4095// value will be populated with the request's response once the request completes
4096// successfully.
4097//
4098// Use "Send" method on the returned Request to send the API call to the service.
4099// the "output" return value is not valid until after Send returns without error.
4100//
4101// See SendBulkTemplatedEmail for more information on using the SendBulkTemplatedEmail
4102// API call, and error handling.
4103//
4104// This method is useful when you want to inject custom logic or configuration
4105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4106//
4107//
4108//    // Example sending a request using the SendBulkTemplatedEmailRequest method.
4109//    req, resp := client.SendBulkTemplatedEmailRequest(params)
4110//
4111//    err := req.Send()
4112//    if err == nil { // resp is now filled
4113//        fmt.Println(resp)
4114//    }
4115//
4116// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmail
4117func (c *SES) SendBulkTemplatedEmailRequest(input *SendBulkTemplatedEmailInput) (req *request.Request, output *SendBulkTemplatedEmailOutput) {
4118	op := &request.Operation{
4119		Name:       opSendBulkTemplatedEmail,
4120		HTTPMethod: "POST",
4121		HTTPPath:   "/",
4122	}
4123
4124	if input == nil {
4125		input = &SendBulkTemplatedEmailInput{}
4126	}
4127
4128	output = &SendBulkTemplatedEmailOutput{}
4129	req = c.newRequest(op, input, output)
4130	return
4131}
4132
4133// SendBulkTemplatedEmail API operation for Amazon Simple Email Service.
4134//
4135// Composes an email message to multiple destinations. The message body is created
4136// using an email template.
4137//
4138// In order to send email using the SendBulkTemplatedEmail operation, your call
4139// to the API must meet the following requirements:
4140//
4141//    * The call must refer to an existing email template. You can create email
4142//    templates using the CreateTemplate operation.
4143//
4144//    * The message must be sent from a verified email address or domain.
4145//
4146//    * If your account is still in the Amazon SES sandbox, you may only send
4147//    to verified addresses or domains, or to email addresses associated with
4148//    the Amazon SES Mailbox Simulator. For more information, see Verifying
4149//    Email Addresses and Domains (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html)
4150//    in the Amazon SES Developer Guide.
4151//
4152//    * The maximum message size is 10 MB.
4153//
4154//    * Each Destination parameter must include at least one recipient email
4155//    address. The recipient address can be a To: address, a CC: address, or
4156//    a BCC: address. If a recipient email address is invalid (that is, it is
4157//    not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire
4158//    message will be rejected, even if the message contains other recipients
4159//    that are valid.
4160//
4161//    * The message may not include more than 50 recipients, across the To:,
4162//    CC: and BCC: fields. If you need to send an email message to a larger
4163//    audience, you can divide your recipient list into groups of 50 or fewer,
4164//    and then call the SendBulkTemplatedEmail operation several times to send
4165//    the message to each group.
4166//
4167//    * The number of destinations you can contact in a single call to the API
4168//    may be limited by your account's maximum sending rate.
4169//
4170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4171// with awserr.Error's Code and Message methods to get detailed information about
4172// the error.
4173//
4174// See the AWS API reference guide for Amazon Simple Email Service's
4175// API operation SendBulkTemplatedEmail for usage and error information.
4176//
4177// Returned Error Codes:
4178//   * ErrCodeMessageRejected "MessageRejected"
4179//   Indicates that the action failed, and the message could not be sent. Check
4180//   the error stack for more information about what caused the error.
4181//
4182//   * ErrCodeMailFromDomainNotVerifiedException "MailFromDomainNotVerifiedException"
4183//   Indicates that the message could not be sent because Amazon SES could not
4184//   read the MX record required to use the specified MAIL FROM domain. For information
4185//   about editing the custom MAIL FROM domain settings for an identity, see the
4186//   Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-edit.html).
4187//
4188//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
4189//   Indicates that the configuration set does not exist.
4190//
4191//   * ErrCodeTemplateDoesNotExistException "TemplateDoesNotExist"
4192//   Indicates that the Template object you specified does not exist in your Amazon
4193//   SES account.
4194//
4195//   * ErrCodeConfigurationSetSendingPausedException "ConfigurationSetSendingPausedException"
4196//   Indicates that email sending is disabled for the configuration set.
4197//
4198//   You can enable or disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled.
4199//
4200//   * ErrCodeAccountSendingPausedException "AccountSendingPausedException"
4201//   Indicates that email sending is disabled for your entire Amazon SES account.
4202//
4203//   You can enable or disable email sending for your Amazon SES account using
4204//   UpdateAccountSendingEnabled.
4205//
4206// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBulkTemplatedEmail
4207func (c *SES) SendBulkTemplatedEmail(input *SendBulkTemplatedEmailInput) (*SendBulkTemplatedEmailOutput, error) {
4208	req, out := c.SendBulkTemplatedEmailRequest(input)
4209	return out, req.Send()
4210}
4211
4212// SendBulkTemplatedEmailWithContext is the same as SendBulkTemplatedEmail with the addition of
4213// the ability to pass a context and additional request options.
4214//
4215// See SendBulkTemplatedEmail for details on how to use this API operation.
4216//
4217// The context must be non-nil and will be used for request cancellation. If
4218// the context is nil a panic will occur. In the future the SDK may create
4219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4220// for more information on using Contexts.
4221func (c *SES) SendBulkTemplatedEmailWithContext(ctx aws.Context, input *SendBulkTemplatedEmailInput, opts ...request.Option) (*SendBulkTemplatedEmailOutput, error) {
4222	req, out := c.SendBulkTemplatedEmailRequest(input)
4223	req.SetContext(ctx)
4224	req.ApplyOptions(opts...)
4225	return out, req.Send()
4226}
4227
4228const opSendCustomVerificationEmail = "SendCustomVerificationEmail"
4229
4230// SendCustomVerificationEmailRequest generates a "aws/request.Request" representing the
4231// client's request for the SendCustomVerificationEmail operation. The "output" return
4232// value will be populated with the request's response once the request completes
4233// successfully.
4234//
4235// Use "Send" method on the returned Request to send the API call to the service.
4236// the "output" return value is not valid until after Send returns without error.
4237//
4238// See SendCustomVerificationEmail for more information on using the SendCustomVerificationEmail
4239// API call, and error handling.
4240//
4241// This method is useful when you want to inject custom logic or configuration
4242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4243//
4244//
4245//    // Example sending a request using the SendCustomVerificationEmailRequest method.
4246//    req, resp := client.SendCustomVerificationEmailRequest(params)
4247//
4248//    err := req.Send()
4249//    if err == nil { // resp is now filled
4250//        fmt.Println(resp)
4251//    }
4252//
4253// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendCustomVerificationEmail
4254func (c *SES) SendCustomVerificationEmailRequest(input *SendCustomVerificationEmailInput) (req *request.Request, output *SendCustomVerificationEmailOutput) {
4255	op := &request.Operation{
4256		Name:       opSendCustomVerificationEmail,
4257		HTTPMethod: "POST",
4258		HTTPPath:   "/",
4259	}
4260
4261	if input == nil {
4262		input = &SendCustomVerificationEmailInput{}
4263	}
4264
4265	output = &SendCustomVerificationEmailOutput{}
4266	req = c.newRequest(op, input, output)
4267	return
4268}
4269
4270// SendCustomVerificationEmail API operation for Amazon Simple Email Service.
4271//
4272// Adds an email address to the list of identities for your Amazon SES account
4273// in the current AWS Region and attempts to verify it. As a result of executing
4274// this operation, a customized verification email is sent to the specified
4275// address.
4276//
4277// To use this operation, you must first create a custom verification email
4278// template. For more information about creating and using custom verification
4279// email templates, see Using Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
4280// in the Amazon SES Developer Guide.
4281//
4282// You can execute this operation no more than once per second.
4283//
4284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4285// with awserr.Error's Code and Message methods to get detailed information about
4286// the error.
4287//
4288// See the AWS API reference guide for Amazon Simple Email Service's
4289// API operation SendCustomVerificationEmail for usage and error information.
4290//
4291// Returned Error Codes:
4292//   * ErrCodeMessageRejected "MessageRejected"
4293//   Indicates that the action failed, and the message could not be sent. Check
4294//   the error stack for more information about what caused the error.
4295//
4296//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
4297//   Indicates that the configuration set does not exist.
4298//
4299//   * ErrCodeCustomVerificationEmailTemplateDoesNotExistException "CustomVerificationEmailTemplateDoesNotExist"
4300//   Indicates that a custom verification email template with the name you specified
4301//   does not exist.
4302//
4303//   * ErrCodeFromEmailAddressNotVerifiedException "FromEmailAddressNotVerified"
4304//   Indicates that the sender address specified for a custom verification email
4305//   is not verified, and is therefore not eligible to send the custom verification
4306//   email.
4307//
4308//   * ErrCodeProductionAccessNotGrantedException "ProductionAccessNotGranted"
4309//   Indicates that the account has not been granted production access.
4310//
4311// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendCustomVerificationEmail
4312func (c *SES) SendCustomVerificationEmail(input *SendCustomVerificationEmailInput) (*SendCustomVerificationEmailOutput, error) {
4313	req, out := c.SendCustomVerificationEmailRequest(input)
4314	return out, req.Send()
4315}
4316
4317// SendCustomVerificationEmailWithContext is the same as SendCustomVerificationEmail with the addition of
4318// the ability to pass a context and additional request options.
4319//
4320// See SendCustomVerificationEmail for details on how to use this API operation.
4321//
4322// The context must be non-nil and will be used for request cancellation. If
4323// the context is nil a panic will occur. In the future the SDK may create
4324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4325// for more information on using Contexts.
4326func (c *SES) SendCustomVerificationEmailWithContext(ctx aws.Context, input *SendCustomVerificationEmailInput, opts ...request.Option) (*SendCustomVerificationEmailOutput, error) {
4327	req, out := c.SendCustomVerificationEmailRequest(input)
4328	req.SetContext(ctx)
4329	req.ApplyOptions(opts...)
4330	return out, req.Send()
4331}
4332
4333const opSendEmail = "SendEmail"
4334
4335// SendEmailRequest generates a "aws/request.Request" representing the
4336// client's request for the SendEmail operation. The "output" return
4337// value will be populated with the request's response once the request completes
4338// successfully.
4339//
4340// Use "Send" method on the returned Request to send the API call to the service.
4341// the "output" return value is not valid until after Send returns without error.
4342//
4343// See SendEmail for more information on using the SendEmail
4344// API call, and error handling.
4345//
4346// This method is useful when you want to inject custom logic or configuration
4347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4348//
4349//
4350//    // Example sending a request using the SendEmailRequest method.
4351//    req, resp := client.SendEmailRequest(params)
4352//
4353//    err := req.Send()
4354//    if err == nil { // resp is now filled
4355//        fmt.Println(resp)
4356//    }
4357//
4358// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendEmail
4359func (c *SES) SendEmailRequest(input *SendEmailInput) (req *request.Request, output *SendEmailOutput) {
4360	op := &request.Operation{
4361		Name:       opSendEmail,
4362		HTTPMethod: "POST",
4363		HTTPPath:   "/",
4364	}
4365
4366	if input == nil {
4367		input = &SendEmailInput{}
4368	}
4369
4370	output = &SendEmailOutput{}
4371	req = c.newRequest(op, input, output)
4372	return
4373}
4374
4375// SendEmail API operation for Amazon Simple Email Service.
4376//
4377// Composes an email message and immediately queues it for sending. In order
4378// to send email using the SendEmail operation, your message must meet the following
4379// requirements:
4380//
4381//    * The message must be sent from a verified email address or domain. If
4382//    you attempt to send email using a non-verified address or domain, the
4383//    operation will result in an "Email address not verified" error.
4384//
4385//    * If your account is still in the Amazon SES sandbox, you may only send
4386//    to verified addresses or domains, or to email addresses associated with
4387//    the Amazon SES Mailbox Simulator. For more information, see Verifying
4388//    Email Addresses and Domains (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html)
4389//    in the Amazon SES Developer Guide.
4390//
4391//    * The maximum message size is 10 MB.
4392//
4393//    * The message must include at least one recipient email address. The recipient
4394//    address can be a To: address, a CC: address, or a BCC: address. If a recipient
4395//    email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain),
4396//    the entire message will be rejected, even if the message contains other
4397//    recipients that are valid.
4398//
4399//    * The message may not include more than 50 recipients, across the To:,
4400//    CC: and BCC: fields. If you need to send an email message to a larger
4401//    audience, you can divide your recipient list into groups of 50 or fewer,
4402//    and then call the SendEmail operation several times to send the message
4403//    to each group.
4404//
4405// For every message that you send, the total number of recipients (including
4406// each recipient in the To:, CC: and BCC: fields) is counted against the maximum
4407// number of emails you can send in a 24-hour period (your sending quota). For
4408// more information about sending quotas in Amazon SES, see Managing Your Amazon
4409// SES Sending Limits (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html)
4410// in the Amazon SES Developer Guide.
4411//
4412// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4413// with awserr.Error's Code and Message methods to get detailed information about
4414// the error.
4415//
4416// See the AWS API reference guide for Amazon Simple Email Service's
4417// API operation SendEmail for usage and error information.
4418//
4419// Returned Error Codes:
4420//   * ErrCodeMessageRejected "MessageRejected"
4421//   Indicates that the action failed, and the message could not be sent. Check
4422//   the error stack for more information about what caused the error.
4423//
4424//   * ErrCodeMailFromDomainNotVerifiedException "MailFromDomainNotVerifiedException"
4425//   Indicates that the message could not be sent because Amazon SES could not
4426//   read the MX record required to use the specified MAIL FROM domain. For information
4427//   about editing the custom MAIL FROM domain settings for an identity, see the
4428//   Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-edit.html).
4429//
4430//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
4431//   Indicates that the configuration set does not exist.
4432//
4433//   * ErrCodeConfigurationSetSendingPausedException "ConfigurationSetSendingPausedException"
4434//   Indicates that email sending is disabled for the configuration set.
4435//
4436//   You can enable or disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled.
4437//
4438//   * ErrCodeAccountSendingPausedException "AccountSendingPausedException"
4439//   Indicates that email sending is disabled for your entire Amazon SES account.
4440//
4441//   You can enable or disable email sending for your Amazon SES account using
4442//   UpdateAccountSendingEnabled.
4443//
4444// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendEmail
4445func (c *SES) SendEmail(input *SendEmailInput) (*SendEmailOutput, error) {
4446	req, out := c.SendEmailRequest(input)
4447	return out, req.Send()
4448}
4449
4450// SendEmailWithContext is the same as SendEmail with the addition of
4451// the ability to pass a context and additional request options.
4452//
4453// See SendEmail for details on how to use this API operation.
4454//
4455// The context must be non-nil and will be used for request cancellation. If
4456// the context is nil a panic will occur. In the future the SDK may create
4457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4458// for more information on using Contexts.
4459func (c *SES) SendEmailWithContext(ctx aws.Context, input *SendEmailInput, opts ...request.Option) (*SendEmailOutput, error) {
4460	req, out := c.SendEmailRequest(input)
4461	req.SetContext(ctx)
4462	req.ApplyOptions(opts...)
4463	return out, req.Send()
4464}
4465
4466const opSendRawEmail = "SendRawEmail"
4467
4468// SendRawEmailRequest generates a "aws/request.Request" representing the
4469// client's request for the SendRawEmail operation. The "output" return
4470// value will be populated with the request's response once the request completes
4471// successfully.
4472//
4473// Use "Send" method on the returned Request to send the API call to the service.
4474// the "output" return value is not valid until after Send returns without error.
4475//
4476// See SendRawEmail for more information on using the SendRawEmail
4477// API call, and error handling.
4478//
4479// This method is useful when you want to inject custom logic or configuration
4480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4481//
4482//
4483//    // Example sending a request using the SendRawEmailRequest method.
4484//    req, resp := client.SendRawEmailRequest(params)
4485//
4486//    err := req.Send()
4487//    if err == nil { // resp is now filled
4488//        fmt.Println(resp)
4489//    }
4490//
4491// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendRawEmail
4492func (c *SES) SendRawEmailRequest(input *SendRawEmailInput) (req *request.Request, output *SendRawEmailOutput) {
4493	op := &request.Operation{
4494		Name:       opSendRawEmail,
4495		HTTPMethod: "POST",
4496		HTTPPath:   "/",
4497	}
4498
4499	if input == nil {
4500		input = &SendRawEmailInput{}
4501	}
4502
4503	output = &SendRawEmailOutput{}
4504	req = c.newRequest(op, input, output)
4505	return
4506}
4507
4508// SendRawEmail API operation for Amazon Simple Email Service.
4509//
4510// Composes an email message and immediately queues it for sending.
4511//
4512// This operation is more flexible than the SendEmail API operation. When you
4513// use the SendRawEmail operation, you can specify the headers of the message
4514// as well as its content. This flexibility is useful, for example, when you
4515// want to send a multipart MIME email (such a message that contains both a
4516// text and an HTML version). You can also use this operation to send messages
4517// that include attachments.
4518//
4519// The SendRawEmail operation has the following requirements:
4520//
4521//    * You can only send email from verified email addresses or domains (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
4522//    If you try to send email from an address that isn't verified, the operation
4523//    results in an "Email address not verified" error.
4524//
4525//    * If your account is still in the Amazon SES sandbox (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html),
4526//    you can only send email to other verified addresses in your account, or
4527//    to addresses that are associated with the Amazon SES mailbox simulator
4528//    (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mailbox-simulator.html).
4529//
4530//    * The maximum message size, including attachments, is 10 MB.
4531//
4532//    * Each message has to include at least one recipient address. A recipient
4533//    address includes any address on the To:, CC:, or BCC: lines.
4534//
4535//    * If you send a single message to more than one recipient address, and
4536//    one of the recipient addresses isn't in a valid format (that is, it's
4537//    not in the format UserName@[SubDomain.]Domain.TopLevelDomain), Amazon
4538//    SES rejects the entire message, even if the other addresses are valid.
4539//
4540//    * Each message can include up to 50 recipient addresses across the To:,
4541//    CC:, or BCC: lines. If you need to send a single message to more than
4542//    50 recipients, you have to split the list of recipient addresses into
4543//    groups of less than 50 recipients, and send separate messages to each
4544//    group.
4545//
4546//    * Amazon SES allows you to specify 8-bit Content-Transfer-Encoding for
4547//    MIME message parts. However, if Amazon SES has to modify the contents
4548//    of your message (for example, if you use open and click tracking), 8-bit
4549//    content isn't preserved. For this reason, we highly recommend that you
4550//    encode all content that isn't 7-bit ASCII. For more information, see MIME
4551//    Encoding (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html#send-email-mime-encoding)
4552//    in the Amazon SES Developer Guide.
4553//
4554// Additionally, keep the following considerations in mind when using the SendRawEmail
4555// operation:
4556//
4557//    * Although you can customize the message headers when using the SendRawEmail
4558//    operation, Amazon SES will automatically apply its own Message-ID and
4559//    Date headers; if you passed these headers when creating the message, they
4560//    will be overwritten by the values that Amazon SES provides.
4561//
4562//    * If you are using sending authorization to send on behalf of another
4563//    user, SendRawEmail enables you to specify the cross-account identity for
4564//    the email's Source, From, and Return-Path parameters in one of two ways:
4565//    you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn
4566//    to the API, or you can include the following X-headers in the header of
4567//    your raw email: X-SES-SOURCE-ARN X-SES-FROM-ARN X-SES-RETURN-PATH-ARN
4568//    Don't include these X-headers in the DKIM signature. Amazon SES removes
4569//    these before it sends the email. If you only specify the SourceIdentityArn
4570//    parameter, Amazon SES sets the From and Return-Path addresses to the same
4571//    identity that you specified. For more information about sending authorization,
4572//    see the Using Sending Authorization with Amazon SES (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html)
4573//    in the Amazon SES Developer Guide.
4574//
4575//    * For every message that you send, the total number of recipients (including
4576//    each recipient in the To:, CC: and BCC: fields) is counted against the
4577//    maximum number of emails you can send in a 24-hour period (your sending
4578//    quota). For more information about sending quotas in Amazon SES, see Managing
4579//    Your Amazon SES Sending Limits (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html)
4580//    in the Amazon SES Developer Guide.
4581//
4582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4583// with awserr.Error's Code and Message methods to get detailed information about
4584// the error.
4585//
4586// See the AWS API reference guide for Amazon Simple Email Service's
4587// API operation SendRawEmail for usage and error information.
4588//
4589// Returned Error Codes:
4590//   * ErrCodeMessageRejected "MessageRejected"
4591//   Indicates that the action failed, and the message could not be sent. Check
4592//   the error stack for more information about what caused the error.
4593//
4594//   * ErrCodeMailFromDomainNotVerifiedException "MailFromDomainNotVerifiedException"
4595//   Indicates that the message could not be sent because Amazon SES could not
4596//   read the MX record required to use the specified MAIL FROM domain. For information
4597//   about editing the custom MAIL FROM domain settings for an identity, see the
4598//   Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-edit.html).
4599//
4600//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
4601//   Indicates that the configuration set does not exist.
4602//
4603//   * ErrCodeConfigurationSetSendingPausedException "ConfigurationSetSendingPausedException"
4604//   Indicates that email sending is disabled for the configuration set.
4605//
4606//   You can enable or disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled.
4607//
4608//   * ErrCodeAccountSendingPausedException "AccountSendingPausedException"
4609//   Indicates that email sending is disabled for your entire Amazon SES account.
4610//
4611//   You can enable or disable email sending for your Amazon SES account using
4612//   UpdateAccountSendingEnabled.
4613//
4614// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendRawEmail
4615func (c *SES) SendRawEmail(input *SendRawEmailInput) (*SendRawEmailOutput, error) {
4616	req, out := c.SendRawEmailRequest(input)
4617	return out, req.Send()
4618}
4619
4620// SendRawEmailWithContext is the same as SendRawEmail with the addition of
4621// the ability to pass a context and additional request options.
4622//
4623// See SendRawEmail for details on how to use this API operation.
4624//
4625// The context must be non-nil and will be used for request cancellation. If
4626// the context is nil a panic will occur. In the future the SDK may create
4627// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4628// for more information on using Contexts.
4629func (c *SES) SendRawEmailWithContext(ctx aws.Context, input *SendRawEmailInput, opts ...request.Option) (*SendRawEmailOutput, error) {
4630	req, out := c.SendRawEmailRequest(input)
4631	req.SetContext(ctx)
4632	req.ApplyOptions(opts...)
4633	return out, req.Send()
4634}
4635
4636const opSendTemplatedEmail = "SendTemplatedEmail"
4637
4638// SendTemplatedEmailRequest generates a "aws/request.Request" representing the
4639// client's request for the SendTemplatedEmail operation. The "output" return
4640// value will be populated with the request's response once the request completes
4641// successfully.
4642//
4643// Use "Send" method on the returned Request to send the API call to the service.
4644// the "output" return value is not valid until after Send returns without error.
4645//
4646// See SendTemplatedEmail for more information on using the SendTemplatedEmail
4647// API call, and error handling.
4648//
4649// This method is useful when you want to inject custom logic or configuration
4650// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4651//
4652//
4653//    // Example sending a request using the SendTemplatedEmailRequest method.
4654//    req, resp := client.SendTemplatedEmailRequest(params)
4655//
4656//    err := req.Send()
4657//    if err == nil { // resp is now filled
4658//        fmt.Println(resp)
4659//    }
4660//
4661// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmail
4662func (c *SES) SendTemplatedEmailRequest(input *SendTemplatedEmailInput) (req *request.Request, output *SendTemplatedEmailOutput) {
4663	op := &request.Operation{
4664		Name:       opSendTemplatedEmail,
4665		HTTPMethod: "POST",
4666		HTTPPath:   "/",
4667	}
4668
4669	if input == nil {
4670		input = &SendTemplatedEmailInput{}
4671	}
4672
4673	output = &SendTemplatedEmailOutput{}
4674	req = c.newRequest(op, input, output)
4675	return
4676}
4677
4678// SendTemplatedEmail API operation for Amazon Simple Email Service.
4679//
4680// Composes an email message using an email template and immediately queues
4681// it for sending.
4682//
4683// In order to send email using the SendTemplatedEmail operation, your call
4684// to the API must meet the following requirements:
4685//
4686//    * The call must refer to an existing email template. You can create email
4687//    templates using the CreateTemplate operation.
4688//
4689//    * The message must be sent from a verified email address or domain.
4690//
4691//    * If your account is still in the Amazon SES sandbox, you may only send
4692//    to verified addresses or domains, or to email addresses associated with
4693//    the Amazon SES Mailbox Simulator. For more information, see Verifying
4694//    Email Addresses and Domains (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html)
4695//    in the Amazon SES Developer Guide.
4696//
4697//    * The maximum message size is 10 MB.
4698//
4699//    * Calls to the SendTemplatedEmail operation may only include one Destination
4700//    parameter. A destination is a set of recipients who will receive the same
4701//    version of the email. The Destination parameter can include up to 50 recipients,
4702//    across the To:, CC: and BCC: fields.
4703//
4704//    * The Destination parameter must include at least one recipient email
4705//    address. The recipient address can be a To: address, a CC: address, or
4706//    a BCC: address. If a recipient email address is invalid (that is, it is
4707//    not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire
4708//    message will be rejected, even if the message contains other recipients
4709//    that are valid.
4710//
4711// If your call to the SendTemplatedEmail operation includes all of the required
4712// parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon
4713// SES can't render the email because the template contains errors, it doesn't
4714// send the email. Additionally, because it already accepted the message, Amazon
4715// SES doesn't return a message stating that it was unable to send the email.
4716//
4717// For these reasons, we highly recommend that you set up Amazon SES to send
4718// you notifications when Rendering Failure events occur. For more information,
4719// see Sending Personalized Email Using the Amazon SES API (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html)
4720// in the Amazon Simple Email Service Developer Guide.
4721//
4722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4723// with awserr.Error's Code and Message methods to get detailed information about
4724// the error.
4725//
4726// See the AWS API reference guide for Amazon Simple Email Service's
4727// API operation SendTemplatedEmail for usage and error information.
4728//
4729// Returned Error Codes:
4730//   * ErrCodeMessageRejected "MessageRejected"
4731//   Indicates that the action failed, and the message could not be sent. Check
4732//   the error stack for more information about what caused the error.
4733//
4734//   * ErrCodeMailFromDomainNotVerifiedException "MailFromDomainNotVerifiedException"
4735//   Indicates that the message could not be sent because Amazon SES could not
4736//   read the MX record required to use the specified MAIL FROM domain. For information
4737//   about editing the custom MAIL FROM domain settings for an identity, see the
4738//   Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-edit.html).
4739//
4740//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
4741//   Indicates that the configuration set does not exist.
4742//
4743//   * ErrCodeTemplateDoesNotExistException "TemplateDoesNotExist"
4744//   Indicates that the Template object you specified does not exist in your Amazon
4745//   SES account.
4746//
4747//   * ErrCodeConfigurationSetSendingPausedException "ConfigurationSetSendingPausedException"
4748//   Indicates that email sending is disabled for the configuration set.
4749//
4750//   You can enable or disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled.
4751//
4752//   * ErrCodeAccountSendingPausedException "AccountSendingPausedException"
4753//   Indicates that email sending is disabled for your entire Amazon SES account.
4754//
4755//   You can enable or disable email sending for your Amazon SES account using
4756//   UpdateAccountSendingEnabled.
4757//
4758// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendTemplatedEmail
4759func (c *SES) SendTemplatedEmail(input *SendTemplatedEmailInput) (*SendTemplatedEmailOutput, error) {
4760	req, out := c.SendTemplatedEmailRequest(input)
4761	return out, req.Send()
4762}
4763
4764// SendTemplatedEmailWithContext is the same as SendTemplatedEmail with the addition of
4765// the ability to pass a context and additional request options.
4766//
4767// See SendTemplatedEmail for details on how to use this API operation.
4768//
4769// The context must be non-nil and will be used for request cancellation. If
4770// the context is nil a panic will occur. In the future the SDK may create
4771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4772// for more information on using Contexts.
4773func (c *SES) SendTemplatedEmailWithContext(ctx aws.Context, input *SendTemplatedEmailInput, opts ...request.Option) (*SendTemplatedEmailOutput, error) {
4774	req, out := c.SendTemplatedEmailRequest(input)
4775	req.SetContext(ctx)
4776	req.ApplyOptions(opts...)
4777	return out, req.Send()
4778}
4779
4780const opSetActiveReceiptRuleSet = "SetActiveReceiptRuleSet"
4781
4782// SetActiveReceiptRuleSetRequest generates a "aws/request.Request" representing the
4783// client's request for the SetActiveReceiptRuleSet operation. The "output" return
4784// value will be populated with the request's response once the request completes
4785// successfully.
4786//
4787// Use "Send" method on the returned Request to send the API call to the service.
4788// the "output" return value is not valid until after Send returns without error.
4789//
4790// See SetActiveReceiptRuleSet for more information on using the SetActiveReceiptRuleSet
4791// API call, and error handling.
4792//
4793// This method is useful when you want to inject custom logic or configuration
4794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4795//
4796//
4797//    // Example sending a request using the SetActiveReceiptRuleSetRequest method.
4798//    req, resp := client.SetActiveReceiptRuleSetRequest(params)
4799//
4800//    err := req.Send()
4801//    if err == nil { // resp is now filled
4802//        fmt.Println(resp)
4803//    }
4804//
4805// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetActiveReceiptRuleSet
4806func (c *SES) SetActiveReceiptRuleSetRequest(input *SetActiveReceiptRuleSetInput) (req *request.Request, output *SetActiveReceiptRuleSetOutput) {
4807	op := &request.Operation{
4808		Name:       opSetActiveReceiptRuleSet,
4809		HTTPMethod: "POST",
4810		HTTPPath:   "/",
4811	}
4812
4813	if input == nil {
4814		input = &SetActiveReceiptRuleSetInput{}
4815	}
4816
4817	output = &SetActiveReceiptRuleSetOutput{}
4818	req = c.newRequest(op, input, output)
4819	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4820	return
4821}
4822
4823// SetActiveReceiptRuleSet API operation for Amazon Simple Email Service.
4824//
4825// Sets the specified receipt rule set as the active receipt rule set.
4826//
4827// To disable your email-receiving through Amazon SES completely, you can call
4828// this API with RuleSetName set to null.
4829//
4830// For information about managing receipt rule sets, see the Amazon SES Developer
4831// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html).
4832//
4833// You can execute this operation no more than once per second.
4834//
4835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4836// with awserr.Error's Code and Message methods to get detailed information about
4837// the error.
4838//
4839// See the AWS API reference guide for Amazon Simple Email Service's
4840// API operation SetActiveReceiptRuleSet for usage and error information.
4841//
4842// Returned Error Codes:
4843//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
4844//   Indicates that the provided receipt rule set does not exist.
4845//
4846// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetActiveReceiptRuleSet
4847func (c *SES) SetActiveReceiptRuleSet(input *SetActiveReceiptRuleSetInput) (*SetActiveReceiptRuleSetOutput, error) {
4848	req, out := c.SetActiveReceiptRuleSetRequest(input)
4849	return out, req.Send()
4850}
4851
4852// SetActiveReceiptRuleSetWithContext is the same as SetActiveReceiptRuleSet with the addition of
4853// the ability to pass a context and additional request options.
4854//
4855// See SetActiveReceiptRuleSet for details on how to use this API operation.
4856//
4857// The context must be non-nil and will be used for request cancellation. If
4858// the context is nil a panic will occur. In the future the SDK may create
4859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4860// for more information on using Contexts.
4861func (c *SES) SetActiveReceiptRuleSetWithContext(ctx aws.Context, input *SetActiveReceiptRuleSetInput, opts ...request.Option) (*SetActiveReceiptRuleSetOutput, error) {
4862	req, out := c.SetActiveReceiptRuleSetRequest(input)
4863	req.SetContext(ctx)
4864	req.ApplyOptions(opts...)
4865	return out, req.Send()
4866}
4867
4868const opSetIdentityDkimEnabled = "SetIdentityDkimEnabled"
4869
4870// SetIdentityDkimEnabledRequest generates a "aws/request.Request" representing the
4871// client's request for the SetIdentityDkimEnabled operation. The "output" return
4872// value will be populated with the request's response once the request completes
4873// successfully.
4874//
4875// Use "Send" method on the returned Request to send the API call to the service.
4876// the "output" return value is not valid until after Send returns without error.
4877//
4878// See SetIdentityDkimEnabled for more information on using the SetIdentityDkimEnabled
4879// API call, and error handling.
4880//
4881// This method is useful when you want to inject custom logic or configuration
4882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4883//
4884//
4885//    // Example sending a request using the SetIdentityDkimEnabledRequest method.
4886//    req, resp := client.SetIdentityDkimEnabledRequest(params)
4887//
4888//    err := req.Send()
4889//    if err == nil { // resp is now filled
4890//        fmt.Println(resp)
4891//    }
4892//
4893// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityDkimEnabled
4894func (c *SES) SetIdentityDkimEnabledRequest(input *SetIdentityDkimEnabledInput) (req *request.Request, output *SetIdentityDkimEnabledOutput) {
4895	op := &request.Operation{
4896		Name:       opSetIdentityDkimEnabled,
4897		HTTPMethod: "POST",
4898		HTTPPath:   "/",
4899	}
4900
4901	if input == nil {
4902		input = &SetIdentityDkimEnabledInput{}
4903	}
4904
4905	output = &SetIdentityDkimEnabledOutput{}
4906	req = c.newRequest(op, input, output)
4907	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4908	return
4909}
4910
4911// SetIdentityDkimEnabled API operation for Amazon Simple Email Service.
4912//
4913// Enables or disables Easy DKIM signing of email sent from an identity. If
4914// Easy DKIM signing is enabled for a domain, then Amazon SES uses DKIM to sign
4915// all email that it sends from addresses on that domain. If Easy DKIM signing
4916// is enabled for an email address, then Amazon SES uses DKIM to sign all email
4917// it sends from that address.
4918//
4919// For email addresses (for example, user@example.com), you can only enable
4920// DKIM signing if the corresponding domain (in this case, example.com) has
4921// been set up to use Easy DKIM.
4922//
4923// You can enable DKIM signing for an identity at any time after you start the
4924// verification process for the identity, even if the verification process isn't
4925// complete.
4926//
4927// You can execute this operation no more than once per second.
4928//
4929// For more information about Easy DKIM signing, go to the Amazon SES Developer
4930// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
4931//
4932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4933// with awserr.Error's Code and Message methods to get detailed information about
4934// the error.
4935//
4936// See the AWS API reference guide for Amazon Simple Email Service's
4937// API operation SetIdentityDkimEnabled for usage and error information.
4938// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityDkimEnabled
4939func (c *SES) SetIdentityDkimEnabled(input *SetIdentityDkimEnabledInput) (*SetIdentityDkimEnabledOutput, error) {
4940	req, out := c.SetIdentityDkimEnabledRequest(input)
4941	return out, req.Send()
4942}
4943
4944// SetIdentityDkimEnabledWithContext is the same as SetIdentityDkimEnabled with the addition of
4945// the ability to pass a context and additional request options.
4946//
4947// See SetIdentityDkimEnabled for details on how to use this API operation.
4948//
4949// The context must be non-nil and will be used for request cancellation. If
4950// the context is nil a panic will occur. In the future the SDK may create
4951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4952// for more information on using Contexts.
4953func (c *SES) SetIdentityDkimEnabledWithContext(ctx aws.Context, input *SetIdentityDkimEnabledInput, opts ...request.Option) (*SetIdentityDkimEnabledOutput, error) {
4954	req, out := c.SetIdentityDkimEnabledRequest(input)
4955	req.SetContext(ctx)
4956	req.ApplyOptions(opts...)
4957	return out, req.Send()
4958}
4959
4960const opSetIdentityFeedbackForwardingEnabled = "SetIdentityFeedbackForwardingEnabled"
4961
4962// SetIdentityFeedbackForwardingEnabledRequest generates a "aws/request.Request" representing the
4963// client's request for the SetIdentityFeedbackForwardingEnabled operation. The "output" return
4964// value will be populated with the request's response once the request completes
4965// successfully.
4966//
4967// Use "Send" method on the returned Request to send the API call to the service.
4968// the "output" return value is not valid until after Send returns without error.
4969//
4970// See SetIdentityFeedbackForwardingEnabled for more information on using the SetIdentityFeedbackForwardingEnabled
4971// API call, and error handling.
4972//
4973// This method is useful when you want to inject custom logic or configuration
4974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4975//
4976//
4977//    // Example sending a request using the SetIdentityFeedbackForwardingEnabledRequest method.
4978//    req, resp := client.SetIdentityFeedbackForwardingEnabledRequest(params)
4979//
4980//    err := req.Send()
4981//    if err == nil { // resp is now filled
4982//        fmt.Println(resp)
4983//    }
4984//
4985// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityFeedbackForwardingEnabled
4986func (c *SES) SetIdentityFeedbackForwardingEnabledRequest(input *SetIdentityFeedbackForwardingEnabledInput) (req *request.Request, output *SetIdentityFeedbackForwardingEnabledOutput) {
4987	op := &request.Operation{
4988		Name:       opSetIdentityFeedbackForwardingEnabled,
4989		HTTPMethod: "POST",
4990		HTTPPath:   "/",
4991	}
4992
4993	if input == nil {
4994		input = &SetIdentityFeedbackForwardingEnabledInput{}
4995	}
4996
4997	output = &SetIdentityFeedbackForwardingEnabledOutput{}
4998	req = c.newRequest(op, input, output)
4999	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5000	return
5001}
5002
5003// SetIdentityFeedbackForwardingEnabled API operation for Amazon Simple Email Service.
5004//
5005// Given an identity (an email address or a domain), enables or disables whether
5006// Amazon SES forwards bounce and complaint notifications as email. Feedback
5007// forwarding can only be disabled when Amazon Simple Notification Service (Amazon
5008// SNS) topics are specified for both bounces and complaints.
5009//
5010// Feedback forwarding does not apply to delivery notifications. Delivery notifications
5011// are only available through Amazon SNS.
5012//
5013// You can execute this operation no more than once per second.
5014//
5015// For more information about using notifications with Amazon SES, see the Amazon
5016// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html).
5017//
5018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5019// with awserr.Error's Code and Message methods to get detailed information about
5020// the error.
5021//
5022// See the AWS API reference guide for Amazon Simple Email Service's
5023// API operation SetIdentityFeedbackForwardingEnabled for usage and error information.
5024// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityFeedbackForwardingEnabled
5025func (c *SES) SetIdentityFeedbackForwardingEnabled(input *SetIdentityFeedbackForwardingEnabledInput) (*SetIdentityFeedbackForwardingEnabledOutput, error) {
5026	req, out := c.SetIdentityFeedbackForwardingEnabledRequest(input)
5027	return out, req.Send()
5028}
5029
5030// SetIdentityFeedbackForwardingEnabledWithContext is the same as SetIdentityFeedbackForwardingEnabled with the addition of
5031// the ability to pass a context and additional request options.
5032//
5033// See SetIdentityFeedbackForwardingEnabled for details on how to use this API operation.
5034//
5035// The context must be non-nil and will be used for request cancellation. If
5036// the context is nil a panic will occur. In the future the SDK may create
5037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5038// for more information on using Contexts.
5039func (c *SES) SetIdentityFeedbackForwardingEnabledWithContext(ctx aws.Context, input *SetIdentityFeedbackForwardingEnabledInput, opts ...request.Option) (*SetIdentityFeedbackForwardingEnabledOutput, error) {
5040	req, out := c.SetIdentityFeedbackForwardingEnabledRequest(input)
5041	req.SetContext(ctx)
5042	req.ApplyOptions(opts...)
5043	return out, req.Send()
5044}
5045
5046const opSetIdentityHeadersInNotificationsEnabled = "SetIdentityHeadersInNotificationsEnabled"
5047
5048// SetIdentityHeadersInNotificationsEnabledRequest generates a "aws/request.Request" representing the
5049// client's request for the SetIdentityHeadersInNotificationsEnabled operation. The "output" return
5050// value will be populated with the request's response once the request completes
5051// successfully.
5052//
5053// Use "Send" method on the returned Request to send the API call to the service.
5054// the "output" return value is not valid until after Send returns without error.
5055//
5056// See SetIdentityHeadersInNotificationsEnabled for more information on using the SetIdentityHeadersInNotificationsEnabled
5057// API call, and error handling.
5058//
5059// This method is useful when you want to inject custom logic or configuration
5060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5061//
5062//
5063//    // Example sending a request using the SetIdentityHeadersInNotificationsEnabledRequest method.
5064//    req, resp := client.SetIdentityHeadersInNotificationsEnabledRequest(params)
5065//
5066//    err := req.Send()
5067//    if err == nil { // resp is now filled
5068//        fmt.Println(resp)
5069//    }
5070//
5071// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityHeadersInNotificationsEnabled
5072func (c *SES) SetIdentityHeadersInNotificationsEnabledRequest(input *SetIdentityHeadersInNotificationsEnabledInput) (req *request.Request, output *SetIdentityHeadersInNotificationsEnabledOutput) {
5073	op := &request.Operation{
5074		Name:       opSetIdentityHeadersInNotificationsEnabled,
5075		HTTPMethod: "POST",
5076		HTTPPath:   "/",
5077	}
5078
5079	if input == nil {
5080		input = &SetIdentityHeadersInNotificationsEnabledInput{}
5081	}
5082
5083	output = &SetIdentityHeadersInNotificationsEnabledOutput{}
5084	req = c.newRequest(op, input, output)
5085	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5086	return
5087}
5088
5089// SetIdentityHeadersInNotificationsEnabled API operation for Amazon Simple Email Service.
5090//
5091// Given an identity (an email address or a domain), sets whether Amazon SES
5092// includes the original email headers in the Amazon Simple Notification Service
5093// (Amazon SNS) notifications of a specified type.
5094//
5095// You can execute this operation no more than once per second.
5096//
5097// For more information about using notifications with Amazon SES, see the Amazon
5098// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html).
5099//
5100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5101// with awserr.Error's Code and Message methods to get detailed information about
5102// the error.
5103//
5104// See the AWS API reference guide for Amazon Simple Email Service's
5105// API operation SetIdentityHeadersInNotificationsEnabled for usage and error information.
5106// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityHeadersInNotificationsEnabled
5107func (c *SES) SetIdentityHeadersInNotificationsEnabled(input *SetIdentityHeadersInNotificationsEnabledInput) (*SetIdentityHeadersInNotificationsEnabledOutput, error) {
5108	req, out := c.SetIdentityHeadersInNotificationsEnabledRequest(input)
5109	return out, req.Send()
5110}
5111
5112// SetIdentityHeadersInNotificationsEnabledWithContext is the same as SetIdentityHeadersInNotificationsEnabled with the addition of
5113// the ability to pass a context and additional request options.
5114//
5115// See SetIdentityHeadersInNotificationsEnabled for details on how to use this API operation.
5116//
5117// The context must be non-nil and will be used for request cancellation. If
5118// the context is nil a panic will occur. In the future the SDK may create
5119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5120// for more information on using Contexts.
5121func (c *SES) SetIdentityHeadersInNotificationsEnabledWithContext(ctx aws.Context, input *SetIdentityHeadersInNotificationsEnabledInput, opts ...request.Option) (*SetIdentityHeadersInNotificationsEnabledOutput, error) {
5122	req, out := c.SetIdentityHeadersInNotificationsEnabledRequest(input)
5123	req.SetContext(ctx)
5124	req.ApplyOptions(opts...)
5125	return out, req.Send()
5126}
5127
5128const opSetIdentityMailFromDomain = "SetIdentityMailFromDomain"
5129
5130// SetIdentityMailFromDomainRequest generates a "aws/request.Request" representing the
5131// client's request for the SetIdentityMailFromDomain operation. The "output" return
5132// value will be populated with the request's response once the request completes
5133// successfully.
5134//
5135// Use "Send" method on the returned Request to send the API call to the service.
5136// the "output" return value is not valid until after Send returns without error.
5137//
5138// See SetIdentityMailFromDomain for more information on using the SetIdentityMailFromDomain
5139// API call, and error handling.
5140//
5141// This method is useful when you want to inject custom logic or configuration
5142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5143//
5144//
5145//    // Example sending a request using the SetIdentityMailFromDomainRequest method.
5146//    req, resp := client.SetIdentityMailFromDomainRequest(params)
5147//
5148//    err := req.Send()
5149//    if err == nil { // resp is now filled
5150//        fmt.Println(resp)
5151//    }
5152//
5153// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityMailFromDomain
5154func (c *SES) SetIdentityMailFromDomainRequest(input *SetIdentityMailFromDomainInput) (req *request.Request, output *SetIdentityMailFromDomainOutput) {
5155	op := &request.Operation{
5156		Name:       opSetIdentityMailFromDomain,
5157		HTTPMethod: "POST",
5158		HTTPPath:   "/",
5159	}
5160
5161	if input == nil {
5162		input = &SetIdentityMailFromDomainInput{}
5163	}
5164
5165	output = &SetIdentityMailFromDomainOutput{}
5166	req = c.newRequest(op, input, output)
5167	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5168	return
5169}
5170
5171// SetIdentityMailFromDomain API operation for Amazon Simple Email Service.
5172//
5173// Enables or disables the custom MAIL FROM domain setup for a verified identity
5174// (an email address or a domain).
5175//
5176// To send emails using the specified MAIL FROM domain, you must add an MX record
5177// to your MAIL FROM domain's DNS settings. If you want your emails to pass
5178// Sender Policy Framework (SPF) checks, you must also add or update an SPF
5179// record. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html).
5180//
5181// You can execute this operation no more than once per second.
5182//
5183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5184// with awserr.Error's Code and Message methods to get detailed information about
5185// the error.
5186//
5187// See the AWS API reference guide for Amazon Simple Email Service's
5188// API operation SetIdentityMailFromDomain for usage and error information.
5189// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityMailFromDomain
5190func (c *SES) SetIdentityMailFromDomain(input *SetIdentityMailFromDomainInput) (*SetIdentityMailFromDomainOutput, error) {
5191	req, out := c.SetIdentityMailFromDomainRequest(input)
5192	return out, req.Send()
5193}
5194
5195// SetIdentityMailFromDomainWithContext is the same as SetIdentityMailFromDomain with the addition of
5196// the ability to pass a context and additional request options.
5197//
5198// See SetIdentityMailFromDomain for details on how to use this API operation.
5199//
5200// The context must be non-nil and will be used for request cancellation. If
5201// the context is nil a panic will occur. In the future the SDK may create
5202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5203// for more information on using Contexts.
5204func (c *SES) SetIdentityMailFromDomainWithContext(ctx aws.Context, input *SetIdentityMailFromDomainInput, opts ...request.Option) (*SetIdentityMailFromDomainOutput, error) {
5205	req, out := c.SetIdentityMailFromDomainRequest(input)
5206	req.SetContext(ctx)
5207	req.ApplyOptions(opts...)
5208	return out, req.Send()
5209}
5210
5211const opSetIdentityNotificationTopic = "SetIdentityNotificationTopic"
5212
5213// SetIdentityNotificationTopicRequest generates a "aws/request.Request" representing the
5214// client's request for the SetIdentityNotificationTopic operation. The "output" return
5215// value will be populated with the request's response once the request completes
5216// successfully.
5217//
5218// Use "Send" method on the returned Request to send the API call to the service.
5219// the "output" return value is not valid until after Send returns without error.
5220//
5221// See SetIdentityNotificationTopic for more information on using the SetIdentityNotificationTopic
5222// API call, and error handling.
5223//
5224// This method is useful when you want to inject custom logic or configuration
5225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5226//
5227//
5228//    // Example sending a request using the SetIdentityNotificationTopicRequest method.
5229//    req, resp := client.SetIdentityNotificationTopicRequest(params)
5230//
5231//    err := req.Send()
5232//    if err == nil { // resp is now filled
5233//        fmt.Println(resp)
5234//    }
5235//
5236// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityNotificationTopic
5237func (c *SES) SetIdentityNotificationTopicRequest(input *SetIdentityNotificationTopicInput) (req *request.Request, output *SetIdentityNotificationTopicOutput) {
5238	op := &request.Operation{
5239		Name:       opSetIdentityNotificationTopic,
5240		HTTPMethod: "POST",
5241		HTTPPath:   "/",
5242	}
5243
5244	if input == nil {
5245		input = &SetIdentityNotificationTopicInput{}
5246	}
5247
5248	output = &SetIdentityNotificationTopicOutput{}
5249	req = c.newRequest(op, input, output)
5250	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5251	return
5252}
5253
5254// SetIdentityNotificationTopic API operation for Amazon Simple Email Service.
5255//
5256// Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when
5257// delivering notifications. When you use this operation, you specify a verified
5258// identity, such as an email address or domain. When you send an email that
5259// uses the chosen identity in the Source field, Amazon SES sends notifications
5260// to the topic you specified. You can send bounce, complaint, or delivery notifications
5261// (or any combination of the three) to the Amazon SNS topic that you specify.
5262//
5263// You can execute this operation no more than once per second.
5264//
5265// For more information about feedback notification, see the Amazon SES Developer
5266// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html).
5267//
5268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5269// with awserr.Error's Code and Message methods to get detailed information about
5270// the error.
5271//
5272// See the AWS API reference guide for Amazon Simple Email Service's
5273// API operation SetIdentityNotificationTopic for usage and error information.
5274// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityNotificationTopic
5275func (c *SES) SetIdentityNotificationTopic(input *SetIdentityNotificationTopicInput) (*SetIdentityNotificationTopicOutput, error) {
5276	req, out := c.SetIdentityNotificationTopicRequest(input)
5277	return out, req.Send()
5278}
5279
5280// SetIdentityNotificationTopicWithContext is the same as SetIdentityNotificationTopic with the addition of
5281// the ability to pass a context and additional request options.
5282//
5283// See SetIdentityNotificationTopic for details on how to use this API operation.
5284//
5285// The context must be non-nil and will be used for request cancellation. If
5286// the context is nil a panic will occur. In the future the SDK may create
5287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5288// for more information on using Contexts.
5289func (c *SES) SetIdentityNotificationTopicWithContext(ctx aws.Context, input *SetIdentityNotificationTopicInput, opts ...request.Option) (*SetIdentityNotificationTopicOutput, error) {
5290	req, out := c.SetIdentityNotificationTopicRequest(input)
5291	req.SetContext(ctx)
5292	req.ApplyOptions(opts...)
5293	return out, req.Send()
5294}
5295
5296const opSetReceiptRulePosition = "SetReceiptRulePosition"
5297
5298// SetReceiptRulePositionRequest generates a "aws/request.Request" representing the
5299// client's request for the SetReceiptRulePosition operation. The "output" return
5300// value will be populated with the request's response once the request completes
5301// successfully.
5302//
5303// Use "Send" method on the returned Request to send the API call to the service.
5304// the "output" return value is not valid until after Send returns without error.
5305//
5306// See SetReceiptRulePosition for more information on using the SetReceiptRulePosition
5307// API call, and error handling.
5308//
5309// This method is useful when you want to inject custom logic or configuration
5310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5311//
5312//
5313//    // Example sending a request using the SetReceiptRulePositionRequest method.
5314//    req, resp := client.SetReceiptRulePositionRequest(params)
5315//
5316//    err := req.Send()
5317//    if err == nil { // resp is now filled
5318//        fmt.Println(resp)
5319//    }
5320//
5321// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetReceiptRulePosition
5322func (c *SES) SetReceiptRulePositionRequest(input *SetReceiptRulePositionInput) (req *request.Request, output *SetReceiptRulePositionOutput) {
5323	op := &request.Operation{
5324		Name:       opSetReceiptRulePosition,
5325		HTTPMethod: "POST",
5326		HTTPPath:   "/",
5327	}
5328
5329	if input == nil {
5330		input = &SetReceiptRulePositionInput{}
5331	}
5332
5333	output = &SetReceiptRulePositionOutput{}
5334	req = c.newRequest(op, input, output)
5335	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5336	return
5337}
5338
5339// SetReceiptRulePosition API operation for Amazon Simple Email Service.
5340//
5341// Sets the position of the specified receipt rule in the receipt rule set.
5342//
5343// For information about managing receipt rules, see the Amazon SES Developer
5344// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html).
5345//
5346// You can execute this operation no more than once per second.
5347//
5348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5349// with awserr.Error's Code and Message methods to get detailed information about
5350// the error.
5351//
5352// See the AWS API reference guide for Amazon Simple Email Service's
5353// API operation SetReceiptRulePosition for usage and error information.
5354//
5355// Returned Error Codes:
5356//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
5357//   Indicates that the provided receipt rule set does not exist.
5358//
5359//   * ErrCodeRuleDoesNotExistException "RuleDoesNotExist"
5360//   Indicates that the provided receipt rule does not exist.
5361//
5362// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetReceiptRulePosition
5363func (c *SES) SetReceiptRulePosition(input *SetReceiptRulePositionInput) (*SetReceiptRulePositionOutput, error) {
5364	req, out := c.SetReceiptRulePositionRequest(input)
5365	return out, req.Send()
5366}
5367
5368// SetReceiptRulePositionWithContext is the same as SetReceiptRulePosition with the addition of
5369// the ability to pass a context and additional request options.
5370//
5371// See SetReceiptRulePosition for details on how to use this API operation.
5372//
5373// The context must be non-nil and will be used for request cancellation. If
5374// the context is nil a panic will occur. In the future the SDK may create
5375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5376// for more information on using Contexts.
5377func (c *SES) SetReceiptRulePositionWithContext(ctx aws.Context, input *SetReceiptRulePositionInput, opts ...request.Option) (*SetReceiptRulePositionOutput, error) {
5378	req, out := c.SetReceiptRulePositionRequest(input)
5379	req.SetContext(ctx)
5380	req.ApplyOptions(opts...)
5381	return out, req.Send()
5382}
5383
5384const opTestRenderTemplate = "TestRenderTemplate"
5385
5386// TestRenderTemplateRequest generates a "aws/request.Request" representing the
5387// client's request for the TestRenderTemplate operation. The "output" return
5388// value will be populated with the request's response once the request completes
5389// successfully.
5390//
5391// Use "Send" method on the returned Request to send the API call to the service.
5392// the "output" return value is not valid until after Send returns without error.
5393//
5394// See TestRenderTemplate for more information on using the TestRenderTemplate
5395// API call, and error handling.
5396//
5397// This method is useful when you want to inject custom logic or configuration
5398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5399//
5400//
5401//    // Example sending a request using the TestRenderTemplateRequest method.
5402//    req, resp := client.TestRenderTemplateRequest(params)
5403//
5404//    err := req.Send()
5405//    if err == nil { // resp is now filled
5406//        fmt.Println(resp)
5407//    }
5408//
5409// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplate
5410func (c *SES) TestRenderTemplateRequest(input *TestRenderTemplateInput) (req *request.Request, output *TestRenderTemplateOutput) {
5411	op := &request.Operation{
5412		Name:       opTestRenderTemplate,
5413		HTTPMethod: "POST",
5414		HTTPPath:   "/",
5415	}
5416
5417	if input == nil {
5418		input = &TestRenderTemplateInput{}
5419	}
5420
5421	output = &TestRenderTemplateOutput{}
5422	req = c.newRequest(op, input, output)
5423	return
5424}
5425
5426// TestRenderTemplate API operation for Amazon Simple Email Service.
5427//
5428// Creates a preview of the MIME content of an email when provided with a template
5429// and a set of replacement data.
5430//
5431// You can execute this operation no more than once per second.
5432//
5433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5434// with awserr.Error's Code and Message methods to get detailed information about
5435// the error.
5436//
5437// See the AWS API reference guide for Amazon Simple Email Service's
5438// API operation TestRenderTemplate for usage and error information.
5439//
5440// Returned Error Codes:
5441//   * ErrCodeTemplateDoesNotExistException "TemplateDoesNotExist"
5442//   Indicates that the Template object you specified does not exist in your Amazon
5443//   SES account.
5444//
5445//   * ErrCodeInvalidRenderingParameterException "InvalidRenderingParameter"
5446//   Indicates that one or more of the replacement values you provided is invalid.
5447//   This error may occur when the TemplateData object contains invalid JSON.
5448//
5449//   * ErrCodeMissingRenderingAttributeException "MissingRenderingAttribute"
5450//   Indicates that one or more of the replacement values for the specified template
5451//   was not specified. Ensure that the TemplateData object contains references
5452//   to all of the replacement tags in the specified template.
5453//
5454// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TestRenderTemplate
5455func (c *SES) TestRenderTemplate(input *TestRenderTemplateInput) (*TestRenderTemplateOutput, error) {
5456	req, out := c.TestRenderTemplateRequest(input)
5457	return out, req.Send()
5458}
5459
5460// TestRenderTemplateWithContext is the same as TestRenderTemplate with the addition of
5461// the ability to pass a context and additional request options.
5462//
5463// See TestRenderTemplate for details on how to use this API operation.
5464//
5465// The context must be non-nil and will be used for request cancellation. If
5466// the context is nil a panic will occur. In the future the SDK may create
5467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5468// for more information on using Contexts.
5469func (c *SES) TestRenderTemplateWithContext(ctx aws.Context, input *TestRenderTemplateInput, opts ...request.Option) (*TestRenderTemplateOutput, error) {
5470	req, out := c.TestRenderTemplateRequest(input)
5471	req.SetContext(ctx)
5472	req.ApplyOptions(opts...)
5473	return out, req.Send()
5474}
5475
5476const opUpdateAccountSendingEnabled = "UpdateAccountSendingEnabled"
5477
5478// UpdateAccountSendingEnabledRequest generates a "aws/request.Request" representing the
5479// client's request for the UpdateAccountSendingEnabled operation. The "output" return
5480// value will be populated with the request's response once the request completes
5481// successfully.
5482//
5483// Use "Send" method on the returned Request to send the API call to the service.
5484// the "output" return value is not valid until after Send returns without error.
5485//
5486// See UpdateAccountSendingEnabled for more information on using the UpdateAccountSendingEnabled
5487// API call, and error handling.
5488//
5489// This method is useful when you want to inject custom logic or configuration
5490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5491//
5492//
5493//    // Example sending a request using the UpdateAccountSendingEnabledRequest method.
5494//    req, resp := client.UpdateAccountSendingEnabledRequest(params)
5495//
5496//    err := req.Send()
5497//    if err == nil { // resp is now filled
5498//        fmt.Println(resp)
5499//    }
5500//
5501// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateAccountSendingEnabled
5502func (c *SES) UpdateAccountSendingEnabledRequest(input *UpdateAccountSendingEnabledInput) (req *request.Request, output *UpdateAccountSendingEnabledOutput) {
5503	op := &request.Operation{
5504		Name:       opUpdateAccountSendingEnabled,
5505		HTTPMethod: "POST",
5506		HTTPPath:   "/",
5507	}
5508
5509	if input == nil {
5510		input = &UpdateAccountSendingEnabledInput{}
5511	}
5512
5513	output = &UpdateAccountSendingEnabledOutput{}
5514	req = c.newRequest(op, input, output)
5515	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5516	return
5517}
5518
5519// UpdateAccountSendingEnabled API operation for Amazon Simple Email Service.
5520//
5521// Enables or disables email sending across your entire Amazon SES account in
5522// the current AWS Region. You can use this operation in conjunction with Amazon
5523// CloudWatch alarms to temporarily pause email sending across your Amazon SES
5524// account in a given AWS Region when reputation metrics (such as your bounce
5525// or complaint rates) reach certain thresholds.
5526//
5527// You can execute this operation no more than once per second.
5528//
5529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5530// with awserr.Error's Code and Message methods to get detailed information about
5531// the error.
5532//
5533// See the AWS API reference guide for Amazon Simple Email Service's
5534// API operation UpdateAccountSendingEnabled for usage and error information.
5535// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateAccountSendingEnabled
5536func (c *SES) UpdateAccountSendingEnabled(input *UpdateAccountSendingEnabledInput) (*UpdateAccountSendingEnabledOutput, error) {
5537	req, out := c.UpdateAccountSendingEnabledRequest(input)
5538	return out, req.Send()
5539}
5540
5541// UpdateAccountSendingEnabledWithContext is the same as UpdateAccountSendingEnabled with the addition of
5542// the ability to pass a context and additional request options.
5543//
5544// See UpdateAccountSendingEnabled for details on how to use this API operation.
5545//
5546// The context must be non-nil and will be used for request cancellation. If
5547// the context is nil a panic will occur. In the future the SDK may create
5548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5549// for more information on using Contexts.
5550func (c *SES) UpdateAccountSendingEnabledWithContext(ctx aws.Context, input *UpdateAccountSendingEnabledInput, opts ...request.Option) (*UpdateAccountSendingEnabledOutput, error) {
5551	req, out := c.UpdateAccountSendingEnabledRequest(input)
5552	req.SetContext(ctx)
5553	req.ApplyOptions(opts...)
5554	return out, req.Send()
5555}
5556
5557const opUpdateConfigurationSetEventDestination = "UpdateConfigurationSetEventDestination"
5558
5559// UpdateConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the
5560// client's request for the UpdateConfigurationSetEventDestination operation. The "output" return
5561// value will be populated with the request's response once the request completes
5562// successfully.
5563//
5564// Use "Send" method on the returned Request to send the API call to the service.
5565// the "output" return value is not valid until after Send returns without error.
5566//
5567// See UpdateConfigurationSetEventDestination for more information on using the UpdateConfigurationSetEventDestination
5568// API call, and error handling.
5569//
5570// This method is useful when you want to inject custom logic or configuration
5571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5572//
5573//
5574//    // Example sending a request using the UpdateConfigurationSetEventDestinationRequest method.
5575//    req, resp := client.UpdateConfigurationSetEventDestinationRequest(params)
5576//
5577//    err := req.Send()
5578//    if err == nil { // resp is now filled
5579//        fmt.Println(resp)
5580//    }
5581//
5582// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetEventDestination
5583func (c *SES) UpdateConfigurationSetEventDestinationRequest(input *UpdateConfigurationSetEventDestinationInput) (req *request.Request, output *UpdateConfigurationSetEventDestinationOutput) {
5584	op := &request.Operation{
5585		Name:       opUpdateConfigurationSetEventDestination,
5586		HTTPMethod: "POST",
5587		HTTPPath:   "/",
5588	}
5589
5590	if input == nil {
5591		input = &UpdateConfigurationSetEventDestinationInput{}
5592	}
5593
5594	output = &UpdateConfigurationSetEventDestinationOutput{}
5595	req = c.newRequest(op, input, output)
5596	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5597	return
5598}
5599
5600// UpdateConfigurationSetEventDestination API operation for Amazon Simple Email Service.
5601//
5602// Updates the event destination of a configuration set. Event destinations
5603// are associated with configuration sets, which enable you to publish email
5604// sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple
5605// Notification Service (Amazon SNS). For information about using configuration
5606// sets, see Monitoring Your Amazon SES Sending Activity (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html)
5607// in the Amazon SES Developer Guide.
5608//
5609// When you create or update an event destination, you must provide one, and
5610// only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis
5611// Firehose, or Amazon Simple Notification Service (Amazon SNS).
5612//
5613// You can execute this operation no more than once per second.
5614//
5615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5616// with awserr.Error's Code and Message methods to get detailed information about
5617// the error.
5618//
5619// See the AWS API reference guide for Amazon Simple Email Service's
5620// API operation UpdateConfigurationSetEventDestination for usage and error information.
5621//
5622// Returned Error Codes:
5623//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
5624//   Indicates that the configuration set does not exist.
5625//
5626//   * ErrCodeEventDestinationDoesNotExistException "EventDestinationDoesNotExist"
5627//   Indicates that the event destination does not exist.
5628//
5629//   * ErrCodeInvalidCloudWatchDestinationException "InvalidCloudWatchDestination"
5630//   Indicates that the Amazon CloudWatch destination is invalid. See the error
5631//   message for details.
5632//
5633//   * ErrCodeInvalidFirehoseDestinationException "InvalidFirehoseDestination"
5634//   Indicates that the Amazon Kinesis Firehose destination is invalid. See the
5635//   error message for details.
5636//
5637//   * ErrCodeInvalidSNSDestinationException "InvalidSNSDestination"
5638//   Indicates that the Amazon Simple Notification Service (Amazon SNS) destination
5639//   is invalid. See the error message for details.
5640//
5641// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetEventDestination
5642func (c *SES) UpdateConfigurationSetEventDestination(input *UpdateConfigurationSetEventDestinationInput) (*UpdateConfigurationSetEventDestinationOutput, error) {
5643	req, out := c.UpdateConfigurationSetEventDestinationRequest(input)
5644	return out, req.Send()
5645}
5646
5647// UpdateConfigurationSetEventDestinationWithContext is the same as UpdateConfigurationSetEventDestination with the addition of
5648// the ability to pass a context and additional request options.
5649//
5650// See UpdateConfigurationSetEventDestination for details on how to use this API operation.
5651//
5652// The context must be non-nil and will be used for request cancellation. If
5653// the context is nil a panic will occur. In the future the SDK may create
5654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5655// for more information on using Contexts.
5656func (c *SES) UpdateConfigurationSetEventDestinationWithContext(ctx aws.Context, input *UpdateConfigurationSetEventDestinationInput, opts ...request.Option) (*UpdateConfigurationSetEventDestinationOutput, error) {
5657	req, out := c.UpdateConfigurationSetEventDestinationRequest(input)
5658	req.SetContext(ctx)
5659	req.ApplyOptions(opts...)
5660	return out, req.Send()
5661}
5662
5663const opUpdateConfigurationSetReputationMetricsEnabled = "UpdateConfigurationSetReputationMetricsEnabled"
5664
5665// UpdateConfigurationSetReputationMetricsEnabledRequest generates a "aws/request.Request" representing the
5666// client's request for the UpdateConfigurationSetReputationMetricsEnabled operation. The "output" return
5667// value will be populated with the request's response once the request completes
5668// successfully.
5669//
5670// Use "Send" method on the returned Request to send the API call to the service.
5671// the "output" return value is not valid until after Send returns without error.
5672//
5673// See UpdateConfigurationSetReputationMetricsEnabled for more information on using the UpdateConfigurationSetReputationMetricsEnabled
5674// API call, and error handling.
5675//
5676// This method is useful when you want to inject custom logic or configuration
5677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5678//
5679//
5680//    // Example sending a request using the UpdateConfigurationSetReputationMetricsEnabledRequest method.
5681//    req, resp := client.UpdateConfigurationSetReputationMetricsEnabledRequest(params)
5682//
5683//    err := req.Send()
5684//    if err == nil { // resp is now filled
5685//        fmt.Println(resp)
5686//    }
5687//
5688// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetReputationMetricsEnabled
5689func (c *SES) UpdateConfigurationSetReputationMetricsEnabledRequest(input *UpdateConfigurationSetReputationMetricsEnabledInput) (req *request.Request, output *UpdateConfigurationSetReputationMetricsEnabledOutput) {
5690	op := &request.Operation{
5691		Name:       opUpdateConfigurationSetReputationMetricsEnabled,
5692		HTTPMethod: "POST",
5693		HTTPPath:   "/",
5694	}
5695
5696	if input == nil {
5697		input = &UpdateConfigurationSetReputationMetricsEnabledInput{}
5698	}
5699
5700	output = &UpdateConfigurationSetReputationMetricsEnabledOutput{}
5701	req = c.newRequest(op, input, output)
5702	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5703	return
5704}
5705
5706// UpdateConfigurationSetReputationMetricsEnabled API operation for Amazon Simple Email Service.
5707//
5708// Enables or disables the publishing of reputation metrics for emails sent
5709// using a specific configuration set in a given AWS Region. Reputation metrics
5710// include bounce and complaint rates. These metrics are published to Amazon
5711// CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint
5712// rates exceed certain thresholds.
5713//
5714// You can execute this operation no more than once per second.
5715//
5716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5717// with awserr.Error's Code and Message methods to get detailed information about
5718// the error.
5719//
5720// See the AWS API reference guide for Amazon Simple Email Service's
5721// API operation UpdateConfigurationSetReputationMetricsEnabled for usage and error information.
5722//
5723// Returned Error Codes:
5724//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
5725//   Indicates that the configuration set does not exist.
5726//
5727// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetReputationMetricsEnabled
5728func (c *SES) UpdateConfigurationSetReputationMetricsEnabled(input *UpdateConfigurationSetReputationMetricsEnabledInput) (*UpdateConfigurationSetReputationMetricsEnabledOutput, error) {
5729	req, out := c.UpdateConfigurationSetReputationMetricsEnabledRequest(input)
5730	return out, req.Send()
5731}
5732
5733// UpdateConfigurationSetReputationMetricsEnabledWithContext is the same as UpdateConfigurationSetReputationMetricsEnabled with the addition of
5734// the ability to pass a context and additional request options.
5735//
5736// See UpdateConfigurationSetReputationMetricsEnabled for details on how to use this API operation.
5737//
5738// The context must be non-nil and will be used for request cancellation. If
5739// the context is nil a panic will occur. In the future the SDK may create
5740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5741// for more information on using Contexts.
5742func (c *SES) UpdateConfigurationSetReputationMetricsEnabledWithContext(ctx aws.Context, input *UpdateConfigurationSetReputationMetricsEnabledInput, opts ...request.Option) (*UpdateConfigurationSetReputationMetricsEnabledOutput, error) {
5743	req, out := c.UpdateConfigurationSetReputationMetricsEnabledRequest(input)
5744	req.SetContext(ctx)
5745	req.ApplyOptions(opts...)
5746	return out, req.Send()
5747}
5748
5749const opUpdateConfigurationSetSendingEnabled = "UpdateConfigurationSetSendingEnabled"
5750
5751// UpdateConfigurationSetSendingEnabledRequest generates a "aws/request.Request" representing the
5752// client's request for the UpdateConfigurationSetSendingEnabled operation. The "output" return
5753// value will be populated with the request's response once the request completes
5754// successfully.
5755//
5756// Use "Send" method on the returned Request to send the API call to the service.
5757// the "output" return value is not valid until after Send returns without error.
5758//
5759// See UpdateConfigurationSetSendingEnabled for more information on using the UpdateConfigurationSetSendingEnabled
5760// API call, and error handling.
5761//
5762// This method is useful when you want to inject custom logic or configuration
5763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5764//
5765//
5766//    // Example sending a request using the UpdateConfigurationSetSendingEnabledRequest method.
5767//    req, resp := client.UpdateConfigurationSetSendingEnabledRequest(params)
5768//
5769//    err := req.Send()
5770//    if err == nil { // resp is now filled
5771//        fmt.Println(resp)
5772//    }
5773//
5774// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetSendingEnabled
5775func (c *SES) UpdateConfigurationSetSendingEnabledRequest(input *UpdateConfigurationSetSendingEnabledInput) (req *request.Request, output *UpdateConfigurationSetSendingEnabledOutput) {
5776	op := &request.Operation{
5777		Name:       opUpdateConfigurationSetSendingEnabled,
5778		HTTPMethod: "POST",
5779		HTTPPath:   "/",
5780	}
5781
5782	if input == nil {
5783		input = &UpdateConfigurationSetSendingEnabledInput{}
5784	}
5785
5786	output = &UpdateConfigurationSetSendingEnabledOutput{}
5787	req = c.newRequest(op, input, output)
5788	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5789	return
5790}
5791
5792// UpdateConfigurationSetSendingEnabled API operation for Amazon Simple Email Service.
5793//
5794// Enables or disables email sending for messages sent using a specific configuration
5795// set in a given AWS Region. You can use this operation in conjunction with
5796// Amazon CloudWatch alarms to temporarily pause email sending for a configuration
5797// set when the reputation metrics for that configuration set (such as your
5798// bounce on complaint rate) exceed certain thresholds.
5799//
5800// You can execute this operation no more than once per second.
5801//
5802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5803// with awserr.Error's Code and Message methods to get detailed information about
5804// the error.
5805//
5806// See the AWS API reference guide for Amazon Simple Email Service's
5807// API operation UpdateConfigurationSetSendingEnabled for usage and error information.
5808//
5809// Returned Error Codes:
5810//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
5811//   Indicates that the configuration set does not exist.
5812//
5813// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetSendingEnabled
5814func (c *SES) UpdateConfigurationSetSendingEnabled(input *UpdateConfigurationSetSendingEnabledInput) (*UpdateConfigurationSetSendingEnabledOutput, error) {
5815	req, out := c.UpdateConfigurationSetSendingEnabledRequest(input)
5816	return out, req.Send()
5817}
5818
5819// UpdateConfigurationSetSendingEnabledWithContext is the same as UpdateConfigurationSetSendingEnabled with the addition of
5820// the ability to pass a context and additional request options.
5821//
5822// See UpdateConfigurationSetSendingEnabled for details on how to use this API operation.
5823//
5824// The context must be non-nil and will be used for request cancellation. If
5825// the context is nil a panic will occur. In the future the SDK may create
5826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5827// for more information on using Contexts.
5828func (c *SES) UpdateConfigurationSetSendingEnabledWithContext(ctx aws.Context, input *UpdateConfigurationSetSendingEnabledInput, opts ...request.Option) (*UpdateConfigurationSetSendingEnabledOutput, error) {
5829	req, out := c.UpdateConfigurationSetSendingEnabledRequest(input)
5830	req.SetContext(ctx)
5831	req.ApplyOptions(opts...)
5832	return out, req.Send()
5833}
5834
5835const opUpdateConfigurationSetTrackingOptions = "UpdateConfigurationSetTrackingOptions"
5836
5837// UpdateConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the
5838// client's request for the UpdateConfigurationSetTrackingOptions operation. The "output" return
5839// value will be populated with the request's response once the request completes
5840// successfully.
5841//
5842// Use "Send" method on the returned Request to send the API call to the service.
5843// the "output" return value is not valid until after Send returns without error.
5844//
5845// See UpdateConfigurationSetTrackingOptions for more information on using the UpdateConfigurationSetTrackingOptions
5846// API call, and error handling.
5847//
5848// This method is useful when you want to inject custom logic or configuration
5849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5850//
5851//
5852//    // Example sending a request using the UpdateConfigurationSetTrackingOptionsRequest method.
5853//    req, resp := client.UpdateConfigurationSetTrackingOptionsRequest(params)
5854//
5855//    err := req.Send()
5856//    if err == nil { // resp is now filled
5857//        fmt.Println(resp)
5858//    }
5859//
5860// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions
5861func (c *SES) UpdateConfigurationSetTrackingOptionsRequest(input *UpdateConfigurationSetTrackingOptionsInput) (req *request.Request, output *UpdateConfigurationSetTrackingOptionsOutput) {
5862	op := &request.Operation{
5863		Name:       opUpdateConfigurationSetTrackingOptions,
5864		HTTPMethod: "POST",
5865		HTTPPath:   "/",
5866	}
5867
5868	if input == nil {
5869		input = &UpdateConfigurationSetTrackingOptionsInput{}
5870	}
5871
5872	output = &UpdateConfigurationSetTrackingOptionsOutput{}
5873	req = c.newRequest(op, input, output)
5874	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5875	return
5876}
5877
5878// UpdateConfigurationSetTrackingOptions API operation for Amazon Simple Email Service.
5879//
5880// Modifies an association between a configuration set and a custom domain for
5881// open and click event tracking.
5882//
5883// By default, images and links used for tracking open and click events are
5884// hosted on domains operated by Amazon SES. You can configure a subdomain of
5885// your own to handle these events. For information about using custom domains,
5886// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html).
5887//
5888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5889// with awserr.Error's Code and Message methods to get detailed information about
5890// the error.
5891//
5892// See the AWS API reference guide for Amazon Simple Email Service's
5893// API operation UpdateConfigurationSetTrackingOptions for usage and error information.
5894//
5895// Returned Error Codes:
5896//   * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist"
5897//   Indicates that the configuration set does not exist.
5898//
5899//   * ErrCodeTrackingOptionsDoesNotExistException "TrackingOptionsDoesNotExistException"
5900//   Indicates that the TrackingOptions object you specified does not exist.
5901//
5902//   * ErrCodeInvalidTrackingOptionsException "InvalidTrackingOptions"
5903//   Indicates that the custom domain to be used for open and click tracking redirects
5904//   is invalid. This error appears most often in the following situations:
5905//
5906//      * When the tracking domain you specified is not verified in Amazon SES.
5907//
5908//      * When the tracking domain you specified is not a valid domain or subdomain.
5909//
5910// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions
5911func (c *SES) UpdateConfigurationSetTrackingOptions(input *UpdateConfigurationSetTrackingOptionsInput) (*UpdateConfigurationSetTrackingOptionsOutput, error) {
5912	req, out := c.UpdateConfigurationSetTrackingOptionsRequest(input)
5913	return out, req.Send()
5914}
5915
5916// UpdateConfigurationSetTrackingOptionsWithContext is the same as UpdateConfigurationSetTrackingOptions with the addition of
5917// the ability to pass a context and additional request options.
5918//
5919// See UpdateConfigurationSetTrackingOptions for details on how to use this API operation.
5920//
5921// The context must be non-nil and will be used for request cancellation. If
5922// the context is nil a panic will occur. In the future the SDK may create
5923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5924// for more information on using Contexts.
5925func (c *SES) UpdateConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *UpdateConfigurationSetTrackingOptionsInput, opts ...request.Option) (*UpdateConfigurationSetTrackingOptionsOutput, error) {
5926	req, out := c.UpdateConfigurationSetTrackingOptionsRequest(input)
5927	req.SetContext(ctx)
5928	req.ApplyOptions(opts...)
5929	return out, req.Send()
5930}
5931
5932const opUpdateCustomVerificationEmailTemplate = "UpdateCustomVerificationEmailTemplate"
5933
5934// UpdateCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
5935// client's request for the UpdateCustomVerificationEmailTemplate operation. The "output" return
5936// value will be populated with the request's response once the request completes
5937// successfully.
5938//
5939// Use "Send" method on the returned Request to send the API call to the service.
5940// the "output" return value is not valid until after Send returns without error.
5941//
5942// See UpdateCustomVerificationEmailTemplate for more information on using the UpdateCustomVerificationEmailTemplate
5943// API call, and error handling.
5944//
5945// This method is useful when you want to inject custom logic or configuration
5946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5947//
5948//
5949//    // Example sending a request using the UpdateCustomVerificationEmailTemplateRequest method.
5950//    req, resp := client.UpdateCustomVerificationEmailTemplateRequest(params)
5951//
5952//    err := req.Send()
5953//    if err == nil { // resp is now filled
5954//        fmt.Println(resp)
5955//    }
5956//
5957// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateCustomVerificationEmailTemplate
5958func (c *SES) UpdateCustomVerificationEmailTemplateRequest(input *UpdateCustomVerificationEmailTemplateInput) (req *request.Request, output *UpdateCustomVerificationEmailTemplateOutput) {
5959	op := &request.Operation{
5960		Name:       opUpdateCustomVerificationEmailTemplate,
5961		HTTPMethod: "POST",
5962		HTTPPath:   "/",
5963	}
5964
5965	if input == nil {
5966		input = &UpdateCustomVerificationEmailTemplateInput{}
5967	}
5968
5969	output = &UpdateCustomVerificationEmailTemplateOutput{}
5970	req = c.newRequest(op, input, output)
5971	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5972	return
5973}
5974
5975// UpdateCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
5976//
5977// Updates an existing custom verification email template.
5978//
5979// For more information about custom verification email templates, see Using
5980// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
5981// in the Amazon SES Developer Guide.
5982//
5983// You can execute this operation no more than once per second.
5984//
5985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5986// with awserr.Error's Code and Message methods to get detailed information about
5987// the error.
5988//
5989// See the AWS API reference guide for Amazon Simple Email Service's
5990// API operation UpdateCustomVerificationEmailTemplate for usage and error information.
5991//
5992// Returned Error Codes:
5993//   * ErrCodeCustomVerificationEmailTemplateDoesNotExistException "CustomVerificationEmailTemplateDoesNotExist"
5994//   Indicates that a custom verification email template with the name you specified
5995//   does not exist.
5996//
5997//   * ErrCodeFromEmailAddressNotVerifiedException "FromEmailAddressNotVerified"
5998//   Indicates that the sender address specified for a custom verification email
5999//   is not verified, and is therefore not eligible to send the custom verification
6000//   email.
6001//
6002//   * ErrCodeCustomVerificationEmailInvalidContentException "CustomVerificationEmailInvalidContent"
6003//   Indicates that custom verification email template provided content is invalid.
6004//
6005// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateCustomVerificationEmailTemplate
6006func (c *SES) UpdateCustomVerificationEmailTemplate(input *UpdateCustomVerificationEmailTemplateInput) (*UpdateCustomVerificationEmailTemplateOutput, error) {
6007	req, out := c.UpdateCustomVerificationEmailTemplateRequest(input)
6008	return out, req.Send()
6009}
6010
6011// UpdateCustomVerificationEmailTemplateWithContext is the same as UpdateCustomVerificationEmailTemplate with the addition of
6012// the ability to pass a context and additional request options.
6013//
6014// See UpdateCustomVerificationEmailTemplate for details on how to use this API operation.
6015//
6016// The context must be non-nil and will be used for request cancellation. If
6017// the context is nil a panic will occur. In the future the SDK may create
6018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6019// for more information on using Contexts.
6020func (c *SES) UpdateCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *UpdateCustomVerificationEmailTemplateInput, opts ...request.Option) (*UpdateCustomVerificationEmailTemplateOutput, error) {
6021	req, out := c.UpdateCustomVerificationEmailTemplateRequest(input)
6022	req.SetContext(ctx)
6023	req.ApplyOptions(opts...)
6024	return out, req.Send()
6025}
6026
6027const opUpdateReceiptRule = "UpdateReceiptRule"
6028
6029// UpdateReceiptRuleRequest generates a "aws/request.Request" representing the
6030// client's request for the UpdateReceiptRule operation. The "output" return
6031// value will be populated with the request's response once the request completes
6032// successfully.
6033//
6034// Use "Send" method on the returned Request to send the API call to the service.
6035// the "output" return value is not valid until after Send returns without error.
6036//
6037// See UpdateReceiptRule for more information on using the UpdateReceiptRule
6038// API call, and error handling.
6039//
6040// This method is useful when you want to inject custom logic or configuration
6041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6042//
6043//
6044//    // Example sending a request using the UpdateReceiptRuleRequest method.
6045//    req, resp := client.UpdateReceiptRuleRequest(params)
6046//
6047//    err := req.Send()
6048//    if err == nil { // resp is now filled
6049//        fmt.Println(resp)
6050//    }
6051//
6052// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateReceiptRule
6053func (c *SES) UpdateReceiptRuleRequest(input *UpdateReceiptRuleInput) (req *request.Request, output *UpdateReceiptRuleOutput) {
6054	op := &request.Operation{
6055		Name:       opUpdateReceiptRule,
6056		HTTPMethod: "POST",
6057		HTTPPath:   "/",
6058	}
6059
6060	if input == nil {
6061		input = &UpdateReceiptRuleInput{}
6062	}
6063
6064	output = &UpdateReceiptRuleOutput{}
6065	req = c.newRequest(op, input, output)
6066	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6067	return
6068}
6069
6070// UpdateReceiptRule API operation for Amazon Simple Email Service.
6071//
6072// Updates a receipt rule.
6073//
6074// For information about managing receipt rules, see the Amazon SES Developer
6075// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html).
6076//
6077// You can execute this operation no more than once per second.
6078//
6079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6080// with awserr.Error's Code and Message methods to get detailed information about
6081// the error.
6082//
6083// See the AWS API reference guide for Amazon Simple Email Service's
6084// API operation UpdateReceiptRule for usage and error information.
6085//
6086// Returned Error Codes:
6087//   * ErrCodeInvalidSnsTopicException "InvalidSnsTopic"
6088//   Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES
6089//   could not publish to the topic, possibly due to permissions issues. For information
6090//   about giving permissions, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
6091//
6092//   * ErrCodeInvalidS3ConfigurationException "InvalidS3Configuration"
6093//   Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is
6094//   invalid, or that Amazon SES could not publish to the bucket, possibly due
6095//   to permissions issues. For information about giving permissions, see the
6096//   Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
6097//
6098//   * ErrCodeInvalidLambdaFunctionException "InvalidLambdaFunction"
6099//   Indicates that the provided AWS Lambda function is invalid, or that Amazon
6100//   SES could not execute the provided function, possibly due to permissions
6101//   issues. For information about giving permissions, see the Amazon SES Developer
6102//   Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
6103//
6104//   * ErrCodeRuleSetDoesNotExistException "RuleSetDoesNotExist"
6105//   Indicates that the provided receipt rule set does not exist.
6106//
6107//   * ErrCodeRuleDoesNotExistException "RuleDoesNotExist"
6108//   Indicates that the provided receipt rule does not exist.
6109//
6110//   * ErrCodeLimitExceededException "LimitExceeded"
6111//   Indicates that a resource could not be created because of service limits.
6112//   For a list of Amazon SES limits, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html).
6113//
6114// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateReceiptRule
6115func (c *SES) UpdateReceiptRule(input *UpdateReceiptRuleInput) (*UpdateReceiptRuleOutput, error) {
6116	req, out := c.UpdateReceiptRuleRequest(input)
6117	return out, req.Send()
6118}
6119
6120// UpdateReceiptRuleWithContext is the same as UpdateReceiptRule with the addition of
6121// the ability to pass a context and additional request options.
6122//
6123// See UpdateReceiptRule for details on how to use this API operation.
6124//
6125// The context must be non-nil and will be used for request cancellation. If
6126// the context is nil a panic will occur. In the future the SDK may create
6127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6128// for more information on using Contexts.
6129func (c *SES) UpdateReceiptRuleWithContext(ctx aws.Context, input *UpdateReceiptRuleInput, opts ...request.Option) (*UpdateReceiptRuleOutput, error) {
6130	req, out := c.UpdateReceiptRuleRequest(input)
6131	req.SetContext(ctx)
6132	req.ApplyOptions(opts...)
6133	return out, req.Send()
6134}
6135
6136const opUpdateTemplate = "UpdateTemplate"
6137
6138// UpdateTemplateRequest generates a "aws/request.Request" representing the
6139// client's request for the UpdateTemplate operation. The "output" return
6140// value will be populated with the request's response once the request completes
6141// successfully.
6142//
6143// Use "Send" method on the returned Request to send the API call to the service.
6144// the "output" return value is not valid until after Send returns without error.
6145//
6146// See UpdateTemplate for more information on using the UpdateTemplate
6147// API call, and error handling.
6148//
6149// This method is useful when you want to inject custom logic or configuration
6150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6151//
6152//
6153//    // Example sending a request using the UpdateTemplateRequest method.
6154//    req, resp := client.UpdateTemplateRequest(params)
6155//
6156//    err := req.Send()
6157//    if err == nil { // resp is now filled
6158//        fmt.Println(resp)
6159//    }
6160//
6161// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplate
6162func (c *SES) UpdateTemplateRequest(input *UpdateTemplateInput) (req *request.Request, output *UpdateTemplateOutput) {
6163	op := &request.Operation{
6164		Name:       opUpdateTemplate,
6165		HTTPMethod: "POST",
6166		HTTPPath:   "/",
6167	}
6168
6169	if input == nil {
6170		input = &UpdateTemplateInput{}
6171	}
6172
6173	output = &UpdateTemplateOutput{}
6174	req = c.newRequest(op, input, output)
6175	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6176	return
6177}
6178
6179// UpdateTemplate API operation for Amazon Simple Email Service.
6180//
6181// Updates an email template. Email templates enable you to send personalized
6182// email to one or more destinations in a single API operation. For more information,
6183// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
6184//
6185// You can execute this operation no more than once per second.
6186//
6187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6188// with awserr.Error's Code and Message methods to get detailed information about
6189// the error.
6190//
6191// See the AWS API reference guide for Amazon Simple Email Service's
6192// API operation UpdateTemplate for usage and error information.
6193//
6194// Returned Error Codes:
6195//   * ErrCodeTemplateDoesNotExistException "TemplateDoesNotExist"
6196//   Indicates that the Template object you specified does not exist in your Amazon
6197//   SES account.
6198//
6199//   * ErrCodeInvalidTemplateException "InvalidTemplate"
6200//   Indicates that the template that you specified could not be rendered. This
6201//   issue may occur when a template refers to a partial that does not exist.
6202//
6203// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateTemplate
6204func (c *SES) UpdateTemplate(input *UpdateTemplateInput) (*UpdateTemplateOutput, error) {
6205	req, out := c.UpdateTemplateRequest(input)
6206	return out, req.Send()
6207}
6208
6209// UpdateTemplateWithContext is the same as UpdateTemplate with the addition of
6210// the ability to pass a context and additional request options.
6211//
6212// See UpdateTemplate for details on how to use this API operation.
6213//
6214// The context must be non-nil and will be used for request cancellation. If
6215// the context is nil a panic will occur. In the future the SDK may create
6216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6217// for more information on using Contexts.
6218func (c *SES) UpdateTemplateWithContext(ctx aws.Context, input *UpdateTemplateInput, opts ...request.Option) (*UpdateTemplateOutput, error) {
6219	req, out := c.UpdateTemplateRequest(input)
6220	req.SetContext(ctx)
6221	req.ApplyOptions(opts...)
6222	return out, req.Send()
6223}
6224
6225const opVerifyDomainDkim = "VerifyDomainDkim"
6226
6227// VerifyDomainDkimRequest generates a "aws/request.Request" representing the
6228// client's request for the VerifyDomainDkim operation. The "output" return
6229// value will be populated with the request's response once the request completes
6230// successfully.
6231//
6232// Use "Send" method on the returned Request to send the API call to the service.
6233// the "output" return value is not valid until after Send returns without error.
6234//
6235// See VerifyDomainDkim for more information on using the VerifyDomainDkim
6236// API call, and error handling.
6237//
6238// This method is useful when you want to inject custom logic or configuration
6239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6240//
6241//
6242//    // Example sending a request using the VerifyDomainDkimRequest method.
6243//    req, resp := client.VerifyDomainDkimRequest(params)
6244//
6245//    err := req.Send()
6246//    if err == nil { // resp is now filled
6247//        fmt.Println(resp)
6248//    }
6249//
6250// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainDkim
6251func (c *SES) VerifyDomainDkimRequest(input *VerifyDomainDkimInput) (req *request.Request, output *VerifyDomainDkimOutput) {
6252	op := &request.Operation{
6253		Name:       opVerifyDomainDkim,
6254		HTTPMethod: "POST",
6255		HTTPPath:   "/",
6256	}
6257
6258	if input == nil {
6259		input = &VerifyDomainDkimInput{}
6260	}
6261
6262	output = &VerifyDomainDkimOutput{}
6263	req = c.newRequest(op, input, output)
6264	return
6265}
6266
6267// VerifyDomainDkim API operation for Amazon Simple Email Service.
6268//
6269// Returns a set of DKIM tokens for a domain identity.
6270//
6271// When you execute the VerifyDomainDkim operation, the domain that you specify
6272// is added to the list of identities that are associated with your account.
6273// This is true even if you haven't already associated the domain with your
6274// account by using the VerifyDomainIdentity operation. However, you can't send
6275// email from the domain until you either successfully verify it (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html)
6276// or you successfully set up DKIM for it (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
6277//
6278// You use the tokens that are generated by this operation to create CNAME records.
6279// When Amazon SES detects that you've added these records to the DNS configuration
6280// for a domain, you can start sending email from that domain. You can start
6281// sending email even if you haven't added the TXT record provided by the VerifyDomainIdentity
6282// operation to the DNS configuration for your domain. All email that you send
6283// from the domain is authenticated using DKIM.
6284//
6285// To create the CNAME records for DKIM authentication, use the following values:
6286//
6287//    * Name: token._domainkey.example.com
6288//
6289//    * Type: CNAME
6290//
6291//    * Value: token.dkim.amazonses.com
6292//
6293// In the preceding example, replace token with one of the tokens that are generated
6294// when you execute this operation. Replace example.com with your domain. Repeat
6295// this process for each token that's generated by this operation.
6296//
6297// You can execute this operation no more than once per second.
6298//
6299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6300// with awserr.Error's Code and Message methods to get detailed information about
6301// the error.
6302//
6303// See the AWS API reference guide for Amazon Simple Email Service's
6304// API operation VerifyDomainDkim for usage and error information.
6305// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainDkim
6306func (c *SES) VerifyDomainDkim(input *VerifyDomainDkimInput) (*VerifyDomainDkimOutput, error) {
6307	req, out := c.VerifyDomainDkimRequest(input)
6308	return out, req.Send()
6309}
6310
6311// VerifyDomainDkimWithContext is the same as VerifyDomainDkim with the addition of
6312// the ability to pass a context and additional request options.
6313//
6314// See VerifyDomainDkim for details on how to use this API operation.
6315//
6316// The context must be non-nil and will be used for request cancellation. If
6317// the context is nil a panic will occur. In the future the SDK may create
6318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6319// for more information on using Contexts.
6320func (c *SES) VerifyDomainDkimWithContext(ctx aws.Context, input *VerifyDomainDkimInput, opts ...request.Option) (*VerifyDomainDkimOutput, error) {
6321	req, out := c.VerifyDomainDkimRequest(input)
6322	req.SetContext(ctx)
6323	req.ApplyOptions(opts...)
6324	return out, req.Send()
6325}
6326
6327const opVerifyDomainIdentity = "VerifyDomainIdentity"
6328
6329// VerifyDomainIdentityRequest generates a "aws/request.Request" representing the
6330// client's request for the VerifyDomainIdentity operation. The "output" return
6331// value will be populated with the request's response once the request completes
6332// successfully.
6333//
6334// Use "Send" method on the returned Request to send the API call to the service.
6335// the "output" return value is not valid until after Send returns without error.
6336//
6337// See VerifyDomainIdentity for more information on using the VerifyDomainIdentity
6338// API call, and error handling.
6339//
6340// This method is useful when you want to inject custom logic or configuration
6341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6342//
6343//
6344//    // Example sending a request using the VerifyDomainIdentityRequest method.
6345//    req, resp := client.VerifyDomainIdentityRequest(params)
6346//
6347//    err := req.Send()
6348//    if err == nil { // resp is now filled
6349//        fmt.Println(resp)
6350//    }
6351//
6352// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainIdentity
6353func (c *SES) VerifyDomainIdentityRequest(input *VerifyDomainIdentityInput) (req *request.Request, output *VerifyDomainIdentityOutput) {
6354	op := &request.Operation{
6355		Name:       opVerifyDomainIdentity,
6356		HTTPMethod: "POST",
6357		HTTPPath:   "/",
6358	}
6359
6360	if input == nil {
6361		input = &VerifyDomainIdentityInput{}
6362	}
6363
6364	output = &VerifyDomainIdentityOutput{}
6365	req = c.newRequest(op, input, output)
6366	return
6367}
6368
6369// VerifyDomainIdentity API operation for Amazon Simple Email Service.
6370//
6371// Adds a domain to the list of identities for your Amazon SES account in the
6372// current AWS Region and attempts to verify it. For more information about
6373// verifying domains, see Verifying Email Addresses and Domains (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html)
6374// in the Amazon SES Developer Guide.
6375//
6376// You can execute this operation no more than once per second.
6377//
6378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6379// with awserr.Error's Code and Message methods to get detailed information about
6380// the error.
6381//
6382// See the AWS API reference guide for Amazon Simple Email Service's
6383// API operation VerifyDomainIdentity for usage and error information.
6384// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyDomainIdentity
6385func (c *SES) VerifyDomainIdentity(input *VerifyDomainIdentityInput) (*VerifyDomainIdentityOutput, error) {
6386	req, out := c.VerifyDomainIdentityRequest(input)
6387	return out, req.Send()
6388}
6389
6390// VerifyDomainIdentityWithContext is the same as VerifyDomainIdentity with the addition of
6391// the ability to pass a context and additional request options.
6392//
6393// See VerifyDomainIdentity for details on how to use this API operation.
6394//
6395// The context must be non-nil and will be used for request cancellation. If
6396// the context is nil a panic will occur. In the future the SDK may create
6397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6398// for more information on using Contexts.
6399func (c *SES) VerifyDomainIdentityWithContext(ctx aws.Context, input *VerifyDomainIdentityInput, opts ...request.Option) (*VerifyDomainIdentityOutput, error) {
6400	req, out := c.VerifyDomainIdentityRequest(input)
6401	req.SetContext(ctx)
6402	req.ApplyOptions(opts...)
6403	return out, req.Send()
6404}
6405
6406const opVerifyEmailAddress = "VerifyEmailAddress"
6407
6408// VerifyEmailAddressRequest generates a "aws/request.Request" representing the
6409// client's request for the VerifyEmailAddress operation. The "output" return
6410// value will be populated with the request's response once the request completes
6411// successfully.
6412//
6413// Use "Send" method on the returned Request to send the API call to the service.
6414// the "output" return value is not valid until after Send returns without error.
6415//
6416// See VerifyEmailAddress for more information on using the VerifyEmailAddress
6417// API call, and error handling.
6418//
6419// This method is useful when you want to inject custom logic or configuration
6420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6421//
6422//
6423//    // Example sending a request using the VerifyEmailAddressRequest method.
6424//    req, resp := client.VerifyEmailAddressRequest(params)
6425//
6426//    err := req.Send()
6427//    if err == nil { // resp is now filled
6428//        fmt.Println(resp)
6429//    }
6430//
6431// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailAddress
6432func (c *SES) VerifyEmailAddressRequest(input *VerifyEmailAddressInput) (req *request.Request, output *VerifyEmailAddressOutput) {
6433	op := &request.Operation{
6434		Name:       opVerifyEmailAddress,
6435		HTTPMethod: "POST",
6436		HTTPPath:   "/",
6437	}
6438
6439	if input == nil {
6440		input = &VerifyEmailAddressInput{}
6441	}
6442
6443	output = &VerifyEmailAddressOutput{}
6444	req = c.newRequest(op, input, output)
6445	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6446	return
6447}
6448
6449// VerifyEmailAddress API operation for Amazon Simple Email Service.
6450//
6451// Deprecated. Use the VerifyEmailIdentity operation to verify a new email address.
6452//
6453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6454// with awserr.Error's Code and Message methods to get detailed information about
6455// the error.
6456//
6457// See the AWS API reference guide for Amazon Simple Email Service's
6458// API operation VerifyEmailAddress for usage and error information.
6459// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailAddress
6460func (c *SES) VerifyEmailAddress(input *VerifyEmailAddressInput) (*VerifyEmailAddressOutput, error) {
6461	req, out := c.VerifyEmailAddressRequest(input)
6462	return out, req.Send()
6463}
6464
6465// VerifyEmailAddressWithContext is the same as VerifyEmailAddress with the addition of
6466// the ability to pass a context and additional request options.
6467//
6468// See VerifyEmailAddress for details on how to use this API operation.
6469//
6470// The context must be non-nil and will be used for request cancellation. If
6471// the context is nil a panic will occur. In the future the SDK may create
6472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6473// for more information on using Contexts.
6474func (c *SES) VerifyEmailAddressWithContext(ctx aws.Context, input *VerifyEmailAddressInput, opts ...request.Option) (*VerifyEmailAddressOutput, error) {
6475	req, out := c.VerifyEmailAddressRequest(input)
6476	req.SetContext(ctx)
6477	req.ApplyOptions(opts...)
6478	return out, req.Send()
6479}
6480
6481const opVerifyEmailIdentity = "VerifyEmailIdentity"
6482
6483// VerifyEmailIdentityRequest generates a "aws/request.Request" representing the
6484// client's request for the VerifyEmailIdentity operation. The "output" return
6485// value will be populated with the request's response once the request completes
6486// successfully.
6487//
6488// Use "Send" method on the returned Request to send the API call to the service.
6489// the "output" return value is not valid until after Send returns without error.
6490//
6491// See VerifyEmailIdentity for more information on using the VerifyEmailIdentity
6492// API call, and error handling.
6493//
6494// This method is useful when you want to inject custom logic or configuration
6495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6496//
6497//
6498//    // Example sending a request using the VerifyEmailIdentityRequest method.
6499//    req, resp := client.VerifyEmailIdentityRequest(params)
6500//
6501//    err := req.Send()
6502//    if err == nil { // resp is now filled
6503//        fmt.Println(resp)
6504//    }
6505//
6506// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailIdentity
6507func (c *SES) VerifyEmailIdentityRequest(input *VerifyEmailIdentityInput) (req *request.Request, output *VerifyEmailIdentityOutput) {
6508	op := &request.Operation{
6509		Name:       opVerifyEmailIdentity,
6510		HTTPMethod: "POST",
6511		HTTPPath:   "/",
6512	}
6513
6514	if input == nil {
6515		input = &VerifyEmailIdentityInput{}
6516	}
6517
6518	output = &VerifyEmailIdentityOutput{}
6519	req = c.newRequest(op, input, output)
6520	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6521	return
6522}
6523
6524// VerifyEmailIdentity API operation for Amazon Simple Email Service.
6525//
6526// Adds an email address to the list of identities for your Amazon SES account
6527// in the current AWS region and attempts to verify it. As a result of executing
6528// this operation, a verification email is sent to the specified address.
6529//
6530// You can execute this operation no more than once per second.
6531//
6532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6533// with awserr.Error's Code and Message methods to get detailed information about
6534// the error.
6535//
6536// See the AWS API reference guide for Amazon Simple Email Service's
6537// API operation VerifyEmailIdentity for usage and error information.
6538// See also, https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/VerifyEmailIdentity
6539func (c *SES) VerifyEmailIdentity(input *VerifyEmailIdentityInput) (*VerifyEmailIdentityOutput, error) {
6540	req, out := c.VerifyEmailIdentityRequest(input)
6541	return out, req.Send()
6542}
6543
6544// VerifyEmailIdentityWithContext is the same as VerifyEmailIdentity with the addition of
6545// the ability to pass a context and additional request options.
6546//
6547// See VerifyEmailIdentity for details on how to use this API operation.
6548//
6549// The context must be non-nil and will be used for request cancellation. If
6550// the context is nil a panic will occur. In the future the SDK may create
6551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6552// for more information on using Contexts.
6553func (c *SES) VerifyEmailIdentityWithContext(ctx aws.Context, input *VerifyEmailIdentityInput, opts ...request.Option) (*VerifyEmailIdentityOutput, error) {
6554	req, out := c.VerifyEmailIdentityRequest(input)
6555	req.SetContext(ctx)
6556	req.ApplyOptions(opts...)
6557	return out, req.Send()
6558}
6559
6560// When included in a receipt rule, this action adds a header to the received
6561// email.
6562//
6563// For information about adding a header using a receipt rule, see the Amazon
6564// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-add-header.html).
6565type AddHeaderAction struct {
6566	_ struct{} `type:"structure"`
6567
6568	// The name of the header to add. Must be between 1 and 50 characters, inclusive,
6569	// and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.
6570	//
6571	// HeaderName is a required field
6572	HeaderName *string `type:"string" required:"true"`
6573
6574	// Must be less than 2048 characters, and must not contain newline characters
6575	// ("\r" or "\n").
6576	//
6577	// HeaderValue is a required field
6578	HeaderValue *string `type:"string" required:"true"`
6579}
6580
6581// String returns the string representation
6582func (s AddHeaderAction) String() string {
6583	return awsutil.Prettify(s)
6584}
6585
6586// GoString returns the string representation
6587func (s AddHeaderAction) GoString() string {
6588	return s.String()
6589}
6590
6591// Validate inspects the fields of the type to determine if they are valid.
6592func (s *AddHeaderAction) Validate() error {
6593	invalidParams := request.ErrInvalidParams{Context: "AddHeaderAction"}
6594	if s.HeaderName == nil {
6595		invalidParams.Add(request.NewErrParamRequired("HeaderName"))
6596	}
6597	if s.HeaderValue == nil {
6598		invalidParams.Add(request.NewErrParamRequired("HeaderValue"))
6599	}
6600
6601	if invalidParams.Len() > 0 {
6602		return invalidParams
6603	}
6604	return nil
6605}
6606
6607// SetHeaderName sets the HeaderName field's value.
6608func (s *AddHeaderAction) SetHeaderName(v string) *AddHeaderAction {
6609	s.HeaderName = &v
6610	return s
6611}
6612
6613// SetHeaderValue sets the HeaderValue field's value.
6614func (s *AddHeaderAction) SetHeaderValue(v string) *AddHeaderAction {
6615	s.HeaderValue = &v
6616	return s
6617}
6618
6619// Represents the body of the message. You can specify text, HTML, or both.
6620// If you use both, then the message should display correctly in the widest
6621// variety of email clients.
6622type Body struct {
6623	_ struct{} `type:"structure"`
6624
6625	// The content of the message, in HTML format. Use this for email clients that
6626	// can process HTML. You can include clickable links, formatted text, and much
6627	// more in an HTML message.
6628	Html *Content `type:"structure"`
6629
6630	// The content of the message, in text format. Use this for text-based email
6631	// clients, or clients on high-latency networks (such as mobile devices).
6632	Text *Content `type:"structure"`
6633}
6634
6635// String returns the string representation
6636func (s Body) String() string {
6637	return awsutil.Prettify(s)
6638}
6639
6640// GoString returns the string representation
6641func (s Body) GoString() string {
6642	return s.String()
6643}
6644
6645// Validate inspects the fields of the type to determine if they are valid.
6646func (s *Body) Validate() error {
6647	invalidParams := request.ErrInvalidParams{Context: "Body"}
6648	if s.Html != nil {
6649		if err := s.Html.Validate(); err != nil {
6650			invalidParams.AddNested("Html", err.(request.ErrInvalidParams))
6651		}
6652	}
6653	if s.Text != nil {
6654		if err := s.Text.Validate(); err != nil {
6655			invalidParams.AddNested("Text", err.(request.ErrInvalidParams))
6656		}
6657	}
6658
6659	if invalidParams.Len() > 0 {
6660		return invalidParams
6661	}
6662	return nil
6663}
6664
6665// SetHtml sets the Html field's value.
6666func (s *Body) SetHtml(v *Content) *Body {
6667	s.Html = v
6668	return s
6669}
6670
6671// SetText sets the Text field's value.
6672func (s *Body) SetText(v *Content) *Body {
6673	s.Text = v
6674	return s
6675}
6676
6677// When included in a receipt rule, this action rejects the received email by
6678// returning a bounce response to the sender and, optionally, publishes a notification
6679// to Amazon Simple Notification Service (Amazon SNS).
6680//
6681// For information about sending a bounce message in response to a received
6682// email, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-bounce.html).
6683type BounceAction struct {
6684	_ struct{} `type:"structure"`
6685
6686	// Human-readable text to include in the bounce message.
6687	//
6688	// Message is a required field
6689	Message *string `type:"string" required:"true"`
6690
6691	// The email address of the sender of the bounced email. This is the address
6692	// from which the bounce message will be sent.
6693	//
6694	// Sender is a required field
6695	Sender *string `type:"string" required:"true"`
6696
6697	// The SMTP reply code, as defined by RFC 5321 (https://tools.ietf.org/html/rfc5321).
6698	//
6699	// SmtpReplyCode is a required field
6700	SmtpReplyCode *string `type:"string" required:"true"`
6701
6702	// The SMTP enhanced status code, as defined by RFC 3463 (https://tools.ietf.org/html/rfc3463).
6703	StatusCode *string `type:"string"`
6704
6705	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
6706	// bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
6707	// For more information about Amazon SNS topics, see the Amazon SNS Developer
6708	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
6709	TopicArn *string `type:"string"`
6710}
6711
6712// String returns the string representation
6713func (s BounceAction) String() string {
6714	return awsutil.Prettify(s)
6715}
6716
6717// GoString returns the string representation
6718func (s BounceAction) GoString() string {
6719	return s.String()
6720}
6721
6722// Validate inspects the fields of the type to determine if they are valid.
6723func (s *BounceAction) Validate() error {
6724	invalidParams := request.ErrInvalidParams{Context: "BounceAction"}
6725	if s.Message == nil {
6726		invalidParams.Add(request.NewErrParamRequired("Message"))
6727	}
6728	if s.Sender == nil {
6729		invalidParams.Add(request.NewErrParamRequired("Sender"))
6730	}
6731	if s.SmtpReplyCode == nil {
6732		invalidParams.Add(request.NewErrParamRequired("SmtpReplyCode"))
6733	}
6734
6735	if invalidParams.Len() > 0 {
6736		return invalidParams
6737	}
6738	return nil
6739}
6740
6741// SetMessage sets the Message field's value.
6742func (s *BounceAction) SetMessage(v string) *BounceAction {
6743	s.Message = &v
6744	return s
6745}
6746
6747// SetSender sets the Sender field's value.
6748func (s *BounceAction) SetSender(v string) *BounceAction {
6749	s.Sender = &v
6750	return s
6751}
6752
6753// SetSmtpReplyCode sets the SmtpReplyCode field's value.
6754func (s *BounceAction) SetSmtpReplyCode(v string) *BounceAction {
6755	s.SmtpReplyCode = &v
6756	return s
6757}
6758
6759// SetStatusCode sets the StatusCode field's value.
6760func (s *BounceAction) SetStatusCode(v string) *BounceAction {
6761	s.StatusCode = &v
6762	return s
6763}
6764
6765// SetTopicArn sets the TopicArn field's value.
6766func (s *BounceAction) SetTopicArn(v string) *BounceAction {
6767	s.TopicArn = &v
6768	return s
6769}
6770
6771// Recipient-related information to include in the Delivery Status Notification
6772// (DSN) when an email that Amazon SES receives on your behalf bounces.
6773//
6774// For information about receiving email through Amazon SES, see the Amazon
6775// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
6776type BouncedRecipientInfo struct {
6777	_ struct{} `type:"structure"`
6778
6779	// The reason for the bounce. You must provide either this parameter or RecipientDsnFields.
6780	BounceType *string `type:"string" enum:"BounceType"`
6781
6782	// The email address of the recipient of the bounced email.
6783	//
6784	// Recipient is a required field
6785	Recipient *string `type:"string" required:"true"`
6786
6787	// This parameter is used only for sending authorization. It is the ARN of the
6788	// identity that is associated with the sending authorization policy that permits
6789	// you to receive email for the recipient of the bounced email. For more information
6790	// about sending authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
6791	RecipientArn *string `type:"string"`
6792
6793	// Recipient-related DSN fields, most of which would normally be filled in automatically
6794	// when provided with a BounceType. You must provide either this parameter or
6795	// BounceType.
6796	RecipientDsnFields *RecipientDsnFields `type:"structure"`
6797}
6798
6799// String returns the string representation
6800func (s BouncedRecipientInfo) String() string {
6801	return awsutil.Prettify(s)
6802}
6803
6804// GoString returns the string representation
6805func (s BouncedRecipientInfo) GoString() string {
6806	return s.String()
6807}
6808
6809// Validate inspects the fields of the type to determine if they are valid.
6810func (s *BouncedRecipientInfo) Validate() error {
6811	invalidParams := request.ErrInvalidParams{Context: "BouncedRecipientInfo"}
6812	if s.Recipient == nil {
6813		invalidParams.Add(request.NewErrParamRequired("Recipient"))
6814	}
6815	if s.RecipientDsnFields != nil {
6816		if err := s.RecipientDsnFields.Validate(); err != nil {
6817			invalidParams.AddNested("RecipientDsnFields", err.(request.ErrInvalidParams))
6818		}
6819	}
6820
6821	if invalidParams.Len() > 0 {
6822		return invalidParams
6823	}
6824	return nil
6825}
6826
6827// SetBounceType sets the BounceType field's value.
6828func (s *BouncedRecipientInfo) SetBounceType(v string) *BouncedRecipientInfo {
6829	s.BounceType = &v
6830	return s
6831}
6832
6833// SetRecipient sets the Recipient field's value.
6834func (s *BouncedRecipientInfo) SetRecipient(v string) *BouncedRecipientInfo {
6835	s.Recipient = &v
6836	return s
6837}
6838
6839// SetRecipientArn sets the RecipientArn field's value.
6840func (s *BouncedRecipientInfo) SetRecipientArn(v string) *BouncedRecipientInfo {
6841	s.RecipientArn = &v
6842	return s
6843}
6844
6845// SetRecipientDsnFields sets the RecipientDsnFields field's value.
6846func (s *BouncedRecipientInfo) SetRecipientDsnFields(v *RecipientDsnFields) *BouncedRecipientInfo {
6847	s.RecipientDsnFields = v
6848	return s
6849}
6850
6851// An array that contains one or more Destinations, as well as the tags and
6852// replacement data associated with each of those Destinations.
6853type BulkEmailDestination struct {
6854	_ struct{} `type:"structure"`
6855
6856	// Represents the destination of the message, consisting of To:, CC:, and BCC:
6857	// fields.
6858	//
6859	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
6860	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
6861	// a destination email address (the part of the email address that precedes
6862	// the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
6863	// If the domain part of an address (the part after the @ sign) contains non-ASCII
6864	// characters, they must be encoded using Punycode, as described in RFC3492
6865	// (https://tools.ietf.org/html/rfc3492.html).
6866	//
6867	// Destination is a required field
6868	Destination *Destination `type:"structure" required:"true"`
6869
6870	// A list of tags, in the form of name/value pairs, to apply to an email that
6871	// you send using SendBulkTemplatedEmail. Tags correspond to characteristics
6872	// of the email that you define, so that you can publish email sending events.
6873	ReplacementTags []*MessageTag `type:"list"`
6874
6875	// A list of replacement values to apply to the template. This parameter is
6876	// a JSON object, typically consisting of key-value pairs in which the keys
6877	// correspond to replacement tags in the email template.
6878	ReplacementTemplateData *string `type:"string"`
6879}
6880
6881// String returns the string representation
6882func (s BulkEmailDestination) String() string {
6883	return awsutil.Prettify(s)
6884}
6885
6886// GoString returns the string representation
6887func (s BulkEmailDestination) GoString() string {
6888	return s.String()
6889}
6890
6891// Validate inspects the fields of the type to determine if they are valid.
6892func (s *BulkEmailDestination) Validate() error {
6893	invalidParams := request.ErrInvalidParams{Context: "BulkEmailDestination"}
6894	if s.Destination == nil {
6895		invalidParams.Add(request.NewErrParamRequired("Destination"))
6896	}
6897	if s.ReplacementTags != nil {
6898		for i, v := range s.ReplacementTags {
6899			if v == nil {
6900				continue
6901			}
6902			if err := v.Validate(); err != nil {
6903				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplacementTags", i), err.(request.ErrInvalidParams))
6904			}
6905		}
6906	}
6907
6908	if invalidParams.Len() > 0 {
6909		return invalidParams
6910	}
6911	return nil
6912}
6913
6914// SetDestination sets the Destination field's value.
6915func (s *BulkEmailDestination) SetDestination(v *Destination) *BulkEmailDestination {
6916	s.Destination = v
6917	return s
6918}
6919
6920// SetReplacementTags sets the ReplacementTags field's value.
6921func (s *BulkEmailDestination) SetReplacementTags(v []*MessageTag) *BulkEmailDestination {
6922	s.ReplacementTags = v
6923	return s
6924}
6925
6926// SetReplacementTemplateData sets the ReplacementTemplateData field's value.
6927func (s *BulkEmailDestination) SetReplacementTemplateData(v string) *BulkEmailDestination {
6928	s.ReplacementTemplateData = &v
6929	return s
6930}
6931
6932// An object that contains the response from the SendBulkTemplatedEmail operation.
6933type BulkEmailDestinationStatus struct {
6934	_ struct{} `type:"structure"`
6935
6936	// A description of an error that prevented a message being sent using the SendBulkTemplatedEmail
6937	// operation.
6938	Error *string `type:"string"`
6939
6940	// The unique message identifier returned from the SendBulkTemplatedEmail operation.
6941	MessageId *string `type:"string"`
6942
6943	// The status of a message sent using the SendBulkTemplatedEmail operation.
6944	//
6945	// Possible values for this parameter include:
6946	//
6947	//    * Success: Amazon SES accepted the message, and will attempt to deliver
6948	//    it to the recipients.
6949	//
6950	//    * MessageRejected: The message was rejected because it contained a virus.
6951	//
6952	//    * MailFromDomainNotVerified: The sender's email address or domain was
6953	//    not verified.
6954	//
6955	//    * ConfigurationSetDoesNotExist: The configuration set you specified does
6956	//    not exist.
6957	//
6958	//    * TemplateDoesNotExist: The template you specified does not exist.
6959	//
6960	//    * AccountSuspended: Your account has been shut down because of issues
6961	//    related to your email sending practices.
6962	//
6963	//    * AccountThrottled: The number of emails you can send has been reduced
6964	//    because your account has exceeded its allocated sending limit.
6965	//
6966	//    * AccountDailyQuotaExceeded: You have reached or exceeded the maximum
6967	//    number of emails you can send from your account in a 24-hour period.
6968	//
6969	//    * InvalidSendingPoolName: The configuration set you specified refers to
6970	//    an IP pool that does not exist.
6971	//
6972	//    * AccountSendingPaused: Email sending for the Amazon SES account was disabled
6973	//    using the UpdateAccountSendingEnabled operation.
6974	//
6975	//    * ConfigurationSetSendingPaused: Email sending for this configuration
6976	//    set was disabled using the UpdateConfigurationSetSendingEnabled operation.
6977	//
6978	//    * InvalidParameterValue: One or more of the parameters you specified when
6979	//    calling this operation was invalid. See the error message for additional
6980	//    information.
6981	//
6982	//    * TransientFailure: Amazon SES was unable to process your request because
6983	//    of a temporary issue.
6984	//
6985	//    * Failed: Amazon SES was unable to process your request. See the error
6986	//    message for additional information.
6987	Status *string `type:"string" enum:"BulkEmailStatus"`
6988}
6989
6990// String returns the string representation
6991func (s BulkEmailDestinationStatus) String() string {
6992	return awsutil.Prettify(s)
6993}
6994
6995// GoString returns the string representation
6996func (s BulkEmailDestinationStatus) GoString() string {
6997	return s.String()
6998}
6999
7000// SetError sets the Error field's value.
7001func (s *BulkEmailDestinationStatus) SetError(v string) *BulkEmailDestinationStatus {
7002	s.Error = &v
7003	return s
7004}
7005
7006// SetMessageId sets the MessageId field's value.
7007func (s *BulkEmailDestinationStatus) SetMessageId(v string) *BulkEmailDestinationStatus {
7008	s.MessageId = &v
7009	return s
7010}
7011
7012// SetStatus sets the Status field's value.
7013func (s *BulkEmailDestinationStatus) SetStatus(v string) *BulkEmailDestinationStatus {
7014	s.Status = &v
7015	return s
7016}
7017
7018// Represents a request to create a receipt rule set by cloning an existing
7019// one. You use receipt rule sets to receive email with Amazon SES. For more
7020// information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
7021type CloneReceiptRuleSetInput struct {
7022	_ struct{} `type:"structure"`
7023
7024	// The name of the rule set to clone.
7025	//
7026	// OriginalRuleSetName is a required field
7027	OriginalRuleSetName *string `type:"string" required:"true"`
7028
7029	// The name of the rule set to create. The name must:
7030	//
7031	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
7032	//    underscores (_), or dashes (-).
7033	//
7034	//    * Start and end with a letter or number.
7035	//
7036	//    * Contain less than 64 characters.
7037	//
7038	// RuleSetName is a required field
7039	RuleSetName *string `type:"string" required:"true"`
7040}
7041
7042// String returns the string representation
7043func (s CloneReceiptRuleSetInput) String() string {
7044	return awsutil.Prettify(s)
7045}
7046
7047// GoString returns the string representation
7048func (s CloneReceiptRuleSetInput) GoString() string {
7049	return s.String()
7050}
7051
7052// Validate inspects the fields of the type to determine if they are valid.
7053func (s *CloneReceiptRuleSetInput) Validate() error {
7054	invalidParams := request.ErrInvalidParams{Context: "CloneReceiptRuleSetInput"}
7055	if s.OriginalRuleSetName == nil {
7056		invalidParams.Add(request.NewErrParamRequired("OriginalRuleSetName"))
7057	}
7058	if s.RuleSetName == nil {
7059		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
7060	}
7061
7062	if invalidParams.Len() > 0 {
7063		return invalidParams
7064	}
7065	return nil
7066}
7067
7068// SetOriginalRuleSetName sets the OriginalRuleSetName field's value.
7069func (s *CloneReceiptRuleSetInput) SetOriginalRuleSetName(v string) *CloneReceiptRuleSetInput {
7070	s.OriginalRuleSetName = &v
7071	return s
7072}
7073
7074// SetRuleSetName sets the RuleSetName field's value.
7075func (s *CloneReceiptRuleSetInput) SetRuleSetName(v string) *CloneReceiptRuleSetInput {
7076	s.RuleSetName = &v
7077	return s
7078}
7079
7080// An empty element returned on a successful request.
7081type CloneReceiptRuleSetOutput struct {
7082	_ struct{} `type:"structure"`
7083}
7084
7085// String returns the string representation
7086func (s CloneReceiptRuleSetOutput) String() string {
7087	return awsutil.Prettify(s)
7088}
7089
7090// GoString returns the string representation
7091func (s CloneReceiptRuleSetOutput) GoString() string {
7092	return s.String()
7093}
7094
7095// Contains information associated with an Amazon CloudWatch event destination
7096// to which email sending events are published.
7097//
7098// Event destinations, such as Amazon CloudWatch, are associated with configuration
7099// sets, which enable you to publish email sending events. For information about
7100// using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
7101type CloudWatchDestination struct {
7102	_ struct{} `type:"structure"`
7103
7104	// A list of dimensions upon which to categorize your emails when you publish
7105	// email sending events to Amazon CloudWatch.
7106	//
7107	// DimensionConfigurations is a required field
7108	DimensionConfigurations []*CloudWatchDimensionConfiguration `type:"list" required:"true"`
7109}
7110
7111// String returns the string representation
7112func (s CloudWatchDestination) String() string {
7113	return awsutil.Prettify(s)
7114}
7115
7116// GoString returns the string representation
7117func (s CloudWatchDestination) GoString() string {
7118	return s.String()
7119}
7120
7121// Validate inspects the fields of the type to determine if they are valid.
7122func (s *CloudWatchDestination) Validate() error {
7123	invalidParams := request.ErrInvalidParams{Context: "CloudWatchDestination"}
7124	if s.DimensionConfigurations == nil {
7125		invalidParams.Add(request.NewErrParamRequired("DimensionConfigurations"))
7126	}
7127	if s.DimensionConfigurations != nil {
7128		for i, v := range s.DimensionConfigurations {
7129			if v == nil {
7130				continue
7131			}
7132			if err := v.Validate(); err != nil {
7133				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DimensionConfigurations", i), err.(request.ErrInvalidParams))
7134			}
7135		}
7136	}
7137
7138	if invalidParams.Len() > 0 {
7139		return invalidParams
7140	}
7141	return nil
7142}
7143
7144// SetDimensionConfigurations sets the DimensionConfigurations field's value.
7145func (s *CloudWatchDestination) SetDimensionConfigurations(v []*CloudWatchDimensionConfiguration) *CloudWatchDestination {
7146	s.DimensionConfigurations = v
7147	return s
7148}
7149
7150// Contains the dimension configuration to use when you publish email sending
7151// events to Amazon CloudWatch.
7152//
7153// For information about publishing email sending events to Amazon CloudWatch,
7154// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
7155type CloudWatchDimensionConfiguration struct {
7156	_ struct{} `type:"structure"`
7157
7158	// The default value of the dimension that is published to Amazon CloudWatch
7159	// if you do not provide the value of the dimension when you send an email.
7160	// The default value must:
7161	//
7162	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
7163	//    underscores (_), or dashes (-).
7164	//
7165	//    * Contain less than 256 characters.
7166	//
7167	// DefaultDimensionValue is a required field
7168	DefaultDimensionValue *string `type:"string" required:"true"`
7169
7170	// The name of an Amazon CloudWatch dimension associated with an email sending
7171	// metric. The name must:
7172	//
7173	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
7174	//    underscores (_), or dashes (-).
7175	//
7176	//    * Contain less than 256 characters.
7177	//
7178	// DimensionName is a required field
7179	DimensionName *string `type:"string" required:"true"`
7180
7181	// The place where Amazon SES finds the value of a dimension to publish to Amazon
7182	// CloudWatch. If you want Amazon SES to use the message tags that you specify
7183	// using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail/SendRawEmail
7184	// API, choose messageTag. If you want Amazon SES to use your own email headers,
7185	// choose emailHeader.
7186	//
7187	// DimensionValueSource is a required field
7188	DimensionValueSource *string `type:"string" required:"true" enum:"DimensionValueSource"`
7189}
7190
7191// String returns the string representation
7192func (s CloudWatchDimensionConfiguration) String() string {
7193	return awsutil.Prettify(s)
7194}
7195
7196// GoString returns the string representation
7197func (s CloudWatchDimensionConfiguration) GoString() string {
7198	return s.String()
7199}
7200
7201// Validate inspects the fields of the type to determine if they are valid.
7202func (s *CloudWatchDimensionConfiguration) Validate() error {
7203	invalidParams := request.ErrInvalidParams{Context: "CloudWatchDimensionConfiguration"}
7204	if s.DefaultDimensionValue == nil {
7205		invalidParams.Add(request.NewErrParamRequired("DefaultDimensionValue"))
7206	}
7207	if s.DimensionName == nil {
7208		invalidParams.Add(request.NewErrParamRequired("DimensionName"))
7209	}
7210	if s.DimensionValueSource == nil {
7211		invalidParams.Add(request.NewErrParamRequired("DimensionValueSource"))
7212	}
7213
7214	if invalidParams.Len() > 0 {
7215		return invalidParams
7216	}
7217	return nil
7218}
7219
7220// SetDefaultDimensionValue sets the DefaultDimensionValue field's value.
7221func (s *CloudWatchDimensionConfiguration) SetDefaultDimensionValue(v string) *CloudWatchDimensionConfiguration {
7222	s.DefaultDimensionValue = &v
7223	return s
7224}
7225
7226// SetDimensionName sets the DimensionName field's value.
7227func (s *CloudWatchDimensionConfiguration) SetDimensionName(v string) *CloudWatchDimensionConfiguration {
7228	s.DimensionName = &v
7229	return s
7230}
7231
7232// SetDimensionValueSource sets the DimensionValueSource field's value.
7233func (s *CloudWatchDimensionConfiguration) SetDimensionValueSource(v string) *CloudWatchDimensionConfiguration {
7234	s.DimensionValueSource = &v
7235	return s
7236}
7237
7238// The name of the configuration set.
7239//
7240// Configuration sets let you create groups of rules that you can apply to the
7241// emails you send using Amazon SES. For more information about using configuration
7242// sets, see Using Amazon SES Configuration Sets (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets.html)
7243// in the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).
7244type ConfigurationSet struct {
7245	_ struct{} `type:"structure"`
7246
7247	// The name of the configuration set. The name must meet the following requirements:
7248	//
7249	//    * Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or
7250	//    dashes (-).
7251	//
7252	//    * Contain 64 characters or fewer.
7253	//
7254	// Name is a required field
7255	Name *string `type:"string" required:"true"`
7256}
7257
7258// String returns the string representation
7259func (s ConfigurationSet) String() string {
7260	return awsutil.Prettify(s)
7261}
7262
7263// GoString returns the string representation
7264func (s ConfigurationSet) GoString() string {
7265	return s.String()
7266}
7267
7268// Validate inspects the fields of the type to determine if they are valid.
7269func (s *ConfigurationSet) Validate() error {
7270	invalidParams := request.ErrInvalidParams{Context: "ConfigurationSet"}
7271	if s.Name == nil {
7272		invalidParams.Add(request.NewErrParamRequired("Name"))
7273	}
7274
7275	if invalidParams.Len() > 0 {
7276		return invalidParams
7277	}
7278	return nil
7279}
7280
7281// SetName sets the Name field's value.
7282func (s *ConfigurationSet) SetName(v string) *ConfigurationSet {
7283	s.Name = &v
7284	return s
7285}
7286
7287// Represents textual data, plus an optional character set specification.
7288//
7289// By default, the text must be 7-bit ASCII, due to the constraints of the SMTP
7290// protocol. If the text must contain any other characters, then you must also
7291// specify a character set. Examples include UTF-8, ISO-8859-1, and Shift_JIS.
7292type Content struct {
7293	_ struct{} `type:"structure"`
7294
7295	// The character set of the content.
7296	Charset *string `type:"string"`
7297
7298	// The textual data of the content.
7299	//
7300	// Data is a required field
7301	Data *string `type:"string" required:"true"`
7302}
7303
7304// String returns the string representation
7305func (s Content) String() string {
7306	return awsutil.Prettify(s)
7307}
7308
7309// GoString returns the string representation
7310func (s Content) GoString() string {
7311	return s.String()
7312}
7313
7314// Validate inspects the fields of the type to determine if they are valid.
7315func (s *Content) Validate() error {
7316	invalidParams := request.ErrInvalidParams{Context: "Content"}
7317	if s.Data == nil {
7318		invalidParams.Add(request.NewErrParamRequired("Data"))
7319	}
7320
7321	if invalidParams.Len() > 0 {
7322		return invalidParams
7323	}
7324	return nil
7325}
7326
7327// SetCharset sets the Charset field's value.
7328func (s *Content) SetCharset(v string) *Content {
7329	s.Charset = &v
7330	return s
7331}
7332
7333// SetData sets the Data field's value.
7334func (s *Content) SetData(v string) *Content {
7335	s.Data = &v
7336	return s
7337}
7338
7339// Represents a request to create a configuration set event destination. A configuration
7340// set event destination, which can be either Amazon CloudWatch or Amazon Kinesis
7341// Firehose, describes an AWS service in which Amazon SES publishes the email
7342// sending events associated with a configuration set. For information about
7343// using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
7344type CreateConfigurationSetEventDestinationInput struct {
7345	_ struct{} `type:"structure"`
7346
7347	// The name of the configuration set that the event destination should be associated
7348	// with.
7349	//
7350	// ConfigurationSetName is a required field
7351	ConfigurationSetName *string `type:"string" required:"true"`
7352
7353	// An object that describes the AWS service that email sending event information
7354	// will be published to.
7355	//
7356	// EventDestination is a required field
7357	EventDestination *EventDestination `type:"structure" required:"true"`
7358}
7359
7360// String returns the string representation
7361func (s CreateConfigurationSetEventDestinationInput) String() string {
7362	return awsutil.Prettify(s)
7363}
7364
7365// GoString returns the string representation
7366func (s CreateConfigurationSetEventDestinationInput) GoString() string {
7367	return s.String()
7368}
7369
7370// Validate inspects the fields of the type to determine if they are valid.
7371func (s *CreateConfigurationSetEventDestinationInput) Validate() error {
7372	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetEventDestinationInput"}
7373	if s.ConfigurationSetName == nil {
7374		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
7375	}
7376	if s.EventDestination == nil {
7377		invalidParams.Add(request.NewErrParamRequired("EventDestination"))
7378	}
7379	if s.EventDestination != nil {
7380		if err := s.EventDestination.Validate(); err != nil {
7381			invalidParams.AddNested("EventDestination", err.(request.ErrInvalidParams))
7382		}
7383	}
7384
7385	if invalidParams.Len() > 0 {
7386		return invalidParams
7387	}
7388	return nil
7389}
7390
7391// SetConfigurationSetName sets the ConfigurationSetName field's value.
7392func (s *CreateConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *CreateConfigurationSetEventDestinationInput {
7393	s.ConfigurationSetName = &v
7394	return s
7395}
7396
7397// SetEventDestination sets the EventDestination field's value.
7398func (s *CreateConfigurationSetEventDestinationInput) SetEventDestination(v *EventDestination) *CreateConfigurationSetEventDestinationInput {
7399	s.EventDestination = v
7400	return s
7401}
7402
7403// An empty element returned on a successful request.
7404type CreateConfigurationSetEventDestinationOutput struct {
7405	_ struct{} `type:"structure"`
7406}
7407
7408// String returns the string representation
7409func (s CreateConfigurationSetEventDestinationOutput) String() string {
7410	return awsutil.Prettify(s)
7411}
7412
7413// GoString returns the string representation
7414func (s CreateConfigurationSetEventDestinationOutput) GoString() string {
7415	return s.String()
7416}
7417
7418// Represents a request to create a configuration set. Configuration sets enable
7419// you to publish email sending events. For information about using configuration
7420// sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
7421type CreateConfigurationSetInput struct {
7422	_ struct{} `type:"structure"`
7423
7424	// A data structure that contains the name of the configuration set.
7425	//
7426	// ConfigurationSet is a required field
7427	ConfigurationSet *ConfigurationSet `type:"structure" required:"true"`
7428}
7429
7430// String returns the string representation
7431func (s CreateConfigurationSetInput) String() string {
7432	return awsutil.Prettify(s)
7433}
7434
7435// GoString returns the string representation
7436func (s CreateConfigurationSetInput) GoString() string {
7437	return s.String()
7438}
7439
7440// Validate inspects the fields of the type to determine if they are valid.
7441func (s *CreateConfigurationSetInput) Validate() error {
7442	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetInput"}
7443	if s.ConfigurationSet == nil {
7444		invalidParams.Add(request.NewErrParamRequired("ConfigurationSet"))
7445	}
7446	if s.ConfigurationSet != nil {
7447		if err := s.ConfigurationSet.Validate(); err != nil {
7448			invalidParams.AddNested("ConfigurationSet", err.(request.ErrInvalidParams))
7449		}
7450	}
7451
7452	if invalidParams.Len() > 0 {
7453		return invalidParams
7454	}
7455	return nil
7456}
7457
7458// SetConfigurationSet sets the ConfigurationSet field's value.
7459func (s *CreateConfigurationSetInput) SetConfigurationSet(v *ConfigurationSet) *CreateConfigurationSetInput {
7460	s.ConfigurationSet = v
7461	return s
7462}
7463
7464// An empty element returned on a successful request.
7465type CreateConfigurationSetOutput struct {
7466	_ struct{} `type:"structure"`
7467}
7468
7469// String returns the string representation
7470func (s CreateConfigurationSetOutput) String() string {
7471	return awsutil.Prettify(s)
7472}
7473
7474// GoString returns the string representation
7475func (s CreateConfigurationSetOutput) GoString() string {
7476	return s.String()
7477}
7478
7479// Represents a request to create an open and click tracking option object in
7480// a configuration set.
7481type CreateConfigurationSetTrackingOptionsInput struct {
7482	_ struct{} `type:"structure"`
7483
7484	// The name of the configuration set that the tracking options should be associated
7485	// with.
7486	//
7487	// ConfigurationSetName is a required field
7488	ConfigurationSetName *string `type:"string" required:"true"`
7489
7490	// A domain that is used to redirect email recipients to an Amazon SES-operated
7491	// domain. This domain captures open and click events generated by Amazon SES
7492	// emails.
7493	//
7494	// For more information, see Configuring Custom Domains to Handle Open and Click
7495	// Tracking (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
7496	// in the Amazon SES Developer Guide.
7497	//
7498	// TrackingOptions is a required field
7499	TrackingOptions *TrackingOptions `type:"structure" required:"true"`
7500}
7501
7502// String returns the string representation
7503func (s CreateConfigurationSetTrackingOptionsInput) String() string {
7504	return awsutil.Prettify(s)
7505}
7506
7507// GoString returns the string representation
7508func (s CreateConfigurationSetTrackingOptionsInput) GoString() string {
7509	return s.String()
7510}
7511
7512// Validate inspects the fields of the type to determine if they are valid.
7513func (s *CreateConfigurationSetTrackingOptionsInput) Validate() error {
7514	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetTrackingOptionsInput"}
7515	if s.ConfigurationSetName == nil {
7516		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
7517	}
7518	if s.TrackingOptions == nil {
7519		invalidParams.Add(request.NewErrParamRequired("TrackingOptions"))
7520	}
7521
7522	if invalidParams.Len() > 0 {
7523		return invalidParams
7524	}
7525	return nil
7526}
7527
7528// SetConfigurationSetName sets the ConfigurationSetName field's value.
7529func (s *CreateConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *CreateConfigurationSetTrackingOptionsInput {
7530	s.ConfigurationSetName = &v
7531	return s
7532}
7533
7534// SetTrackingOptions sets the TrackingOptions field's value.
7535func (s *CreateConfigurationSetTrackingOptionsInput) SetTrackingOptions(v *TrackingOptions) *CreateConfigurationSetTrackingOptionsInput {
7536	s.TrackingOptions = v
7537	return s
7538}
7539
7540// An empty element returned on a successful request.
7541type CreateConfigurationSetTrackingOptionsOutput struct {
7542	_ struct{} `type:"structure"`
7543}
7544
7545// String returns the string representation
7546func (s CreateConfigurationSetTrackingOptionsOutput) String() string {
7547	return awsutil.Prettify(s)
7548}
7549
7550// GoString returns the string representation
7551func (s CreateConfigurationSetTrackingOptionsOutput) GoString() string {
7552	return s.String()
7553}
7554
7555// Represents a request to create a custom verification email template.
7556type CreateCustomVerificationEmailTemplateInput struct {
7557	_ struct{} `type:"structure"`
7558
7559	// The URL that the recipient of the verification email is sent to if his or
7560	// her address is not successfully verified.
7561	//
7562	// FailureRedirectionURL is a required field
7563	FailureRedirectionURL *string `type:"string" required:"true"`
7564
7565	// The email address that the custom verification email is sent from.
7566	//
7567	// FromEmailAddress is a required field
7568	FromEmailAddress *string `type:"string" required:"true"`
7569
7570	// The URL that the recipient of the verification email is sent to if his or
7571	// her address is successfully verified.
7572	//
7573	// SuccessRedirectionURL is a required field
7574	SuccessRedirectionURL *string `type:"string" required:"true"`
7575
7576	// The content of the custom verification email. The total size of the email
7577	// must be less than 10 MB. The message body may contain HTML, with some limitations.
7578	// For more information, see Custom Verification Email Frequently Asked Questions
7579	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html#custom-verification-emails-faq)
7580	// in the Amazon SES Developer Guide.
7581	//
7582	// TemplateContent is a required field
7583	TemplateContent *string `type:"string" required:"true"`
7584
7585	// The name of the custom verification email template.
7586	//
7587	// TemplateName is a required field
7588	TemplateName *string `type:"string" required:"true"`
7589
7590	// The subject line of the custom verification email.
7591	//
7592	// TemplateSubject is a required field
7593	TemplateSubject *string `type:"string" required:"true"`
7594}
7595
7596// String returns the string representation
7597func (s CreateCustomVerificationEmailTemplateInput) String() string {
7598	return awsutil.Prettify(s)
7599}
7600
7601// GoString returns the string representation
7602func (s CreateCustomVerificationEmailTemplateInput) GoString() string {
7603	return s.String()
7604}
7605
7606// Validate inspects the fields of the type to determine if they are valid.
7607func (s *CreateCustomVerificationEmailTemplateInput) Validate() error {
7608	invalidParams := request.ErrInvalidParams{Context: "CreateCustomVerificationEmailTemplateInput"}
7609	if s.FailureRedirectionURL == nil {
7610		invalidParams.Add(request.NewErrParamRequired("FailureRedirectionURL"))
7611	}
7612	if s.FromEmailAddress == nil {
7613		invalidParams.Add(request.NewErrParamRequired("FromEmailAddress"))
7614	}
7615	if s.SuccessRedirectionURL == nil {
7616		invalidParams.Add(request.NewErrParamRequired("SuccessRedirectionURL"))
7617	}
7618	if s.TemplateContent == nil {
7619		invalidParams.Add(request.NewErrParamRequired("TemplateContent"))
7620	}
7621	if s.TemplateName == nil {
7622		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
7623	}
7624	if s.TemplateSubject == nil {
7625		invalidParams.Add(request.NewErrParamRequired("TemplateSubject"))
7626	}
7627
7628	if invalidParams.Len() > 0 {
7629		return invalidParams
7630	}
7631	return nil
7632}
7633
7634// SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
7635func (s *CreateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput {
7636	s.FailureRedirectionURL = &v
7637	return s
7638}
7639
7640// SetFromEmailAddress sets the FromEmailAddress field's value.
7641func (s *CreateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *CreateCustomVerificationEmailTemplateInput {
7642	s.FromEmailAddress = &v
7643	return s
7644}
7645
7646// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
7647func (s *CreateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput {
7648	s.SuccessRedirectionURL = &v
7649	return s
7650}
7651
7652// SetTemplateContent sets the TemplateContent field's value.
7653func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *CreateCustomVerificationEmailTemplateInput {
7654	s.TemplateContent = &v
7655	return s
7656}
7657
7658// SetTemplateName sets the TemplateName field's value.
7659func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *CreateCustomVerificationEmailTemplateInput {
7660	s.TemplateName = &v
7661	return s
7662}
7663
7664// SetTemplateSubject sets the TemplateSubject field's value.
7665func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *CreateCustomVerificationEmailTemplateInput {
7666	s.TemplateSubject = &v
7667	return s
7668}
7669
7670type CreateCustomVerificationEmailTemplateOutput struct {
7671	_ struct{} `type:"structure"`
7672}
7673
7674// String returns the string representation
7675func (s CreateCustomVerificationEmailTemplateOutput) String() string {
7676	return awsutil.Prettify(s)
7677}
7678
7679// GoString returns the string representation
7680func (s CreateCustomVerificationEmailTemplateOutput) GoString() string {
7681	return s.String()
7682}
7683
7684// Represents a request to create a new IP address filter. You use IP address
7685// filters when you receive email with Amazon SES. For more information, see
7686// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
7687type CreateReceiptFilterInput struct {
7688	_ struct{} `type:"structure"`
7689
7690	// A data structure that describes the IP address filter to create, which consists
7691	// of a name, an IP address range, and whether to allow or block mail from it.
7692	//
7693	// Filter is a required field
7694	Filter *ReceiptFilter `type:"structure" required:"true"`
7695}
7696
7697// String returns the string representation
7698func (s CreateReceiptFilterInput) String() string {
7699	return awsutil.Prettify(s)
7700}
7701
7702// GoString returns the string representation
7703func (s CreateReceiptFilterInput) GoString() string {
7704	return s.String()
7705}
7706
7707// Validate inspects the fields of the type to determine if they are valid.
7708func (s *CreateReceiptFilterInput) Validate() error {
7709	invalidParams := request.ErrInvalidParams{Context: "CreateReceiptFilterInput"}
7710	if s.Filter == nil {
7711		invalidParams.Add(request.NewErrParamRequired("Filter"))
7712	}
7713	if s.Filter != nil {
7714		if err := s.Filter.Validate(); err != nil {
7715			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7716		}
7717	}
7718
7719	if invalidParams.Len() > 0 {
7720		return invalidParams
7721	}
7722	return nil
7723}
7724
7725// SetFilter sets the Filter field's value.
7726func (s *CreateReceiptFilterInput) SetFilter(v *ReceiptFilter) *CreateReceiptFilterInput {
7727	s.Filter = v
7728	return s
7729}
7730
7731// An empty element returned on a successful request.
7732type CreateReceiptFilterOutput struct {
7733	_ struct{} `type:"structure"`
7734}
7735
7736// String returns the string representation
7737func (s CreateReceiptFilterOutput) String() string {
7738	return awsutil.Prettify(s)
7739}
7740
7741// GoString returns the string representation
7742func (s CreateReceiptFilterOutput) GoString() string {
7743	return s.String()
7744}
7745
7746// Represents a request to create a receipt rule. You use receipt rules to receive
7747// email with Amazon SES. For more information, see the Amazon SES Developer
7748// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
7749type CreateReceiptRuleInput struct {
7750	_ struct{} `type:"structure"`
7751
7752	// The name of an existing rule after which the new rule will be placed. If
7753	// this parameter is null, the new rule will be inserted at the beginning of
7754	// the rule list.
7755	After *string `type:"string"`
7756
7757	// A data structure that contains the specified rule's name, actions, recipients,
7758	// domains, enabled status, scan status, and TLS policy.
7759	//
7760	// Rule is a required field
7761	Rule *ReceiptRule `type:"structure" required:"true"`
7762
7763	// The name of the rule set that the receipt rule will be added to.
7764	//
7765	// RuleSetName is a required field
7766	RuleSetName *string `type:"string" required:"true"`
7767}
7768
7769// String returns the string representation
7770func (s CreateReceiptRuleInput) String() string {
7771	return awsutil.Prettify(s)
7772}
7773
7774// GoString returns the string representation
7775func (s CreateReceiptRuleInput) GoString() string {
7776	return s.String()
7777}
7778
7779// Validate inspects the fields of the type to determine if they are valid.
7780func (s *CreateReceiptRuleInput) Validate() error {
7781	invalidParams := request.ErrInvalidParams{Context: "CreateReceiptRuleInput"}
7782	if s.Rule == nil {
7783		invalidParams.Add(request.NewErrParamRequired("Rule"))
7784	}
7785	if s.RuleSetName == nil {
7786		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
7787	}
7788	if s.Rule != nil {
7789		if err := s.Rule.Validate(); err != nil {
7790			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
7791		}
7792	}
7793
7794	if invalidParams.Len() > 0 {
7795		return invalidParams
7796	}
7797	return nil
7798}
7799
7800// SetAfter sets the After field's value.
7801func (s *CreateReceiptRuleInput) SetAfter(v string) *CreateReceiptRuleInput {
7802	s.After = &v
7803	return s
7804}
7805
7806// SetRule sets the Rule field's value.
7807func (s *CreateReceiptRuleInput) SetRule(v *ReceiptRule) *CreateReceiptRuleInput {
7808	s.Rule = v
7809	return s
7810}
7811
7812// SetRuleSetName sets the RuleSetName field's value.
7813func (s *CreateReceiptRuleInput) SetRuleSetName(v string) *CreateReceiptRuleInput {
7814	s.RuleSetName = &v
7815	return s
7816}
7817
7818// An empty element returned on a successful request.
7819type CreateReceiptRuleOutput struct {
7820	_ struct{} `type:"structure"`
7821}
7822
7823// String returns the string representation
7824func (s CreateReceiptRuleOutput) String() string {
7825	return awsutil.Prettify(s)
7826}
7827
7828// GoString returns the string representation
7829func (s CreateReceiptRuleOutput) GoString() string {
7830	return s.String()
7831}
7832
7833// Represents a request to create an empty receipt rule set. You use receipt
7834// rule sets to receive email with Amazon SES. For more information, see the
7835// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
7836type CreateReceiptRuleSetInput struct {
7837	_ struct{} `type:"structure"`
7838
7839	// The name of the rule set to create. The name must:
7840	//
7841	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
7842	//    underscores (_), or dashes (-).
7843	//
7844	//    * Start and end with a letter or number.
7845	//
7846	//    * Contain less than 64 characters.
7847	//
7848	// RuleSetName is a required field
7849	RuleSetName *string `type:"string" required:"true"`
7850}
7851
7852// String returns the string representation
7853func (s CreateReceiptRuleSetInput) String() string {
7854	return awsutil.Prettify(s)
7855}
7856
7857// GoString returns the string representation
7858func (s CreateReceiptRuleSetInput) GoString() string {
7859	return s.String()
7860}
7861
7862// Validate inspects the fields of the type to determine if they are valid.
7863func (s *CreateReceiptRuleSetInput) Validate() error {
7864	invalidParams := request.ErrInvalidParams{Context: "CreateReceiptRuleSetInput"}
7865	if s.RuleSetName == nil {
7866		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
7867	}
7868
7869	if invalidParams.Len() > 0 {
7870		return invalidParams
7871	}
7872	return nil
7873}
7874
7875// SetRuleSetName sets the RuleSetName field's value.
7876func (s *CreateReceiptRuleSetInput) SetRuleSetName(v string) *CreateReceiptRuleSetInput {
7877	s.RuleSetName = &v
7878	return s
7879}
7880
7881// An empty element returned on a successful request.
7882type CreateReceiptRuleSetOutput struct {
7883	_ struct{} `type:"structure"`
7884}
7885
7886// String returns the string representation
7887func (s CreateReceiptRuleSetOutput) String() string {
7888	return awsutil.Prettify(s)
7889}
7890
7891// GoString returns the string representation
7892func (s CreateReceiptRuleSetOutput) GoString() string {
7893	return s.String()
7894}
7895
7896// Represents a request to create an email template. For more information, see
7897// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
7898type CreateTemplateInput struct {
7899	_ struct{} `type:"structure"`
7900
7901	// The content of the email, composed of a subject line, an HTML part, and a
7902	// text-only part.
7903	//
7904	// Template is a required field
7905	Template *Template `type:"structure" required:"true"`
7906}
7907
7908// String returns the string representation
7909func (s CreateTemplateInput) String() string {
7910	return awsutil.Prettify(s)
7911}
7912
7913// GoString returns the string representation
7914func (s CreateTemplateInput) GoString() string {
7915	return s.String()
7916}
7917
7918// Validate inspects the fields of the type to determine if they are valid.
7919func (s *CreateTemplateInput) Validate() error {
7920	invalidParams := request.ErrInvalidParams{Context: "CreateTemplateInput"}
7921	if s.Template == nil {
7922		invalidParams.Add(request.NewErrParamRequired("Template"))
7923	}
7924	if s.Template != nil {
7925		if err := s.Template.Validate(); err != nil {
7926			invalidParams.AddNested("Template", err.(request.ErrInvalidParams))
7927		}
7928	}
7929
7930	if invalidParams.Len() > 0 {
7931		return invalidParams
7932	}
7933	return nil
7934}
7935
7936// SetTemplate sets the Template field's value.
7937func (s *CreateTemplateInput) SetTemplate(v *Template) *CreateTemplateInput {
7938	s.Template = v
7939	return s
7940}
7941
7942type CreateTemplateOutput struct {
7943	_ struct{} `type:"structure"`
7944}
7945
7946// String returns the string representation
7947func (s CreateTemplateOutput) String() string {
7948	return awsutil.Prettify(s)
7949}
7950
7951// GoString returns the string representation
7952func (s CreateTemplateOutput) GoString() string {
7953	return s.String()
7954}
7955
7956// Contains information about a custom verification email template.
7957type CustomVerificationEmailTemplate struct {
7958	_ struct{} `type:"structure"`
7959
7960	// The URL that the recipient of the verification email is sent to if his or
7961	// her address is not successfully verified.
7962	FailureRedirectionURL *string `type:"string"`
7963
7964	// The email address that the custom verification email is sent from.
7965	FromEmailAddress *string `type:"string"`
7966
7967	// The URL that the recipient of the verification email is sent to if his or
7968	// her address is successfully verified.
7969	SuccessRedirectionURL *string `type:"string"`
7970
7971	// The name of the custom verification email template.
7972	TemplateName *string `type:"string"`
7973
7974	// The subject line of the custom verification email.
7975	TemplateSubject *string `type:"string"`
7976}
7977
7978// String returns the string representation
7979func (s CustomVerificationEmailTemplate) String() string {
7980	return awsutil.Prettify(s)
7981}
7982
7983// GoString returns the string representation
7984func (s CustomVerificationEmailTemplate) GoString() string {
7985	return s.String()
7986}
7987
7988// SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
7989func (s *CustomVerificationEmailTemplate) SetFailureRedirectionURL(v string) *CustomVerificationEmailTemplate {
7990	s.FailureRedirectionURL = &v
7991	return s
7992}
7993
7994// SetFromEmailAddress sets the FromEmailAddress field's value.
7995func (s *CustomVerificationEmailTemplate) SetFromEmailAddress(v string) *CustomVerificationEmailTemplate {
7996	s.FromEmailAddress = &v
7997	return s
7998}
7999
8000// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
8001func (s *CustomVerificationEmailTemplate) SetSuccessRedirectionURL(v string) *CustomVerificationEmailTemplate {
8002	s.SuccessRedirectionURL = &v
8003	return s
8004}
8005
8006// SetTemplateName sets the TemplateName field's value.
8007func (s *CustomVerificationEmailTemplate) SetTemplateName(v string) *CustomVerificationEmailTemplate {
8008	s.TemplateName = &v
8009	return s
8010}
8011
8012// SetTemplateSubject sets the TemplateSubject field's value.
8013func (s *CustomVerificationEmailTemplate) SetTemplateSubject(v string) *CustomVerificationEmailTemplate {
8014	s.TemplateSubject = &v
8015	return s
8016}
8017
8018// Represents a request to delete a configuration set event destination. Configuration
8019// set event destinations are associated with configuration sets, which enable
8020// you to publish email sending events. For information about using configuration
8021// sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
8022type DeleteConfigurationSetEventDestinationInput struct {
8023	_ struct{} `type:"structure"`
8024
8025	// The name of the configuration set from which to delete the event destination.
8026	//
8027	// ConfigurationSetName is a required field
8028	ConfigurationSetName *string `type:"string" required:"true"`
8029
8030	// The name of the event destination to delete.
8031	//
8032	// EventDestinationName is a required field
8033	EventDestinationName *string `type:"string" required:"true"`
8034}
8035
8036// String returns the string representation
8037func (s DeleteConfigurationSetEventDestinationInput) String() string {
8038	return awsutil.Prettify(s)
8039}
8040
8041// GoString returns the string representation
8042func (s DeleteConfigurationSetEventDestinationInput) GoString() string {
8043	return s.String()
8044}
8045
8046// Validate inspects the fields of the type to determine if they are valid.
8047func (s *DeleteConfigurationSetEventDestinationInput) Validate() error {
8048	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetEventDestinationInput"}
8049	if s.ConfigurationSetName == nil {
8050		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
8051	}
8052	if s.EventDestinationName == nil {
8053		invalidParams.Add(request.NewErrParamRequired("EventDestinationName"))
8054	}
8055
8056	if invalidParams.Len() > 0 {
8057		return invalidParams
8058	}
8059	return nil
8060}
8061
8062// SetConfigurationSetName sets the ConfigurationSetName field's value.
8063func (s *DeleteConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *DeleteConfigurationSetEventDestinationInput {
8064	s.ConfigurationSetName = &v
8065	return s
8066}
8067
8068// SetEventDestinationName sets the EventDestinationName field's value.
8069func (s *DeleteConfigurationSetEventDestinationInput) SetEventDestinationName(v string) *DeleteConfigurationSetEventDestinationInput {
8070	s.EventDestinationName = &v
8071	return s
8072}
8073
8074// An empty element returned on a successful request.
8075type DeleteConfigurationSetEventDestinationOutput struct {
8076	_ struct{} `type:"structure"`
8077}
8078
8079// String returns the string representation
8080func (s DeleteConfigurationSetEventDestinationOutput) String() string {
8081	return awsutil.Prettify(s)
8082}
8083
8084// GoString returns the string representation
8085func (s DeleteConfigurationSetEventDestinationOutput) GoString() string {
8086	return s.String()
8087}
8088
8089// Represents a request to delete a configuration set. Configuration sets enable
8090// you to publish email sending events. For information about using configuration
8091// sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
8092type DeleteConfigurationSetInput struct {
8093	_ struct{} `type:"structure"`
8094
8095	// The name of the configuration set to delete.
8096	//
8097	// ConfigurationSetName is a required field
8098	ConfigurationSetName *string `type:"string" required:"true"`
8099}
8100
8101// String returns the string representation
8102func (s DeleteConfigurationSetInput) String() string {
8103	return awsutil.Prettify(s)
8104}
8105
8106// GoString returns the string representation
8107func (s DeleteConfigurationSetInput) GoString() string {
8108	return s.String()
8109}
8110
8111// Validate inspects the fields of the type to determine if they are valid.
8112func (s *DeleteConfigurationSetInput) Validate() error {
8113	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetInput"}
8114	if s.ConfigurationSetName == nil {
8115		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
8116	}
8117
8118	if invalidParams.Len() > 0 {
8119		return invalidParams
8120	}
8121	return nil
8122}
8123
8124// SetConfigurationSetName sets the ConfigurationSetName field's value.
8125func (s *DeleteConfigurationSetInput) SetConfigurationSetName(v string) *DeleteConfigurationSetInput {
8126	s.ConfigurationSetName = &v
8127	return s
8128}
8129
8130// An empty element returned on a successful request.
8131type DeleteConfigurationSetOutput struct {
8132	_ struct{} `type:"structure"`
8133}
8134
8135// String returns the string representation
8136func (s DeleteConfigurationSetOutput) String() string {
8137	return awsutil.Prettify(s)
8138}
8139
8140// GoString returns the string representation
8141func (s DeleteConfigurationSetOutput) GoString() string {
8142	return s.String()
8143}
8144
8145// Represents a request to delete open and click tracking options in a configuration
8146// set.
8147type DeleteConfigurationSetTrackingOptionsInput struct {
8148	_ struct{} `type:"structure"`
8149
8150	// The name of the configuration set from which you want to delete the tracking
8151	// options.
8152	//
8153	// ConfigurationSetName is a required field
8154	ConfigurationSetName *string `type:"string" required:"true"`
8155}
8156
8157// String returns the string representation
8158func (s DeleteConfigurationSetTrackingOptionsInput) String() string {
8159	return awsutil.Prettify(s)
8160}
8161
8162// GoString returns the string representation
8163func (s DeleteConfigurationSetTrackingOptionsInput) GoString() string {
8164	return s.String()
8165}
8166
8167// Validate inspects the fields of the type to determine if they are valid.
8168func (s *DeleteConfigurationSetTrackingOptionsInput) Validate() error {
8169	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetTrackingOptionsInput"}
8170	if s.ConfigurationSetName == nil {
8171		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
8172	}
8173
8174	if invalidParams.Len() > 0 {
8175		return invalidParams
8176	}
8177	return nil
8178}
8179
8180// SetConfigurationSetName sets the ConfigurationSetName field's value.
8181func (s *DeleteConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *DeleteConfigurationSetTrackingOptionsInput {
8182	s.ConfigurationSetName = &v
8183	return s
8184}
8185
8186// An empty element returned on a successful request.
8187type DeleteConfigurationSetTrackingOptionsOutput struct {
8188	_ struct{} `type:"structure"`
8189}
8190
8191// String returns the string representation
8192func (s DeleteConfigurationSetTrackingOptionsOutput) String() string {
8193	return awsutil.Prettify(s)
8194}
8195
8196// GoString returns the string representation
8197func (s DeleteConfigurationSetTrackingOptionsOutput) GoString() string {
8198	return s.String()
8199}
8200
8201// Represents a request to delete an existing custom verification email template.
8202type DeleteCustomVerificationEmailTemplateInput struct {
8203	_ struct{} `type:"structure"`
8204
8205	// The name of the custom verification email template that you want to delete.
8206	//
8207	// TemplateName is a required field
8208	TemplateName *string `type:"string" required:"true"`
8209}
8210
8211// String returns the string representation
8212func (s DeleteCustomVerificationEmailTemplateInput) String() string {
8213	return awsutil.Prettify(s)
8214}
8215
8216// GoString returns the string representation
8217func (s DeleteCustomVerificationEmailTemplateInput) GoString() string {
8218	return s.String()
8219}
8220
8221// Validate inspects the fields of the type to determine if they are valid.
8222func (s *DeleteCustomVerificationEmailTemplateInput) Validate() error {
8223	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomVerificationEmailTemplateInput"}
8224	if s.TemplateName == nil {
8225		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
8226	}
8227
8228	if invalidParams.Len() > 0 {
8229		return invalidParams
8230	}
8231	return nil
8232}
8233
8234// SetTemplateName sets the TemplateName field's value.
8235func (s *DeleteCustomVerificationEmailTemplateInput) SetTemplateName(v string) *DeleteCustomVerificationEmailTemplateInput {
8236	s.TemplateName = &v
8237	return s
8238}
8239
8240type DeleteCustomVerificationEmailTemplateOutput struct {
8241	_ struct{} `type:"structure"`
8242}
8243
8244// String returns the string representation
8245func (s DeleteCustomVerificationEmailTemplateOutput) String() string {
8246	return awsutil.Prettify(s)
8247}
8248
8249// GoString returns the string representation
8250func (s DeleteCustomVerificationEmailTemplateOutput) GoString() string {
8251	return s.String()
8252}
8253
8254// Represents a request to delete one of your Amazon SES identities (an email
8255// address or domain).
8256type DeleteIdentityInput struct {
8257	_ struct{} `type:"structure"`
8258
8259	// The identity to be removed from the list of identities for the AWS Account.
8260	//
8261	// Identity is a required field
8262	Identity *string `type:"string" required:"true"`
8263}
8264
8265// String returns the string representation
8266func (s DeleteIdentityInput) String() string {
8267	return awsutil.Prettify(s)
8268}
8269
8270// GoString returns the string representation
8271func (s DeleteIdentityInput) GoString() string {
8272	return s.String()
8273}
8274
8275// Validate inspects the fields of the type to determine if they are valid.
8276func (s *DeleteIdentityInput) Validate() error {
8277	invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityInput"}
8278	if s.Identity == nil {
8279		invalidParams.Add(request.NewErrParamRequired("Identity"))
8280	}
8281
8282	if invalidParams.Len() > 0 {
8283		return invalidParams
8284	}
8285	return nil
8286}
8287
8288// SetIdentity sets the Identity field's value.
8289func (s *DeleteIdentityInput) SetIdentity(v string) *DeleteIdentityInput {
8290	s.Identity = &v
8291	return s
8292}
8293
8294// An empty element returned on a successful request.
8295type DeleteIdentityOutput struct {
8296	_ struct{} `type:"structure"`
8297}
8298
8299// String returns the string representation
8300func (s DeleteIdentityOutput) String() string {
8301	return awsutil.Prettify(s)
8302}
8303
8304// GoString returns the string representation
8305func (s DeleteIdentityOutput) GoString() string {
8306	return s.String()
8307}
8308
8309// Represents a request to delete a sending authorization policy for an identity.
8310// Sending authorization is an Amazon SES feature that enables you to authorize
8311// other senders to use your identities. For information, see the Amazon SES
8312// Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
8313type DeleteIdentityPolicyInput struct {
8314	_ struct{} `type:"structure"`
8315
8316	// The identity that is associated with the policy that you want to delete.
8317	// You can specify the identity by using its name or by using its Amazon Resource
8318	// Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
8319	//
8320	// To successfully call this API, you must own the identity.
8321	//
8322	// Identity is a required field
8323	Identity *string `type:"string" required:"true"`
8324
8325	// The name of the policy to be deleted.
8326	//
8327	// PolicyName is a required field
8328	PolicyName *string `min:"1" type:"string" required:"true"`
8329}
8330
8331// String returns the string representation
8332func (s DeleteIdentityPolicyInput) String() string {
8333	return awsutil.Prettify(s)
8334}
8335
8336// GoString returns the string representation
8337func (s DeleteIdentityPolicyInput) GoString() string {
8338	return s.String()
8339}
8340
8341// Validate inspects the fields of the type to determine if they are valid.
8342func (s *DeleteIdentityPolicyInput) Validate() error {
8343	invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityPolicyInput"}
8344	if s.Identity == nil {
8345		invalidParams.Add(request.NewErrParamRequired("Identity"))
8346	}
8347	if s.PolicyName == nil {
8348		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
8349	}
8350	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
8351		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
8352	}
8353
8354	if invalidParams.Len() > 0 {
8355		return invalidParams
8356	}
8357	return nil
8358}
8359
8360// SetIdentity sets the Identity field's value.
8361func (s *DeleteIdentityPolicyInput) SetIdentity(v string) *DeleteIdentityPolicyInput {
8362	s.Identity = &v
8363	return s
8364}
8365
8366// SetPolicyName sets the PolicyName field's value.
8367func (s *DeleteIdentityPolicyInput) SetPolicyName(v string) *DeleteIdentityPolicyInput {
8368	s.PolicyName = &v
8369	return s
8370}
8371
8372// An empty element returned on a successful request.
8373type DeleteIdentityPolicyOutput struct {
8374	_ struct{} `type:"structure"`
8375}
8376
8377// String returns the string representation
8378func (s DeleteIdentityPolicyOutput) String() string {
8379	return awsutil.Prettify(s)
8380}
8381
8382// GoString returns the string representation
8383func (s DeleteIdentityPolicyOutput) GoString() string {
8384	return s.String()
8385}
8386
8387// Represents a request to delete an IP address filter. You use IP address filters
8388// when you receive email with Amazon SES. For more information, see the Amazon
8389// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
8390type DeleteReceiptFilterInput struct {
8391	_ struct{} `type:"structure"`
8392
8393	// The name of the IP address filter to delete.
8394	//
8395	// FilterName is a required field
8396	FilterName *string `type:"string" required:"true"`
8397}
8398
8399// String returns the string representation
8400func (s DeleteReceiptFilterInput) String() string {
8401	return awsutil.Prettify(s)
8402}
8403
8404// GoString returns the string representation
8405func (s DeleteReceiptFilterInput) GoString() string {
8406	return s.String()
8407}
8408
8409// Validate inspects the fields of the type to determine if they are valid.
8410func (s *DeleteReceiptFilterInput) Validate() error {
8411	invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptFilterInput"}
8412	if s.FilterName == nil {
8413		invalidParams.Add(request.NewErrParamRequired("FilterName"))
8414	}
8415
8416	if invalidParams.Len() > 0 {
8417		return invalidParams
8418	}
8419	return nil
8420}
8421
8422// SetFilterName sets the FilterName field's value.
8423func (s *DeleteReceiptFilterInput) SetFilterName(v string) *DeleteReceiptFilterInput {
8424	s.FilterName = &v
8425	return s
8426}
8427
8428// An empty element returned on a successful request.
8429type DeleteReceiptFilterOutput struct {
8430	_ struct{} `type:"structure"`
8431}
8432
8433// String returns the string representation
8434func (s DeleteReceiptFilterOutput) String() string {
8435	return awsutil.Prettify(s)
8436}
8437
8438// GoString returns the string representation
8439func (s DeleteReceiptFilterOutput) GoString() string {
8440	return s.String()
8441}
8442
8443// Represents a request to delete a receipt rule. You use receipt rules to receive
8444// email with Amazon SES. For more information, see the Amazon SES Developer
8445// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
8446type DeleteReceiptRuleInput struct {
8447	_ struct{} `type:"structure"`
8448
8449	// The name of the receipt rule to delete.
8450	//
8451	// RuleName is a required field
8452	RuleName *string `type:"string" required:"true"`
8453
8454	// The name of the receipt rule set that contains the receipt rule to delete.
8455	//
8456	// RuleSetName is a required field
8457	RuleSetName *string `type:"string" required:"true"`
8458}
8459
8460// String returns the string representation
8461func (s DeleteReceiptRuleInput) String() string {
8462	return awsutil.Prettify(s)
8463}
8464
8465// GoString returns the string representation
8466func (s DeleteReceiptRuleInput) GoString() string {
8467	return s.String()
8468}
8469
8470// Validate inspects the fields of the type to determine if they are valid.
8471func (s *DeleteReceiptRuleInput) Validate() error {
8472	invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptRuleInput"}
8473	if s.RuleName == nil {
8474		invalidParams.Add(request.NewErrParamRequired("RuleName"))
8475	}
8476	if s.RuleSetName == nil {
8477		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
8478	}
8479
8480	if invalidParams.Len() > 0 {
8481		return invalidParams
8482	}
8483	return nil
8484}
8485
8486// SetRuleName sets the RuleName field's value.
8487func (s *DeleteReceiptRuleInput) SetRuleName(v string) *DeleteReceiptRuleInput {
8488	s.RuleName = &v
8489	return s
8490}
8491
8492// SetRuleSetName sets the RuleSetName field's value.
8493func (s *DeleteReceiptRuleInput) SetRuleSetName(v string) *DeleteReceiptRuleInput {
8494	s.RuleSetName = &v
8495	return s
8496}
8497
8498// An empty element returned on a successful request.
8499type DeleteReceiptRuleOutput struct {
8500	_ struct{} `type:"structure"`
8501}
8502
8503// String returns the string representation
8504func (s DeleteReceiptRuleOutput) String() string {
8505	return awsutil.Prettify(s)
8506}
8507
8508// GoString returns the string representation
8509func (s DeleteReceiptRuleOutput) GoString() string {
8510	return s.String()
8511}
8512
8513// Represents a request to delete a receipt rule set and all of the receipt
8514// rules it contains. You use receipt rule sets to receive email with Amazon
8515// SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
8516type DeleteReceiptRuleSetInput struct {
8517	_ struct{} `type:"structure"`
8518
8519	// The name of the receipt rule set to delete.
8520	//
8521	// RuleSetName is a required field
8522	RuleSetName *string `type:"string" required:"true"`
8523}
8524
8525// String returns the string representation
8526func (s DeleteReceiptRuleSetInput) String() string {
8527	return awsutil.Prettify(s)
8528}
8529
8530// GoString returns the string representation
8531func (s DeleteReceiptRuleSetInput) GoString() string {
8532	return s.String()
8533}
8534
8535// Validate inspects the fields of the type to determine if they are valid.
8536func (s *DeleteReceiptRuleSetInput) Validate() error {
8537	invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptRuleSetInput"}
8538	if s.RuleSetName == nil {
8539		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
8540	}
8541
8542	if invalidParams.Len() > 0 {
8543		return invalidParams
8544	}
8545	return nil
8546}
8547
8548// SetRuleSetName sets the RuleSetName field's value.
8549func (s *DeleteReceiptRuleSetInput) SetRuleSetName(v string) *DeleteReceiptRuleSetInput {
8550	s.RuleSetName = &v
8551	return s
8552}
8553
8554// An empty element returned on a successful request.
8555type DeleteReceiptRuleSetOutput struct {
8556	_ struct{} `type:"structure"`
8557}
8558
8559// String returns the string representation
8560func (s DeleteReceiptRuleSetOutput) String() string {
8561	return awsutil.Prettify(s)
8562}
8563
8564// GoString returns the string representation
8565func (s DeleteReceiptRuleSetOutput) GoString() string {
8566	return s.String()
8567}
8568
8569// Represents a request to delete an email template. For more information, see
8570// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
8571type DeleteTemplateInput struct {
8572	_ struct{} `type:"structure"`
8573
8574	// The name of the template to be deleted.
8575	//
8576	// TemplateName is a required field
8577	TemplateName *string `type:"string" required:"true"`
8578}
8579
8580// String returns the string representation
8581func (s DeleteTemplateInput) String() string {
8582	return awsutil.Prettify(s)
8583}
8584
8585// GoString returns the string representation
8586func (s DeleteTemplateInput) GoString() string {
8587	return s.String()
8588}
8589
8590// Validate inspects the fields of the type to determine if they are valid.
8591func (s *DeleteTemplateInput) Validate() error {
8592	invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateInput"}
8593	if s.TemplateName == nil {
8594		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
8595	}
8596
8597	if invalidParams.Len() > 0 {
8598		return invalidParams
8599	}
8600	return nil
8601}
8602
8603// SetTemplateName sets the TemplateName field's value.
8604func (s *DeleteTemplateInput) SetTemplateName(v string) *DeleteTemplateInput {
8605	s.TemplateName = &v
8606	return s
8607}
8608
8609type DeleteTemplateOutput struct {
8610	_ struct{} `type:"structure"`
8611}
8612
8613// String returns the string representation
8614func (s DeleteTemplateOutput) String() string {
8615	return awsutil.Prettify(s)
8616}
8617
8618// GoString returns the string representation
8619func (s DeleteTemplateOutput) GoString() string {
8620	return s.String()
8621}
8622
8623// Represents a request to delete an email address from the list of email addresses
8624// you have attempted to verify under your AWS account.
8625type DeleteVerifiedEmailAddressInput struct {
8626	_ struct{} `type:"structure"`
8627
8628	// An email address to be removed from the list of verified addresses.
8629	//
8630	// EmailAddress is a required field
8631	EmailAddress *string `type:"string" required:"true"`
8632}
8633
8634// String returns the string representation
8635func (s DeleteVerifiedEmailAddressInput) String() string {
8636	return awsutil.Prettify(s)
8637}
8638
8639// GoString returns the string representation
8640func (s DeleteVerifiedEmailAddressInput) GoString() string {
8641	return s.String()
8642}
8643
8644// Validate inspects the fields of the type to determine if they are valid.
8645func (s *DeleteVerifiedEmailAddressInput) Validate() error {
8646	invalidParams := request.ErrInvalidParams{Context: "DeleteVerifiedEmailAddressInput"}
8647	if s.EmailAddress == nil {
8648		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
8649	}
8650
8651	if invalidParams.Len() > 0 {
8652		return invalidParams
8653	}
8654	return nil
8655}
8656
8657// SetEmailAddress sets the EmailAddress field's value.
8658func (s *DeleteVerifiedEmailAddressInput) SetEmailAddress(v string) *DeleteVerifiedEmailAddressInput {
8659	s.EmailAddress = &v
8660	return s
8661}
8662
8663type DeleteVerifiedEmailAddressOutput struct {
8664	_ struct{} `type:"structure"`
8665}
8666
8667// String returns the string representation
8668func (s DeleteVerifiedEmailAddressOutput) String() string {
8669	return awsutil.Prettify(s)
8670}
8671
8672// GoString returns the string representation
8673func (s DeleteVerifiedEmailAddressOutput) GoString() string {
8674	return s.String()
8675}
8676
8677// Specifies whether messages that use the configuration set are required to
8678// use Transport Layer Security (TLS).
8679type DeliveryOptions struct {
8680	_ struct{} `type:"structure"`
8681
8682	// Specifies whether messages that use the configuration set are required to
8683	// use Transport Layer Security (TLS). If the value is Require, messages are
8684	// only delivered if a TLS connection can be established. If the value is Optional,
8685	// messages can be delivered in plain text if a TLS connection can't be established.
8686	TlsPolicy *string `type:"string" enum:"TlsPolicy"`
8687}
8688
8689// String returns the string representation
8690func (s DeliveryOptions) String() string {
8691	return awsutil.Prettify(s)
8692}
8693
8694// GoString returns the string representation
8695func (s DeliveryOptions) GoString() string {
8696	return s.String()
8697}
8698
8699// SetTlsPolicy sets the TlsPolicy field's value.
8700func (s *DeliveryOptions) SetTlsPolicy(v string) *DeliveryOptions {
8701	s.TlsPolicy = &v
8702	return s
8703}
8704
8705// Represents a request to return the metadata and receipt rules for the receipt
8706// rule set that is currently active. You use receipt rule sets to receive email
8707// with Amazon SES. For more information, see the Amazon SES Developer Guide
8708// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
8709type DescribeActiveReceiptRuleSetInput struct {
8710	_ struct{} `type:"structure"`
8711}
8712
8713// String returns the string representation
8714func (s DescribeActiveReceiptRuleSetInput) String() string {
8715	return awsutil.Prettify(s)
8716}
8717
8718// GoString returns the string representation
8719func (s DescribeActiveReceiptRuleSetInput) GoString() string {
8720	return s.String()
8721}
8722
8723// Represents the metadata and receipt rules for the receipt rule set that is
8724// currently active.
8725type DescribeActiveReceiptRuleSetOutput struct {
8726	_ struct{} `type:"structure"`
8727
8728	// The metadata for the currently active receipt rule set. The metadata consists
8729	// of the rule set name and a timestamp of when the rule set was created.
8730	Metadata *ReceiptRuleSetMetadata `type:"structure"`
8731
8732	// The receipt rules that belong to the active rule set.
8733	Rules []*ReceiptRule `type:"list"`
8734}
8735
8736// String returns the string representation
8737func (s DescribeActiveReceiptRuleSetOutput) String() string {
8738	return awsutil.Prettify(s)
8739}
8740
8741// GoString returns the string representation
8742func (s DescribeActiveReceiptRuleSetOutput) GoString() string {
8743	return s.String()
8744}
8745
8746// SetMetadata sets the Metadata field's value.
8747func (s *DescribeActiveReceiptRuleSetOutput) SetMetadata(v *ReceiptRuleSetMetadata) *DescribeActiveReceiptRuleSetOutput {
8748	s.Metadata = v
8749	return s
8750}
8751
8752// SetRules sets the Rules field's value.
8753func (s *DescribeActiveReceiptRuleSetOutput) SetRules(v []*ReceiptRule) *DescribeActiveReceiptRuleSetOutput {
8754	s.Rules = v
8755	return s
8756}
8757
8758// Represents a request to return the details of a configuration set. Configuration
8759// sets enable you to publish email sending events. For information about using
8760// configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
8761type DescribeConfigurationSetInput struct {
8762	_ struct{} `type:"structure"`
8763
8764	// A list of configuration set attributes to return.
8765	ConfigurationSetAttributeNames []*string `type:"list"`
8766
8767	// The name of the configuration set to describe.
8768	//
8769	// ConfigurationSetName is a required field
8770	ConfigurationSetName *string `type:"string" required:"true"`
8771}
8772
8773// String returns the string representation
8774func (s DescribeConfigurationSetInput) String() string {
8775	return awsutil.Prettify(s)
8776}
8777
8778// GoString returns the string representation
8779func (s DescribeConfigurationSetInput) GoString() string {
8780	return s.String()
8781}
8782
8783// Validate inspects the fields of the type to determine if they are valid.
8784func (s *DescribeConfigurationSetInput) Validate() error {
8785	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationSetInput"}
8786	if s.ConfigurationSetName == nil {
8787		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
8788	}
8789
8790	if invalidParams.Len() > 0 {
8791		return invalidParams
8792	}
8793	return nil
8794}
8795
8796// SetConfigurationSetAttributeNames sets the ConfigurationSetAttributeNames field's value.
8797func (s *DescribeConfigurationSetInput) SetConfigurationSetAttributeNames(v []*string) *DescribeConfigurationSetInput {
8798	s.ConfigurationSetAttributeNames = v
8799	return s
8800}
8801
8802// SetConfigurationSetName sets the ConfigurationSetName field's value.
8803func (s *DescribeConfigurationSetInput) SetConfigurationSetName(v string) *DescribeConfigurationSetInput {
8804	s.ConfigurationSetName = &v
8805	return s
8806}
8807
8808// Represents the details of a configuration set. Configuration sets enable
8809// you to publish email sending events. For information about using configuration
8810// sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
8811type DescribeConfigurationSetOutput struct {
8812	_ struct{} `type:"structure"`
8813
8814	// The configuration set object associated with the specified configuration
8815	// set.
8816	ConfigurationSet *ConfigurationSet `type:"structure"`
8817
8818	// Specifies whether messages that use the configuration set are required to
8819	// use Transport Layer Security (TLS).
8820	DeliveryOptions *DeliveryOptions `type:"structure"`
8821
8822	// A list of event destinations associated with the configuration set.
8823	EventDestinations []*EventDestination `type:"list"`
8824
8825	// An object that represents the reputation settings for the configuration set.
8826	ReputationOptions *ReputationOptions `type:"structure"`
8827
8828	// The name of the custom open and click tracking domain associated with the
8829	// configuration set.
8830	TrackingOptions *TrackingOptions `type:"structure"`
8831}
8832
8833// String returns the string representation
8834func (s DescribeConfigurationSetOutput) String() string {
8835	return awsutil.Prettify(s)
8836}
8837
8838// GoString returns the string representation
8839func (s DescribeConfigurationSetOutput) GoString() string {
8840	return s.String()
8841}
8842
8843// SetConfigurationSet sets the ConfigurationSet field's value.
8844func (s *DescribeConfigurationSetOutput) SetConfigurationSet(v *ConfigurationSet) *DescribeConfigurationSetOutput {
8845	s.ConfigurationSet = v
8846	return s
8847}
8848
8849// SetDeliveryOptions sets the DeliveryOptions field's value.
8850func (s *DescribeConfigurationSetOutput) SetDeliveryOptions(v *DeliveryOptions) *DescribeConfigurationSetOutput {
8851	s.DeliveryOptions = v
8852	return s
8853}
8854
8855// SetEventDestinations sets the EventDestinations field's value.
8856func (s *DescribeConfigurationSetOutput) SetEventDestinations(v []*EventDestination) *DescribeConfigurationSetOutput {
8857	s.EventDestinations = v
8858	return s
8859}
8860
8861// SetReputationOptions sets the ReputationOptions field's value.
8862func (s *DescribeConfigurationSetOutput) SetReputationOptions(v *ReputationOptions) *DescribeConfigurationSetOutput {
8863	s.ReputationOptions = v
8864	return s
8865}
8866
8867// SetTrackingOptions sets the TrackingOptions field's value.
8868func (s *DescribeConfigurationSetOutput) SetTrackingOptions(v *TrackingOptions) *DescribeConfigurationSetOutput {
8869	s.TrackingOptions = v
8870	return s
8871}
8872
8873// Represents a request to return the details of a receipt rule. You use receipt
8874// rules to receive email with Amazon SES. For more information, see the Amazon
8875// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
8876type DescribeReceiptRuleInput struct {
8877	_ struct{} `type:"structure"`
8878
8879	// The name of the receipt rule.
8880	//
8881	// RuleName is a required field
8882	RuleName *string `type:"string" required:"true"`
8883
8884	// The name of the receipt rule set that the receipt rule belongs to.
8885	//
8886	// RuleSetName is a required field
8887	RuleSetName *string `type:"string" required:"true"`
8888}
8889
8890// String returns the string representation
8891func (s DescribeReceiptRuleInput) String() string {
8892	return awsutil.Prettify(s)
8893}
8894
8895// GoString returns the string representation
8896func (s DescribeReceiptRuleInput) GoString() string {
8897	return s.String()
8898}
8899
8900// Validate inspects the fields of the type to determine if they are valid.
8901func (s *DescribeReceiptRuleInput) Validate() error {
8902	invalidParams := request.ErrInvalidParams{Context: "DescribeReceiptRuleInput"}
8903	if s.RuleName == nil {
8904		invalidParams.Add(request.NewErrParamRequired("RuleName"))
8905	}
8906	if s.RuleSetName == nil {
8907		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
8908	}
8909
8910	if invalidParams.Len() > 0 {
8911		return invalidParams
8912	}
8913	return nil
8914}
8915
8916// SetRuleName sets the RuleName field's value.
8917func (s *DescribeReceiptRuleInput) SetRuleName(v string) *DescribeReceiptRuleInput {
8918	s.RuleName = &v
8919	return s
8920}
8921
8922// SetRuleSetName sets the RuleSetName field's value.
8923func (s *DescribeReceiptRuleInput) SetRuleSetName(v string) *DescribeReceiptRuleInput {
8924	s.RuleSetName = &v
8925	return s
8926}
8927
8928// Represents the details of a receipt rule.
8929type DescribeReceiptRuleOutput struct {
8930	_ struct{} `type:"structure"`
8931
8932	// A data structure that contains the specified receipt rule's name, actions,
8933	// recipients, domains, enabled status, scan status, and Transport Layer Security
8934	// (TLS) policy.
8935	Rule *ReceiptRule `type:"structure"`
8936}
8937
8938// String returns the string representation
8939func (s DescribeReceiptRuleOutput) String() string {
8940	return awsutil.Prettify(s)
8941}
8942
8943// GoString returns the string representation
8944func (s DescribeReceiptRuleOutput) GoString() string {
8945	return s.String()
8946}
8947
8948// SetRule sets the Rule field's value.
8949func (s *DescribeReceiptRuleOutput) SetRule(v *ReceiptRule) *DescribeReceiptRuleOutput {
8950	s.Rule = v
8951	return s
8952}
8953
8954// Represents a request to return the details of a receipt rule set. You use
8955// receipt rule sets to receive email with Amazon SES. For more information,
8956// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
8957type DescribeReceiptRuleSetInput struct {
8958	_ struct{} `type:"structure"`
8959
8960	// The name of the receipt rule set to describe.
8961	//
8962	// RuleSetName is a required field
8963	RuleSetName *string `type:"string" required:"true"`
8964}
8965
8966// String returns the string representation
8967func (s DescribeReceiptRuleSetInput) String() string {
8968	return awsutil.Prettify(s)
8969}
8970
8971// GoString returns the string representation
8972func (s DescribeReceiptRuleSetInput) GoString() string {
8973	return s.String()
8974}
8975
8976// Validate inspects the fields of the type to determine if they are valid.
8977func (s *DescribeReceiptRuleSetInput) Validate() error {
8978	invalidParams := request.ErrInvalidParams{Context: "DescribeReceiptRuleSetInput"}
8979	if s.RuleSetName == nil {
8980		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
8981	}
8982
8983	if invalidParams.Len() > 0 {
8984		return invalidParams
8985	}
8986	return nil
8987}
8988
8989// SetRuleSetName sets the RuleSetName field's value.
8990func (s *DescribeReceiptRuleSetInput) SetRuleSetName(v string) *DescribeReceiptRuleSetInput {
8991	s.RuleSetName = &v
8992	return s
8993}
8994
8995// Represents the details of the specified receipt rule set.
8996type DescribeReceiptRuleSetOutput struct {
8997	_ struct{} `type:"structure"`
8998
8999	// The metadata for the receipt rule set, which consists of the rule set name
9000	// and the timestamp of when the rule set was created.
9001	Metadata *ReceiptRuleSetMetadata `type:"structure"`
9002
9003	// A list of the receipt rules that belong to the specified receipt rule set.
9004	Rules []*ReceiptRule `type:"list"`
9005}
9006
9007// String returns the string representation
9008func (s DescribeReceiptRuleSetOutput) String() string {
9009	return awsutil.Prettify(s)
9010}
9011
9012// GoString returns the string representation
9013func (s DescribeReceiptRuleSetOutput) GoString() string {
9014	return s.String()
9015}
9016
9017// SetMetadata sets the Metadata field's value.
9018func (s *DescribeReceiptRuleSetOutput) SetMetadata(v *ReceiptRuleSetMetadata) *DescribeReceiptRuleSetOutput {
9019	s.Metadata = v
9020	return s
9021}
9022
9023// SetRules sets the Rules field's value.
9024func (s *DescribeReceiptRuleSetOutput) SetRules(v []*ReceiptRule) *DescribeReceiptRuleSetOutput {
9025	s.Rules = v
9026	return s
9027}
9028
9029// Represents the destination of the message, consisting of To:, CC:, and BCC:
9030// fields.
9031//
9032// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
9033// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
9034// a destination email address (the part of the email address that precedes
9035// the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
9036// If the domain part of an address (the part after the @ sign) contains non-ASCII
9037// characters, they must be encoded using Punycode, as described in RFC3492
9038// (https://tools.ietf.org/html/rfc3492.html).
9039type Destination struct {
9040	_ struct{} `type:"structure"`
9041
9042	// The recipients to place on the BCC: line of the message.
9043	BccAddresses []*string `type:"list"`
9044
9045	// The recipients to place on the CC: line of the message.
9046	CcAddresses []*string `type:"list"`
9047
9048	// The recipients to place on the To: line of the message.
9049	ToAddresses []*string `type:"list"`
9050}
9051
9052// String returns the string representation
9053func (s Destination) String() string {
9054	return awsutil.Prettify(s)
9055}
9056
9057// GoString returns the string representation
9058func (s Destination) GoString() string {
9059	return s.String()
9060}
9061
9062// SetBccAddresses sets the BccAddresses field's value.
9063func (s *Destination) SetBccAddresses(v []*string) *Destination {
9064	s.BccAddresses = v
9065	return s
9066}
9067
9068// SetCcAddresses sets the CcAddresses field's value.
9069func (s *Destination) SetCcAddresses(v []*string) *Destination {
9070	s.CcAddresses = v
9071	return s
9072}
9073
9074// SetToAddresses sets the ToAddresses field's value.
9075func (s *Destination) SetToAddresses(v []*string) *Destination {
9076	s.ToAddresses = v
9077	return s
9078}
9079
9080// Contains information about the event destination that the specified email
9081// sending events will be published to.
9082//
9083// When you create or update an event destination, you must provide one, and
9084// only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis
9085// Firehose or Amazon Simple Notification Service (Amazon SNS).
9086//
9087// Event destinations are associated with configuration sets, which enable you
9088// to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose,
9089// or Amazon Simple Notification Service (Amazon SNS). For information about
9090// using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
9091type EventDestination struct {
9092	_ struct{} `type:"structure"`
9093
9094	// An object that contains the names, default values, and sources of the dimensions
9095	// associated with an Amazon CloudWatch event destination.
9096	CloudWatchDestination *CloudWatchDestination `type:"structure"`
9097
9098	// Sets whether Amazon SES publishes events to this destination when you send
9099	// an email with the associated configuration set. Set to true to enable publishing
9100	// to this destination; set to false to prevent publishing to this destination.
9101	// The default value is false.
9102	Enabled *bool `type:"boolean"`
9103
9104	// An object that contains the delivery stream ARN and the IAM role ARN associated
9105	// with an Amazon Kinesis Firehose event destination.
9106	KinesisFirehoseDestination *KinesisFirehoseDestination `type:"structure"`
9107
9108	// The type of email sending events to publish to the event destination.
9109	//
9110	// MatchingEventTypes is a required field
9111	MatchingEventTypes []*string `type:"list" required:"true"`
9112
9113	// The name of the event destination. The name must:
9114	//
9115	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
9116	//    underscores (_), or dashes (-).
9117	//
9118	//    * Contain less than 64 characters.
9119	//
9120	// Name is a required field
9121	Name *string `type:"string" required:"true"`
9122
9123	// An object that contains the topic ARN associated with an Amazon Simple Notification
9124	// Service (Amazon SNS) event destination.
9125	SNSDestination *SNSDestination `type:"structure"`
9126}
9127
9128// String returns the string representation
9129func (s EventDestination) String() string {
9130	return awsutil.Prettify(s)
9131}
9132
9133// GoString returns the string representation
9134func (s EventDestination) GoString() string {
9135	return s.String()
9136}
9137
9138// Validate inspects the fields of the type to determine if they are valid.
9139func (s *EventDestination) Validate() error {
9140	invalidParams := request.ErrInvalidParams{Context: "EventDestination"}
9141	if s.MatchingEventTypes == nil {
9142		invalidParams.Add(request.NewErrParamRequired("MatchingEventTypes"))
9143	}
9144	if s.Name == nil {
9145		invalidParams.Add(request.NewErrParamRequired("Name"))
9146	}
9147	if s.CloudWatchDestination != nil {
9148		if err := s.CloudWatchDestination.Validate(); err != nil {
9149			invalidParams.AddNested("CloudWatchDestination", err.(request.ErrInvalidParams))
9150		}
9151	}
9152	if s.KinesisFirehoseDestination != nil {
9153		if err := s.KinesisFirehoseDestination.Validate(); err != nil {
9154			invalidParams.AddNested("KinesisFirehoseDestination", err.(request.ErrInvalidParams))
9155		}
9156	}
9157	if s.SNSDestination != nil {
9158		if err := s.SNSDestination.Validate(); err != nil {
9159			invalidParams.AddNested("SNSDestination", err.(request.ErrInvalidParams))
9160		}
9161	}
9162
9163	if invalidParams.Len() > 0 {
9164		return invalidParams
9165	}
9166	return nil
9167}
9168
9169// SetCloudWatchDestination sets the CloudWatchDestination field's value.
9170func (s *EventDestination) SetCloudWatchDestination(v *CloudWatchDestination) *EventDestination {
9171	s.CloudWatchDestination = v
9172	return s
9173}
9174
9175// SetEnabled sets the Enabled field's value.
9176func (s *EventDestination) SetEnabled(v bool) *EventDestination {
9177	s.Enabled = &v
9178	return s
9179}
9180
9181// SetKinesisFirehoseDestination sets the KinesisFirehoseDestination field's value.
9182func (s *EventDestination) SetKinesisFirehoseDestination(v *KinesisFirehoseDestination) *EventDestination {
9183	s.KinesisFirehoseDestination = v
9184	return s
9185}
9186
9187// SetMatchingEventTypes sets the MatchingEventTypes field's value.
9188func (s *EventDestination) SetMatchingEventTypes(v []*string) *EventDestination {
9189	s.MatchingEventTypes = v
9190	return s
9191}
9192
9193// SetName sets the Name field's value.
9194func (s *EventDestination) SetName(v string) *EventDestination {
9195	s.Name = &v
9196	return s
9197}
9198
9199// SetSNSDestination sets the SNSDestination field's value.
9200func (s *EventDestination) SetSNSDestination(v *SNSDestination) *EventDestination {
9201	s.SNSDestination = v
9202	return s
9203}
9204
9205// Additional X-headers to include in the Delivery Status Notification (DSN)
9206// when an email that Amazon SES receives on your behalf bounces.
9207//
9208// For information about receiving email through Amazon SES, see the Amazon
9209// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
9210type ExtensionField struct {
9211	_ struct{} `type:"structure"`
9212
9213	// The name of the header to add. Must be between 1 and 50 characters, inclusive,
9214	// and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.
9215	//
9216	// Name is a required field
9217	Name *string `type:"string" required:"true"`
9218
9219	// The value of the header to add. Must be less than 2048 characters, and must
9220	// not contain newline characters ("\r" or "\n").
9221	//
9222	// Value is a required field
9223	Value *string `type:"string" required:"true"`
9224}
9225
9226// String returns the string representation
9227func (s ExtensionField) String() string {
9228	return awsutil.Prettify(s)
9229}
9230
9231// GoString returns the string representation
9232func (s ExtensionField) GoString() string {
9233	return s.String()
9234}
9235
9236// Validate inspects the fields of the type to determine if they are valid.
9237func (s *ExtensionField) Validate() error {
9238	invalidParams := request.ErrInvalidParams{Context: "ExtensionField"}
9239	if s.Name == nil {
9240		invalidParams.Add(request.NewErrParamRequired("Name"))
9241	}
9242	if s.Value == nil {
9243		invalidParams.Add(request.NewErrParamRequired("Value"))
9244	}
9245
9246	if invalidParams.Len() > 0 {
9247		return invalidParams
9248	}
9249	return nil
9250}
9251
9252// SetName sets the Name field's value.
9253func (s *ExtensionField) SetName(v string) *ExtensionField {
9254	s.Name = &v
9255	return s
9256}
9257
9258// SetValue sets the Value field's value.
9259func (s *ExtensionField) SetValue(v string) *ExtensionField {
9260	s.Value = &v
9261	return s
9262}
9263
9264type GetAccountSendingEnabledInput struct {
9265	_ struct{} `type:"structure"`
9266}
9267
9268// String returns the string representation
9269func (s GetAccountSendingEnabledInput) String() string {
9270	return awsutil.Prettify(s)
9271}
9272
9273// GoString returns the string representation
9274func (s GetAccountSendingEnabledInput) GoString() string {
9275	return s.String()
9276}
9277
9278// Represents a request to return the email sending status for your Amazon SES
9279// account in the current AWS Region.
9280type GetAccountSendingEnabledOutput struct {
9281	_ struct{} `type:"structure"`
9282
9283	// Describes whether email sending is enabled or disabled for your Amazon SES
9284	// account in the current AWS Region.
9285	Enabled *bool `type:"boolean"`
9286}
9287
9288// String returns the string representation
9289func (s GetAccountSendingEnabledOutput) String() string {
9290	return awsutil.Prettify(s)
9291}
9292
9293// GoString returns the string representation
9294func (s GetAccountSendingEnabledOutput) GoString() string {
9295	return s.String()
9296}
9297
9298// SetEnabled sets the Enabled field's value.
9299func (s *GetAccountSendingEnabledOutput) SetEnabled(v bool) *GetAccountSendingEnabledOutput {
9300	s.Enabled = &v
9301	return s
9302}
9303
9304// Represents a request to retrieve an existing custom verification email template.
9305type GetCustomVerificationEmailTemplateInput struct {
9306	_ struct{} `type:"structure"`
9307
9308	// The name of the custom verification email template that you want to retrieve.
9309	//
9310	// TemplateName is a required field
9311	TemplateName *string `type:"string" required:"true"`
9312}
9313
9314// String returns the string representation
9315func (s GetCustomVerificationEmailTemplateInput) String() string {
9316	return awsutil.Prettify(s)
9317}
9318
9319// GoString returns the string representation
9320func (s GetCustomVerificationEmailTemplateInput) GoString() string {
9321	return s.String()
9322}
9323
9324// Validate inspects the fields of the type to determine if they are valid.
9325func (s *GetCustomVerificationEmailTemplateInput) Validate() error {
9326	invalidParams := request.ErrInvalidParams{Context: "GetCustomVerificationEmailTemplateInput"}
9327	if s.TemplateName == nil {
9328		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
9329	}
9330
9331	if invalidParams.Len() > 0 {
9332		return invalidParams
9333	}
9334	return nil
9335}
9336
9337// SetTemplateName sets the TemplateName field's value.
9338func (s *GetCustomVerificationEmailTemplateInput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateInput {
9339	s.TemplateName = &v
9340	return s
9341}
9342
9343// The content of the custom verification email template.
9344type GetCustomVerificationEmailTemplateOutput struct {
9345	_ struct{} `type:"structure"`
9346
9347	// The URL that the recipient of the verification email is sent to if his or
9348	// her address is not successfully verified.
9349	FailureRedirectionURL *string `type:"string"`
9350
9351	// The email address that the custom verification email is sent from.
9352	FromEmailAddress *string `type:"string"`
9353
9354	// The URL that the recipient of the verification email is sent to if his or
9355	// her address is successfully verified.
9356	SuccessRedirectionURL *string `type:"string"`
9357
9358	// The content of the custom verification email.
9359	TemplateContent *string `type:"string"`
9360
9361	// The name of the custom verification email template.
9362	TemplateName *string `type:"string"`
9363
9364	// The subject line of the custom verification email.
9365	TemplateSubject *string `type:"string"`
9366}
9367
9368// String returns the string representation
9369func (s GetCustomVerificationEmailTemplateOutput) String() string {
9370	return awsutil.Prettify(s)
9371}
9372
9373// GoString returns the string representation
9374func (s GetCustomVerificationEmailTemplateOutput) GoString() string {
9375	return s.String()
9376}
9377
9378// SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
9379func (s *GetCustomVerificationEmailTemplateOutput) SetFailureRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput {
9380	s.FailureRedirectionURL = &v
9381	return s
9382}
9383
9384// SetFromEmailAddress sets the FromEmailAddress field's value.
9385func (s *GetCustomVerificationEmailTemplateOutput) SetFromEmailAddress(v string) *GetCustomVerificationEmailTemplateOutput {
9386	s.FromEmailAddress = &v
9387	return s
9388}
9389
9390// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
9391func (s *GetCustomVerificationEmailTemplateOutput) SetSuccessRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput {
9392	s.SuccessRedirectionURL = &v
9393	return s
9394}
9395
9396// SetTemplateContent sets the TemplateContent field's value.
9397func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateContent(v string) *GetCustomVerificationEmailTemplateOutput {
9398	s.TemplateContent = &v
9399	return s
9400}
9401
9402// SetTemplateName sets the TemplateName field's value.
9403func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateOutput {
9404	s.TemplateName = &v
9405	return s
9406}
9407
9408// SetTemplateSubject sets the TemplateSubject field's value.
9409func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateSubject(v string) *GetCustomVerificationEmailTemplateOutput {
9410	s.TemplateSubject = &v
9411	return s
9412}
9413
9414// Represents a request for the status of Amazon SES Easy DKIM signing for an
9415// identity. For domain identities, this request also returns the DKIM tokens
9416// that are required for Easy DKIM signing, and whether Amazon SES successfully
9417// verified that these tokens were published. For more information about Easy
9418// DKIM, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
9419type GetIdentityDkimAttributesInput struct {
9420	_ struct{} `type:"structure"`
9421
9422	// A list of one or more verified identities - email addresses, domains, or
9423	// both.
9424	//
9425	// Identities is a required field
9426	Identities []*string `type:"list" required:"true"`
9427}
9428
9429// String returns the string representation
9430func (s GetIdentityDkimAttributesInput) String() string {
9431	return awsutil.Prettify(s)
9432}
9433
9434// GoString returns the string representation
9435func (s GetIdentityDkimAttributesInput) GoString() string {
9436	return s.String()
9437}
9438
9439// Validate inspects the fields of the type to determine if they are valid.
9440func (s *GetIdentityDkimAttributesInput) Validate() error {
9441	invalidParams := request.ErrInvalidParams{Context: "GetIdentityDkimAttributesInput"}
9442	if s.Identities == nil {
9443		invalidParams.Add(request.NewErrParamRequired("Identities"))
9444	}
9445
9446	if invalidParams.Len() > 0 {
9447		return invalidParams
9448	}
9449	return nil
9450}
9451
9452// SetIdentities sets the Identities field's value.
9453func (s *GetIdentityDkimAttributesInput) SetIdentities(v []*string) *GetIdentityDkimAttributesInput {
9454	s.Identities = v
9455	return s
9456}
9457
9458// Represents the status of Amazon SES Easy DKIM signing for an identity. For
9459// domain identities, this response also contains the DKIM tokens that are required
9460// for Easy DKIM signing, and whether Amazon SES successfully verified that
9461// these tokens were published.
9462type GetIdentityDkimAttributesOutput struct {
9463	_ struct{} `type:"structure"`
9464
9465	// The DKIM attributes for an email address or a domain.
9466	//
9467	// DkimAttributes is a required field
9468	DkimAttributes map[string]*IdentityDkimAttributes `type:"map" required:"true"`
9469}
9470
9471// String returns the string representation
9472func (s GetIdentityDkimAttributesOutput) String() string {
9473	return awsutil.Prettify(s)
9474}
9475
9476// GoString returns the string representation
9477func (s GetIdentityDkimAttributesOutput) GoString() string {
9478	return s.String()
9479}
9480
9481// SetDkimAttributes sets the DkimAttributes field's value.
9482func (s *GetIdentityDkimAttributesOutput) SetDkimAttributes(v map[string]*IdentityDkimAttributes) *GetIdentityDkimAttributesOutput {
9483	s.DkimAttributes = v
9484	return s
9485}
9486
9487// Represents a request to return the Amazon SES custom MAIL FROM attributes
9488// for a list of identities. For information about using a custom MAIL FROM
9489// domain, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html).
9490type GetIdentityMailFromDomainAttributesInput struct {
9491	_ struct{} `type:"structure"`
9492
9493	// A list of one or more identities.
9494	//
9495	// Identities is a required field
9496	Identities []*string `type:"list" required:"true"`
9497}
9498
9499// String returns the string representation
9500func (s GetIdentityMailFromDomainAttributesInput) String() string {
9501	return awsutil.Prettify(s)
9502}
9503
9504// GoString returns the string representation
9505func (s GetIdentityMailFromDomainAttributesInput) GoString() string {
9506	return s.String()
9507}
9508
9509// Validate inspects the fields of the type to determine if they are valid.
9510func (s *GetIdentityMailFromDomainAttributesInput) Validate() error {
9511	invalidParams := request.ErrInvalidParams{Context: "GetIdentityMailFromDomainAttributesInput"}
9512	if s.Identities == nil {
9513		invalidParams.Add(request.NewErrParamRequired("Identities"))
9514	}
9515
9516	if invalidParams.Len() > 0 {
9517		return invalidParams
9518	}
9519	return nil
9520}
9521
9522// SetIdentities sets the Identities field's value.
9523func (s *GetIdentityMailFromDomainAttributesInput) SetIdentities(v []*string) *GetIdentityMailFromDomainAttributesInput {
9524	s.Identities = v
9525	return s
9526}
9527
9528// Represents the custom MAIL FROM attributes for a list of identities.
9529type GetIdentityMailFromDomainAttributesOutput struct {
9530	_ struct{} `type:"structure"`
9531
9532	// A map of identities to custom MAIL FROM attributes.
9533	//
9534	// MailFromDomainAttributes is a required field
9535	MailFromDomainAttributes map[string]*IdentityMailFromDomainAttributes `type:"map" required:"true"`
9536}
9537
9538// String returns the string representation
9539func (s GetIdentityMailFromDomainAttributesOutput) String() string {
9540	return awsutil.Prettify(s)
9541}
9542
9543// GoString returns the string representation
9544func (s GetIdentityMailFromDomainAttributesOutput) GoString() string {
9545	return s.String()
9546}
9547
9548// SetMailFromDomainAttributes sets the MailFromDomainAttributes field's value.
9549func (s *GetIdentityMailFromDomainAttributesOutput) SetMailFromDomainAttributes(v map[string]*IdentityMailFromDomainAttributes) *GetIdentityMailFromDomainAttributesOutput {
9550	s.MailFromDomainAttributes = v
9551	return s
9552}
9553
9554// Represents a request to return the notification attributes for a list of
9555// identities you verified with Amazon SES. For information about Amazon SES
9556// notifications, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html).
9557type GetIdentityNotificationAttributesInput struct {
9558	_ struct{} `type:"structure"`
9559
9560	// A list of one or more identities. You can specify an identity by using its
9561	// name or by using its Amazon Resource Name (ARN). Examples: user@example.com,
9562	// example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
9563	//
9564	// Identities is a required field
9565	Identities []*string `type:"list" required:"true"`
9566}
9567
9568// String returns the string representation
9569func (s GetIdentityNotificationAttributesInput) String() string {
9570	return awsutil.Prettify(s)
9571}
9572
9573// GoString returns the string representation
9574func (s GetIdentityNotificationAttributesInput) GoString() string {
9575	return s.String()
9576}
9577
9578// Validate inspects the fields of the type to determine if they are valid.
9579func (s *GetIdentityNotificationAttributesInput) Validate() error {
9580	invalidParams := request.ErrInvalidParams{Context: "GetIdentityNotificationAttributesInput"}
9581	if s.Identities == nil {
9582		invalidParams.Add(request.NewErrParamRequired("Identities"))
9583	}
9584
9585	if invalidParams.Len() > 0 {
9586		return invalidParams
9587	}
9588	return nil
9589}
9590
9591// SetIdentities sets the Identities field's value.
9592func (s *GetIdentityNotificationAttributesInput) SetIdentities(v []*string) *GetIdentityNotificationAttributesInput {
9593	s.Identities = v
9594	return s
9595}
9596
9597// Represents the notification attributes for a list of identities.
9598type GetIdentityNotificationAttributesOutput struct {
9599	_ struct{} `type:"structure"`
9600
9601	// A map of Identity to IdentityNotificationAttributes.
9602	//
9603	// NotificationAttributes is a required field
9604	NotificationAttributes map[string]*IdentityNotificationAttributes `type:"map" required:"true"`
9605}
9606
9607// String returns the string representation
9608func (s GetIdentityNotificationAttributesOutput) String() string {
9609	return awsutil.Prettify(s)
9610}
9611
9612// GoString returns the string representation
9613func (s GetIdentityNotificationAttributesOutput) GoString() string {
9614	return s.String()
9615}
9616
9617// SetNotificationAttributes sets the NotificationAttributes field's value.
9618func (s *GetIdentityNotificationAttributesOutput) SetNotificationAttributes(v map[string]*IdentityNotificationAttributes) *GetIdentityNotificationAttributesOutput {
9619	s.NotificationAttributes = v
9620	return s
9621}
9622
9623// Represents a request to return the requested sending authorization policies
9624// for an identity. Sending authorization is an Amazon SES feature that enables
9625// you to authorize other senders to use your identities. For information, see
9626// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
9627type GetIdentityPoliciesInput struct {
9628	_ struct{} `type:"structure"`
9629
9630	// The identity for which the policies will be retrieved. You can specify an
9631	// identity by using its name or by using its Amazon Resource Name (ARN). Examples:
9632	// user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
9633	//
9634	// To successfully call this API, you must own the identity.
9635	//
9636	// Identity is a required field
9637	Identity *string `type:"string" required:"true"`
9638
9639	// A list of the names of policies to be retrieved. You can retrieve a maximum
9640	// of 20 policies at a time. If you do not know the names of the policies that
9641	// are attached to the identity, you can use ListIdentityPolicies.
9642	//
9643	// PolicyNames is a required field
9644	PolicyNames []*string `type:"list" required:"true"`
9645}
9646
9647// String returns the string representation
9648func (s GetIdentityPoliciesInput) String() string {
9649	return awsutil.Prettify(s)
9650}
9651
9652// GoString returns the string representation
9653func (s GetIdentityPoliciesInput) GoString() string {
9654	return s.String()
9655}
9656
9657// Validate inspects the fields of the type to determine if they are valid.
9658func (s *GetIdentityPoliciesInput) Validate() error {
9659	invalidParams := request.ErrInvalidParams{Context: "GetIdentityPoliciesInput"}
9660	if s.Identity == nil {
9661		invalidParams.Add(request.NewErrParamRequired("Identity"))
9662	}
9663	if s.PolicyNames == nil {
9664		invalidParams.Add(request.NewErrParamRequired("PolicyNames"))
9665	}
9666
9667	if invalidParams.Len() > 0 {
9668		return invalidParams
9669	}
9670	return nil
9671}
9672
9673// SetIdentity sets the Identity field's value.
9674func (s *GetIdentityPoliciesInput) SetIdentity(v string) *GetIdentityPoliciesInput {
9675	s.Identity = &v
9676	return s
9677}
9678
9679// SetPolicyNames sets the PolicyNames field's value.
9680func (s *GetIdentityPoliciesInput) SetPolicyNames(v []*string) *GetIdentityPoliciesInput {
9681	s.PolicyNames = v
9682	return s
9683}
9684
9685// Represents the requested sending authorization policies.
9686type GetIdentityPoliciesOutput struct {
9687	_ struct{} `type:"structure"`
9688
9689	// A map of policy names to policies.
9690	//
9691	// Policies is a required field
9692	Policies map[string]*string `type:"map" required:"true"`
9693}
9694
9695// String returns the string representation
9696func (s GetIdentityPoliciesOutput) String() string {
9697	return awsutil.Prettify(s)
9698}
9699
9700// GoString returns the string representation
9701func (s GetIdentityPoliciesOutput) GoString() string {
9702	return s.String()
9703}
9704
9705// SetPolicies sets the Policies field's value.
9706func (s *GetIdentityPoliciesOutput) SetPolicies(v map[string]*string) *GetIdentityPoliciesOutput {
9707	s.Policies = v
9708	return s
9709}
9710
9711// Represents a request to return the Amazon SES verification status of a list
9712// of identities. For domain identities, this request also returns the verification
9713// token. For information about verifying identities with Amazon SES, see the
9714// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
9715type GetIdentityVerificationAttributesInput struct {
9716	_ struct{} `type:"structure"`
9717
9718	// A list of identities.
9719	//
9720	// Identities is a required field
9721	Identities []*string `type:"list" required:"true"`
9722}
9723
9724// String returns the string representation
9725func (s GetIdentityVerificationAttributesInput) String() string {
9726	return awsutil.Prettify(s)
9727}
9728
9729// GoString returns the string representation
9730func (s GetIdentityVerificationAttributesInput) GoString() string {
9731	return s.String()
9732}
9733
9734// Validate inspects the fields of the type to determine if they are valid.
9735func (s *GetIdentityVerificationAttributesInput) Validate() error {
9736	invalidParams := request.ErrInvalidParams{Context: "GetIdentityVerificationAttributesInput"}
9737	if s.Identities == nil {
9738		invalidParams.Add(request.NewErrParamRequired("Identities"))
9739	}
9740
9741	if invalidParams.Len() > 0 {
9742		return invalidParams
9743	}
9744	return nil
9745}
9746
9747// SetIdentities sets the Identities field's value.
9748func (s *GetIdentityVerificationAttributesInput) SetIdentities(v []*string) *GetIdentityVerificationAttributesInput {
9749	s.Identities = v
9750	return s
9751}
9752
9753// The Amazon SES verification status of a list of identities. For domain identities,
9754// this response also contains the verification token.
9755type GetIdentityVerificationAttributesOutput struct {
9756	_ struct{} `type:"structure"`
9757
9758	// A map of Identities to IdentityVerificationAttributes objects.
9759	//
9760	// VerificationAttributes is a required field
9761	VerificationAttributes map[string]*IdentityVerificationAttributes `type:"map" required:"true"`
9762}
9763
9764// String returns the string representation
9765func (s GetIdentityVerificationAttributesOutput) String() string {
9766	return awsutil.Prettify(s)
9767}
9768
9769// GoString returns the string representation
9770func (s GetIdentityVerificationAttributesOutput) GoString() string {
9771	return s.String()
9772}
9773
9774// SetVerificationAttributes sets the VerificationAttributes field's value.
9775func (s *GetIdentityVerificationAttributesOutput) SetVerificationAttributes(v map[string]*IdentityVerificationAttributes) *GetIdentityVerificationAttributesOutput {
9776	s.VerificationAttributes = v
9777	return s
9778}
9779
9780type GetSendQuotaInput struct {
9781	_ struct{} `type:"structure"`
9782}
9783
9784// String returns the string representation
9785func (s GetSendQuotaInput) String() string {
9786	return awsutil.Prettify(s)
9787}
9788
9789// GoString returns the string representation
9790func (s GetSendQuotaInput) GoString() string {
9791	return s.String()
9792}
9793
9794// Represents your Amazon SES daily sending quota, maximum send rate, and the
9795// number of emails you have sent in the last 24 hours.
9796type GetSendQuotaOutput struct {
9797	_ struct{} `type:"structure"`
9798
9799	// The maximum number of emails the user is allowed to send in a 24-hour interval.
9800	// A value of -1 signifies an unlimited quota.
9801	Max24HourSend *float64 `type:"double"`
9802
9803	// The maximum number of emails that Amazon SES can accept from the user's account
9804	// per second.
9805	//
9806	// The rate at which Amazon SES accepts the user's messages might be less than
9807	// the maximum send rate.
9808	MaxSendRate *float64 `type:"double"`
9809
9810	// The number of emails sent during the previous 24 hours.
9811	SentLast24Hours *float64 `type:"double"`
9812}
9813
9814// String returns the string representation
9815func (s GetSendQuotaOutput) String() string {
9816	return awsutil.Prettify(s)
9817}
9818
9819// GoString returns the string representation
9820func (s GetSendQuotaOutput) GoString() string {
9821	return s.String()
9822}
9823
9824// SetMax24HourSend sets the Max24HourSend field's value.
9825func (s *GetSendQuotaOutput) SetMax24HourSend(v float64) *GetSendQuotaOutput {
9826	s.Max24HourSend = &v
9827	return s
9828}
9829
9830// SetMaxSendRate sets the MaxSendRate field's value.
9831func (s *GetSendQuotaOutput) SetMaxSendRate(v float64) *GetSendQuotaOutput {
9832	s.MaxSendRate = &v
9833	return s
9834}
9835
9836// SetSentLast24Hours sets the SentLast24Hours field's value.
9837func (s *GetSendQuotaOutput) SetSentLast24Hours(v float64) *GetSendQuotaOutput {
9838	s.SentLast24Hours = &v
9839	return s
9840}
9841
9842type GetSendStatisticsInput struct {
9843	_ struct{} `type:"structure"`
9844}
9845
9846// String returns the string representation
9847func (s GetSendStatisticsInput) String() string {
9848	return awsutil.Prettify(s)
9849}
9850
9851// GoString returns the string representation
9852func (s GetSendStatisticsInput) GoString() string {
9853	return s.String()
9854}
9855
9856// Represents a list of data points. This list contains aggregated data from
9857// the previous two weeks of your sending activity with Amazon SES.
9858type GetSendStatisticsOutput struct {
9859	_ struct{} `type:"structure"`
9860
9861	// A list of data points, each of which represents 15 minutes of activity.
9862	SendDataPoints []*SendDataPoint `type:"list"`
9863}
9864
9865// String returns the string representation
9866func (s GetSendStatisticsOutput) String() string {
9867	return awsutil.Prettify(s)
9868}
9869
9870// GoString returns the string representation
9871func (s GetSendStatisticsOutput) GoString() string {
9872	return s.String()
9873}
9874
9875// SetSendDataPoints sets the SendDataPoints field's value.
9876func (s *GetSendStatisticsOutput) SetSendDataPoints(v []*SendDataPoint) *GetSendStatisticsOutput {
9877	s.SendDataPoints = v
9878	return s
9879}
9880
9881type GetTemplateInput struct {
9882	_ struct{} `type:"structure"`
9883
9884	// The name of the template you want to retrieve.
9885	//
9886	// TemplateName is a required field
9887	TemplateName *string `type:"string" required:"true"`
9888}
9889
9890// String returns the string representation
9891func (s GetTemplateInput) String() string {
9892	return awsutil.Prettify(s)
9893}
9894
9895// GoString returns the string representation
9896func (s GetTemplateInput) GoString() string {
9897	return s.String()
9898}
9899
9900// Validate inspects the fields of the type to determine if they are valid.
9901func (s *GetTemplateInput) Validate() error {
9902	invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"}
9903	if s.TemplateName == nil {
9904		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
9905	}
9906
9907	if invalidParams.Len() > 0 {
9908		return invalidParams
9909	}
9910	return nil
9911}
9912
9913// SetTemplateName sets the TemplateName field's value.
9914func (s *GetTemplateInput) SetTemplateName(v string) *GetTemplateInput {
9915	s.TemplateName = &v
9916	return s
9917}
9918
9919type GetTemplateOutput struct {
9920	_ struct{} `type:"structure"`
9921
9922	// The content of the email, composed of a subject line, an HTML part, and a
9923	// text-only part.
9924	Template *Template `type:"structure"`
9925}
9926
9927// String returns the string representation
9928func (s GetTemplateOutput) String() string {
9929	return awsutil.Prettify(s)
9930}
9931
9932// GoString returns the string representation
9933func (s GetTemplateOutput) GoString() string {
9934	return s.String()
9935}
9936
9937// SetTemplate sets the Template field's value.
9938func (s *GetTemplateOutput) SetTemplate(v *Template) *GetTemplateOutput {
9939	s.Template = v
9940	return s
9941}
9942
9943// Represents the DKIM attributes of a verified email address or a domain.
9944type IdentityDkimAttributes struct {
9945	_ struct{} `type:"structure"`
9946
9947	// Is true if DKIM signing is enabled for email sent from the identity. It's
9948	// false otherwise. The default value is true.
9949	//
9950	// DkimEnabled is a required field
9951	DkimEnabled *bool `type:"boolean" required:"true"`
9952
9953	// A set of character strings that represent the domain's identity. Using these
9954	// tokens, you need to create DNS CNAME records that point to DKIM public keys
9955	// that are hosted by Amazon SES. Amazon Web Services eventually detects that
9956	// you've updated your DNS records. This detection process might take up to
9957	// 72 hours. After successful detection, Amazon SES is able to DKIM-sign email
9958	// originating from that domain. (This only applies to domain identities, not
9959	// email address identities.)
9960	//
9961	// For more information about creating DNS records using DKIM tokens, see the
9962	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
9963	DkimTokens []*string `type:"list"`
9964
9965	// Describes whether Amazon SES has successfully verified the DKIM DNS records
9966	// (tokens) published in the domain name's DNS. (This only applies to domain
9967	// identities, not email address identities.)
9968	//
9969	// DkimVerificationStatus is a required field
9970	DkimVerificationStatus *string `type:"string" required:"true" enum:"VerificationStatus"`
9971}
9972
9973// String returns the string representation
9974func (s IdentityDkimAttributes) String() string {
9975	return awsutil.Prettify(s)
9976}
9977
9978// GoString returns the string representation
9979func (s IdentityDkimAttributes) GoString() string {
9980	return s.String()
9981}
9982
9983// SetDkimEnabled sets the DkimEnabled field's value.
9984func (s *IdentityDkimAttributes) SetDkimEnabled(v bool) *IdentityDkimAttributes {
9985	s.DkimEnabled = &v
9986	return s
9987}
9988
9989// SetDkimTokens sets the DkimTokens field's value.
9990func (s *IdentityDkimAttributes) SetDkimTokens(v []*string) *IdentityDkimAttributes {
9991	s.DkimTokens = v
9992	return s
9993}
9994
9995// SetDkimVerificationStatus sets the DkimVerificationStatus field's value.
9996func (s *IdentityDkimAttributes) SetDkimVerificationStatus(v string) *IdentityDkimAttributes {
9997	s.DkimVerificationStatus = &v
9998	return s
9999}
10000
10001// Represents the custom MAIL FROM domain attributes of a verified identity
10002// (email address or domain).
10003type IdentityMailFromDomainAttributes struct {
10004	_ struct{} `type:"structure"`
10005
10006	// The action that Amazon SES takes if it cannot successfully read the required
10007	// MX record when you send an email. A value of UseDefaultValue indicates that
10008	// if Amazon SES cannot read the required MX record, it uses amazonses.com (or
10009	// a subdomain of that) as the MAIL FROM domain. A value of RejectMessage indicates
10010	// that if Amazon SES cannot read the required MX record, Amazon SES returns
10011	// a MailFromDomainNotVerified error and does not send the email.
10012	//
10013	// The custom MAIL FROM setup states that result in this behavior are Pending,
10014	// Failed, and TemporaryFailure.
10015	//
10016	// BehaviorOnMXFailure is a required field
10017	BehaviorOnMXFailure *string `type:"string" required:"true" enum:"BehaviorOnMXFailure"`
10018
10019	// The custom MAIL FROM domain that the identity is configured to use.
10020	//
10021	// MailFromDomain is a required field
10022	MailFromDomain *string `type:"string" required:"true"`
10023
10024	// The state that indicates whether Amazon SES has successfully read the MX
10025	// record required for custom MAIL FROM domain setup. If the state is Success,
10026	// Amazon SES uses the specified custom MAIL FROM domain when the verified identity
10027	// sends an email. All other states indicate that Amazon SES takes the action
10028	// described by BehaviorOnMXFailure.
10029	//
10030	// MailFromDomainStatus is a required field
10031	MailFromDomainStatus *string `type:"string" required:"true" enum:"CustomMailFromStatus"`
10032}
10033
10034// String returns the string representation
10035func (s IdentityMailFromDomainAttributes) String() string {
10036	return awsutil.Prettify(s)
10037}
10038
10039// GoString returns the string representation
10040func (s IdentityMailFromDomainAttributes) GoString() string {
10041	return s.String()
10042}
10043
10044// SetBehaviorOnMXFailure sets the BehaviorOnMXFailure field's value.
10045func (s *IdentityMailFromDomainAttributes) SetBehaviorOnMXFailure(v string) *IdentityMailFromDomainAttributes {
10046	s.BehaviorOnMXFailure = &v
10047	return s
10048}
10049
10050// SetMailFromDomain sets the MailFromDomain field's value.
10051func (s *IdentityMailFromDomainAttributes) SetMailFromDomain(v string) *IdentityMailFromDomainAttributes {
10052	s.MailFromDomain = &v
10053	return s
10054}
10055
10056// SetMailFromDomainStatus sets the MailFromDomainStatus field's value.
10057func (s *IdentityMailFromDomainAttributes) SetMailFromDomainStatus(v string) *IdentityMailFromDomainAttributes {
10058	s.MailFromDomainStatus = &v
10059	return s
10060}
10061
10062// Represents the notification attributes of an identity, including whether
10063// an identity has Amazon Simple Notification Service (Amazon SNS) topics set
10064// for bounce, complaint, and/or delivery notifications, and whether feedback
10065// forwarding is enabled for bounce and complaint notifications.
10066type IdentityNotificationAttributes struct {
10067	_ struct{} `type:"structure"`
10068
10069	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
10070	// publish bounce notifications.
10071	//
10072	// BounceTopic is a required field
10073	BounceTopic *string `type:"string" required:"true"`
10074
10075	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
10076	// publish complaint notifications.
10077	//
10078	// ComplaintTopic is a required field
10079	ComplaintTopic *string `type:"string" required:"true"`
10080
10081	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
10082	// publish delivery notifications.
10083	//
10084	// DeliveryTopic is a required field
10085	DeliveryTopic *string `type:"string" required:"true"`
10086
10087	// Describes whether Amazon SES will forward bounce and complaint notifications
10088	// as email. true indicates that Amazon SES will forward bounce and complaint
10089	// notifications as email, while false indicates that bounce and complaint notifications
10090	// will be published only to the specified bounce and complaint Amazon SNS topics.
10091	//
10092	// ForwardingEnabled is a required field
10093	ForwardingEnabled *bool `type:"boolean" required:"true"`
10094
10095	// Describes whether Amazon SES includes the original email headers in Amazon
10096	// SNS notifications of type Bounce. A value of true specifies that Amazon SES
10097	// will include headers in bounce notifications, and a value of false specifies
10098	// that Amazon SES will not include headers in bounce notifications.
10099	HeadersInBounceNotificationsEnabled *bool `type:"boolean"`
10100
10101	// Describes whether Amazon SES includes the original email headers in Amazon
10102	// SNS notifications of type Complaint. A value of true specifies that Amazon
10103	// SES will include headers in complaint notifications, and a value of false
10104	// specifies that Amazon SES will not include headers in complaint notifications.
10105	HeadersInComplaintNotificationsEnabled *bool `type:"boolean"`
10106
10107	// Describes whether Amazon SES includes the original email headers in Amazon
10108	// SNS notifications of type Delivery. A value of true specifies that Amazon
10109	// SES will include headers in delivery notifications, and a value of false
10110	// specifies that Amazon SES will not include headers in delivery notifications.
10111	HeadersInDeliveryNotificationsEnabled *bool `type:"boolean"`
10112}
10113
10114// String returns the string representation
10115func (s IdentityNotificationAttributes) String() string {
10116	return awsutil.Prettify(s)
10117}
10118
10119// GoString returns the string representation
10120func (s IdentityNotificationAttributes) GoString() string {
10121	return s.String()
10122}
10123
10124// SetBounceTopic sets the BounceTopic field's value.
10125func (s *IdentityNotificationAttributes) SetBounceTopic(v string) *IdentityNotificationAttributes {
10126	s.BounceTopic = &v
10127	return s
10128}
10129
10130// SetComplaintTopic sets the ComplaintTopic field's value.
10131func (s *IdentityNotificationAttributes) SetComplaintTopic(v string) *IdentityNotificationAttributes {
10132	s.ComplaintTopic = &v
10133	return s
10134}
10135
10136// SetDeliveryTopic sets the DeliveryTopic field's value.
10137func (s *IdentityNotificationAttributes) SetDeliveryTopic(v string) *IdentityNotificationAttributes {
10138	s.DeliveryTopic = &v
10139	return s
10140}
10141
10142// SetForwardingEnabled sets the ForwardingEnabled field's value.
10143func (s *IdentityNotificationAttributes) SetForwardingEnabled(v bool) *IdentityNotificationAttributes {
10144	s.ForwardingEnabled = &v
10145	return s
10146}
10147
10148// SetHeadersInBounceNotificationsEnabled sets the HeadersInBounceNotificationsEnabled field's value.
10149func (s *IdentityNotificationAttributes) SetHeadersInBounceNotificationsEnabled(v bool) *IdentityNotificationAttributes {
10150	s.HeadersInBounceNotificationsEnabled = &v
10151	return s
10152}
10153
10154// SetHeadersInComplaintNotificationsEnabled sets the HeadersInComplaintNotificationsEnabled field's value.
10155func (s *IdentityNotificationAttributes) SetHeadersInComplaintNotificationsEnabled(v bool) *IdentityNotificationAttributes {
10156	s.HeadersInComplaintNotificationsEnabled = &v
10157	return s
10158}
10159
10160// SetHeadersInDeliveryNotificationsEnabled sets the HeadersInDeliveryNotificationsEnabled field's value.
10161func (s *IdentityNotificationAttributes) SetHeadersInDeliveryNotificationsEnabled(v bool) *IdentityNotificationAttributes {
10162	s.HeadersInDeliveryNotificationsEnabled = &v
10163	return s
10164}
10165
10166// Represents the verification attributes of a single identity.
10167type IdentityVerificationAttributes struct {
10168	_ struct{} `type:"structure"`
10169
10170	// The verification status of the identity: "Pending", "Success", "Failed",
10171	// or "TemporaryFailure".
10172	//
10173	// VerificationStatus is a required field
10174	VerificationStatus *string `type:"string" required:"true" enum:"VerificationStatus"`
10175
10176	// The verification token for a domain identity. Null for email address identities.
10177	VerificationToken *string `type:"string"`
10178}
10179
10180// String returns the string representation
10181func (s IdentityVerificationAttributes) String() string {
10182	return awsutil.Prettify(s)
10183}
10184
10185// GoString returns the string representation
10186func (s IdentityVerificationAttributes) GoString() string {
10187	return s.String()
10188}
10189
10190// SetVerificationStatus sets the VerificationStatus field's value.
10191func (s *IdentityVerificationAttributes) SetVerificationStatus(v string) *IdentityVerificationAttributes {
10192	s.VerificationStatus = &v
10193	return s
10194}
10195
10196// SetVerificationToken sets the VerificationToken field's value.
10197func (s *IdentityVerificationAttributes) SetVerificationToken(v string) *IdentityVerificationAttributes {
10198	s.VerificationToken = &v
10199	return s
10200}
10201
10202// Contains the delivery stream ARN and the IAM role ARN associated with an
10203// Amazon Kinesis Firehose event destination.
10204//
10205// Event destinations, such as Amazon Kinesis Firehose, are associated with
10206// configuration sets, which enable you to publish email sending events. For
10207// information about using configuration sets, see the Amazon SES Developer
10208// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
10209type KinesisFirehoseDestination struct {
10210	_ struct{} `type:"structure"`
10211
10212	// The ARN of the Amazon Kinesis Firehose stream that email sending events should
10213	// be published to.
10214	//
10215	// DeliveryStreamARN is a required field
10216	DeliveryStreamARN *string `type:"string" required:"true"`
10217
10218	// The ARN of the IAM role under which Amazon SES publishes email sending events
10219	// to the Amazon Kinesis Firehose stream.
10220	//
10221	// IAMRoleARN is a required field
10222	IAMRoleARN *string `type:"string" required:"true"`
10223}
10224
10225// String returns the string representation
10226func (s KinesisFirehoseDestination) String() string {
10227	return awsutil.Prettify(s)
10228}
10229
10230// GoString returns the string representation
10231func (s KinesisFirehoseDestination) GoString() string {
10232	return s.String()
10233}
10234
10235// Validate inspects the fields of the type to determine if they are valid.
10236func (s *KinesisFirehoseDestination) Validate() error {
10237	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseDestination"}
10238	if s.DeliveryStreamARN == nil {
10239		invalidParams.Add(request.NewErrParamRequired("DeliveryStreamARN"))
10240	}
10241	if s.IAMRoleARN == nil {
10242		invalidParams.Add(request.NewErrParamRequired("IAMRoleARN"))
10243	}
10244
10245	if invalidParams.Len() > 0 {
10246		return invalidParams
10247	}
10248	return nil
10249}
10250
10251// SetDeliveryStreamARN sets the DeliveryStreamARN field's value.
10252func (s *KinesisFirehoseDestination) SetDeliveryStreamARN(v string) *KinesisFirehoseDestination {
10253	s.DeliveryStreamARN = &v
10254	return s
10255}
10256
10257// SetIAMRoleARN sets the IAMRoleARN field's value.
10258func (s *KinesisFirehoseDestination) SetIAMRoleARN(v string) *KinesisFirehoseDestination {
10259	s.IAMRoleARN = &v
10260	return s
10261}
10262
10263// When included in a receipt rule, this action calls an AWS Lambda function
10264// and, optionally, publishes a notification to Amazon Simple Notification Service
10265// (Amazon SNS).
10266//
10267// To enable Amazon SES to call your AWS Lambda function or to publish to an
10268// Amazon SNS topic of another account, Amazon SES must have permission to access
10269// those resources. For information about giving permissions, see the Amazon
10270// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
10271//
10272// For information about using AWS Lambda actions in receipt rules, see the
10273// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html).
10274type LambdaAction struct {
10275	_ struct{} `type:"structure"`
10276
10277	// The Amazon Resource Name (ARN) of the AWS Lambda function. An example of
10278	// an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction.
10279	// For more information about AWS Lambda, see the AWS Lambda Developer Guide
10280	// (https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).
10281	//
10282	// FunctionArn is a required field
10283	FunctionArn *string `type:"string" required:"true"`
10284
10285	// The invocation type of the AWS Lambda function. An invocation type of RequestResponse
10286	// means that the execution of the function will immediately result in a response,
10287	// and a value of Event means that the function will be invoked asynchronously.
10288	// The default value is Event. For information about AWS Lambda invocation types,
10289	// see the AWS Lambda Developer Guide (https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html).
10290	//
10291	// There is a 30-second timeout on RequestResponse invocations. You should use
10292	// Event invocation in most cases. Use RequestResponse only when you want to
10293	// make a mail flow decision, such as whether to stop the receipt rule or the
10294	// receipt rule set.
10295	InvocationType *string `type:"string" enum:"InvocationType"`
10296
10297	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
10298	// Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
10299	// For more information about Amazon SNS topics, see the Amazon SNS Developer
10300	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
10301	TopicArn *string `type:"string"`
10302}
10303
10304// String returns the string representation
10305func (s LambdaAction) String() string {
10306	return awsutil.Prettify(s)
10307}
10308
10309// GoString returns the string representation
10310func (s LambdaAction) GoString() string {
10311	return s.String()
10312}
10313
10314// Validate inspects the fields of the type to determine if they are valid.
10315func (s *LambdaAction) Validate() error {
10316	invalidParams := request.ErrInvalidParams{Context: "LambdaAction"}
10317	if s.FunctionArn == nil {
10318		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
10319	}
10320
10321	if invalidParams.Len() > 0 {
10322		return invalidParams
10323	}
10324	return nil
10325}
10326
10327// SetFunctionArn sets the FunctionArn field's value.
10328func (s *LambdaAction) SetFunctionArn(v string) *LambdaAction {
10329	s.FunctionArn = &v
10330	return s
10331}
10332
10333// SetInvocationType sets the InvocationType field's value.
10334func (s *LambdaAction) SetInvocationType(v string) *LambdaAction {
10335	s.InvocationType = &v
10336	return s
10337}
10338
10339// SetTopicArn sets the TopicArn field's value.
10340func (s *LambdaAction) SetTopicArn(v string) *LambdaAction {
10341	s.TopicArn = &v
10342	return s
10343}
10344
10345// Represents a request to list the configuration sets associated with your
10346// AWS account. Configuration sets enable you to publish email sending events.
10347// For information about using configuration sets, see the Amazon SES Developer
10348// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
10349type ListConfigurationSetsInput struct {
10350	_ struct{} `type:"structure"`
10351
10352	// The number of configuration sets to return.
10353	MaxItems *int64 `type:"integer"`
10354
10355	// A token returned from a previous call to ListConfigurationSets to indicate
10356	// the position of the configuration set in the configuration set list.
10357	NextToken *string `type:"string"`
10358}
10359
10360// String returns the string representation
10361func (s ListConfigurationSetsInput) String() string {
10362	return awsutil.Prettify(s)
10363}
10364
10365// GoString returns the string representation
10366func (s ListConfigurationSetsInput) GoString() string {
10367	return s.String()
10368}
10369
10370// SetMaxItems sets the MaxItems field's value.
10371func (s *ListConfigurationSetsInput) SetMaxItems(v int64) *ListConfigurationSetsInput {
10372	s.MaxItems = &v
10373	return s
10374}
10375
10376// SetNextToken sets the NextToken field's value.
10377func (s *ListConfigurationSetsInput) SetNextToken(v string) *ListConfigurationSetsInput {
10378	s.NextToken = &v
10379	return s
10380}
10381
10382// A list of configuration sets associated with your AWS account. Configuration
10383// sets enable you to publish email sending events. For information about using
10384// configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
10385type ListConfigurationSetsOutput struct {
10386	_ struct{} `type:"structure"`
10387
10388	// A list of configuration sets.
10389	ConfigurationSets []*ConfigurationSet `type:"list"`
10390
10391	// A token indicating that there are additional configuration sets available
10392	// to be listed. Pass this token to successive calls of ListConfigurationSets.
10393	NextToken *string `type:"string"`
10394}
10395
10396// String returns the string representation
10397func (s ListConfigurationSetsOutput) String() string {
10398	return awsutil.Prettify(s)
10399}
10400
10401// GoString returns the string representation
10402func (s ListConfigurationSetsOutput) GoString() string {
10403	return s.String()
10404}
10405
10406// SetConfigurationSets sets the ConfigurationSets field's value.
10407func (s *ListConfigurationSetsOutput) SetConfigurationSets(v []*ConfigurationSet) *ListConfigurationSetsOutput {
10408	s.ConfigurationSets = v
10409	return s
10410}
10411
10412// SetNextToken sets the NextToken field's value.
10413func (s *ListConfigurationSetsOutput) SetNextToken(v string) *ListConfigurationSetsOutput {
10414	s.NextToken = &v
10415	return s
10416}
10417
10418// Represents a request to list the existing custom verification email templates
10419// for your account.
10420//
10421// For more information about custom verification email templates, see Using
10422// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
10423// in the Amazon SES Developer Guide.
10424type ListCustomVerificationEmailTemplatesInput struct {
10425	_ struct{} `type:"structure"`
10426
10427	// The maximum number of custom verification email templates to return. This
10428	// value must be at least 1 and less than or equal to 50. If you do not specify
10429	// a value, or if you specify a value less than 1 or greater than 50, the operation
10430	// will return up to 50 results.
10431	MaxResults *int64 `min:"1" type:"integer"`
10432
10433	// An array the contains the name and creation time stamp for each template
10434	// in your Amazon SES account.
10435	NextToken *string `type:"string"`
10436}
10437
10438// String returns the string representation
10439func (s ListCustomVerificationEmailTemplatesInput) String() string {
10440	return awsutil.Prettify(s)
10441}
10442
10443// GoString returns the string representation
10444func (s ListCustomVerificationEmailTemplatesInput) GoString() string {
10445	return s.String()
10446}
10447
10448// Validate inspects the fields of the type to determine if they are valid.
10449func (s *ListCustomVerificationEmailTemplatesInput) Validate() error {
10450	invalidParams := request.ErrInvalidParams{Context: "ListCustomVerificationEmailTemplatesInput"}
10451	if s.MaxResults != nil && *s.MaxResults < 1 {
10452		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10453	}
10454
10455	if invalidParams.Len() > 0 {
10456		return invalidParams
10457	}
10458	return nil
10459}
10460
10461// SetMaxResults sets the MaxResults field's value.
10462func (s *ListCustomVerificationEmailTemplatesInput) SetMaxResults(v int64) *ListCustomVerificationEmailTemplatesInput {
10463	s.MaxResults = &v
10464	return s
10465}
10466
10467// SetNextToken sets the NextToken field's value.
10468func (s *ListCustomVerificationEmailTemplatesInput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesInput {
10469	s.NextToken = &v
10470	return s
10471}
10472
10473// A paginated list of custom verification email templates.
10474type ListCustomVerificationEmailTemplatesOutput struct {
10475	_ struct{} `type:"structure"`
10476
10477	// A list of the custom verification email templates that exist in your account.
10478	CustomVerificationEmailTemplates []*CustomVerificationEmailTemplate `type:"list"`
10479
10480	// A token indicating that there are additional custom verification email templates
10481	// available to be listed. Pass this token to a subsequent call to ListTemplates
10482	// to retrieve the next 50 custom verification email templates.
10483	NextToken *string `type:"string"`
10484}
10485
10486// String returns the string representation
10487func (s ListCustomVerificationEmailTemplatesOutput) String() string {
10488	return awsutil.Prettify(s)
10489}
10490
10491// GoString returns the string representation
10492func (s ListCustomVerificationEmailTemplatesOutput) GoString() string {
10493	return s.String()
10494}
10495
10496// SetCustomVerificationEmailTemplates sets the CustomVerificationEmailTemplates field's value.
10497func (s *ListCustomVerificationEmailTemplatesOutput) SetCustomVerificationEmailTemplates(v []*CustomVerificationEmailTemplate) *ListCustomVerificationEmailTemplatesOutput {
10498	s.CustomVerificationEmailTemplates = v
10499	return s
10500}
10501
10502// SetNextToken sets the NextToken field's value.
10503func (s *ListCustomVerificationEmailTemplatesOutput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesOutput {
10504	s.NextToken = &v
10505	return s
10506}
10507
10508// Represents a request to return a list of all identities (email addresses
10509// and domains) that you have attempted to verify under your AWS account, regardless
10510// of verification status.
10511type ListIdentitiesInput struct {
10512	_ struct{} `type:"structure"`
10513
10514	// The type of the identities to list. Possible values are "EmailAddress" and
10515	// "Domain". If this parameter is omitted, then all identities will be listed.
10516	IdentityType *string `type:"string" enum:"IdentityType"`
10517
10518	// The maximum number of identities per page. Possible values are 1-1000 inclusive.
10519	MaxItems *int64 `type:"integer"`
10520
10521	// The token to use for pagination.
10522	NextToken *string `type:"string"`
10523}
10524
10525// String returns the string representation
10526func (s ListIdentitiesInput) String() string {
10527	return awsutil.Prettify(s)
10528}
10529
10530// GoString returns the string representation
10531func (s ListIdentitiesInput) GoString() string {
10532	return s.String()
10533}
10534
10535// SetIdentityType sets the IdentityType field's value.
10536func (s *ListIdentitiesInput) SetIdentityType(v string) *ListIdentitiesInput {
10537	s.IdentityType = &v
10538	return s
10539}
10540
10541// SetMaxItems sets the MaxItems field's value.
10542func (s *ListIdentitiesInput) SetMaxItems(v int64) *ListIdentitiesInput {
10543	s.MaxItems = &v
10544	return s
10545}
10546
10547// SetNextToken sets the NextToken field's value.
10548func (s *ListIdentitiesInput) SetNextToken(v string) *ListIdentitiesInput {
10549	s.NextToken = &v
10550	return s
10551}
10552
10553// A list of all identities that you have attempted to verify under your AWS
10554// account, regardless of verification status.
10555type ListIdentitiesOutput struct {
10556	_ struct{} `type:"structure"`
10557
10558	// A list of identities.
10559	//
10560	// Identities is a required field
10561	Identities []*string `type:"list" required:"true"`
10562
10563	// The token used for pagination.
10564	NextToken *string `type:"string"`
10565}
10566
10567// String returns the string representation
10568func (s ListIdentitiesOutput) String() string {
10569	return awsutil.Prettify(s)
10570}
10571
10572// GoString returns the string representation
10573func (s ListIdentitiesOutput) GoString() string {
10574	return s.String()
10575}
10576
10577// SetIdentities sets the Identities field's value.
10578func (s *ListIdentitiesOutput) SetIdentities(v []*string) *ListIdentitiesOutput {
10579	s.Identities = v
10580	return s
10581}
10582
10583// SetNextToken sets the NextToken field's value.
10584func (s *ListIdentitiesOutput) SetNextToken(v string) *ListIdentitiesOutput {
10585	s.NextToken = &v
10586	return s
10587}
10588
10589// Represents a request to return a list of sending authorization policies that
10590// are attached to an identity. Sending authorization is an Amazon SES feature
10591// that enables you to authorize other senders to use your identities. For information,
10592// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
10593type ListIdentityPoliciesInput struct {
10594	_ struct{} `type:"structure"`
10595
10596	// The identity that is associated with the policy for which the policies will
10597	// be listed. You can specify an identity by using its name or by using its
10598	// Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
10599	//
10600	// To successfully call this API, you must own the identity.
10601	//
10602	// Identity is a required field
10603	Identity *string `type:"string" required:"true"`
10604}
10605
10606// String returns the string representation
10607func (s ListIdentityPoliciesInput) String() string {
10608	return awsutil.Prettify(s)
10609}
10610
10611// GoString returns the string representation
10612func (s ListIdentityPoliciesInput) GoString() string {
10613	return s.String()
10614}
10615
10616// Validate inspects the fields of the type to determine if they are valid.
10617func (s *ListIdentityPoliciesInput) Validate() error {
10618	invalidParams := request.ErrInvalidParams{Context: "ListIdentityPoliciesInput"}
10619	if s.Identity == nil {
10620		invalidParams.Add(request.NewErrParamRequired("Identity"))
10621	}
10622
10623	if invalidParams.Len() > 0 {
10624		return invalidParams
10625	}
10626	return nil
10627}
10628
10629// SetIdentity sets the Identity field's value.
10630func (s *ListIdentityPoliciesInput) SetIdentity(v string) *ListIdentityPoliciesInput {
10631	s.Identity = &v
10632	return s
10633}
10634
10635// A list of names of sending authorization policies that apply to an identity.
10636type ListIdentityPoliciesOutput struct {
10637	_ struct{} `type:"structure"`
10638
10639	// A list of names of policies that apply to the specified identity.
10640	//
10641	// PolicyNames is a required field
10642	PolicyNames []*string `type:"list" required:"true"`
10643}
10644
10645// String returns the string representation
10646func (s ListIdentityPoliciesOutput) String() string {
10647	return awsutil.Prettify(s)
10648}
10649
10650// GoString returns the string representation
10651func (s ListIdentityPoliciesOutput) GoString() string {
10652	return s.String()
10653}
10654
10655// SetPolicyNames sets the PolicyNames field's value.
10656func (s *ListIdentityPoliciesOutput) SetPolicyNames(v []*string) *ListIdentityPoliciesOutput {
10657	s.PolicyNames = v
10658	return s
10659}
10660
10661// Represents a request to list the IP address filters that exist under your
10662// AWS account. You use IP address filters when you receive email with Amazon
10663// SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
10664type ListReceiptFiltersInput struct {
10665	_ struct{} `type:"structure"`
10666}
10667
10668// String returns the string representation
10669func (s ListReceiptFiltersInput) String() string {
10670	return awsutil.Prettify(s)
10671}
10672
10673// GoString returns the string representation
10674func (s ListReceiptFiltersInput) GoString() string {
10675	return s.String()
10676}
10677
10678// A list of IP address filters that exist under your AWS account.
10679type ListReceiptFiltersOutput struct {
10680	_ struct{} `type:"structure"`
10681
10682	// A list of IP address filter data structures, which each consist of a name,
10683	// an IP address range, and whether to allow or block mail from it.
10684	Filters []*ReceiptFilter `type:"list"`
10685}
10686
10687// String returns the string representation
10688func (s ListReceiptFiltersOutput) String() string {
10689	return awsutil.Prettify(s)
10690}
10691
10692// GoString returns the string representation
10693func (s ListReceiptFiltersOutput) GoString() string {
10694	return s.String()
10695}
10696
10697// SetFilters sets the Filters field's value.
10698func (s *ListReceiptFiltersOutput) SetFilters(v []*ReceiptFilter) *ListReceiptFiltersOutput {
10699	s.Filters = v
10700	return s
10701}
10702
10703// Represents a request to list the receipt rule sets that exist under your
10704// AWS account. You use receipt rule sets to receive email with Amazon SES.
10705// For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
10706type ListReceiptRuleSetsInput struct {
10707	_ struct{} `type:"structure"`
10708
10709	// A token returned from a previous call to ListReceiptRuleSets to indicate
10710	// the position in the receipt rule set list.
10711	NextToken *string `type:"string"`
10712}
10713
10714// String returns the string representation
10715func (s ListReceiptRuleSetsInput) String() string {
10716	return awsutil.Prettify(s)
10717}
10718
10719// GoString returns the string representation
10720func (s ListReceiptRuleSetsInput) GoString() string {
10721	return s.String()
10722}
10723
10724// SetNextToken sets the NextToken field's value.
10725func (s *ListReceiptRuleSetsInput) SetNextToken(v string) *ListReceiptRuleSetsInput {
10726	s.NextToken = &v
10727	return s
10728}
10729
10730// A list of receipt rule sets that exist under your AWS account.
10731type ListReceiptRuleSetsOutput struct {
10732	_ struct{} `type:"structure"`
10733
10734	// A token indicating that there are additional receipt rule sets available
10735	// to be listed. Pass this token to successive calls of ListReceiptRuleSets
10736	// to retrieve up to 100 receipt rule sets at a time.
10737	NextToken *string `type:"string"`
10738
10739	// The metadata for the currently active receipt rule set. The metadata consists
10740	// of the rule set name and the timestamp of when the rule set was created.
10741	RuleSets []*ReceiptRuleSetMetadata `type:"list"`
10742}
10743
10744// String returns the string representation
10745func (s ListReceiptRuleSetsOutput) String() string {
10746	return awsutil.Prettify(s)
10747}
10748
10749// GoString returns the string representation
10750func (s ListReceiptRuleSetsOutput) GoString() string {
10751	return s.String()
10752}
10753
10754// SetNextToken sets the NextToken field's value.
10755func (s *ListReceiptRuleSetsOutput) SetNextToken(v string) *ListReceiptRuleSetsOutput {
10756	s.NextToken = &v
10757	return s
10758}
10759
10760// SetRuleSets sets the RuleSets field's value.
10761func (s *ListReceiptRuleSetsOutput) SetRuleSets(v []*ReceiptRuleSetMetadata) *ListReceiptRuleSetsOutput {
10762	s.RuleSets = v
10763	return s
10764}
10765
10766type ListTemplatesInput struct {
10767	_ struct{} `type:"structure"`
10768
10769	// The maximum number of templates to return. This value must be at least 1
10770	// and less than or equal to 10. If you do not specify a value, or if you specify
10771	// a value less than 1 or greater than 10, the operation will return up to 10
10772	// results.
10773	MaxItems *int64 `type:"integer"`
10774
10775	// A token returned from a previous call to ListTemplates to indicate the position
10776	// in the list of email templates.
10777	NextToken *string `type:"string"`
10778}
10779
10780// String returns the string representation
10781func (s ListTemplatesInput) String() string {
10782	return awsutil.Prettify(s)
10783}
10784
10785// GoString returns the string representation
10786func (s ListTemplatesInput) GoString() string {
10787	return s.String()
10788}
10789
10790// SetMaxItems sets the MaxItems field's value.
10791func (s *ListTemplatesInput) SetMaxItems(v int64) *ListTemplatesInput {
10792	s.MaxItems = &v
10793	return s
10794}
10795
10796// SetNextToken sets the NextToken field's value.
10797func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
10798	s.NextToken = &v
10799	return s
10800}
10801
10802type ListTemplatesOutput struct {
10803	_ struct{} `type:"structure"`
10804
10805	// A token indicating that there are additional email templates available to
10806	// be listed. Pass this token to a subsequent call to ListTemplates to retrieve
10807	// the next 50 email templates.
10808	NextToken *string `type:"string"`
10809
10810	// An array the contains the name and creation time stamp for each template
10811	// in your Amazon SES account.
10812	TemplatesMetadata []*TemplateMetadata `type:"list"`
10813}
10814
10815// String returns the string representation
10816func (s ListTemplatesOutput) String() string {
10817	return awsutil.Prettify(s)
10818}
10819
10820// GoString returns the string representation
10821func (s ListTemplatesOutput) GoString() string {
10822	return s.String()
10823}
10824
10825// SetNextToken sets the NextToken field's value.
10826func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput {
10827	s.NextToken = &v
10828	return s
10829}
10830
10831// SetTemplatesMetadata sets the TemplatesMetadata field's value.
10832func (s *ListTemplatesOutput) SetTemplatesMetadata(v []*TemplateMetadata) *ListTemplatesOutput {
10833	s.TemplatesMetadata = v
10834	return s
10835}
10836
10837type ListVerifiedEmailAddressesInput struct {
10838	_ struct{} `type:"structure"`
10839}
10840
10841// String returns the string representation
10842func (s ListVerifiedEmailAddressesInput) String() string {
10843	return awsutil.Prettify(s)
10844}
10845
10846// GoString returns the string representation
10847func (s ListVerifiedEmailAddressesInput) GoString() string {
10848	return s.String()
10849}
10850
10851// A list of email addresses that you have verified with Amazon SES under your
10852// AWS account.
10853type ListVerifiedEmailAddressesOutput struct {
10854	_ struct{} `type:"structure"`
10855
10856	// A list of email addresses that have been verified.
10857	VerifiedEmailAddresses []*string `type:"list"`
10858}
10859
10860// String returns the string representation
10861func (s ListVerifiedEmailAddressesOutput) String() string {
10862	return awsutil.Prettify(s)
10863}
10864
10865// GoString returns the string representation
10866func (s ListVerifiedEmailAddressesOutput) GoString() string {
10867	return s.String()
10868}
10869
10870// SetVerifiedEmailAddresses sets the VerifiedEmailAddresses field's value.
10871func (s *ListVerifiedEmailAddressesOutput) SetVerifiedEmailAddresses(v []*string) *ListVerifiedEmailAddressesOutput {
10872	s.VerifiedEmailAddresses = v
10873	return s
10874}
10875
10876// Represents the message to be sent, composed of a subject and a body.
10877type Message struct {
10878	_ struct{} `type:"structure"`
10879
10880	// The message body.
10881	//
10882	// Body is a required field
10883	Body *Body `type:"structure" required:"true"`
10884
10885	// The subject of the message: A short summary of the content, which will appear
10886	// in the recipient's inbox.
10887	//
10888	// Subject is a required field
10889	Subject *Content `type:"structure" required:"true"`
10890}
10891
10892// String returns the string representation
10893func (s Message) String() string {
10894	return awsutil.Prettify(s)
10895}
10896
10897// GoString returns the string representation
10898func (s Message) GoString() string {
10899	return s.String()
10900}
10901
10902// Validate inspects the fields of the type to determine if they are valid.
10903func (s *Message) Validate() error {
10904	invalidParams := request.ErrInvalidParams{Context: "Message"}
10905	if s.Body == nil {
10906		invalidParams.Add(request.NewErrParamRequired("Body"))
10907	}
10908	if s.Subject == nil {
10909		invalidParams.Add(request.NewErrParamRequired("Subject"))
10910	}
10911	if s.Body != nil {
10912		if err := s.Body.Validate(); err != nil {
10913			invalidParams.AddNested("Body", err.(request.ErrInvalidParams))
10914		}
10915	}
10916	if s.Subject != nil {
10917		if err := s.Subject.Validate(); err != nil {
10918			invalidParams.AddNested("Subject", err.(request.ErrInvalidParams))
10919		}
10920	}
10921
10922	if invalidParams.Len() > 0 {
10923		return invalidParams
10924	}
10925	return nil
10926}
10927
10928// SetBody sets the Body field's value.
10929func (s *Message) SetBody(v *Body) *Message {
10930	s.Body = v
10931	return s
10932}
10933
10934// SetSubject sets the Subject field's value.
10935func (s *Message) SetSubject(v *Content) *Message {
10936	s.Subject = v
10937	return s
10938}
10939
10940// Message-related information to include in the Delivery Status Notification
10941// (DSN) when an email that Amazon SES receives on your behalf bounces.
10942//
10943// For information about receiving email through Amazon SES, see the Amazon
10944// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
10945type MessageDsn struct {
10946	_ struct{} `type:"structure"`
10947
10948	// When the message was received by the reporting mail transfer agent (MTA),
10949	// in RFC 822 (https://www.ietf.org/rfc/rfc0822.txt) date-time format.
10950	ArrivalDate *time.Time `type:"timestamp"`
10951
10952	// Additional X-headers to include in the DSN.
10953	ExtensionFields []*ExtensionField `type:"list"`
10954
10955	// The reporting MTA that attempted to deliver the message, formatted as specified
10956	// in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type; mta-name).
10957	// The default value is dns; inbound-smtp.[region].amazonaws.com.
10958	//
10959	// ReportingMta is a required field
10960	ReportingMta *string `type:"string" required:"true"`
10961}
10962
10963// String returns the string representation
10964func (s MessageDsn) String() string {
10965	return awsutil.Prettify(s)
10966}
10967
10968// GoString returns the string representation
10969func (s MessageDsn) GoString() string {
10970	return s.String()
10971}
10972
10973// Validate inspects the fields of the type to determine if they are valid.
10974func (s *MessageDsn) Validate() error {
10975	invalidParams := request.ErrInvalidParams{Context: "MessageDsn"}
10976	if s.ReportingMta == nil {
10977		invalidParams.Add(request.NewErrParamRequired("ReportingMta"))
10978	}
10979	if s.ExtensionFields != nil {
10980		for i, v := range s.ExtensionFields {
10981			if v == nil {
10982				continue
10983			}
10984			if err := v.Validate(); err != nil {
10985				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtensionFields", i), err.(request.ErrInvalidParams))
10986			}
10987		}
10988	}
10989
10990	if invalidParams.Len() > 0 {
10991		return invalidParams
10992	}
10993	return nil
10994}
10995
10996// SetArrivalDate sets the ArrivalDate field's value.
10997func (s *MessageDsn) SetArrivalDate(v time.Time) *MessageDsn {
10998	s.ArrivalDate = &v
10999	return s
11000}
11001
11002// SetExtensionFields sets the ExtensionFields field's value.
11003func (s *MessageDsn) SetExtensionFields(v []*ExtensionField) *MessageDsn {
11004	s.ExtensionFields = v
11005	return s
11006}
11007
11008// SetReportingMta sets the ReportingMta field's value.
11009func (s *MessageDsn) SetReportingMta(v string) *MessageDsn {
11010	s.ReportingMta = &v
11011	return s
11012}
11013
11014// Contains the name and value of a tag that you can provide to SendEmail or
11015// SendRawEmail to apply to an email.
11016//
11017// Message tags, which you use with configuration sets, enable you to publish
11018// email sending events. For information about using configuration sets, see
11019// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
11020type MessageTag struct {
11021	_ struct{} `type:"structure"`
11022
11023	// The name of the tag. The name must:
11024	//
11025	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
11026	//    underscores (_), or dashes (-).
11027	//
11028	//    * Contain less than 256 characters.
11029	//
11030	// Name is a required field
11031	Name *string `type:"string" required:"true"`
11032
11033	// The value of the tag. The value must:
11034	//
11035	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
11036	//    underscores (_), or dashes (-).
11037	//
11038	//    * Contain less than 256 characters.
11039	//
11040	// Value is a required field
11041	Value *string `type:"string" required:"true"`
11042}
11043
11044// String returns the string representation
11045func (s MessageTag) String() string {
11046	return awsutil.Prettify(s)
11047}
11048
11049// GoString returns the string representation
11050func (s MessageTag) GoString() string {
11051	return s.String()
11052}
11053
11054// Validate inspects the fields of the type to determine if they are valid.
11055func (s *MessageTag) Validate() error {
11056	invalidParams := request.ErrInvalidParams{Context: "MessageTag"}
11057	if s.Name == nil {
11058		invalidParams.Add(request.NewErrParamRequired("Name"))
11059	}
11060	if s.Value == nil {
11061		invalidParams.Add(request.NewErrParamRequired("Value"))
11062	}
11063
11064	if invalidParams.Len() > 0 {
11065		return invalidParams
11066	}
11067	return nil
11068}
11069
11070// SetName sets the Name field's value.
11071func (s *MessageTag) SetName(v string) *MessageTag {
11072	s.Name = &v
11073	return s
11074}
11075
11076// SetValue sets the Value field's value.
11077func (s *MessageTag) SetValue(v string) *MessageTag {
11078	s.Value = &v
11079	return s
11080}
11081
11082// A request to modify the delivery options for a configuration set.
11083type PutConfigurationSetDeliveryOptionsInput struct {
11084	_ struct{} `type:"structure"`
11085
11086	// The name of the configuration set that you want to specify the delivery options
11087	// for.
11088	//
11089	// ConfigurationSetName is a required field
11090	ConfigurationSetName *string `type:"string" required:"true"`
11091
11092	// Specifies whether messages that use the configuration set are required to
11093	// use Transport Layer Security (TLS).
11094	DeliveryOptions *DeliveryOptions `type:"structure"`
11095}
11096
11097// String returns the string representation
11098func (s PutConfigurationSetDeliveryOptionsInput) String() string {
11099	return awsutil.Prettify(s)
11100}
11101
11102// GoString returns the string representation
11103func (s PutConfigurationSetDeliveryOptionsInput) GoString() string {
11104	return s.String()
11105}
11106
11107// Validate inspects the fields of the type to determine if they are valid.
11108func (s *PutConfigurationSetDeliveryOptionsInput) Validate() error {
11109	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetDeliveryOptionsInput"}
11110	if s.ConfigurationSetName == nil {
11111		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
11112	}
11113
11114	if invalidParams.Len() > 0 {
11115		return invalidParams
11116	}
11117	return nil
11118}
11119
11120// SetConfigurationSetName sets the ConfigurationSetName field's value.
11121func (s *PutConfigurationSetDeliveryOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetDeliveryOptionsInput {
11122	s.ConfigurationSetName = &v
11123	return s
11124}
11125
11126// SetDeliveryOptions sets the DeliveryOptions field's value.
11127func (s *PutConfigurationSetDeliveryOptionsInput) SetDeliveryOptions(v *DeliveryOptions) *PutConfigurationSetDeliveryOptionsInput {
11128	s.DeliveryOptions = v
11129	return s
11130}
11131
11132// An HTTP 200 response if the request succeeds, or an error message if the
11133// request fails.
11134type PutConfigurationSetDeliveryOptionsOutput struct {
11135	_ struct{} `type:"structure"`
11136}
11137
11138// String returns the string representation
11139func (s PutConfigurationSetDeliveryOptionsOutput) String() string {
11140	return awsutil.Prettify(s)
11141}
11142
11143// GoString returns the string representation
11144func (s PutConfigurationSetDeliveryOptionsOutput) GoString() string {
11145	return s.String()
11146}
11147
11148// Represents a request to add or update a sending authorization policy for
11149// an identity. Sending authorization is an Amazon SES feature that enables
11150// you to authorize other senders to use your identities. For information, see
11151// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
11152type PutIdentityPolicyInput struct {
11153	_ struct{} `type:"structure"`
11154
11155	// The identity that the policy will apply to. You can specify an identity by
11156	// using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com,
11157	// example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
11158	//
11159	// To successfully call this API, you must own the identity.
11160	//
11161	// Identity is a required field
11162	Identity *string `type:"string" required:"true"`
11163
11164	// The text of the policy in JSON format. The policy cannot exceed 4 KB.
11165	//
11166	// For information about the syntax of sending authorization policies, see the
11167	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).
11168	//
11169	// Policy is a required field
11170	Policy *string `min:"1" type:"string" required:"true"`
11171
11172	// The name of the policy.
11173	//
11174	// The policy name cannot exceed 64 characters and can only include alphanumeric
11175	// characters, dashes, and underscores.
11176	//
11177	// PolicyName is a required field
11178	PolicyName *string `min:"1" type:"string" required:"true"`
11179}
11180
11181// String returns the string representation
11182func (s PutIdentityPolicyInput) String() string {
11183	return awsutil.Prettify(s)
11184}
11185
11186// GoString returns the string representation
11187func (s PutIdentityPolicyInput) GoString() string {
11188	return s.String()
11189}
11190
11191// Validate inspects the fields of the type to determine if they are valid.
11192func (s *PutIdentityPolicyInput) Validate() error {
11193	invalidParams := request.ErrInvalidParams{Context: "PutIdentityPolicyInput"}
11194	if s.Identity == nil {
11195		invalidParams.Add(request.NewErrParamRequired("Identity"))
11196	}
11197	if s.Policy == nil {
11198		invalidParams.Add(request.NewErrParamRequired("Policy"))
11199	}
11200	if s.Policy != nil && len(*s.Policy) < 1 {
11201		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
11202	}
11203	if s.PolicyName == nil {
11204		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
11205	}
11206	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
11207		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
11208	}
11209
11210	if invalidParams.Len() > 0 {
11211		return invalidParams
11212	}
11213	return nil
11214}
11215
11216// SetIdentity sets the Identity field's value.
11217func (s *PutIdentityPolicyInput) SetIdentity(v string) *PutIdentityPolicyInput {
11218	s.Identity = &v
11219	return s
11220}
11221
11222// SetPolicy sets the Policy field's value.
11223func (s *PutIdentityPolicyInput) SetPolicy(v string) *PutIdentityPolicyInput {
11224	s.Policy = &v
11225	return s
11226}
11227
11228// SetPolicyName sets the PolicyName field's value.
11229func (s *PutIdentityPolicyInput) SetPolicyName(v string) *PutIdentityPolicyInput {
11230	s.PolicyName = &v
11231	return s
11232}
11233
11234// An empty element returned on a successful request.
11235type PutIdentityPolicyOutput struct {
11236	_ struct{} `type:"structure"`
11237}
11238
11239// String returns the string representation
11240func (s PutIdentityPolicyOutput) String() string {
11241	return awsutil.Prettify(s)
11242}
11243
11244// GoString returns the string representation
11245func (s PutIdentityPolicyOutput) GoString() string {
11246	return s.String()
11247}
11248
11249// Represents the raw data of the message.
11250type RawMessage struct {
11251	_ struct{} `type:"structure"`
11252
11253	// The raw data of the message. This data needs to base64-encoded if you are
11254	// accessing Amazon SES directly through the HTTPS interface. If you are accessing
11255	// Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for
11256	// you. In all cases, the client must ensure that the message format complies
11257	// with Internet email standards regarding email header fields, MIME types,
11258	// and MIME encoding.
11259	//
11260	// The To:, CC:, and BCC: headers in the raw message can contain a group list.
11261	//
11262	// If you are using SendRawEmail with sending authorization, you can include
11263	// X-headers in the raw message to specify the "Source," "From," and "Return-Path"
11264	// addresses. For more information, see the documentation for SendRawEmail.
11265	//
11266	// Do not include these X-headers in the DKIM signature, because they are removed
11267	// by Amazon SES before sending the email.
11268	//
11269	// For more information, go to the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html).
11270	//
11271	// Data is automatically base64 encoded/decoded by the SDK.
11272	//
11273	// Data is a required field
11274	Data []byte `type:"blob" required:"true"`
11275}
11276
11277// String returns the string representation
11278func (s RawMessage) String() string {
11279	return awsutil.Prettify(s)
11280}
11281
11282// GoString returns the string representation
11283func (s RawMessage) GoString() string {
11284	return s.String()
11285}
11286
11287// Validate inspects the fields of the type to determine if they are valid.
11288func (s *RawMessage) Validate() error {
11289	invalidParams := request.ErrInvalidParams{Context: "RawMessage"}
11290	if s.Data == nil {
11291		invalidParams.Add(request.NewErrParamRequired("Data"))
11292	}
11293
11294	if invalidParams.Len() > 0 {
11295		return invalidParams
11296	}
11297	return nil
11298}
11299
11300// SetData sets the Data field's value.
11301func (s *RawMessage) SetData(v []byte) *RawMessage {
11302	s.Data = v
11303	return s
11304}
11305
11306// An action that Amazon SES can take when it receives an email on behalf of
11307// one or more email addresses or domains that you own. An instance of this
11308// data type can represent only one action.
11309//
11310// For information about setting up receipt rules, see the Amazon SES Developer
11311// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
11312type ReceiptAction struct {
11313	_ struct{} `type:"structure"`
11314
11315	// Adds a header to the received email.
11316	AddHeaderAction *AddHeaderAction `type:"structure"`
11317
11318	// Rejects the received email by returning a bounce response to the sender and,
11319	// optionally, publishes a notification to Amazon Simple Notification Service
11320	// (Amazon SNS).
11321	BounceAction *BounceAction `type:"structure"`
11322
11323	// Calls an AWS Lambda function, and optionally, publishes a notification to
11324	// Amazon SNS.
11325	LambdaAction *LambdaAction `type:"structure"`
11326
11327	// Saves the received message to an Amazon Simple Storage Service (Amazon S3)
11328	// bucket and, optionally, publishes a notification to Amazon SNS.
11329	S3Action *S3Action `type:"structure"`
11330
11331	// Publishes the email content within a notification to Amazon SNS.
11332	SNSAction *SNSAction `type:"structure"`
11333
11334	// Terminates the evaluation of the receipt rule set and optionally publishes
11335	// a notification to Amazon SNS.
11336	StopAction *StopAction `type:"structure"`
11337
11338	// Calls Amazon WorkMail and, optionally, publishes a notification to Amazon
11339	// Amazon SNS.
11340	WorkmailAction *WorkmailAction `type:"structure"`
11341}
11342
11343// String returns the string representation
11344func (s ReceiptAction) String() string {
11345	return awsutil.Prettify(s)
11346}
11347
11348// GoString returns the string representation
11349func (s ReceiptAction) GoString() string {
11350	return s.String()
11351}
11352
11353// Validate inspects the fields of the type to determine if they are valid.
11354func (s *ReceiptAction) Validate() error {
11355	invalidParams := request.ErrInvalidParams{Context: "ReceiptAction"}
11356	if s.AddHeaderAction != nil {
11357		if err := s.AddHeaderAction.Validate(); err != nil {
11358			invalidParams.AddNested("AddHeaderAction", err.(request.ErrInvalidParams))
11359		}
11360	}
11361	if s.BounceAction != nil {
11362		if err := s.BounceAction.Validate(); err != nil {
11363			invalidParams.AddNested("BounceAction", err.(request.ErrInvalidParams))
11364		}
11365	}
11366	if s.LambdaAction != nil {
11367		if err := s.LambdaAction.Validate(); err != nil {
11368			invalidParams.AddNested("LambdaAction", err.(request.ErrInvalidParams))
11369		}
11370	}
11371	if s.S3Action != nil {
11372		if err := s.S3Action.Validate(); err != nil {
11373			invalidParams.AddNested("S3Action", err.(request.ErrInvalidParams))
11374		}
11375	}
11376	if s.SNSAction != nil {
11377		if err := s.SNSAction.Validate(); err != nil {
11378			invalidParams.AddNested("SNSAction", err.(request.ErrInvalidParams))
11379		}
11380	}
11381	if s.StopAction != nil {
11382		if err := s.StopAction.Validate(); err != nil {
11383			invalidParams.AddNested("StopAction", err.(request.ErrInvalidParams))
11384		}
11385	}
11386	if s.WorkmailAction != nil {
11387		if err := s.WorkmailAction.Validate(); err != nil {
11388			invalidParams.AddNested("WorkmailAction", err.(request.ErrInvalidParams))
11389		}
11390	}
11391
11392	if invalidParams.Len() > 0 {
11393		return invalidParams
11394	}
11395	return nil
11396}
11397
11398// SetAddHeaderAction sets the AddHeaderAction field's value.
11399func (s *ReceiptAction) SetAddHeaderAction(v *AddHeaderAction) *ReceiptAction {
11400	s.AddHeaderAction = v
11401	return s
11402}
11403
11404// SetBounceAction sets the BounceAction field's value.
11405func (s *ReceiptAction) SetBounceAction(v *BounceAction) *ReceiptAction {
11406	s.BounceAction = v
11407	return s
11408}
11409
11410// SetLambdaAction sets the LambdaAction field's value.
11411func (s *ReceiptAction) SetLambdaAction(v *LambdaAction) *ReceiptAction {
11412	s.LambdaAction = v
11413	return s
11414}
11415
11416// SetS3Action sets the S3Action field's value.
11417func (s *ReceiptAction) SetS3Action(v *S3Action) *ReceiptAction {
11418	s.S3Action = v
11419	return s
11420}
11421
11422// SetSNSAction sets the SNSAction field's value.
11423func (s *ReceiptAction) SetSNSAction(v *SNSAction) *ReceiptAction {
11424	s.SNSAction = v
11425	return s
11426}
11427
11428// SetStopAction sets the StopAction field's value.
11429func (s *ReceiptAction) SetStopAction(v *StopAction) *ReceiptAction {
11430	s.StopAction = v
11431	return s
11432}
11433
11434// SetWorkmailAction sets the WorkmailAction field's value.
11435func (s *ReceiptAction) SetWorkmailAction(v *WorkmailAction) *ReceiptAction {
11436	s.WorkmailAction = v
11437	return s
11438}
11439
11440// A receipt IP address filter enables you to specify whether to accept or reject
11441// mail originating from an IP address or range of IP addresses.
11442//
11443// For information about setting up IP address filters, see the Amazon SES Developer
11444// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
11445type ReceiptFilter struct {
11446	_ struct{} `type:"structure"`
11447
11448	// A structure that provides the IP addresses to block or allow, and whether
11449	// to block or allow incoming mail from them.
11450	//
11451	// IpFilter is a required field
11452	IpFilter *ReceiptIpFilter `type:"structure" required:"true"`
11453
11454	// The name of the IP address filter. The name must:
11455	//
11456	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
11457	//    underscores (_), or dashes (-).
11458	//
11459	//    * Start and end with a letter or number.
11460	//
11461	//    * Contain less than 64 characters.
11462	//
11463	// Name is a required field
11464	Name *string `type:"string" required:"true"`
11465}
11466
11467// String returns the string representation
11468func (s ReceiptFilter) String() string {
11469	return awsutil.Prettify(s)
11470}
11471
11472// GoString returns the string representation
11473func (s ReceiptFilter) GoString() string {
11474	return s.String()
11475}
11476
11477// Validate inspects the fields of the type to determine if they are valid.
11478func (s *ReceiptFilter) Validate() error {
11479	invalidParams := request.ErrInvalidParams{Context: "ReceiptFilter"}
11480	if s.IpFilter == nil {
11481		invalidParams.Add(request.NewErrParamRequired("IpFilter"))
11482	}
11483	if s.Name == nil {
11484		invalidParams.Add(request.NewErrParamRequired("Name"))
11485	}
11486	if s.IpFilter != nil {
11487		if err := s.IpFilter.Validate(); err != nil {
11488			invalidParams.AddNested("IpFilter", err.(request.ErrInvalidParams))
11489		}
11490	}
11491
11492	if invalidParams.Len() > 0 {
11493		return invalidParams
11494	}
11495	return nil
11496}
11497
11498// SetIpFilter sets the IpFilter field's value.
11499func (s *ReceiptFilter) SetIpFilter(v *ReceiptIpFilter) *ReceiptFilter {
11500	s.IpFilter = v
11501	return s
11502}
11503
11504// SetName sets the Name field's value.
11505func (s *ReceiptFilter) SetName(v string) *ReceiptFilter {
11506	s.Name = &v
11507	return s
11508}
11509
11510// A receipt IP address filter enables you to specify whether to accept or reject
11511// mail originating from an IP address or range of IP addresses.
11512//
11513// For information about setting up IP address filters, see the Amazon SES Developer
11514// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
11515type ReceiptIpFilter struct {
11516	_ struct{} `type:"structure"`
11517
11518	// A single IP address or a range of IP addresses that you want to block or
11519	// allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example
11520	// of a single email address is 10.0.0.1. An example of a range of IP addresses
11521	// is 10.0.0.1/24. For more information about CIDR notation, see RFC 2317 (https://tools.ietf.org/html/rfc2317).
11522	//
11523	// Cidr is a required field
11524	Cidr *string `type:"string" required:"true"`
11525
11526	// Indicates whether to block or allow incoming mail from the specified IP addresses.
11527	//
11528	// Policy is a required field
11529	Policy *string `type:"string" required:"true" enum:"ReceiptFilterPolicy"`
11530}
11531
11532// String returns the string representation
11533func (s ReceiptIpFilter) String() string {
11534	return awsutil.Prettify(s)
11535}
11536
11537// GoString returns the string representation
11538func (s ReceiptIpFilter) GoString() string {
11539	return s.String()
11540}
11541
11542// Validate inspects the fields of the type to determine if they are valid.
11543func (s *ReceiptIpFilter) Validate() error {
11544	invalidParams := request.ErrInvalidParams{Context: "ReceiptIpFilter"}
11545	if s.Cidr == nil {
11546		invalidParams.Add(request.NewErrParamRequired("Cidr"))
11547	}
11548	if s.Policy == nil {
11549		invalidParams.Add(request.NewErrParamRequired("Policy"))
11550	}
11551
11552	if invalidParams.Len() > 0 {
11553		return invalidParams
11554	}
11555	return nil
11556}
11557
11558// SetCidr sets the Cidr field's value.
11559func (s *ReceiptIpFilter) SetCidr(v string) *ReceiptIpFilter {
11560	s.Cidr = &v
11561	return s
11562}
11563
11564// SetPolicy sets the Policy field's value.
11565func (s *ReceiptIpFilter) SetPolicy(v string) *ReceiptIpFilter {
11566	s.Policy = &v
11567	return s
11568}
11569
11570// Receipt rules enable you to specify which actions Amazon SES should take
11571// when it receives mail on behalf of one or more email addresses or domains
11572// that you own.
11573//
11574// Each receipt rule defines a set of email addresses or domains that it applies
11575// to. If the email addresses or domains match at least one recipient address
11576// of the message, Amazon SES executes all of the receipt rule's actions on
11577// the message.
11578//
11579// For information about setting up receipt rules, see the Amazon SES Developer
11580// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
11581type ReceiptRule struct {
11582	_ struct{} `type:"structure"`
11583
11584	// An ordered list of actions to perform on messages that match at least one
11585	// of the recipient email addresses or domains specified in the receipt rule.
11586	Actions []*ReceiptAction `type:"list"`
11587
11588	// If true, the receipt rule is active. The default value is false.
11589	Enabled *bool `type:"boolean"`
11590
11591	// The name of the receipt rule. The name must:
11592	//
11593	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
11594	//    underscores (_), or dashes (-).
11595	//
11596	//    * Start and end with a letter or number.
11597	//
11598	//    * Contain less than 64 characters.
11599	//
11600	// Name is a required field
11601	Name *string `type:"string" required:"true"`
11602
11603	// The recipient domains and email addresses that the receipt rule applies to.
11604	// If this field is not specified, this rule will match all recipients under
11605	// all verified domains.
11606	Recipients []*string `type:"list"`
11607
11608	// If true, then messages that this receipt rule applies to are scanned for
11609	// spam and viruses. The default value is false.
11610	ScanEnabled *bool `type:"boolean"`
11611
11612	// Specifies whether Amazon SES should require that incoming email is delivered
11613	// over a connection encrypted with Transport Layer Security (TLS). If this
11614	// parameter is set to Require, Amazon SES will bounce emails that are not received
11615	// over TLS. The default is Optional.
11616	TlsPolicy *string `type:"string" enum:"TlsPolicy"`
11617}
11618
11619// String returns the string representation
11620func (s ReceiptRule) String() string {
11621	return awsutil.Prettify(s)
11622}
11623
11624// GoString returns the string representation
11625func (s ReceiptRule) GoString() string {
11626	return s.String()
11627}
11628
11629// Validate inspects the fields of the type to determine if they are valid.
11630func (s *ReceiptRule) Validate() error {
11631	invalidParams := request.ErrInvalidParams{Context: "ReceiptRule"}
11632	if s.Name == nil {
11633		invalidParams.Add(request.NewErrParamRequired("Name"))
11634	}
11635	if s.Actions != nil {
11636		for i, v := range s.Actions {
11637			if v == nil {
11638				continue
11639			}
11640			if err := v.Validate(); err != nil {
11641				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
11642			}
11643		}
11644	}
11645
11646	if invalidParams.Len() > 0 {
11647		return invalidParams
11648	}
11649	return nil
11650}
11651
11652// SetActions sets the Actions field's value.
11653func (s *ReceiptRule) SetActions(v []*ReceiptAction) *ReceiptRule {
11654	s.Actions = v
11655	return s
11656}
11657
11658// SetEnabled sets the Enabled field's value.
11659func (s *ReceiptRule) SetEnabled(v bool) *ReceiptRule {
11660	s.Enabled = &v
11661	return s
11662}
11663
11664// SetName sets the Name field's value.
11665func (s *ReceiptRule) SetName(v string) *ReceiptRule {
11666	s.Name = &v
11667	return s
11668}
11669
11670// SetRecipients sets the Recipients field's value.
11671func (s *ReceiptRule) SetRecipients(v []*string) *ReceiptRule {
11672	s.Recipients = v
11673	return s
11674}
11675
11676// SetScanEnabled sets the ScanEnabled field's value.
11677func (s *ReceiptRule) SetScanEnabled(v bool) *ReceiptRule {
11678	s.ScanEnabled = &v
11679	return s
11680}
11681
11682// SetTlsPolicy sets the TlsPolicy field's value.
11683func (s *ReceiptRule) SetTlsPolicy(v string) *ReceiptRule {
11684	s.TlsPolicy = &v
11685	return s
11686}
11687
11688// Information about a receipt rule set.
11689//
11690// A receipt rule set is a collection of rules that specify what Amazon SES
11691// should do with mail it receives on behalf of your account's verified domains.
11692//
11693// For information about setting up receipt rule sets, see the Amazon SES Developer
11694// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html).
11695type ReceiptRuleSetMetadata struct {
11696	_ struct{} `type:"structure"`
11697
11698	// The date and time the receipt rule set was created.
11699	CreatedTimestamp *time.Time `type:"timestamp"`
11700
11701	// The name of the receipt rule set. The name must:
11702	//
11703	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
11704	//    underscores (_), or dashes (-).
11705	//
11706	//    * Start and end with a letter or number.
11707	//
11708	//    * Contain less than 64 characters.
11709	Name *string `type:"string"`
11710}
11711
11712// String returns the string representation
11713func (s ReceiptRuleSetMetadata) String() string {
11714	return awsutil.Prettify(s)
11715}
11716
11717// GoString returns the string representation
11718func (s ReceiptRuleSetMetadata) GoString() string {
11719	return s.String()
11720}
11721
11722// SetCreatedTimestamp sets the CreatedTimestamp field's value.
11723func (s *ReceiptRuleSetMetadata) SetCreatedTimestamp(v time.Time) *ReceiptRuleSetMetadata {
11724	s.CreatedTimestamp = &v
11725	return s
11726}
11727
11728// SetName sets the Name field's value.
11729func (s *ReceiptRuleSetMetadata) SetName(v string) *ReceiptRuleSetMetadata {
11730	s.Name = &v
11731	return s
11732}
11733
11734// Recipient-related information to include in the Delivery Status Notification
11735// (DSN) when an email that Amazon SES receives on your behalf bounces.
11736//
11737// For information about receiving email through Amazon SES, see the Amazon
11738// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
11739type RecipientDsnFields struct {
11740	_ struct{} `type:"structure"`
11741
11742	// The action performed by the reporting mail transfer agent (MTA) as a result
11743	// of its attempt to deliver the message to the recipient address. This is required
11744	// by RFC 3464 (https://tools.ietf.org/html/rfc3464).
11745	//
11746	// Action is a required field
11747	Action *string `type:"string" required:"true" enum:"DsnAction"`
11748
11749	// An extended explanation of what went wrong; this is usually an SMTP response.
11750	// See RFC 3463 (https://tools.ietf.org/html/rfc3463) for the correct formatting
11751	// of this parameter.
11752	DiagnosticCode *string `type:"string"`
11753
11754	// Additional X-headers to include in the DSN.
11755	ExtensionFields []*ExtensionField `type:"list"`
11756
11757	// The email address that the message was ultimately delivered to. This corresponds
11758	// to the Final-Recipient in the DSN. If not specified, FinalRecipient will
11759	// be set to the Recipient specified in the BouncedRecipientInfo structure.
11760	// Either FinalRecipient or the recipient in BouncedRecipientInfo must be a
11761	// recipient of the original bounced message.
11762	//
11763	// Do not prepend the FinalRecipient email address with rfc 822;, as described
11764	// in RFC 3798 (https://tools.ietf.org/html/rfc3798).
11765	FinalRecipient *string `type:"string"`
11766
11767	// The time the final delivery attempt was made, in RFC 822 (https://www.ietf.org/rfc/rfc0822.txt)
11768	// date-time format.
11769	LastAttemptDate *time.Time `type:"timestamp"`
11770
11771	// The MTA to which the remote MTA attempted to deliver the message, formatted
11772	// as specified in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type;
11773	// mta-name). This parameter typically applies only to propagating synchronous
11774	// bounces.
11775	RemoteMta *string `type:"string"`
11776
11777	// The status code that indicates what went wrong. This is required by RFC 3464
11778	// (https://tools.ietf.org/html/rfc3464).
11779	//
11780	// Status is a required field
11781	Status *string `type:"string" required:"true"`
11782}
11783
11784// String returns the string representation
11785func (s RecipientDsnFields) String() string {
11786	return awsutil.Prettify(s)
11787}
11788
11789// GoString returns the string representation
11790func (s RecipientDsnFields) GoString() string {
11791	return s.String()
11792}
11793
11794// Validate inspects the fields of the type to determine if they are valid.
11795func (s *RecipientDsnFields) Validate() error {
11796	invalidParams := request.ErrInvalidParams{Context: "RecipientDsnFields"}
11797	if s.Action == nil {
11798		invalidParams.Add(request.NewErrParamRequired("Action"))
11799	}
11800	if s.Status == nil {
11801		invalidParams.Add(request.NewErrParamRequired("Status"))
11802	}
11803	if s.ExtensionFields != nil {
11804		for i, v := range s.ExtensionFields {
11805			if v == nil {
11806				continue
11807			}
11808			if err := v.Validate(); err != nil {
11809				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtensionFields", i), err.(request.ErrInvalidParams))
11810			}
11811		}
11812	}
11813
11814	if invalidParams.Len() > 0 {
11815		return invalidParams
11816	}
11817	return nil
11818}
11819
11820// SetAction sets the Action field's value.
11821func (s *RecipientDsnFields) SetAction(v string) *RecipientDsnFields {
11822	s.Action = &v
11823	return s
11824}
11825
11826// SetDiagnosticCode sets the DiagnosticCode field's value.
11827func (s *RecipientDsnFields) SetDiagnosticCode(v string) *RecipientDsnFields {
11828	s.DiagnosticCode = &v
11829	return s
11830}
11831
11832// SetExtensionFields sets the ExtensionFields field's value.
11833func (s *RecipientDsnFields) SetExtensionFields(v []*ExtensionField) *RecipientDsnFields {
11834	s.ExtensionFields = v
11835	return s
11836}
11837
11838// SetFinalRecipient sets the FinalRecipient field's value.
11839func (s *RecipientDsnFields) SetFinalRecipient(v string) *RecipientDsnFields {
11840	s.FinalRecipient = &v
11841	return s
11842}
11843
11844// SetLastAttemptDate sets the LastAttemptDate field's value.
11845func (s *RecipientDsnFields) SetLastAttemptDate(v time.Time) *RecipientDsnFields {
11846	s.LastAttemptDate = &v
11847	return s
11848}
11849
11850// SetRemoteMta sets the RemoteMta field's value.
11851func (s *RecipientDsnFields) SetRemoteMta(v string) *RecipientDsnFields {
11852	s.RemoteMta = &v
11853	return s
11854}
11855
11856// SetStatus sets the Status field's value.
11857func (s *RecipientDsnFields) SetStatus(v string) *RecipientDsnFields {
11858	s.Status = &v
11859	return s
11860}
11861
11862// Represents a request to reorder the receipt rules within a receipt rule set.
11863// You use receipt rule sets to receive email with Amazon SES. For more information,
11864// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
11865type ReorderReceiptRuleSetInput struct {
11866	_ struct{} `type:"structure"`
11867
11868	// A list of the specified receipt rule set's receipt rules in the order that
11869	// you want to put them.
11870	//
11871	// RuleNames is a required field
11872	RuleNames []*string `type:"list" required:"true"`
11873
11874	// The name of the receipt rule set to reorder.
11875	//
11876	// RuleSetName is a required field
11877	RuleSetName *string `type:"string" required:"true"`
11878}
11879
11880// String returns the string representation
11881func (s ReorderReceiptRuleSetInput) String() string {
11882	return awsutil.Prettify(s)
11883}
11884
11885// GoString returns the string representation
11886func (s ReorderReceiptRuleSetInput) GoString() string {
11887	return s.String()
11888}
11889
11890// Validate inspects the fields of the type to determine if they are valid.
11891func (s *ReorderReceiptRuleSetInput) Validate() error {
11892	invalidParams := request.ErrInvalidParams{Context: "ReorderReceiptRuleSetInput"}
11893	if s.RuleNames == nil {
11894		invalidParams.Add(request.NewErrParamRequired("RuleNames"))
11895	}
11896	if s.RuleSetName == nil {
11897		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
11898	}
11899
11900	if invalidParams.Len() > 0 {
11901		return invalidParams
11902	}
11903	return nil
11904}
11905
11906// SetRuleNames sets the RuleNames field's value.
11907func (s *ReorderReceiptRuleSetInput) SetRuleNames(v []*string) *ReorderReceiptRuleSetInput {
11908	s.RuleNames = v
11909	return s
11910}
11911
11912// SetRuleSetName sets the RuleSetName field's value.
11913func (s *ReorderReceiptRuleSetInput) SetRuleSetName(v string) *ReorderReceiptRuleSetInput {
11914	s.RuleSetName = &v
11915	return s
11916}
11917
11918// An empty element returned on a successful request.
11919type ReorderReceiptRuleSetOutput struct {
11920	_ struct{} `type:"structure"`
11921}
11922
11923// String returns the string representation
11924func (s ReorderReceiptRuleSetOutput) String() string {
11925	return awsutil.Prettify(s)
11926}
11927
11928// GoString returns the string representation
11929func (s ReorderReceiptRuleSetOutput) GoString() string {
11930	return s.String()
11931}
11932
11933// Contains information about the reputation settings for a configuration set.
11934type ReputationOptions struct {
11935	_ struct{} `type:"structure"`
11936
11937	// The date and time at which the reputation metrics for the configuration set
11938	// were last reset. Resetting these metrics is known as a fresh start.
11939	//
11940	// When you disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled
11941	// and later re-enable it, the reputation metrics for the configuration set
11942	// (but not for the entire Amazon SES account) are reset.
11943	//
11944	// If email sending for the configuration set has never been disabled and later
11945	// re-enabled, the value of this attribute is null.
11946	LastFreshStart *time.Time `type:"timestamp"`
11947
11948	// Describes whether or not Amazon SES publishes reputation metrics for the
11949	// configuration set, such as bounce and complaint rates, to Amazon CloudWatch.
11950	//
11951	// If the value is true, reputation metrics are published. If the value is false,
11952	// reputation metrics are not published. The default value is false.
11953	ReputationMetricsEnabled *bool `type:"boolean"`
11954
11955	// Describes whether email sending is enabled or disabled for the configuration
11956	// set. If the value is true, then Amazon SES will send emails that use the
11957	// configuration set. If the value is false, Amazon SES will not send emails
11958	// that use the configuration set. The default value is true. You can change
11959	// this setting using UpdateConfigurationSetSendingEnabled.
11960	SendingEnabled *bool `type:"boolean"`
11961}
11962
11963// String returns the string representation
11964func (s ReputationOptions) String() string {
11965	return awsutil.Prettify(s)
11966}
11967
11968// GoString returns the string representation
11969func (s ReputationOptions) GoString() string {
11970	return s.String()
11971}
11972
11973// SetLastFreshStart sets the LastFreshStart field's value.
11974func (s *ReputationOptions) SetLastFreshStart(v time.Time) *ReputationOptions {
11975	s.LastFreshStart = &v
11976	return s
11977}
11978
11979// SetReputationMetricsEnabled sets the ReputationMetricsEnabled field's value.
11980func (s *ReputationOptions) SetReputationMetricsEnabled(v bool) *ReputationOptions {
11981	s.ReputationMetricsEnabled = &v
11982	return s
11983}
11984
11985// SetSendingEnabled sets the SendingEnabled field's value.
11986func (s *ReputationOptions) SetSendingEnabled(v bool) *ReputationOptions {
11987	s.SendingEnabled = &v
11988	return s
11989}
11990
11991// When included in a receipt rule, this action saves the received message to
11992// an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes
11993// a notification to Amazon Simple Notification Service (Amazon SNS).
11994//
11995// To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS
11996// KMS key to encrypt your emails, or publish to an Amazon SNS topic of another
11997// account, Amazon SES must have permission to access those resources. For information
11998// about giving permissions, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
11999//
12000// When you save your emails to an Amazon S3 bucket, the maximum email size
12001// (including headers) is 30 MB. Emails larger than that will bounce.
12002//
12003// For information about specifying Amazon S3 actions in receipt rules, see
12004// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-s3.html).
12005type S3Action struct {
12006	_ struct{} `type:"structure"`
12007
12008	// The name of the Amazon S3 bucket that incoming email will be saved to.
12009	//
12010	// BucketName is a required field
12011	BucketName *string `type:"string" required:"true"`
12012
12013	// The customer master key that Amazon SES should use to encrypt your emails
12014	// before saving them to the Amazon S3 bucket. You can use the default master
12015	// key or a custom master key you created in AWS KMS as follows:
12016	//
12017	//    * To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses.
12018	//    For example, if your AWS account ID is 123456789012 and you want to use
12019	//    the default master key in the US West (Oregon) region, the ARN of the
12020	//    default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses.
12021	//    If you use the default master key, you don't need to perform any extra
12022	//    steps to give Amazon SES permission to use the key.
12023	//
12024	//    * To use a custom master key you created in AWS KMS, provide the ARN of
12025	//    the master key and ensure that you add a statement to your key's policy
12026	//    to give Amazon SES permission to use it. For more information about giving
12027	//    permissions, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
12028	//
12029	// For more information about key policies, see the AWS KMS Developer Guide
12030	// (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html). If
12031	// you do not specify a master key, Amazon SES will not encrypt your emails.
12032	//
12033	// Your mail is encrypted by Amazon SES using the Amazon S3 encryption client
12034	// before the mail is submitted to Amazon S3 for storage. It is not encrypted
12035	// using Amazon S3 server-side encryption. This means that you must use the
12036	// Amazon S3 encryption client to decrypt the email after retrieving it from
12037	// Amazon S3, as the service has no access to use your AWS KMS keys for decryption.
12038	// This encryption client is currently available with the AWS SDK for Java (http://aws.amazon.com/sdk-for-java/)
12039	// and AWS SDK for Ruby (http://aws.amazon.com/sdk-for-ruby/) only. For more
12040	// information about client-side encryption using AWS KMS master keys, see the
12041	// Amazon S3 Developer Guide (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html).
12042	KmsKeyArn *string `type:"string"`
12043
12044	// The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory
12045	// name that enables you to store similar data under the same directory in a
12046	// bucket.
12047	ObjectKeyPrefix *string `type:"string"`
12048
12049	// The ARN of the Amazon SNS topic to notify when the message is saved to the
12050	// Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
12051	// For more information about Amazon SNS topics, see the Amazon SNS Developer
12052	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
12053	TopicArn *string `type:"string"`
12054}
12055
12056// String returns the string representation
12057func (s S3Action) String() string {
12058	return awsutil.Prettify(s)
12059}
12060
12061// GoString returns the string representation
12062func (s S3Action) GoString() string {
12063	return s.String()
12064}
12065
12066// Validate inspects the fields of the type to determine if they are valid.
12067func (s *S3Action) Validate() error {
12068	invalidParams := request.ErrInvalidParams{Context: "S3Action"}
12069	if s.BucketName == nil {
12070		invalidParams.Add(request.NewErrParamRequired("BucketName"))
12071	}
12072
12073	if invalidParams.Len() > 0 {
12074		return invalidParams
12075	}
12076	return nil
12077}
12078
12079// SetBucketName sets the BucketName field's value.
12080func (s *S3Action) SetBucketName(v string) *S3Action {
12081	s.BucketName = &v
12082	return s
12083}
12084
12085// SetKmsKeyArn sets the KmsKeyArn field's value.
12086func (s *S3Action) SetKmsKeyArn(v string) *S3Action {
12087	s.KmsKeyArn = &v
12088	return s
12089}
12090
12091// SetObjectKeyPrefix sets the ObjectKeyPrefix field's value.
12092func (s *S3Action) SetObjectKeyPrefix(v string) *S3Action {
12093	s.ObjectKeyPrefix = &v
12094	return s
12095}
12096
12097// SetTopicArn sets the TopicArn field's value.
12098func (s *S3Action) SetTopicArn(v string) *S3Action {
12099	s.TopicArn = &v
12100	return s
12101}
12102
12103// When included in a receipt rule, this action publishes a notification to
12104// Amazon Simple Notification Service (Amazon SNS). This action includes a complete
12105// copy of the email content in the Amazon SNS notifications. Amazon SNS notifications
12106// for all other actions simply provide information about the email. They do
12107// not include the email content itself.
12108//
12109// If you own the Amazon SNS topic, you don't need to do anything to give Amazon
12110// SES permission to publish emails to it. However, if you don't own the Amazon
12111// SNS topic, you need to attach a policy to the topic to give Amazon SES permissions
12112// to access it. For information about giving permissions, see the Amazon SES
12113// Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
12114//
12115// You can only publish emails that are 150 KB or less (including the header)
12116// to Amazon SNS. Larger emails will bounce. If you anticipate emails larger
12117// than 150 KB, use the S3 action instead.
12118//
12119// For information about using a receipt rule to publish an Amazon SNS notification,
12120// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-sns.html).
12121type SNSAction struct {
12122	_ struct{} `type:"structure"`
12123
12124	// The encoding to use for the email within the Amazon SNS notification. UTF-8
12125	// is easier to use, but may not preserve all special characters when a message
12126	// was encoded with a different encoding format. Base64 preserves all special
12127	// characters. The default value is UTF-8.
12128	Encoding *string `type:"string" enum:"SNSActionEncoding"`
12129
12130	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example
12131	// of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
12132	// For more information about Amazon SNS topics, see the Amazon SNS Developer
12133	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
12134	//
12135	// TopicArn is a required field
12136	TopicArn *string `type:"string" required:"true"`
12137}
12138
12139// String returns the string representation
12140func (s SNSAction) String() string {
12141	return awsutil.Prettify(s)
12142}
12143
12144// GoString returns the string representation
12145func (s SNSAction) GoString() string {
12146	return s.String()
12147}
12148
12149// Validate inspects the fields of the type to determine if they are valid.
12150func (s *SNSAction) Validate() error {
12151	invalidParams := request.ErrInvalidParams{Context: "SNSAction"}
12152	if s.TopicArn == nil {
12153		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
12154	}
12155
12156	if invalidParams.Len() > 0 {
12157		return invalidParams
12158	}
12159	return nil
12160}
12161
12162// SetEncoding sets the Encoding field's value.
12163func (s *SNSAction) SetEncoding(v string) *SNSAction {
12164	s.Encoding = &v
12165	return s
12166}
12167
12168// SetTopicArn sets the TopicArn field's value.
12169func (s *SNSAction) SetTopicArn(v string) *SNSAction {
12170	s.TopicArn = &v
12171	return s
12172}
12173
12174// Contains the topic ARN associated with an Amazon Simple Notification Service
12175// (Amazon SNS) event destination.
12176//
12177// Event destinations, such as Amazon SNS, are associated with configuration
12178// sets, which enable you to publish email sending events. For information about
12179// using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
12180type SNSDestination struct {
12181	_ struct{} `type:"structure"`
12182
12183	// The ARN of the Amazon SNS topic that email sending events will be published
12184	// to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
12185	// For more information about Amazon SNS topics, see the Amazon SNS Developer
12186	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
12187	//
12188	// TopicARN is a required field
12189	TopicARN *string `type:"string" required:"true"`
12190}
12191
12192// String returns the string representation
12193func (s SNSDestination) String() string {
12194	return awsutil.Prettify(s)
12195}
12196
12197// GoString returns the string representation
12198func (s SNSDestination) GoString() string {
12199	return s.String()
12200}
12201
12202// Validate inspects the fields of the type to determine if they are valid.
12203func (s *SNSDestination) Validate() error {
12204	invalidParams := request.ErrInvalidParams{Context: "SNSDestination"}
12205	if s.TopicARN == nil {
12206		invalidParams.Add(request.NewErrParamRequired("TopicARN"))
12207	}
12208
12209	if invalidParams.Len() > 0 {
12210		return invalidParams
12211	}
12212	return nil
12213}
12214
12215// SetTopicARN sets the TopicARN field's value.
12216func (s *SNSDestination) SetTopicARN(v string) *SNSDestination {
12217	s.TopicARN = &v
12218	return s
12219}
12220
12221// Represents a request to send a bounce message to the sender of an email you
12222// received through Amazon SES.
12223type SendBounceInput struct {
12224	_ struct{} `type:"structure"`
12225
12226	// The address to use in the "From" header of the bounce message. This must
12227	// be an identity that you have verified with Amazon SES.
12228	//
12229	// BounceSender is a required field
12230	BounceSender *string `type:"string" required:"true"`
12231
12232	// This parameter is used only for sending authorization. It is the ARN of the
12233	// identity that is associated with the sending authorization policy that permits
12234	// you to use the address in the "From" header of the bounce. For more information
12235	// about sending authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12236	BounceSenderArn *string `type:"string"`
12237
12238	// A list of recipients of the bounced message, including the information required
12239	// to create the Delivery Status Notifications (DSNs) for the recipients. You
12240	// must specify at least one BouncedRecipientInfo in the list.
12241	//
12242	// BouncedRecipientInfoList is a required field
12243	BouncedRecipientInfoList []*BouncedRecipientInfo `type:"list" required:"true"`
12244
12245	// Human-readable text for the bounce message to explain the failure. If not
12246	// specified, the text will be auto-generated based on the bounced recipient
12247	// information.
12248	Explanation *string `type:"string"`
12249
12250	// Message-related DSN fields. If not specified, Amazon SES will choose the
12251	// values.
12252	MessageDsn *MessageDsn `type:"structure"`
12253
12254	// The message ID of the message to be bounced.
12255	//
12256	// OriginalMessageId is a required field
12257	OriginalMessageId *string `type:"string" required:"true"`
12258}
12259
12260// String returns the string representation
12261func (s SendBounceInput) String() string {
12262	return awsutil.Prettify(s)
12263}
12264
12265// GoString returns the string representation
12266func (s SendBounceInput) GoString() string {
12267	return s.String()
12268}
12269
12270// Validate inspects the fields of the type to determine if they are valid.
12271func (s *SendBounceInput) Validate() error {
12272	invalidParams := request.ErrInvalidParams{Context: "SendBounceInput"}
12273	if s.BounceSender == nil {
12274		invalidParams.Add(request.NewErrParamRequired("BounceSender"))
12275	}
12276	if s.BouncedRecipientInfoList == nil {
12277		invalidParams.Add(request.NewErrParamRequired("BouncedRecipientInfoList"))
12278	}
12279	if s.OriginalMessageId == nil {
12280		invalidParams.Add(request.NewErrParamRequired("OriginalMessageId"))
12281	}
12282	if s.BouncedRecipientInfoList != nil {
12283		for i, v := range s.BouncedRecipientInfoList {
12284			if v == nil {
12285				continue
12286			}
12287			if err := v.Validate(); err != nil {
12288				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BouncedRecipientInfoList", i), err.(request.ErrInvalidParams))
12289			}
12290		}
12291	}
12292	if s.MessageDsn != nil {
12293		if err := s.MessageDsn.Validate(); err != nil {
12294			invalidParams.AddNested("MessageDsn", err.(request.ErrInvalidParams))
12295		}
12296	}
12297
12298	if invalidParams.Len() > 0 {
12299		return invalidParams
12300	}
12301	return nil
12302}
12303
12304// SetBounceSender sets the BounceSender field's value.
12305func (s *SendBounceInput) SetBounceSender(v string) *SendBounceInput {
12306	s.BounceSender = &v
12307	return s
12308}
12309
12310// SetBounceSenderArn sets the BounceSenderArn field's value.
12311func (s *SendBounceInput) SetBounceSenderArn(v string) *SendBounceInput {
12312	s.BounceSenderArn = &v
12313	return s
12314}
12315
12316// SetBouncedRecipientInfoList sets the BouncedRecipientInfoList field's value.
12317func (s *SendBounceInput) SetBouncedRecipientInfoList(v []*BouncedRecipientInfo) *SendBounceInput {
12318	s.BouncedRecipientInfoList = v
12319	return s
12320}
12321
12322// SetExplanation sets the Explanation field's value.
12323func (s *SendBounceInput) SetExplanation(v string) *SendBounceInput {
12324	s.Explanation = &v
12325	return s
12326}
12327
12328// SetMessageDsn sets the MessageDsn field's value.
12329func (s *SendBounceInput) SetMessageDsn(v *MessageDsn) *SendBounceInput {
12330	s.MessageDsn = v
12331	return s
12332}
12333
12334// SetOriginalMessageId sets the OriginalMessageId field's value.
12335func (s *SendBounceInput) SetOriginalMessageId(v string) *SendBounceInput {
12336	s.OriginalMessageId = &v
12337	return s
12338}
12339
12340// Represents a unique message ID.
12341type SendBounceOutput struct {
12342	_ struct{} `type:"structure"`
12343
12344	// The message ID of the bounce message.
12345	MessageId *string `type:"string"`
12346}
12347
12348// String returns the string representation
12349func (s SendBounceOutput) String() string {
12350	return awsutil.Prettify(s)
12351}
12352
12353// GoString returns the string representation
12354func (s SendBounceOutput) GoString() string {
12355	return s.String()
12356}
12357
12358// SetMessageId sets the MessageId field's value.
12359func (s *SendBounceOutput) SetMessageId(v string) *SendBounceOutput {
12360	s.MessageId = &v
12361	return s
12362}
12363
12364// Represents a request to send a templated email to multiple destinations using
12365// Amazon SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
12366type SendBulkTemplatedEmailInput struct {
12367	_ struct{} `type:"structure"`
12368
12369	// The name of the configuration set to use when you send an email using SendBulkTemplatedEmail.
12370	ConfigurationSetName *string `type:"string"`
12371
12372	// A list of tags, in the form of name/value pairs, to apply to an email that
12373	// you send to a destination using SendBulkTemplatedEmail.
12374	DefaultTags []*MessageTag `type:"list"`
12375
12376	// A list of replacement values to apply to the template when replacement data
12377	// is not specified in a Destination object. These values act as a default or
12378	// fallback option when no other data is available.
12379	//
12380	// The template data is a JSON object, typically consisting of key-value pairs
12381	// in which the keys correspond to replacement tags in the email template.
12382	DefaultTemplateData *string `type:"string"`
12383
12384	// One or more Destination objects. All of the recipients in a Destination will
12385	// receive the same version of the email. You can specify up to 50 Destination
12386	// objects within a Destinations array.
12387	//
12388	// Destinations is a required field
12389	Destinations []*BulkEmailDestination `type:"list" required:"true"`
12390
12391	// The reply-to email address(es) for the message. If the recipient replies
12392	// to the message, each reply-to address will receive the reply.
12393	ReplyToAddresses []*string `type:"list"`
12394
12395	// The email address that bounces and complaints will be forwarded to when feedback
12396	// forwarding is enabled. If the message cannot be delivered to the recipient,
12397	// then an error message will be returned from the recipient's ISP; this message
12398	// will then be forwarded to the email address specified by the ReturnPath parameter.
12399	// The ReturnPath parameter is never overwritten. This email address must be
12400	// either individually verified with Amazon SES, or from a domain that has been
12401	// verified with Amazon SES.
12402	ReturnPath *string `type:"string"`
12403
12404	// This parameter is used only for sending authorization. It is the ARN of the
12405	// identity that is associated with the sending authorization policy that permits
12406	// you to use the email address specified in the ReturnPath parameter.
12407	//
12408	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
12409	// attaches a policy to it that authorizes you to use feedback@example.com,
12410	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
12411	// and the ReturnPath to be feedback@example.com.
12412	//
12413	// For more information about sending authorization, see the Amazon SES Developer
12414	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12415	ReturnPathArn *string `type:"string"`
12416
12417	// The email address that is sending the email. This email address must be either
12418	// individually verified with Amazon SES, or from a domain that has been verified
12419	// with Amazon SES. For information about verifying identities, see the Amazon
12420	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
12421	//
12422	// If you are sending on behalf of another user and have been permitted to do
12423	// so by a sending authorization policy, then you must also specify the SourceArn
12424	// parameter. For more information about sending authorization, see the Amazon
12425	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12426	//
12427	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
12428	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
12429	// a source email address (the part of the email address that precedes the @
12430	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
12431	// If the domain part of an address (the part after the @ sign) contains non-ASCII
12432	// characters, they must be encoded using Punycode, as described in RFC3492
12433	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
12434	// the friendly name) may contain non-ASCII characters. These characters must
12435	// be encoded using MIME encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
12436	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
12437	//
12438	// Source is a required field
12439	Source *string `type:"string" required:"true"`
12440
12441	// This parameter is used only for sending authorization. It is the ARN of the
12442	// identity that is associated with the sending authorization policy that permits
12443	// you to send for the email address specified in the Source parameter.
12444	//
12445	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
12446	// attaches a policy to it that authorizes you to send from user@example.com,
12447	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
12448	// and the Source to be user@example.com.
12449	//
12450	// For more information about sending authorization, see the Amazon SES Developer
12451	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12452	SourceArn *string `type:"string"`
12453
12454	// The template to use when sending this email.
12455	//
12456	// Template is a required field
12457	Template *string `type:"string" required:"true"`
12458
12459	// The ARN of the template to use when sending this email.
12460	TemplateArn *string `type:"string"`
12461}
12462
12463// String returns the string representation
12464func (s SendBulkTemplatedEmailInput) String() string {
12465	return awsutil.Prettify(s)
12466}
12467
12468// GoString returns the string representation
12469func (s SendBulkTemplatedEmailInput) GoString() string {
12470	return s.String()
12471}
12472
12473// Validate inspects the fields of the type to determine if they are valid.
12474func (s *SendBulkTemplatedEmailInput) Validate() error {
12475	invalidParams := request.ErrInvalidParams{Context: "SendBulkTemplatedEmailInput"}
12476	if s.Destinations == nil {
12477		invalidParams.Add(request.NewErrParamRequired("Destinations"))
12478	}
12479	if s.Source == nil {
12480		invalidParams.Add(request.NewErrParamRequired("Source"))
12481	}
12482	if s.Template == nil {
12483		invalidParams.Add(request.NewErrParamRequired("Template"))
12484	}
12485	if s.DefaultTags != nil {
12486		for i, v := range s.DefaultTags {
12487			if v == nil {
12488				continue
12489			}
12490			if err := v.Validate(); err != nil {
12491				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultTags", i), err.(request.ErrInvalidParams))
12492			}
12493		}
12494	}
12495	if s.Destinations != nil {
12496		for i, v := range s.Destinations {
12497			if v == nil {
12498				continue
12499			}
12500			if err := v.Validate(); err != nil {
12501				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
12502			}
12503		}
12504	}
12505
12506	if invalidParams.Len() > 0 {
12507		return invalidParams
12508	}
12509	return nil
12510}
12511
12512// SetConfigurationSetName sets the ConfigurationSetName field's value.
12513func (s *SendBulkTemplatedEmailInput) SetConfigurationSetName(v string) *SendBulkTemplatedEmailInput {
12514	s.ConfigurationSetName = &v
12515	return s
12516}
12517
12518// SetDefaultTags sets the DefaultTags field's value.
12519func (s *SendBulkTemplatedEmailInput) SetDefaultTags(v []*MessageTag) *SendBulkTemplatedEmailInput {
12520	s.DefaultTags = v
12521	return s
12522}
12523
12524// SetDefaultTemplateData sets the DefaultTemplateData field's value.
12525func (s *SendBulkTemplatedEmailInput) SetDefaultTemplateData(v string) *SendBulkTemplatedEmailInput {
12526	s.DefaultTemplateData = &v
12527	return s
12528}
12529
12530// SetDestinations sets the Destinations field's value.
12531func (s *SendBulkTemplatedEmailInput) SetDestinations(v []*BulkEmailDestination) *SendBulkTemplatedEmailInput {
12532	s.Destinations = v
12533	return s
12534}
12535
12536// SetReplyToAddresses sets the ReplyToAddresses field's value.
12537func (s *SendBulkTemplatedEmailInput) SetReplyToAddresses(v []*string) *SendBulkTemplatedEmailInput {
12538	s.ReplyToAddresses = v
12539	return s
12540}
12541
12542// SetReturnPath sets the ReturnPath field's value.
12543func (s *SendBulkTemplatedEmailInput) SetReturnPath(v string) *SendBulkTemplatedEmailInput {
12544	s.ReturnPath = &v
12545	return s
12546}
12547
12548// SetReturnPathArn sets the ReturnPathArn field's value.
12549func (s *SendBulkTemplatedEmailInput) SetReturnPathArn(v string) *SendBulkTemplatedEmailInput {
12550	s.ReturnPathArn = &v
12551	return s
12552}
12553
12554// SetSource sets the Source field's value.
12555func (s *SendBulkTemplatedEmailInput) SetSource(v string) *SendBulkTemplatedEmailInput {
12556	s.Source = &v
12557	return s
12558}
12559
12560// SetSourceArn sets the SourceArn field's value.
12561func (s *SendBulkTemplatedEmailInput) SetSourceArn(v string) *SendBulkTemplatedEmailInput {
12562	s.SourceArn = &v
12563	return s
12564}
12565
12566// SetTemplate sets the Template field's value.
12567func (s *SendBulkTemplatedEmailInput) SetTemplate(v string) *SendBulkTemplatedEmailInput {
12568	s.Template = &v
12569	return s
12570}
12571
12572// SetTemplateArn sets the TemplateArn field's value.
12573func (s *SendBulkTemplatedEmailInput) SetTemplateArn(v string) *SendBulkTemplatedEmailInput {
12574	s.TemplateArn = &v
12575	return s
12576}
12577
12578type SendBulkTemplatedEmailOutput struct {
12579	_ struct{} `type:"structure"`
12580
12581	// The unique message identifier returned from the SendBulkTemplatedEmail action.
12582	//
12583	// Status is a required field
12584	Status []*BulkEmailDestinationStatus `type:"list" required:"true"`
12585}
12586
12587// String returns the string representation
12588func (s SendBulkTemplatedEmailOutput) String() string {
12589	return awsutil.Prettify(s)
12590}
12591
12592// GoString returns the string representation
12593func (s SendBulkTemplatedEmailOutput) GoString() string {
12594	return s.String()
12595}
12596
12597// SetStatus sets the Status field's value.
12598func (s *SendBulkTemplatedEmailOutput) SetStatus(v []*BulkEmailDestinationStatus) *SendBulkTemplatedEmailOutput {
12599	s.Status = v
12600	return s
12601}
12602
12603// Represents a request to send a custom verification email to a specified recipient.
12604type SendCustomVerificationEmailInput struct {
12605	_ struct{} `type:"structure"`
12606
12607	// Name of a configuration set to use when sending the verification email.
12608	ConfigurationSetName *string `type:"string"`
12609
12610	// The email address to verify.
12611	//
12612	// EmailAddress is a required field
12613	EmailAddress *string `type:"string" required:"true"`
12614
12615	// The name of the custom verification email template to use when sending the
12616	// verification email.
12617	//
12618	// TemplateName is a required field
12619	TemplateName *string `type:"string" required:"true"`
12620}
12621
12622// String returns the string representation
12623func (s SendCustomVerificationEmailInput) String() string {
12624	return awsutil.Prettify(s)
12625}
12626
12627// GoString returns the string representation
12628func (s SendCustomVerificationEmailInput) GoString() string {
12629	return s.String()
12630}
12631
12632// Validate inspects the fields of the type to determine if they are valid.
12633func (s *SendCustomVerificationEmailInput) Validate() error {
12634	invalidParams := request.ErrInvalidParams{Context: "SendCustomVerificationEmailInput"}
12635	if s.EmailAddress == nil {
12636		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
12637	}
12638	if s.TemplateName == nil {
12639		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
12640	}
12641
12642	if invalidParams.Len() > 0 {
12643		return invalidParams
12644	}
12645	return nil
12646}
12647
12648// SetConfigurationSetName sets the ConfigurationSetName field's value.
12649func (s *SendCustomVerificationEmailInput) SetConfigurationSetName(v string) *SendCustomVerificationEmailInput {
12650	s.ConfigurationSetName = &v
12651	return s
12652}
12653
12654// SetEmailAddress sets the EmailAddress field's value.
12655func (s *SendCustomVerificationEmailInput) SetEmailAddress(v string) *SendCustomVerificationEmailInput {
12656	s.EmailAddress = &v
12657	return s
12658}
12659
12660// SetTemplateName sets the TemplateName field's value.
12661func (s *SendCustomVerificationEmailInput) SetTemplateName(v string) *SendCustomVerificationEmailInput {
12662	s.TemplateName = &v
12663	return s
12664}
12665
12666// The response received when attempting to send the custom verification email.
12667type SendCustomVerificationEmailOutput struct {
12668	_ struct{} `type:"structure"`
12669
12670	// The unique message identifier returned from the SendCustomVerificationEmail
12671	// operation.
12672	MessageId *string `type:"string"`
12673}
12674
12675// String returns the string representation
12676func (s SendCustomVerificationEmailOutput) String() string {
12677	return awsutil.Prettify(s)
12678}
12679
12680// GoString returns the string representation
12681func (s SendCustomVerificationEmailOutput) GoString() string {
12682	return s.String()
12683}
12684
12685// SetMessageId sets the MessageId field's value.
12686func (s *SendCustomVerificationEmailOutput) SetMessageId(v string) *SendCustomVerificationEmailOutput {
12687	s.MessageId = &v
12688	return s
12689}
12690
12691// Represents sending statistics data. Each SendDataPoint contains statistics
12692// for a 15-minute period of sending activity.
12693type SendDataPoint struct {
12694	_ struct{} `type:"structure"`
12695
12696	// Number of emails that have bounced.
12697	Bounces *int64 `type:"long"`
12698
12699	// Number of unwanted emails that were rejected by recipients.
12700	Complaints *int64 `type:"long"`
12701
12702	// Number of emails that have been sent.
12703	DeliveryAttempts *int64 `type:"long"`
12704
12705	// Number of emails rejected by Amazon SES.
12706	Rejects *int64 `type:"long"`
12707
12708	// Time of the data point.
12709	Timestamp *time.Time `type:"timestamp"`
12710}
12711
12712// String returns the string representation
12713func (s SendDataPoint) String() string {
12714	return awsutil.Prettify(s)
12715}
12716
12717// GoString returns the string representation
12718func (s SendDataPoint) GoString() string {
12719	return s.String()
12720}
12721
12722// SetBounces sets the Bounces field's value.
12723func (s *SendDataPoint) SetBounces(v int64) *SendDataPoint {
12724	s.Bounces = &v
12725	return s
12726}
12727
12728// SetComplaints sets the Complaints field's value.
12729func (s *SendDataPoint) SetComplaints(v int64) *SendDataPoint {
12730	s.Complaints = &v
12731	return s
12732}
12733
12734// SetDeliveryAttempts sets the DeliveryAttempts field's value.
12735func (s *SendDataPoint) SetDeliveryAttempts(v int64) *SendDataPoint {
12736	s.DeliveryAttempts = &v
12737	return s
12738}
12739
12740// SetRejects sets the Rejects field's value.
12741func (s *SendDataPoint) SetRejects(v int64) *SendDataPoint {
12742	s.Rejects = &v
12743	return s
12744}
12745
12746// SetTimestamp sets the Timestamp field's value.
12747func (s *SendDataPoint) SetTimestamp(v time.Time) *SendDataPoint {
12748	s.Timestamp = &v
12749	return s
12750}
12751
12752// Represents a request to send a single formatted email using Amazon SES. For
12753// more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html).
12754type SendEmailInput struct {
12755	_ struct{} `type:"structure"`
12756
12757	// The name of the configuration set to use when you send an email using SendEmail.
12758	ConfigurationSetName *string `type:"string"`
12759
12760	// The destination for this email, composed of To:, CC:, and BCC: fields.
12761	//
12762	// Destination is a required field
12763	Destination *Destination `type:"structure" required:"true"`
12764
12765	// The message to be sent.
12766	//
12767	// Message is a required field
12768	Message *Message `type:"structure" required:"true"`
12769
12770	// The reply-to email address(es) for the message. If the recipient replies
12771	// to the message, each reply-to address will receive the reply.
12772	ReplyToAddresses []*string `type:"list"`
12773
12774	// The email address that bounces and complaints will be forwarded to when feedback
12775	// forwarding is enabled. If the message cannot be delivered to the recipient,
12776	// then an error message will be returned from the recipient's ISP; this message
12777	// will then be forwarded to the email address specified by the ReturnPath parameter.
12778	// The ReturnPath parameter is never overwritten. This email address must be
12779	// either individually verified with Amazon SES, or from a domain that has been
12780	// verified with Amazon SES.
12781	ReturnPath *string `type:"string"`
12782
12783	// This parameter is used only for sending authorization. It is the ARN of the
12784	// identity that is associated with the sending authorization policy that permits
12785	// you to use the email address specified in the ReturnPath parameter.
12786	//
12787	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
12788	// attaches a policy to it that authorizes you to use feedback@example.com,
12789	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
12790	// and the ReturnPath to be feedback@example.com.
12791	//
12792	// For more information about sending authorization, see the Amazon SES Developer
12793	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12794	ReturnPathArn *string `type:"string"`
12795
12796	// The email address that is sending the email. This email address must be either
12797	// individually verified with Amazon SES, or from a domain that has been verified
12798	// with Amazon SES. For information about verifying identities, see the Amazon
12799	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
12800	//
12801	// If you are sending on behalf of another user and have been permitted to do
12802	// so by a sending authorization policy, then you must also specify the SourceArn
12803	// parameter. For more information about sending authorization, see the Amazon
12804	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12805	//
12806	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
12807	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
12808	// a source email address (the part of the email address that precedes the @
12809	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
12810	// If the domain part of an address (the part after the @ sign) contains non-ASCII
12811	// characters, they must be encoded using Punycode, as described in RFC3492
12812	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
12813	// the friendly name) may contain non-ASCII characters. These characters must
12814	// be encoded using MIME encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
12815	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
12816	//
12817	// Source is a required field
12818	Source *string `type:"string" required:"true"`
12819
12820	// This parameter is used only for sending authorization. It is the ARN of the
12821	// identity that is associated with the sending authorization policy that permits
12822	// you to send for the email address specified in the Source parameter.
12823	//
12824	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
12825	// attaches a policy to it that authorizes you to send from user@example.com,
12826	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
12827	// and the Source to be user@example.com.
12828	//
12829	// For more information about sending authorization, see the Amazon SES Developer
12830	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
12831	SourceArn *string `type:"string"`
12832
12833	// A list of tags, in the form of name/value pairs, to apply to an email that
12834	// you send using SendEmail. Tags correspond to characteristics of the email
12835	// that you define, so that you can publish email sending events.
12836	Tags []*MessageTag `type:"list"`
12837}
12838
12839// String returns the string representation
12840func (s SendEmailInput) String() string {
12841	return awsutil.Prettify(s)
12842}
12843
12844// GoString returns the string representation
12845func (s SendEmailInput) GoString() string {
12846	return s.String()
12847}
12848
12849// Validate inspects the fields of the type to determine if they are valid.
12850func (s *SendEmailInput) Validate() error {
12851	invalidParams := request.ErrInvalidParams{Context: "SendEmailInput"}
12852	if s.Destination == nil {
12853		invalidParams.Add(request.NewErrParamRequired("Destination"))
12854	}
12855	if s.Message == nil {
12856		invalidParams.Add(request.NewErrParamRequired("Message"))
12857	}
12858	if s.Source == nil {
12859		invalidParams.Add(request.NewErrParamRequired("Source"))
12860	}
12861	if s.Message != nil {
12862		if err := s.Message.Validate(); err != nil {
12863			invalidParams.AddNested("Message", err.(request.ErrInvalidParams))
12864		}
12865	}
12866	if s.Tags != nil {
12867		for i, v := range s.Tags {
12868			if v == nil {
12869				continue
12870			}
12871			if err := v.Validate(); err != nil {
12872				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
12873			}
12874		}
12875	}
12876
12877	if invalidParams.Len() > 0 {
12878		return invalidParams
12879	}
12880	return nil
12881}
12882
12883// SetConfigurationSetName sets the ConfigurationSetName field's value.
12884func (s *SendEmailInput) SetConfigurationSetName(v string) *SendEmailInput {
12885	s.ConfigurationSetName = &v
12886	return s
12887}
12888
12889// SetDestination sets the Destination field's value.
12890func (s *SendEmailInput) SetDestination(v *Destination) *SendEmailInput {
12891	s.Destination = v
12892	return s
12893}
12894
12895// SetMessage sets the Message field's value.
12896func (s *SendEmailInput) SetMessage(v *Message) *SendEmailInput {
12897	s.Message = v
12898	return s
12899}
12900
12901// SetReplyToAddresses sets the ReplyToAddresses field's value.
12902func (s *SendEmailInput) SetReplyToAddresses(v []*string) *SendEmailInput {
12903	s.ReplyToAddresses = v
12904	return s
12905}
12906
12907// SetReturnPath sets the ReturnPath field's value.
12908func (s *SendEmailInput) SetReturnPath(v string) *SendEmailInput {
12909	s.ReturnPath = &v
12910	return s
12911}
12912
12913// SetReturnPathArn sets the ReturnPathArn field's value.
12914func (s *SendEmailInput) SetReturnPathArn(v string) *SendEmailInput {
12915	s.ReturnPathArn = &v
12916	return s
12917}
12918
12919// SetSource sets the Source field's value.
12920func (s *SendEmailInput) SetSource(v string) *SendEmailInput {
12921	s.Source = &v
12922	return s
12923}
12924
12925// SetSourceArn sets the SourceArn field's value.
12926func (s *SendEmailInput) SetSourceArn(v string) *SendEmailInput {
12927	s.SourceArn = &v
12928	return s
12929}
12930
12931// SetTags sets the Tags field's value.
12932func (s *SendEmailInput) SetTags(v []*MessageTag) *SendEmailInput {
12933	s.Tags = v
12934	return s
12935}
12936
12937// Represents a unique message ID.
12938type SendEmailOutput struct {
12939	_ struct{} `type:"structure"`
12940
12941	// The unique message identifier returned from the SendEmail action.
12942	//
12943	// MessageId is a required field
12944	MessageId *string `type:"string" required:"true"`
12945}
12946
12947// String returns the string representation
12948func (s SendEmailOutput) String() string {
12949	return awsutil.Prettify(s)
12950}
12951
12952// GoString returns the string representation
12953func (s SendEmailOutput) GoString() string {
12954	return s.String()
12955}
12956
12957// SetMessageId sets the MessageId field's value.
12958func (s *SendEmailOutput) SetMessageId(v string) *SendEmailOutput {
12959	s.MessageId = &v
12960	return s
12961}
12962
12963// Represents a request to send a single raw email using Amazon SES. For more
12964// information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html).
12965type SendRawEmailInput struct {
12966	_ struct{} `type:"structure"`
12967
12968	// The name of the configuration set to use when you send an email using SendRawEmail.
12969	ConfigurationSetName *string `type:"string"`
12970
12971	// A list of destinations for the message, consisting of To:, CC:, and BCC:
12972	// addresses.
12973	Destinations []*string `type:"list"`
12974
12975	// This parameter is used only for sending authorization. It is the ARN of the
12976	// identity that is associated with the sending authorization policy that permits
12977	// you to specify a particular "From" address in the header of the raw email.
12978	//
12979	// Instead of using this parameter, you can use the X-header X-SES-FROM-ARN
12980	// in the raw message of the email. If you use both the FromArn parameter and
12981	// the corresponding X-header, Amazon SES uses the value of the FromArn parameter.
12982	//
12983	// For information about when to use this parameter, see the description of
12984	// SendRawEmail in this guide, or see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html).
12985	FromArn *string `type:"string"`
12986
12987	// The raw email message itself. The message has to meet the following criteria:
12988	//
12989	//    * The message has to contain a header and a body, separated by a blank
12990	//    line.
12991	//
12992	//    * All of the required header fields must be present in the message.
12993	//
12994	//    * Each part of a multipart MIME message must be formatted properly.
12995	//
12996	//    * Attachments must be of a content type that Amazon SES supports. For
12997	//    a list on unsupported content types, see Unsupported Attachment Types
12998	//    (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html)
12999	//    in the Amazon SES Developer Guide.
13000	//
13001	//    * The entire message must be base64-encoded.
13002	//
13003	//    * If any of the MIME parts in your message contain content that is outside
13004	//    of the 7-bit ASCII character range, we highly recommend that you encode
13005	//    that content. For more information, see Sending Raw Email (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html)
13006	//    in the Amazon SES Developer Guide.
13007	//
13008	//    * Per RFC 5321 (https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6),
13009	//    the maximum length of each line of text, including the <CRLF>, must not
13010	//    exceed 1,000 characters.
13011	//
13012	// RawMessage is a required field
13013	RawMessage *RawMessage `type:"structure" required:"true"`
13014
13015	// This parameter is used only for sending authorization. It is the ARN of the
13016	// identity that is associated with the sending authorization policy that permits
13017	// you to use the email address specified in the ReturnPath parameter.
13018	//
13019	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
13020	// attaches a policy to it that authorizes you to use feedback@example.com,
13021	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
13022	// and the ReturnPath to be feedback@example.com.
13023	//
13024	// Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN
13025	// in the raw message of the email. If you use both the ReturnPathArn parameter
13026	// and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn
13027	// parameter.
13028	//
13029	// For information about when to use this parameter, see the description of
13030	// SendRawEmail in this guide, or see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html).
13031	ReturnPathArn *string `type:"string"`
13032
13033	// The identity's email address. If you do not provide a value for this parameter,
13034	// you must specify a "From" address in the raw text of the message. (You can
13035	// also specify both.)
13036	//
13037	// Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531
13038	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
13039	// a source email address (the part of the email address that precedes the @
13040	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
13041	// If the domain part of an address (the part after the @ sign) contains non-ASCII
13042	// characters, they must be encoded using Punycode, as described in RFC3492
13043	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
13044	// the friendly name) may contain non-ASCII characters. These characters must
13045	// be encoded using MIME encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
13046	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
13047	//
13048	// If you specify the Source parameter and have feedback forwarding enabled,
13049	// then bounces and complaints will be sent to this email address. This takes
13050	// precedence over any Return-Path header that you might include in the raw
13051	// text of the message.
13052	Source *string `type:"string"`
13053
13054	// This parameter is used only for sending authorization. It is the ARN of the
13055	// identity that is associated with the sending authorization policy that permits
13056	// you to send for the email address specified in the Source parameter.
13057	//
13058	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
13059	// attaches a policy to it that authorizes you to send from user@example.com,
13060	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
13061	// and the Source to be user@example.com.
13062	//
13063	// Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN
13064	// in the raw message of the email. If you use both the SourceArn parameter
13065	// and the corresponding X-header, Amazon SES uses the value of the SourceArn
13066	// parameter.
13067	//
13068	// For information about when to use this parameter, see the description of
13069	// SendRawEmail in this guide, or see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html).
13070	SourceArn *string `type:"string"`
13071
13072	// A list of tags, in the form of name/value pairs, to apply to an email that
13073	// you send using SendRawEmail. Tags correspond to characteristics of the email
13074	// that you define, so that you can publish email sending events.
13075	Tags []*MessageTag `type:"list"`
13076}
13077
13078// String returns the string representation
13079func (s SendRawEmailInput) String() string {
13080	return awsutil.Prettify(s)
13081}
13082
13083// GoString returns the string representation
13084func (s SendRawEmailInput) GoString() string {
13085	return s.String()
13086}
13087
13088// Validate inspects the fields of the type to determine if they are valid.
13089func (s *SendRawEmailInput) Validate() error {
13090	invalidParams := request.ErrInvalidParams{Context: "SendRawEmailInput"}
13091	if s.RawMessage == nil {
13092		invalidParams.Add(request.NewErrParamRequired("RawMessage"))
13093	}
13094	if s.RawMessage != nil {
13095		if err := s.RawMessage.Validate(); err != nil {
13096			invalidParams.AddNested("RawMessage", err.(request.ErrInvalidParams))
13097		}
13098	}
13099	if s.Tags != nil {
13100		for i, v := range s.Tags {
13101			if v == nil {
13102				continue
13103			}
13104			if err := v.Validate(); err != nil {
13105				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13106			}
13107		}
13108	}
13109
13110	if invalidParams.Len() > 0 {
13111		return invalidParams
13112	}
13113	return nil
13114}
13115
13116// SetConfigurationSetName sets the ConfigurationSetName field's value.
13117func (s *SendRawEmailInput) SetConfigurationSetName(v string) *SendRawEmailInput {
13118	s.ConfigurationSetName = &v
13119	return s
13120}
13121
13122// SetDestinations sets the Destinations field's value.
13123func (s *SendRawEmailInput) SetDestinations(v []*string) *SendRawEmailInput {
13124	s.Destinations = v
13125	return s
13126}
13127
13128// SetFromArn sets the FromArn field's value.
13129func (s *SendRawEmailInput) SetFromArn(v string) *SendRawEmailInput {
13130	s.FromArn = &v
13131	return s
13132}
13133
13134// SetRawMessage sets the RawMessage field's value.
13135func (s *SendRawEmailInput) SetRawMessage(v *RawMessage) *SendRawEmailInput {
13136	s.RawMessage = v
13137	return s
13138}
13139
13140// SetReturnPathArn sets the ReturnPathArn field's value.
13141func (s *SendRawEmailInput) SetReturnPathArn(v string) *SendRawEmailInput {
13142	s.ReturnPathArn = &v
13143	return s
13144}
13145
13146// SetSource sets the Source field's value.
13147func (s *SendRawEmailInput) SetSource(v string) *SendRawEmailInput {
13148	s.Source = &v
13149	return s
13150}
13151
13152// SetSourceArn sets the SourceArn field's value.
13153func (s *SendRawEmailInput) SetSourceArn(v string) *SendRawEmailInput {
13154	s.SourceArn = &v
13155	return s
13156}
13157
13158// SetTags sets the Tags field's value.
13159func (s *SendRawEmailInput) SetTags(v []*MessageTag) *SendRawEmailInput {
13160	s.Tags = v
13161	return s
13162}
13163
13164// Represents a unique message ID.
13165type SendRawEmailOutput struct {
13166	_ struct{} `type:"structure"`
13167
13168	// The unique message identifier returned from the SendRawEmail action.
13169	//
13170	// MessageId is a required field
13171	MessageId *string `type:"string" required:"true"`
13172}
13173
13174// String returns the string representation
13175func (s SendRawEmailOutput) String() string {
13176	return awsutil.Prettify(s)
13177}
13178
13179// GoString returns the string representation
13180func (s SendRawEmailOutput) GoString() string {
13181	return s.String()
13182}
13183
13184// SetMessageId sets the MessageId field's value.
13185func (s *SendRawEmailOutput) SetMessageId(v string) *SendRawEmailOutput {
13186	s.MessageId = &v
13187	return s
13188}
13189
13190// Represents a request to send a templated email using Amazon SES. For more
13191// information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
13192type SendTemplatedEmailInput struct {
13193	_ struct{} `type:"structure"`
13194
13195	// The name of the configuration set to use when you send an email using SendTemplatedEmail.
13196	ConfigurationSetName *string `type:"string"`
13197
13198	// The destination for this email, composed of To:, CC:, and BCC: fields. A
13199	// Destination can include up to 50 recipients across these three fields.
13200	//
13201	// Destination is a required field
13202	Destination *Destination `type:"structure" required:"true"`
13203
13204	// The reply-to email address(es) for the message. If the recipient replies
13205	// to the message, each reply-to address will receive the reply.
13206	ReplyToAddresses []*string `type:"list"`
13207
13208	// The email address that bounces and complaints will be forwarded to when feedback
13209	// forwarding is enabled. If the message cannot be delivered to the recipient,
13210	// then an error message will be returned from the recipient's ISP; this message
13211	// will then be forwarded to the email address specified by the ReturnPath parameter.
13212	// The ReturnPath parameter is never overwritten. This email address must be
13213	// either individually verified with Amazon SES, or from a domain that has been
13214	// verified with Amazon SES.
13215	ReturnPath *string `type:"string"`
13216
13217	// This parameter is used only for sending authorization. It is the ARN of the
13218	// identity that is associated with the sending authorization policy that permits
13219	// you to use the email address specified in the ReturnPath parameter.
13220	//
13221	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
13222	// attaches a policy to it that authorizes you to use feedback@example.com,
13223	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
13224	// and the ReturnPath to be feedback@example.com.
13225	//
13226	// For more information about sending authorization, see the Amazon SES Developer
13227	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
13228	ReturnPathArn *string `type:"string"`
13229
13230	// The email address that is sending the email. This email address must be either
13231	// individually verified with Amazon SES, or from a domain that has been verified
13232	// with Amazon SES. For information about verifying identities, see the Amazon
13233	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
13234	//
13235	// If you are sending on behalf of another user and have been permitted to do
13236	// so by a sending authorization policy, then you must also specify the SourceArn
13237	// parameter. For more information about sending authorization, see the Amazon
13238	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
13239	//
13240	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
13241	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
13242	// a source email address (the part of the email address that precedes the @
13243	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
13244	// If the domain part of an address (the part after the @ sign) contains non-ASCII
13245	// characters, they must be encoded using Punycode, as described in RFC3492
13246	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
13247	// the friendly name) may contain non-ASCII characters. These characters must
13248	// be encoded using MIME encoded-word syntax, as described inRFC 2047 (https://tools.ietf.org/html/rfc2047).
13249	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
13250	//
13251	// Source is a required field
13252	Source *string `type:"string" required:"true"`
13253
13254	// This parameter is used only for sending authorization. It is the ARN of the
13255	// identity that is associated with the sending authorization policy that permits
13256	// you to send for the email address specified in the Source parameter.
13257	//
13258	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
13259	// attaches a policy to it that authorizes you to send from user@example.com,
13260	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
13261	// and the Source to be user@example.com.
13262	//
13263	// For more information about sending authorization, see the Amazon SES Developer
13264	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
13265	SourceArn *string `type:"string"`
13266
13267	// A list of tags, in the form of name/value pairs, to apply to an email that
13268	// you send using SendTemplatedEmail. Tags correspond to characteristics of
13269	// the email that you define, so that you can publish email sending events.
13270	Tags []*MessageTag `type:"list"`
13271
13272	// The template to use when sending this email.
13273	//
13274	// Template is a required field
13275	Template *string `type:"string" required:"true"`
13276
13277	// The ARN of the template to use when sending this email.
13278	TemplateArn *string `type:"string"`
13279
13280	// A list of replacement values to apply to the template. This parameter is
13281	// a JSON object, typically consisting of key-value pairs in which the keys
13282	// correspond to replacement tags in the email template.
13283	//
13284	// TemplateData is a required field
13285	TemplateData *string `type:"string" required:"true"`
13286}
13287
13288// String returns the string representation
13289func (s SendTemplatedEmailInput) String() string {
13290	return awsutil.Prettify(s)
13291}
13292
13293// GoString returns the string representation
13294func (s SendTemplatedEmailInput) GoString() string {
13295	return s.String()
13296}
13297
13298// Validate inspects the fields of the type to determine if they are valid.
13299func (s *SendTemplatedEmailInput) Validate() error {
13300	invalidParams := request.ErrInvalidParams{Context: "SendTemplatedEmailInput"}
13301	if s.Destination == nil {
13302		invalidParams.Add(request.NewErrParamRequired("Destination"))
13303	}
13304	if s.Source == nil {
13305		invalidParams.Add(request.NewErrParamRequired("Source"))
13306	}
13307	if s.Template == nil {
13308		invalidParams.Add(request.NewErrParamRequired("Template"))
13309	}
13310	if s.TemplateData == nil {
13311		invalidParams.Add(request.NewErrParamRequired("TemplateData"))
13312	}
13313	if s.Tags != nil {
13314		for i, v := range s.Tags {
13315			if v == nil {
13316				continue
13317			}
13318			if err := v.Validate(); err != nil {
13319				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13320			}
13321		}
13322	}
13323
13324	if invalidParams.Len() > 0 {
13325		return invalidParams
13326	}
13327	return nil
13328}
13329
13330// SetConfigurationSetName sets the ConfigurationSetName field's value.
13331func (s *SendTemplatedEmailInput) SetConfigurationSetName(v string) *SendTemplatedEmailInput {
13332	s.ConfigurationSetName = &v
13333	return s
13334}
13335
13336// SetDestination sets the Destination field's value.
13337func (s *SendTemplatedEmailInput) SetDestination(v *Destination) *SendTemplatedEmailInput {
13338	s.Destination = v
13339	return s
13340}
13341
13342// SetReplyToAddresses sets the ReplyToAddresses field's value.
13343func (s *SendTemplatedEmailInput) SetReplyToAddresses(v []*string) *SendTemplatedEmailInput {
13344	s.ReplyToAddresses = v
13345	return s
13346}
13347
13348// SetReturnPath sets the ReturnPath field's value.
13349func (s *SendTemplatedEmailInput) SetReturnPath(v string) *SendTemplatedEmailInput {
13350	s.ReturnPath = &v
13351	return s
13352}
13353
13354// SetReturnPathArn sets the ReturnPathArn field's value.
13355func (s *SendTemplatedEmailInput) SetReturnPathArn(v string) *SendTemplatedEmailInput {
13356	s.ReturnPathArn = &v
13357	return s
13358}
13359
13360// SetSource sets the Source field's value.
13361func (s *SendTemplatedEmailInput) SetSource(v string) *SendTemplatedEmailInput {
13362	s.Source = &v
13363	return s
13364}
13365
13366// SetSourceArn sets the SourceArn field's value.
13367func (s *SendTemplatedEmailInput) SetSourceArn(v string) *SendTemplatedEmailInput {
13368	s.SourceArn = &v
13369	return s
13370}
13371
13372// SetTags sets the Tags field's value.
13373func (s *SendTemplatedEmailInput) SetTags(v []*MessageTag) *SendTemplatedEmailInput {
13374	s.Tags = v
13375	return s
13376}
13377
13378// SetTemplate sets the Template field's value.
13379func (s *SendTemplatedEmailInput) SetTemplate(v string) *SendTemplatedEmailInput {
13380	s.Template = &v
13381	return s
13382}
13383
13384// SetTemplateArn sets the TemplateArn field's value.
13385func (s *SendTemplatedEmailInput) SetTemplateArn(v string) *SendTemplatedEmailInput {
13386	s.TemplateArn = &v
13387	return s
13388}
13389
13390// SetTemplateData sets the TemplateData field's value.
13391func (s *SendTemplatedEmailInput) SetTemplateData(v string) *SendTemplatedEmailInput {
13392	s.TemplateData = &v
13393	return s
13394}
13395
13396type SendTemplatedEmailOutput struct {
13397	_ struct{} `type:"structure"`
13398
13399	// The unique message identifier returned from the SendTemplatedEmail action.
13400	//
13401	// MessageId is a required field
13402	MessageId *string `type:"string" required:"true"`
13403}
13404
13405// String returns the string representation
13406func (s SendTemplatedEmailOutput) String() string {
13407	return awsutil.Prettify(s)
13408}
13409
13410// GoString returns the string representation
13411func (s SendTemplatedEmailOutput) GoString() string {
13412	return s.String()
13413}
13414
13415// SetMessageId sets the MessageId field's value.
13416func (s *SendTemplatedEmailOutput) SetMessageId(v string) *SendTemplatedEmailOutput {
13417	s.MessageId = &v
13418	return s
13419}
13420
13421// Represents a request to set a receipt rule set as the active receipt rule
13422// set. You use receipt rule sets to receive email with Amazon SES. For more
13423// information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
13424type SetActiveReceiptRuleSetInput struct {
13425	_ struct{} `type:"structure"`
13426
13427	// The name of the receipt rule set to make active. Setting this value to null
13428	// disables all email receiving.
13429	RuleSetName *string `type:"string"`
13430}
13431
13432// String returns the string representation
13433func (s SetActiveReceiptRuleSetInput) String() string {
13434	return awsutil.Prettify(s)
13435}
13436
13437// GoString returns the string representation
13438func (s SetActiveReceiptRuleSetInput) GoString() string {
13439	return s.String()
13440}
13441
13442// SetRuleSetName sets the RuleSetName field's value.
13443func (s *SetActiveReceiptRuleSetInput) SetRuleSetName(v string) *SetActiveReceiptRuleSetInput {
13444	s.RuleSetName = &v
13445	return s
13446}
13447
13448// An empty element returned on a successful request.
13449type SetActiveReceiptRuleSetOutput struct {
13450	_ struct{} `type:"structure"`
13451}
13452
13453// String returns the string representation
13454func (s SetActiveReceiptRuleSetOutput) String() string {
13455	return awsutil.Prettify(s)
13456}
13457
13458// GoString returns the string representation
13459func (s SetActiveReceiptRuleSetOutput) GoString() string {
13460	return s.String()
13461}
13462
13463// Represents a request to enable or disable Amazon SES Easy DKIM signing for
13464// an identity. For more information about setting up Easy DKIM, see the Amazon
13465// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
13466type SetIdentityDkimEnabledInput struct {
13467	_ struct{} `type:"structure"`
13468
13469	// Sets whether DKIM signing is enabled for an identity. Set to true to enable
13470	// DKIM signing for this identity; false to disable it.
13471	//
13472	// DkimEnabled is a required field
13473	DkimEnabled *bool `type:"boolean" required:"true"`
13474
13475	// The identity for which DKIM signing should be enabled or disabled.
13476	//
13477	// Identity is a required field
13478	Identity *string `type:"string" required:"true"`
13479}
13480
13481// String returns the string representation
13482func (s SetIdentityDkimEnabledInput) String() string {
13483	return awsutil.Prettify(s)
13484}
13485
13486// GoString returns the string representation
13487func (s SetIdentityDkimEnabledInput) GoString() string {
13488	return s.String()
13489}
13490
13491// Validate inspects the fields of the type to determine if they are valid.
13492func (s *SetIdentityDkimEnabledInput) Validate() error {
13493	invalidParams := request.ErrInvalidParams{Context: "SetIdentityDkimEnabledInput"}
13494	if s.DkimEnabled == nil {
13495		invalidParams.Add(request.NewErrParamRequired("DkimEnabled"))
13496	}
13497	if s.Identity == nil {
13498		invalidParams.Add(request.NewErrParamRequired("Identity"))
13499	}
13500
13501	if invalidParams.Len() > 0 {
13502		return invalidParams
13503	}
13504	return nil
13505}
13506
13507// SetDkimEnabled sets the DkimEnabled field's value.
13508func (s *SetIdentityDkimEnabledInput) SetDkimEnabled(v bool) *SetIdentityDkimEnabledInput {
13509	s.DkimEnabled = &v
13510	return s
13511}
13512
13513// SetIdentity sets the Identity field's value.
13514func (s *SetIdentityDkimEnabledInput) SetIdentity(v string) *SetIdentityDkimEnabledInput {
13515	s.Identity = &v
13516	return s
13517}
13518
13519// An empty element returned on a successful request.
13520type SetIdentityDkimEnabledOutput struct {
13521	_ struct{} `type:"structure"`
13522}
13523
13524// String returns the string representation
13525func (s SetIdentityDkimEnabledOutput) String() string {
13526	return awsutil.Prettify(s)
13527}
13528
13529// GoString returns the string representation
13530func (s SetIdentityDkimEnabledOutput) GoString() string {
13531	return s.String()
13532}
13533
13534// Represents a request to enable or disable whether Amazon SES forwards you
13535// bounce and complaint notifications through email. For information about email
13536// feedback forwarding, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-email.html).
13537type SetIdentityFeedbackForwardingEnabledInput struct {
13538	_ struct{} `type:"structure"`
13539
13540	// Sets whether Amazon SES will forward bounce and complaint notifications as
13541	// email. true specifies that Amazon SES will forward bounce and complaint notifications
13542	// as email, in addition to any Amazon SNS topic publishing otherwise specified.
13543	// false specifies that Amazon SES will publish bounce and complaint notifications
13544	// only through Amazon SNS. This value can only be set to false when Amazon
13545	// SNS topics are set for both Bounce and Complaint notification types.
13546	//
13547	// ForwardingEnabled is a required field
13548	ForwardingEnabled *bool `type:"boolean" required:"true"`
13549
13550	// The identity for which to set bounce and complaint notification forwarding.
13551	// Examples: user@example.com, example.com.
13552	//
13553	// Identity is a required field
13554	Identity *string `type:"string" required:"true"`
13555}
13556
13557// String returns the string representation
13558func (s SetIdentityFeedbackForwardingEnabledInput) String() string {
13559	return awsutil.Prettify(s)
13560}
13561
13562// GoString returns the string representation
13563func (s SetIdentityFeedbackForwardingEnabledInput) GoString() string {
13564	return s.String()
13565}
13566
13567// Validate inspects the fields of the type to determine if they are valid.
13568func (s *SetIdentityFeedbackForwardingEnabledInput) Validate() error {
13569	invalidParams := request.ErrInvalidParams{Context: "SetIdentityFeedbackForwardingEnabledInput"}
13570	if s.ForwardingEnabled == nil {
13571		invalidParams.Add(request.NewErrParamRequired("ForwardingEnabled"))
13572	}
13573	if s.Identity == nil {
13574		invalidParams.Add(request.NewErrParamRequired("Identity"))
13575	}
13576
13577	if invalidParams.Len() > 0 {
13578		return invalidParams
13579	}
13580	return nil
13581}
13582
13583// SetForwardingEnabled sets the ForwardingEnabled field's value.
13584func (s *SetIdentityFeedbackForwardingEnabledInput) SetForwardingEnabled(v bool) *SetIdentityFeedbackForwardingEnabledInput {
13585	s.ForwardingEnabled = &v
13586	return s
13587}
13588
13589// SetIdentity sets the Identity field's value.
13590func (s *SetIdentityFeedbackForwardingEnabledInput) SetIdentity(v string) *SetIdentityFeedbackForwardingEnabledInput {
13591	s.Identity = &v
13592	return s
13593}
13594
13595// An empty element returned on a successful request.
13596type SetIdentityFeedbackForwardingEnabledOutput struct {
13597	_ struct{} `type:"structure"`
13598}
13599
13600// String returns the string representation
13601func (s SetIdentityFeedbackForwardingEnabledOutput) String() string {
13602	return awsutil.Prettify(s)
13603}
13604
13605// GoString returns the string representation
13606func (s SetIdentityFeedbackForwardingEnabledOutput) GoString() string {
13607	return s.String()
13608}
13609
13610// Represents a request to set whether Amazon SES includes the original email
13611// headers in the Amazon SNS notifications of a specified type. For information
13612// about notifications, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html).
13613type SetIdentityHeadersInNotificationsEnabledInput struct {
13614	_ struct{} `type:"structure"`
13615
13616	// Sets whether Amazon SES includes the original email headers in Amazon SNS
13617	// notifications of the specified notification type. A value of true specifies
13618	// that Amazon SES will include headers in notifications, and a value of false
13619	// specifies that Amazon SES will not include headers in notifications.
13620	//
13621	// This value can only be set when NotificationType is already set to use a
13622	// particular Amazon SNS topic.
13623	//
13624	// Enabled is a required field
13625	Enabled *bool `type:"boolean" required:"true"`
13626
13627	// The identity for which to enable or disable headers in notifications. Examples:
13628	// user@example.com, example.com.
13629	//
13630	// Identity is a required field
13631	Identity *string `type:"string" required:"true"`
13632
13633	// The notification type for which to enable or disable headers in notifications.
13634	//
13635	// NotificationType is a required field
13636	NotificationType *string `type:"string" required:"true" enum:"NotificationType"`
13637}
13638
13639// String returns the string representation
13640func (s SetIdentityHeadersInNotificationsEnabledInput) String() string {
13641	return awsutil.Prettify(s)
13642}
13643
13644// GoString returns the string representation
13645func (s SetIdentityHeadersInNotificationsEnabledInput) GoString() string {
13646	return s.String()
13647}
13648
13649// Validate inspects the fields of the type to determine if they are valid.
13650func (s *SetIdentityHeadersInNotificationsEnabledInput) Validate() error {
13651	invalidParams := request.ErrInvalidParams{Context: "SetIdentityHeadersInNotificationsEnabledInput"}
13652	if s.Enabled == nil {
13653		invalidParams.Add(request.NewErrParamRequired("Enabled"))
13654	}
13655	if s.Identity == nil {
13656		invalidParams.Add(request.NewErrParamRequired("Identity"))
13657	}
13658	if s.NotificationType == nil {
13659		invalidParams.Add(request.NewErrParamRequired("NotificationType"))
13660	}
13661
13662	if invalidParams.Len() > 0 {
13663		return invalidParams
13664	}
13665	return nil
13666}
13667
13668// SetEnabled sets the Enabled field's value.
13669func (s *SetIdentityHeadersInNotificationsEnabledInput) SetEnabled(v bool) *SetIdentityHeadersInNotificationsEnabledInput {
13670	s.Enabled = &v
13671	return s
13672}
13673
13674// SetIdentity sets the Identity field's value.
13675func (s *SetIdentityHeadersInNotificationsEnabledInput) SetIdentity(v string) *SetIdentityHeadersInNotificationsEnabledInput {
13676	s.Identity = &v
13677	return s
13678}
13679
13680// SetNotificationType sets the NotificationType field's value.
13681func (s *SetIdentityHeadersInNotificationsEnabledInput) SetNotificationType(v string) *SetIdentityHeadersInNotificationsEnabledInput {
13682	s.NotificationType = &v
13683	return s
13684}
13685
13686// An empty element returned on a successful request.
13687type SetIdentityHeadersInNotificationsEnabledOutput struct {
13688	_ struct{} `type:"structure"`
13689}
13690
13691// String returns the string representation
13692func (s SetIdentityHeadersInNotificationsEnabledOutput) String() string {
13693	return awsutil.Prettify(s)
13694}
13695
13696// GoString returns the string representation
13697func (s SetIdentityHeadersInNotificationsEnabledOutput) GoString() string {
13698	return s.String()
13699}
13700
13701// Represents a request to enable or disable the Amazon SES custom MAIL FROM
13702// domain setup for a verified identity. For information about using a custom
13703// MAIL FROM domain, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html).
13704type SetIdentityMailFromDomainInput struct {
13705	_ struct{} `type:"structure"`
13706
13707	// The action that you want Amazon SES to take if it cannot successfully read
13708	// the required MX record when you send an email. If you choose UseDefaultValue,
13709	// Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM
13710	// domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified
13711	// error and not send the email.
13712	//
13713	// The action specified in BehaviorOnMXFailure is taken when the custom MAIL
13714	// FROM domain setup is in the Pending, Failed, and TemporaryFailure states.
13715	BehaviorOnMXFailure *string `type:"string" enum:"BehaviorOnMXFailure"`
13716
13717	// The verified identity for which you want to enable or disable the specified
13718	// custom MAIL FROM domain.
13719	//
13720	// Identity is a required field
13721	Identity *string `type:"string" required:"true"`
13722
13723	// The custom MAIL FROM domain that you want the verified identity to use. The
13724	// MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not
13725	// be used in a "From" address if the MAIL FROM domain is the destination of
13726	// email feedback forwarding (for more information, see the Amazon SES Developer
13727	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html)),
13728	// and 3) not be used to receive emails. A value of null disables the custom
13729	// MAIL FROM setting for the identity.
13730	MailFromDomain *string `type:"string"`
13731}
13732
13733// String returns the string representation
13734func (s SetIdentityMailFromDomainInput) String() string {
13735	return awsutil.Prettify(s)
13736}
13737
13738// GoString returns the string representation
13739func (s SetIdentityMailFromDomainInput) GoString() string {
13740	return s.String()
13741}
13742
13743// Validate inspects the fields of the type to determine if they are valid.
13744func (s *SetIdentityMailFromDomainInput) Validate() error {
13745	invalidParams := request.ErrInvalidParams{Context: "SetIdentityMailFromDomainInput"}
13746	if s.Identity == nil {
13747		invalidParams.Add(request.NewErrParamRequired("Identity"))
13748	}
13749
13750	if invalidParams.Len() > 0 {
13751		return invalidParams
13752	}
13753	return nil
13754}
13755
13756// SetBehaviorOnMXFailure sets the BehaviorOnMXFailure field's value.
13757func (s *SetIdentityMailFromDomainInput) SetBehaviorOnMXFailure(v string) *SetIdentityMailFromDomainInput {
13758	s.BehaviorOnMXFailure = &v
13759	return s
13760}
13761
13762// SetIdentity sets the Identity field's value.
13763func (s *SetIdentityMailFromDomainInput) SetIdentity(v string) *SetIdentityMailFromDomainInput {
13764	s.Identity = &v
13765	return s
13766}
13767
13768// SetMailFromDomain sets the MailFromDomain field's value.
13769func (s *SetIdentityMailFromDomainInput) SetMailFromDomain(v string) *SetIdentityMailFromDomainInput {
13770	s.MailFromDomain = &v
13771	return s
13772}
13773
13774// An empty element returned on a successful request.
13775type SetIdentityMailFromDomainOutput struct {
13776	_ struct{} `type:"structure"`
13777}
13778
13779// String returns the string representation
13780func (s SetIdentityMailFromDomainOutput) String() string {
13781	return awsutil.Prettify(s)
13782}
13783
13784// GoString returns the string representation
13785func (s SetIdentityMailFromDomainOutput) GoString() string {
13786	return s.String()
13787}
13788
13789// Represents a request to specify the Amazon SNS topic to which Amazon SES
13790// will publish bounce, complaint, or delivery notifications for emails sent
13791// with that identity as the Source. For information about Amazon SES notifications,
13792// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html).
13793type SetIdentityNotificationTopicInput struct {
13794	_ struct{} `type:"structure"`
13795
13796	// The identity (email address or domain) that you want to set the Amazon SNS
13797	// topic for.
13798	//
13799	// You can only specify a verified identity for this parameter.
13800	//
13801	// You can specify an identity by using its name or by using its Amazon Resource
13802	// Name (ARN). The following examples are all valid identities: sender@example.com,
13803	// example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
13804	//
13805	// Identity is a required field
13806	Identity *string `type:"string" required:"true"`
13807
13808	// The type of notifications that will be published to the specified Amazon
13809	// SNS topic.
13810	//
13811	// NotificationType is a required field
13812	NotificationType *string `type:"string" required:"true" enum:"NotificationType"`
13813
13814	// The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter
13815	// is omitted from the request or a null value is passed, SnsTopic is cleared
13816	// and publishing is disabled.
13817	SnsTopic *string `type:"string"`
13818}
13819
13820// String returns the string representation
13821func (s SetIdentityNotificationTopicInput) String() string {
13822	return awsutil.Prettify(s)
13823}
13824
13825// GoString returns the string representation
13826func (s SetIdentityNotificationTopicInput) GoString() string {
13827	return s.String()
13828}
13829
13830// Validate inspects the fields of the type to determine if they are valid.
13831func (s *SetIdentityNotificationTopicInput) Validate() error {
13832	invalidParams := request.ErrInvalidParams{Context: "SetIdentityNotificationTopicInput"}
13833	if s.Identity == nil {
13834		invalidParams.Add(request.NewErrParamRequired("Identity"))
13835	}
13836	if s.NotificationType == nil {
13837		invalidParams.Add(request.NewErrParamRequired("NotificationType"))
13838	}
13839
13840	if invalidParams.Len() > 0 {
13841		return invalidParams
13842	}
13843	return nil
13844}
13845
13846// SetIdentity sets the Identity field's value.
13847func (s *SetIdentityNotificationTopicInput) SetIdentity(v string) *SetIdentityNotificationTopicInput {
13848	s.Identity = &v
13849	return s
13850}
13851
13852// SetNotificationType sets the NotificationType field's value.
13853func (s *SetIdentityNotificationTopicInput) SetNotificationType(v string) *SetIdentityNotificationTopicInput {
13854	s.NotificationType = &v
13855	return s
13856}
13857
13858// SetSnsTopic sets the SnsTopic field's value.
13859func (s *SetIdentityNotificationTopicInput) SetSnsTopic(v string) *SetIdentityNotificationTopicInput {
13860	s.SnsTopic = &v
13861	return s
13862}
13863
13864// An empty element returned on a successful request.
13865type SetIdentityNotificationTopicOutput struct {
13866	_ struct{} `type:"structure"`
13867}
13868
13869// String returns the string representation
13870func (s SetIdentityNotificationTopicOutput) String() string {
13871	return awsutil.Prettify(s)
13872}
13873
13874// GoString returns the string representation
13875func (s SetIdentityNotificationTopicOutput) GoString() string {
13876	return s.String()
13877}
13878
13879// Represents a request to set the position of a receipt rule in a receipt rule
13880// set. You use receipt rule sets to receive email with Amazon SES. For more
13881// information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
13882type SetReceiptRulePositionInput struct {
13883	_ struct{} `type:"structure"`
13884
13885	// The name of the receipt rule after which to place the specified receipt rule.
13886	After *string `type:"string"`
13887
13888	// The name of the receipt rule to reposition.
13889	//
13890	// RuleName is a required field
13891	RuleName *string `type:"string" required:"true"`
13892
13893	// The name of the receipt rule set that contains the receipt rule to reposition.
13894	//
13895	// RuleSetName is a required field
13896	RuleSetName *string `type:"string" required:"true"`
13897}
13898
13899// String returns the string representation
13900func (s SetReceiptRulePositionInput) String() string {
13901	return awsutil.Prettify(s)
13902}
13903
13904// GoString returns the string representation
13905func (s SetReceiptRulePositionInput) GoString() string {
13906	return s.String()
13907}
13908
13909// Validate inspects the fields of the type to determine if they are valid.
13910func (s *SetReceiptRulePositionInput) Validate() error {
13911	invalidParams := request.ErrInvalidParams{Context: "SetReceiptRulePositionInput"}
13912	if s.RuleName == nil {
13913		invalidParams.Add(request.NewErrParamRequired("RuleName"))
13914	}
13915	if s.RuleSetName == nil {
13916		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
13917	}
13918
13919	if invalidParams.Len() > 0 {
13920		return invalidParams
13921	}
13922	return nil
13923}
13924
13925// SetAfter sets the After field's value.
13926func (s *SetReceiptRulePositionInput) SetAfter(v string) *SetReceiptRulePositionInput {
13927	s.After = &v
13928	return s
13929}
13930
13931// SetRuleName sets the RuleName field's value.
13932func (s *SetReceiptRulePositionInput) SetRuleName(v string) *SetReceiptRulePositionInput {
13933	s.RuleName = &v
13934	return s
13935}
13936
13937// SetRuleSetName sets the RuleSetName field's value.
13938func (s *SetReceiptRulePositionInput) SetRuleSetName(v string) *SetReceiptRulePositionInput {
13939	s.RuleSetName = &v
13940	return s
13941}
13942
13943// An empty element returned on a successful request.
13944type SetReceiptRulePositionOutput struct {
13945	_ struct{} `type:"structure"`
13946}
13947
13948// String returns the string representation
13949func (s SetReceiptRulePositionOutput) String() string {
13950	return awsutil.Prettify(s)
13951}
13952
13953// GoString returns the string representation
13954func (s SetReceiptRulePositionOutput) GoString() string {
13955	return s.String()
13956}
13957
13958// When included in a receipt rule, this action terminates the evaluation of
13959// the receipt rule set and, optionally, publishes a notification to Amazon
13960// Simple Notification Service (Amazon SNS).
13961//
13962// For information about setting a stop action in a receipt rule, see the Amazon
13963// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-stop.html).
13964type StopAction struct {
13965	_ struct{} `type:"structure"`
13966
13967	// The scope of the StopAction. The only acceptable value is RuleSet.
13968	//
13969	// Scope is a required field
13970	Scope *string `type:"string" required:"true" enum:"StopScope"`
13971
13972	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
13973	// stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
13974	// For more information about Amazon SNS topics, see the Amazon SNS Developer
13975	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
13976	TopicArn *string `type:"string"`
13977}
13978
13979// String returns the string representation
13980func (s StopAction) String() string {
13981	return awsutil.Prettify(s)
13982}
13983
13984// GoString returns the string representation
13985func (s StopAction) GoString() string {
13986	return s.String()
13987}
13988
13989// Validate inspects the fields of the type to determine if they are valid.
13990func (s *StopAction) Validate() error {
13991	invalidParams := request.ErrInvalidParams{Context: "StopAction"}
13992	if s.Scope == nil {
13993		invalidParams.Add(request.NewErrParamRequired("Scope"))
13994	}
13995
13996	if invalidParams.Len() > 0 {
13997		return invalidParams
13998	}
13999	return nil
14000}
14001
14002// SetScope sets the Scope field's value.
14003func (s *StopAction) SetScope(v string) *StopAction {
14004	s.Scope = &v
14005	return s
14006}
14007
14008// SetTopicArn sets the TopicArn field's value.
14009func (s *StopAction) SetTopicArn(v string) *StopAction {
14010	s.TopicArn = &v
14011	return s
14012}
14013
14014// The content of the email, composed of a subject line, an HTML part, and a
14015// text-only part.
14016type Template struct {
14017	_ struct{} `type:"structure"`
14018
14019	// The HTML body of the email.
14020	HtmlPart *string `type:"string"`
14021
14022	// The subject line of the email.
14023	SubjectPart *string `type:"string"`
14024
14025	// The name of the template. You will refer to this name when you send email
14026	// using the SendTemplatedEmail or SendBulkTemplatedEmail operations.
14027	//
14028	// TemplateName is a required field
14029	TemplateName *string `type:"string" required:"true"`
14030
14031	// The email body that will be visible to recipients whose email clients do
14032	// not display HTML.
14033	TextPart *string `type:"string"`
14034}
14035
14036// String returns the string representation
14037func (s Template) String() string {
14038	return awsutil.Prettify(s)
14039}
14040
14041// GoString returns the string representation
14042func (s Template) GoString() string {
14043	return s.String()
14044}
14045
14046// Validate inspects the fields of the type to determine if they are valid.
14047func (s *Template) Validate() error {
14048	invalidParams := request.ErrInvalidParams{Context: "Template"}
14049	if s.TemplateName == nil {
14050		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14051	}
14052
14053	if invalidParams.Len() > 0 {
14054		return invalidParams
14055	}
14056	return nil
14057}
14058
14059// SetHtmlPart sets the HtmlPart field's value.
14060func (s *Template) SetHtmlPart(v string) *Template {
14061	s.HtmlPart = &v
14062	return s
14063}
14064
14065// SetSubjectPart sets the SubjectPart field's value.
14066func (s *Template) SetSubjectPart(v string) *Template {
14067	s.SubjectPart = &v
14068	return s
14069}
14070
14071// SetTemplateName sets the TemplateName field's value.
14072func (s *Template) SetTemplateName(v string) *Template {
14073	s.TemplateName = &v
14074	return s
14075}
14076
14077// SetTextPart sets the TextPart field's value.
14078func (s *Template) SetTextPart(v string) *Template {
14079	s.TextPart = &v
14080	return s
14081}
14082
14083// Contains information about an email template.
14084type TemplateMetadata struct {
14085	_ struct{} `type:"structure"`
14086
14087	// The time and date the template was created.
14088	CreatedTimestamp *time.Time `type:"timestamp"`
14089
14090	// The name of the template.
14091	Name *string `type:"string"`
14092}
14093
14094// String returns the string representation
14095func (s TemplateMetadata) String() string {
14096	return awsutil.Prettify(s)
14097}
14098
14099// GoString returns the string representation
14100func (s TemplateMetadata) GoString() string {
14101	return s.String()
14102}
14103
14104// SetCreatedTimestamp sets the CreatedTimestamp field's value.
14105func (s *TemplateMetadata) SetCreatedTimestamp(v time.Time) *TemplateMetadata {
14106	s.CreatedTimestamp = &v
14107	return s
14108}
14109
14110// SetName sets the Name field's value.
14111func (s *TemplateMetadata) SetName(v string) *TemplateMetadata {
14112	s.Name = &v
14113	return s
14114}
14115
14116type TestRenderTemplateInput struct {
14117	_ struct{} `type:"structure"`
14118
14119	// A list of replacement values to apply to the template. This parameter is
14120	// a JSON object, typically consisting of key-value pairs in which the keys
14121	// correspond to replacement tags in the email template.
14122	//
14123	// TemplateData is a required field
14124	TemplateData *string `type:"string" required:"true"`
14125
14126	// The name of the template that you want to render.
14127	//
14128	// TemplateName is a required field
14129	TemplateName *string `type:"string" required:"true"`
14130}
14131
14132// String returns the string representation
14133func (s TestRenderTemplateInput) String() string {
14134	return awsutil.Prettify(s)
14135}
14136
14137// GoString returns the string representation
14138func (s TestRenderTemplateInput) GoString() string {
14139	return s.String()
14140}
14141
14142// Validate inspects the fields of the type to determine if they are valid.
14143func (s *TestRenderTemplateInput) Validate() error {
14144	invalidParams := request.ErrInvalidParams{Context: "TestRenderTemplateInput"}
14145	if s.TemplateData == nil {
14146		invalidParams.Add(request.NewErrParamRequired("TemplateData"))
14147	}
14148	if s.TemplateName == nil {
14149		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14150	}
14151
14152	if invalidParams.Len() > 0 {
14153		return invalidParams
14154	}
14155	return nil
14156}
14157
14158// SetTemplateData sets the TemplateData field's value.
14159func (s *TestRenderTemplateInput) SetTemplateData(v string) *TestRenderTemplateInput {
14160	s.TemplateData = &v
14161	return s
14162}
14163
14164// SetTemplateName sets the TemplateName field's value.
14165func (s *TestRenderTemplateInput) SetTemplateName(v string) *TestRenderTemplateInput {
14166	s.TemplateName = &v
14167	return s
14168}
14169
14170type TestRenderTemplateOutput struct {
14171	_ struct{} `type:"structure"`
14172
14173	// The complete MIME message rendered by applying the data in the TemplateData
14174	// parameter to the template specified in the TemplateName parameter.
14175	RenderedTemplate *string `type:"string"`
14176}
14177
14178// String returns the string representation
14179func (s TestRenderTemplateOutput) String() string {
14180	return awsutil.Prettify(s)
14181}
14182
14183// GoString returns the string representation
14184func (s TestRenderTemplateOutput) GoString() string {
14185	return s.String()
14186}
14187
14188// SetRenderedTemplate sets the RenderedTemplate field's value.
14189func (s *TestRenderTemplateOutput) SetRenderedTemplate(v string) *TestRenderTemplateOutput {
14190	s.RenderedTemplate = &v
14191	return s
14192}
14193
14194// A domain that is used to redirect email recipients to an Amazon SES-operated
14195// domain. This domain captures open and click events generated by Amazon SES
14196// emails.
14197//
14198// For more information, see Configuring Custom Domains to Handle Open and Click
14199// Tracking (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
14200// in the Amazon SES Developer Guide.
14201type TrackingOptions struct {
14202	_ struct{} `type:"structure"`
14203
14204	// The custom subdomain that will be used to redirect email recipients to the
14205	// Amazon SES event tracking domain.
14206	CustomRedirectDomain *string `type:"string"`
14207}
14208
14209// String returns the string representation
14210func (s TrackingOptions) String() string {
14211	return awsutil.Prettify(s)
14212}
14213
14214// GoString returns the string representation
14215func (s TrackingOptions) GoString() string {
14216	return s.String()
14217}
14218
14219// SetCustomRedirectDomain sets the CustomRedirectDomain field's value.
14220func (s *TrackingOptions) SetCustomRedirectDomain(v string) *TrackingOptions {
14221	s.CustomRedirectDomain = &v
14222	return s
14223}
14224
14225// Represents a request to enable or disable the email sending capabilities
14226// for your entire Amazon SES account.
14227type UpdateAccountSendingEnabledInput struct {
14228	_ struct{} `type:"structure"`
14229
14230	// Describes whether email sending is enabled or disabled for your Amazon SES
14231	// account in the current AWS Region.
14232	Enabled *bool `type:"boolean"`
14233}
14234
14235// String returns the string representation
14236func (s UpdateAccountSendingEnabledInput) String() string {
14237	return awsutil.Prettify(s)
14238}
14239
14240// GoString returns the string representation
14241func (s UpdateAccountSendingEnabledInput) GoString() string {
14242	return s.String()
14243}
14244
14245// SetEnabled sets the Enabled field's value.
14246func (s *UpdateAccountSendingEnabledInput) SetEnabled(v bool) *UpdateAccountSendingEnabledInput {
14247	s.Enabled = &v
14248	return s
14249}
14250
14251type UpdateAccountSendingEnabledOutput struct {
14252	_ struct{} `type:"structure"`
14253}
14254
14255// String returns the string representation
14256func (s UpdateAccountSendingEnabledOutput) String() string {
14257	return awsutil.Prettify(s)
14258}
14259
14260// GoString returns the string representation
14261func (s UpdateAccountSendingEnabledOutput) GoString() string {
14262	return s.String()
14263}
14264
14265// Represents a request to update the event destination of a configuration set.
14266// Configuration sets enable you to publish email sending events. For information
14267// about using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
14268type UpdateConfigurationSetEventDestinationInput struct {
14269	_ struct{} `type:"structure"`
14270
14271	// The name of the configuration set that contains the event destination that
14272	// you want to update.
14273	//
14274	// ConfigurationSetName is a required field
14275	ConfigurationSetName *string `type:"string" required:"true"`
14276
14277	// The event destination object that you want to apply to the specified configuration
14278	// set.
14279	//
14280	// EventDestination is a required field
14281	EventDestination *EventDestination `type:"structure" required:"true"`
14282}
14283
14284// String returns the string representation
14285func (s UpdateConfigurationSetEventDestinationInput) String() string {
14286	return awsutil.Prettify(s)
14287}
14288
14289// GoString returns the string representation
14290func (s UpdateConfigurationSetEventDestinationInput) GoString() string {
14291	return s.String()
14292}
14293
14294// Validate inspects the fields of the type to determine if they are valid.
14295func (s *UpdateConfigurationSetEventDestinationInput) Validate() error {
14296	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetEventDestinationInput"}
14297	if s.ConfigurationSetName == nil {
14298		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
14299	}
14300	if s.EventDestination == nil {
14301		invalidParams.Add(request.NewErrParamRequired("EventDestination"))
14302	}
14303	if s.EventDestination != nil {
14304		if err := s.EventDestination.Validate(); err != nil {
14305			invalidParams.AddNested("EventDestination", err.(request.ErrInvalidParams))
14306		}
14307	}
14308
14309	if invalidParams.Len() > 0 {
14310		return invalidParams
14311	}
14312	return nil
14313}
14314
14315// SetConfigurationSetName sets the ConfigurationSetName field's value.
14316func (s *UpdateConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *UpdateConfigurationSetEventDestinationInput {
14317	s.ConfigurationSetName = &v
14318	return s
14319}
14320
14321// SetEventDestination sets the EventDestination field's value.
14322func (s *UpdateConfigurationSetEventDestinationInput) SetEventDestination(v *EventDestination) *UpdateConfigurationSetEventDestinationInput {
14323	s.EventDestination = v
14324	return s
14325}
14326
14327// An empty element returned on a successful request.
14328type UpdateConfigurationSetEventDestinationOutput struct {
14329	_ struct{} `type:"structure"`
14330}
14331
14332// String returns the string representation
14333func (s UpdateConfigurationSetEventDestinationOutput) String() string {
14334	return awsutil.Prettify(s)
14335}
14336
14337// GoString returns the string representation
14338func (s UpdateConfigurationSetEventDestinationOutput) GoString() string {
14339	return s.String()
14340}
14341
14342// Represents a request to modify the reputation metric publishing settings
14343// for a configuration set.
14344type UpdateConfigurationSetReputationMetricsEnabledInput struct {
14345	_ struct{} `type:"structure"`
14346
14347	// The name of the configuration set that you want to update.
14348	//
14349	// ConfigurationSetName is a required field
14350	ConfigurationSetName *string `type:"string" required:"true"`
14351
14352	// Describes whether or not Amazon SES will publish reputation metrics for the
14353	// configuration set, such as bounce and complaint rates, to Amazon CloudWatch.
14354	//
14355	// Enabled is a required field
14356	Enabled *bool `type:"boolean" required:"true"`
14357}
14358
14359// String returns the string representation
14360func (s UpdateConfigurationSetReputationMetricsEnabledInput) String() string {
14361	return awsutil.Prettify(s)
14362}
14363
14364// GoString returns the string representation
14365func (s UpdateConfigurationSetReputationMetricsEnabledInput) GoString() string {
14366	return s.String()
14367}
14368
14369// Validate inspects the fields of the type to determine if they are valid.
14370func (s *UpdateConfigurationSetReputationMetricsEnabledInput) Validate() error {
14371	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetReputationMetricsEnabledInput"}
14372	if s.ConfigurationSetName == nil {
14373		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
14374	}
14375	if s.Enabled == nil {
14376		invalidParams.Add(request.NewErrParamRequired("Enabled"))
14377	}
14378
14379	if invalidParams.Len() > 0 {
14380		return invalidParams
14381	}
14382	return nil
14383}
14384
14385// SetConfigurationSetName sets the ConfigurationSetName field's value.
14386func (s *UpdateConfigurationSetReputationMetricsEnabledInput) SetConfigurationSetName(v string) *UpdateConfigurationSetReputationMetricsEnabledInput {
14387	s.ConfigurationSetName = &v
14388	return s
14389}
14390
14391// SetEnabled sets the Enabled field's value.
14392func (s *UpdateConfigurationSetReputationMetricsEnabledInput) SetEnabled(v bool) *UpdateConfigurationSetReputationMetricsEnabledInput {
14393	s.Enabled = &v
14394	return s
14395}
14396
14397type UpdateConfigurationSetReputationMetricsEnabledOutput struct {
14398	_ struct{} `type:"structure"`
14399}
14400
14401// String returns the string representation
14402func (s UpdateConfigurationSetReputationMetricsEnabledOutput) String() string {
14403	return awsutil.Prettify(s)
14404}
14405
14406// GoString returns the string representation
14407func (s UpdateConfigurationSetReputationMetricsEnabledOutput) GoString() string {
14408	return s.String()
14409}
14410
14411// Represents a request to enable or disable the email sending capabilities
14412// for a specific configuration set.
14413type UpdateConfigurationSetSendingEnabledInput struct {
14414	_ struct{} `type:"structure"`
14415
14416	// The name of the configuration set that you want to update.
14417	//
14418	// ConfigurationSetName is a required field
14419	ConfigurationSetName *string `type:"string" required:"true"`
14420
14421	// Describes whether email sending is enabled or disabled for the configuration
14422	// set.
14423	//
14424	// Enabled is a required field
14425	Enabled *bool `type:"boolean" required:"true"`
14426}
14427
14428// String returns the string representation
14429func (s UpdateConfigurationSetSendingEnabledInput) String() string {
14430	return awsutil.Prettify(s)
14431}
14432
14433// GoString returns the string representation
14434func (s UpdateConfigurationSetSendingEnabledInput) GoString() string {
14435	return s.String()
14436}
14437
14438// Validate inspects the fields of the type to determine if they are valid.
14439func (s *UpdateConfigurationSetSendingEnabledInput) Validate() error {
14440	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetSendingEnabledInput"}
14441	if s.ConfigurationSetName == nil {
14442		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
14443	}
14444	if s.Enabled == nil {
14445		invalidParams.Add(request.NewErrParamRequired("Enabled"))
14446	}
14447
14448	if invalidParams.Len() > 0 {
14449		return invalidParams
14450	}
14451	return nil
14452}
14453
14454// SetConfigurationSetName sets the ConfigurationSetName field's value.
14455func (s *UpdateConfigurationSetSendingEnabledInput) SetConfigurationSetName(v string) *UpdateConfigurationSetSendingEnabledInput {
14456	s.ConfigurationSetName = &v
14457	return s
14458}
14459
14460// SetEnabled sets the Enabled field's value.
14461func (s *UpdateConfigurationSetSendingEnabledInput) SetEnabled(v bool) *UpdateConfigurationSetSendingEnabledInput {
14462	s.Enabled = &v
14463	return s
14464}
14465
14466type UpdateConfigurationSetSendingEnabledOutput struct {
14467	_ struct{} `type:"structure"`
14468}
14469
14470// String returns the string representation
14471func (s UpdateConfigurationSetSendingEnabledOutput) String() string {
14472	return awsutil.Prettify(s)
14473}
14474
14475// GoString returns the string representation
14476func (s UpdateConfigurationSetSendingEnabledOutput) GoString() string {
14477	return s.String()
14478}
14479
14480// Represents a request to update the tracking options for a configuration set.
14481type UpdateConfigurationSetTrackingOptionsInput struct {
14482	_ struct{} `type:"structure"`
14483
14484	// The name of the configuration set for which you want to update the custom
14485	// tracking domain.
14486	//
14487	// ConfigurationSetName is a required field
14488	ConfigurationSetName *string `type:"string" required:"true"`
14489
14490	// A domain that is used to redirect email recipients to an Amazon SES-operated
14491	// domain. This domain captures open and click events generated by Amazon SES
14492	// emails.
14493	//
14494	// For more information, see Configuring Custom Domains to Handle Open and Click
14495	// Tracking (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
14496	// in the Amazon SES Developer Guide.
14497	//
14498	// TrackingOptions is a required field
14499	TrackingOptions *TrackingOptions `type:"structure" required:"true"`
14500}
14501
14502// String returns the string representation
14503func (s UpdateConfigurationSetTrackingOptionsInput) String() string {
14504	return awsutil.Prettify(s)
14505}
14506
14507// GoString returns the string representation
14508func (s UpdateConfigurationSetTrackingOptionsInput) GoString() string {
14509	return s.String()
14510}
14511
14512// Validate inspects the fields of the type to determine if they are valid.
14513func (s *UpdateConfigurationSetTrackingOptionsInput) Validate() error {
14514	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetTrackingOptionsInput"}
14515	if s.ConfigurationSetName == nil {
14516		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
14517	}
14518	if s.TrackingOptions == nil {
14519		invalidParams.Add(request.NewErrParamRequired("TrackingOptions"))
14520	}
14521
14522	if invalidParams.Len() > 0 {
14523		return invalidParams
14524	}
14525	return nil
14526}
14527
14528// SetConfigurationSetName sets the ConfigurationSetName field's value.
14529func (s *UpdateConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *UpdateConfigurationSetTrackingOptionsInput {
14530	s.ConfigurationSetName = &v
14531	return s
14532}
14533
14534// SetTrackingOptions sets the TrackingOptions field's value.
14535func (s *UpdateConfigurationSetTrackingOptionsInput) SetTrackingOptions(v *TrackingOptions) *UpdateConfigurationSetTrackingOptionsInput {
14536	s.TrackingOptions = v
14537	return s
14538}
14539
14540// An empty element returned on a successful request.
14541type UpdateConfigurationSetTrackingOptionsOutput struct {
14542	_ struct{} `type:"structure"`
14543}
14544
14545// String returns the string representation
14546func (s UpdateConfigurationSetTrackingOptionsOutput) String() string {
14547	return awsutil.Prettify(s)
14548}
14549
14550// GoString returns the string representation
14551func (s UpdateConfigurationSetTrackingOptionsOutput) GoString() string {
14552	return s.String()
14553}
14554
14555// Represents a request to update an existing custom verification email template.
14556type UpdateCustomVerificationEmailTemplateInput struct {
14557	_ struct{} `type:"structure"`
14558
14559	// The URL that the recipient of the verification email is sent to if his or
14560	// her address is not successfully verified.
14561	FailureRedirectionURL *string `type:"string"`
14562
14563	// The email address that the custom verification email is sent from.
14564	FromEmailAddress *string `type:"string"`
14565
14566	// The URL that the recipient of the verification email is sent to if his or
14567	// her address is successfully verified.
14568	SuccessRedirectionURL *string `type:"string"`
14569
14570	// The content of the custom verification email. The total size of the email
14571	// must be less than 10 MB. The message body may contain HTML, with some limitations.
14572	// For more information, see Custom Verification Email Frequently Asked Questions
14573	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html#custom-verification-emails-faq)
14574	// in the Amazon SES Developer Guide.
14575	TemplateContent *string `type:"string"`
14576
14577	// The name of the custom verification email template that you want to update.
14578	//
14579	// TemplateName is a required field
14580	TemplateName *string `type:"string" required:"true"`
14581
14582	// The subject line of the custom verification email.
14583	TemplateSubject *string `type:"string"`
14584}
14585
14586// String returns the string representation
14587func (s UpdateCustomVerificationEmailTemplateInput) String() string {
14588	return awsutil.Prettify(s)
14589}
14590
14591// GoString returns the string representation
14592func (s UpdateCustomVerificationEmailTemplateInput) GoString() string {
14593	return s.String()
14594}
14595
14596// Validate inspects the fields of the type to determine if they are valid.
14597func (s *UpdateCustomVerificationEmailTemplateInput) Validate() error {
14598	invalidParams := request.ErrInvalidParams{Context: "UpdateCustomVerificationEmailTemplateInput"}
14599	if s.TemplateName == nil {
14600		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14601	}
14602
14603	if invalidParams.Len() > 0 {
14604		return invalidParams
14605	}
14606	return nil
14607}
14608
14609// SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
14610func (s *UpdateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput {
14611	s.FailureRedirectionURL = &v
14612	return s
14613}
14614
14615// SetFromEmailAddress sets the FromEmailAddress field's value.
14616func (s *UpdateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *UpdateCustomVerificationEmailTemplateInput {
14617	s.FromEmailAddress = &v
14618	return s
14619}
14620
14621// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
14622func (s *UpdateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput {
14623	s.SuccessRedirectionURL = &v
14624	return s
14625}
14626
14627// SetTemplateContent sets the TemplateContent field's value.
14628func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *UpdateCustomVerificationEmailTemplateInput {
14629	s.TemplateContent = &v
14630	return s
14631}
14632
14633// SetTemplateName sets the TemplateName field's value.
14634func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *UpdateCustomVerificationEmailTemplateInput {
14635	s.TemplateName = &v
14636	return s
14637}
14638
14639// SetTemplateSubject sets the TemplateSubject field's value.
14640func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *UpdateCustomVerificationEmailTemplateInput {
14641	s.TemplateSubject = &v
14642	return s
14643}
14644
14645type UpdateCustomVerificationEmailTemplateOutput struct {
14646	_ struct{} `type:"structure"`
14647}
14648
14649// String returns the string representation
14650func (s UpdateCustomVerificationEmailTemplateOutput) String() string {
14651	return awsutil.Prettify(s)
14652}
14653
14654// GoString returns the string representation
14655func (s UpdateCustomVerificationEmailTemplateOutput) GoString() string {
14656	return s.String()
14657}
14658
14659// Represents a request to update a receipt rule. You use receipt rules to receive
14660// email with Amazon SES. For more information, see the Amazon SES Developer
14661// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
14662type UpdateReceiptRuleInput struct {
14663	_ struct{} `type:"structure"`
14664
14665	// A data structure that contains the updated receipt rule information.
14666	//
14667	// Rule is a required field
14668	Rule *ReceiptRule `type:"structure" required:"true"`
14669
14670	// The name of the receipt rule set that the receipt rule belongs to.
14671	//
14672	// RuleSetName is a required field
14673	RuleSetName *string `type:"string" required:"true"`
14674}
14675
14676// String returns the string representation
14677func (s UpdateReceiptRuleInput) String() string {
14678	return awsutil.Prettify(s)
14679}
14680
14681// GoString returns the string representation
14682func (s UpdateReceiptRuleInput) GoString() string {
14683	return s.String()
14684}
14685
14686// Validate inspects the fields of the type to determine if they are valid.
14687func (s *UpdateReceiptRuleInput) Validate() error {
14688	invalidParams := request.ErrInvalidParams{Context: "UpdateReceiptRuleInput"}
14689	if s.Rule == nil {
14690		invalidParams.Add(request.NewErrParamRequired("Rule"))
14691	}
14692	if s.RuleSetName == nil {
14693		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
14694	}
14695	if s.Rule != nil {
14696		if err := s.Rule.Validate(); err != nil {
14697			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
14698		}
14699	}
14700
14701	if invalidParams.Len() > 0 {
14702		return invalidParams
14703	}
14704	return nil
14705}
14706
14707// SetRule sets the Rule field's value.
14708func (s *UpdateReceiptRuleInput) SetRule(v *ReceiptRule) *UpdateReceiptRuleInput {
14709	s.Rule = v
14710	return s
14711}
14712
14713// SetRuleSetName sets the RuleSetName field's value.
14714func (s *UpdateReceiptRuleInput) SetRuleSetName(v string) *UpdateReceiptRuleInput {
14715	s.RuleSetName = &v
14716	return s
14717}
14718
14719// An empty element returned on a successful request.
14720type UpdateReceiptRuleOutput struct {
14721	_ struct{} `type:"structure"`
14722}
14723
14724// String returns the string representation
14725func (s UpdateReceiptRuleOutput) String() string {
14726	return awsutil.Prettify(s)
14727}
14728
14729// GoString returns the string representation
14730func (s UpdateReceiptRuleOutput) GoString() string {
14731	return s.String()
14732}
14733
14734type UpdateTemplateInput struct {
14735	_ struct{} `type:"structure"`
14736
14737	// The content of the email, composed of a subject line, an HTML part, and a
14738	// text-only part.
14739	//
14740	// Template is a required field
14741	Template *Template `type:"structure" required:"true"`
14742}
14743
14744// String returns the string representation
14745func (s UpdateTemplateInput) String() string {
14746	return awsutil.Prettify(s)
14747}
14748
14749// GoString returns the string representation
14750func (s UpdateTemplateInput) GoString() string {
14751	return s.String()
14752}
14753
14754// Validate inspects the fields of the type to determine if they are valid.
14755func (s *UpdateTemplateInput) Validate() error {
14756	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"}
14757	if s.Template == nil {
14758		invalidParams.Add(request.NewErrParamRequired("Template"))
14759	}
14760	if s.Template != nil {
14761		if err := s.Template.Validate(); err != nil {
14762			invalidParams.AddNested("Template", err.(request.ErrInvalidParams))
14763		}
14764	}
14765
14766	if invalidParams.Len() > 0 {
14767		return invalidParams
14768	}
14769	return nil
14770}
14771
14772// SetTemplate sets the Template field's value.
14773func (s *UpdateTemplateInput) SetTemplate(v *Template) *UpdateTemplateInput {
14774	s.Template = v
14775	return s
14776}
14777
14778type UpdateTemplateOutput struct {
14779	_ struct{} `type:"structure"`
14780}
14781
14782// String returns the string representation
14783func (s UpdateTemplateOutput) String() string {
14784	return awsutil.Prettify(s)
14785}
14786
14787// GoString returns the string representation
14788func (s UpdateTemplateOutput) GoString() string {
14789	return s.String()
14790}
14791
14792// Represents a request to generate the CNAME records needed to set up Easy
14793// DKIM with Amazon SES. For more information about setting up Easy DKIM, see
14794// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
14795type VerifyDomainDkimInput struct {
14796	_ struct{} `type:"structure"`
14797
14798	// The name of the domain to be verified for Easy DKIM signing.
14799	//
14800	// Domain is a required field
14801	Domain *string `type:"string" required:"true"`
14802}
14803
14804// String returns the string representation
14805func (s VerifyDomainDkimInput) String() string {
14806	return awsutil.Prettify(s)
14807}
14808
14809// GoString returns the string representation
14810func (s VerifyDomainDkimInput) GoString() string {
14811	return s.String()
14812}
14813
14814// Validate inspects the fields of the type to determine if they are valid.
14815func (s *VerifyDomainDkimInput) Validate() error {
14816	invalidParams := request.ErrInvalidParams{Context: "VerifyDomainDkimInput"}
14817	if s.Domain == nil {
14818		invalidParams.Add(request.NewErrParamRequired("Domain"))
14819	}
14820
14821	if invalidParams.Len() > 0 {
14822		return invalidParams
14823	}
14824	return nil
14825}
14826
14827// SetDomain sets the Domain field's value.
14828func (s *VerifyDomainDkimInput) SetDomain(v string) *VerifyDomainDkimInput {
14829	s.Domain = &v
14830	return s
14831}
14832
14833// Returns CNAME records that you must publish to the DNS server of your domain
14834// to set up Easy DKIM with Amazon SES.
14835type VerifyDomainDkimOutput struct {
14836	_ struct{} `type:"structure"`
14837
14838	// A set of character strings that represent the domain's identity. If the identity
14839	// is an email address, the tokens represent the domain of that address.
14840	//
14841	// Using these tokens, you need to create DNS CNAME records that point to DKIM
14842	// public keys that are hosted by Amazon SES. Amazon Web Services eventually
14843	// detects that you've updated your DNS records. This detection process might
14844	// take up to 72 hours. After successful detection, Amazon SES is able to DKIM-sign
14845	// email originating from that domain. (This only applies to domain identities,
14846	// not email address identities.)
14847	//
14848	// For more information about creating DNS records using DKIM tokens, see the
14849	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
14850	//
14851	// DkimTokens is a required field
14852	DkimTokens []*string `type:"list" required:"true"`
14853}
14854
14855// String returns the string representation
14856func (s VerifyDomainDkimOutput) String() string {
14857	return awsutil.Prettify(s)
14858}
14859
14860// GoString returns the string representation
14861func (s VerifyDomainDkimOutput) GoString() string {
14862	return s.String()
14863}
14864
14865// SetDkimTokens sets the DkimTokens field's value.
14866func (s *VerifyDomainDkimOutput) SetDkimTokens(v []*string) *VerifyDomainDkimOutput {
14867	s.DkimTokens = v
14868	return s
14869}
14870
14871// Represents a request to begin Amazon SES domain verification and to generate
14872// the TXT records that you must publish to the DNS server of your domain to
14873// complete the verification. For information about domain verification, see
14874// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html).
14875type VerifyDomainIdentityInput struct {
14876	_ struct{} `type:"structure"`
14877
14878	// The domain to be verified.
14879	//
14880	// Domain is a required field
14881	Domain *string `type:"string" required:"true"`
14882}
14883
14884// String returns the string representation
14885func (s VerifyDomainIdentityInput) String() string {
14886	return awsutil.Prettify(s)
14887}
14888
14889// GoString returns the string representation
14890func (s VerifyDomainIdentityInput) GoString() string {
14891	return s.String()
14892}
14893
14894// Validate inspects the fields of the type to determine if they are valid.
14895func (s *VerifyDomainIdentityInput) Validate() error {
14896	invalidParams := request.ErrInvalidParams{Context: "VerifyDomainIdentityInput"}
14897	if s.Domain == nil {
14898		invalidParams.Add(request.NewErrParamRequired("Domain"))
14899	}
14900
14901	if invalidParams.Len() > 0 {
14902		return invalidParams
14903	}
14904	return nil
14905}
14906
14907// SetDomain sets the Domain field's value.
14908func (s *VerifyDomainIdentityInput) SetDomain(v string) *VerifyDomainIdentityInput {
14909	s.Domain = &v
14910	return s
14911}
14912
14913// Returns a TXT record that you must publish to the DNS server of your domain
14914// to complete domain verification with Amazon SES.
14915type VerifyDomainIdentityOutput struct {
14916	_ struct{} `type:"structure"`
14917
14918	// A TXT record that you must place in the DNS settings of the domain to complete
14919	// domain verification with Amazon SES.
14920	//
14921	// As Amazon SES searches for the TXT record, the domain's verification status
14922	// is "Pending". When Amazon SES detects the record, the domain's verification
14923	// status changes to "Success". If Amazon SES is unable to detect the record
14924	// within 72 hours, the domain's verification status changes to "Failed." In
14925	// that case, if you still want to verify the domain, you must restart the verification
14926	// process from the beginning.
14927	//
14928	// VerificationToken is a required field
14929	VerificationToken *string `type:"string" required:"true"`
14930}
14931
14932// String returns the string representation
14933func (s VerifyDomainIdentityOutput) String() string {
14934	return awsutil.Prettify(s)
14935}
14936
14937// GoString returns the string representation
14938func (s VerifyDomainIdentityOutput) GoString() string {
14939	return s.String()
14940}
14941
14942// SetVerificationToken sets the VerificationToken field's value.
14943func (s *VerifyDomainIdentityOutput) SetVerificationToken(v string) *VerifyDomainIdentityOutput {
14944	s.VerificationToken = &v
14945	return s
14946}
14947
14948// Represents a request to begin email address verification with Amazon SES.
14949// For information about email address verification, see the Amazon SES Developer
14950// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
14951type VerifyEmailAddressInput struct {
14952	_ struct{} `type:"structure"`
14953
14954	// The email address to be verified.
14955	//
14956	// EmailAddress is a required field
14957	EmailAddress *string `type:"string" required:"true"`
14958}
14959
14960// String returns the string representation
14961func (s VerifyEmailAddressInput) String() string {
14962	return awsutil.Prettify(s)
14963}
14964
14965// GoString returns the string representation
14966func (s VerifyEmailAddressInput) GoString() string {
14967	return s.String()
14968}
14969
14970// Validate inspects the fields of the type to determine if they are valid.
14971func (s *VerifyEmailAddressInput) Validate() error {
14972	invalidParams := request.ErrInvalidParams{Context: "VerifyEmailAddressInput"}
14973	if s.EmailAddress == nil {
14974		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
14975	}
14976
14977	if invalidParams.Len() > 0 {
14978		return invalidParams
14979	}
14980	return nil
14981}
14982
14983// SetEmailAddress sets the EmailAddress field's value.
14984func (s *VerifyEmailAddressInput) SetEmailAddress(v string) *VerifyEmailAddressInput {
14985	s.EmailAddress = &v
14986	return s
14987}
14988
14989type VerifyEmailAddressOutput struct {
14990	_ struct{} `type:"structure"`
14991}
14992
14993// String returns the string representation
14994func (s VerifyEmailAddressOutput) String() string {
14995	return awsutil.Prettify(s)
14996}
14997
14998// GoString returns the string representation
14999func (s VerifyEmailAddressOutput) GoString() string {
15000	return s.String()
15001}
15002
15003// Represents a request to begin email address verification with Amazon SES.
15004// For information about email address verification, see the Amazon SES Developer
15005// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
15006type VerifyEmailIdentityInput struct {
15007	_ struct{} `type:"structure"`
15008
15009	// The email address to be verified.
15010	//
15011	// EmailAddress is a required field
15012	EmailAddress *string `type:"string" required:"true"`
15013}
15014
15015// String returns the string representation
15016func (s VerifyEmailIdentityInput) String() string {
15017	return awsutil.Prettify(s)
15018}
15019
15020// GoString returns the string representation
15021func (s VerifyEmailIdentityInput) GoString() string {
15022	return s.String()
15023}
15024
15025// Validate inspects the fields of the type to determine if they are valid.
15026func (s *VerifyEmailIdentityInput) Validate() error {
15027	invalidParams := request.ErrInvalidParams{Context: "VerifyEmailIdentityInput"}
15028	if s.EmailAddress == nil {
15029		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
15030	}
15031
15032	if invalidParams.Len() > 0 {
15033		return invalidParams
15034	}
15035	return nil
15036}
15037
15038// SetEmailAddress sets the EmailAddress field's value.
15039func (s *VerifyEmailIdentityInput) SetEmailAddress(v string) *VerifyEmailIdentityInput {
15040	s.EmailAddress = &v
15041	return s
15042}
15043
15044// An empty element returned on a successful request.
15045type VerifyEmailIdentityOutput struct {
15046	_ struct{} `type:"structure"`
15047}
15048
15049// String returns the string representation
15050func (s VerifyEmailIdentityOutput) String() string {
15051	return awsutil.Prettify(s)
15052}
15053
15054// GoString returns the string representation
15055func (s VerifyEmailIdentityOutput) GoString() string {
15056	return s.String()
15057}
15058
15059// When included in a receipt rule, this action calls Amazon WorkMail and, optionally,
15060// publishes a notification to Amazon Simple Notification Service (Amazon SNS).
15061// You will typically not use this action directly because Amazon WorkMail adds
15062// the rule automatically during its setup procedure.
15063//
15064// For information using a receipt rule to call Amazon WorkMail, see the Amazon
15065// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-workmail.html).
15066type WorkmailAction struct {
15067	_ struct{} `type:"structure"`
15068
15069	// The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail
15070	// organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7.
15071	// For information about Amazon WorkMail organizations, see the Amazon WorkMail
15072	// Administrator Guide (https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html).
15073	//
15074	// OrganizationArn is a required field
15075	OrganizationArn *string `type:"string" required:"true"`
15076
15077	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
15078	// WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
15079	// For more information about Amazon SNS topics, see the Amazon SNS Developer
15080	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
15081	TopicArn *string `type:"string"`
15082}
15083
15084// String returns the string representation
15085func (s WorkmailAction) String() string {
15086	return awsutil.Prettify(s)
15087}
15088
15089// GoString returns the string representation
15090func (s WorkmailAction) GoString() string {
15091	return s.String()
15092}
15093
15094// Validate inspects the fields of the type to determine if they are valid.
15095func (s *WorkmailAction) Validate() error {
15096	invalidParams := request.ErrInvalidParams{Context: "WorkmailAction"}
15097	if s.OrganizationArn == nil {
15098		invalidParams.Add(request.NewErrParamRequired("OrganizationArn"))
15099	}
15100
15101	if invalidParams.Len() > 0 {
15102		return invalidParams
15103	}
15104	return nil
15105}
15106
15107// SetOrganizationArn sets the OrganizationArn field's value.
15108func (s *WorkmailAction) SetOrganizationArn(v string) *WorkmailAction {
15109	s.OrganizationArn = &v
15110	return s
15111}
15112
15113// SetTopicArn sets the TopicArn field's value.
15114func (s *WorkmailAction) SetTopicArn(v string) *WorkmailAction {
15115	s.TopicArn = &v
15116	return s
15117}
15118
15119const (
15120	// BehaviorOnMXFailureUseDefaultValue is a BehaviorOnMXFailure enum value
15121	BehaviorOnMXFailureUseDefaultValue = "UseDefaultValue"
15122
15123	// BehaviorOnMXFailureRejectMessage is a BehaviorOnMXFailure enum value
15124	BehaviorOnMXFailureRejectMessage = "RejectMessage"
15125)
15126
15127// BehaviorOnMXFailure_Values returns all elements of the BehaviorOnMXFailure enum
15128func BehaviorOnMXFailure_Values() []string {
15129	return []string{
15130		BehaviorOnMXFailureUseDefaultValue,
15131		BehaviorOnMXFailureRejectMessage,
15132	}
15133}
15134
15135const (
15136	// BounceTypeDoesNotExist is a BounceType enum value
15137	BounceTypeDoesNotExist = "DoesNotExist"
15138
15139	// BounceTypeMessageTooLarge is a BounceType enum value
15140	BounceTypeMessageTooLarge = "MessageTooLarge"
15141
15142	// BounceTypeExceededQuota is a BounceType enum value
15143	BounceTypeExceededQuota = "ExceededQuota"
15144
15145	// BounceTypeContentRejected is a BounceType enum value
15146	BounceTypeContentRejected = "ContentRejected"
15147
15148	// BounceTypeUndefined is a BounceType enum value
15149	BounceTypeUndefined = "Undefined"
15150
15151	// BounceTypeTemporaryFailure is a BounceType enum value
15152	BounceTypeTemporaryFailure = "TemporaryFailure"
15153)
15154
15155// BounceType_Values returns all elements of the BounceType enum
15156func BounceType_Values() []string {
15157	return []string{
15158		BounceTypeDoesNotExist,
15159		BounceTypeMessageTooLarge,
15160		BounceTypeExceededQuota,
15161		BounceTypeContentRejected,
15162		BounceTypeUndefined,
15163		BounceTypeTemporaryFailure,
15164	}
15165}
15166
15167const (
15168	// BulkEmailStatusSuccess is a BulkEmailStatus enum value
15169	BulkEmailStatusSuccess = "Success"
15170
15171	// BulkEmailStatusMessageRejected is a BulkEmailStatus enum value
15172	BulkEmailStatusMessageRejected = "MessageRejected"
15173
15174	// BulkEmailStatusMailFromDomainNotVerified is a BulkEmailStatus enum value
15175	BulkEmailStatusMailFromDomainNotVerified = "MailFromDomainNotVerified"
15176
15177	// BulkEmailStatusConfigurationSetDoesNotExist is a BulkEmailStatus enum value
15178	BulkEmailStatusConfigurationSetDoesNotExist = "ConfigurationSetDoesNotExist"
15179
15180	// BulkEmailStatusTemplateDoesNotExist is a BulkEmailStatus enum value
15181	BulkEmailStatusTemplateDoesNotExist = "TemplateDoesNotExist"
15182
15183	// BulkEmailStatusAccountSuspended is a BulkEmailStatus enum value
15184	BulkEmailStatusAccountSuspended = "AccountSuspended"
15185
15186	// BulkEmailStatusAccountThrottled is a BulkEmailStatus enum value
15187	BulkEmailStatusAccountThrottled = "AccountThrottled"
15188
15189	// BulkEmailStatusAccountDailyQuotaExceeded is a BulkEmailStatus enum value
15190	BulkEmailStatusAccountDailyQuotaExceeded = "AccountDailyQuotaExceeded"
15191
15192	// BulkEmailStatusInvalidSendingPoolName is a BulkEmailStatus enum value
15193	BulkEmailStatusInvalidSendingPoolName = "InvalidSendingPoolName"
15194
15195	// BulkEmailStatusAccountSendingPaused is a BulkEmailStatus enum value
15196	BulkEmailStatusAccountSendingPaused = "AccountSendingPaused"
15197
15198	// BulkEmailStatusConfigurationSetSendingPaused is a BulkEmailStatus enum value
15199	BulkEmailStatusConfigurationSetSendingPaused = "ConfigurationSetSendingPaused"
15200
15201	// BulkEmailStatusInvalidParameterValue is a BulkEmailStatus enum value
15202	BulkEmailStatusInvalidParameterValue = "InvalidParameterValue"
15203
15204	// BulkEmailStatusTransientFailure is a BulkEmailStatus enum value
15205	BulkEmailStatusTransientFailure = "TransientFailure"
15206
15207	// BulkEmailStatusFailed is a BulkEmailStatus enum value
15208	BulkEmailStatusFailed = "Failed"
15209)
15210
15211// BulkEmailStatus_Values returns all elements of the BulkEmailStatus enum
15212func BulkEmailStatus_Values() []string {
15213	return []string{
15214		BulkEmailStatusSuccess,
15215		BulkEmailStatusMessageRejected,
15216		BulkEmailStatusMailFromDomainNotVerified,
15217		BulkEmailStatusConfigurationSetDoesNotExist,
15218		BulkEmailStatusTemplateDoesNotExist,
15219		BulkEmailStatusAccountSuspended,
15220		BulkEmailStatusAccountThrottled,
15221		BulkEmailStatusAccountDailyQuotaExceeded,
15222		BulkEmailStatusInvalidSendingPoolName,
15223		BulkEmailStatusAccountSendingPaused,
15224		BulkEmailStatusConfigurationSetSendingPaused,
15225		BulkEmailStatusInvalidParameterValue,
15226		BulkEmailStatusTransientFailure,
15227		BulkEmailStatusFailed,
15228	}
15229}
15230
15231const (
15232	// ConfigurationSetAttributeEventDestinations is a ConfigurationSetAttribute enum value
15233	ConfigurationSetAttributeEventDestinations = "eventDestinations"
15234
15235	// ConfigurationSetAttributeTrackingOptions is a ConfigurationSetAttribute enum value
15236	ConfigurationSetAttributeTrackingOptions = "trackingOptions"
15237
15238	// ConfigurationSetAttributeDeliveryOptions is a ConfigurationSetAttribute enum value
15239	ConfigurationSetAttributeDeliveryOptions = "deliveryOptions"
15240
15241	// ConfigurationSetAttributeReputationOptions is a ConfigurationSetAttribute enum value
15242	ConfigurationSetAttributeReputationOptions = "reputationOptions"
15243)
15244
15245// ConfigurationSetAttribute_Values returns all elements of the ConfigurationSetAttribute enum
15246func ConfigurationSetAttribute_Values() []string {
15247	return []string{
15248		ConfigurationSetAttributeEventDestinations,
15249		ConfigurationSetAttributeTrackingOptions,
15250		ConfigurationSetAttributeDeliveryOptions,
15251		ConfigurationSetAttributeReputationOptions,
15252	}
15253}
15254
15255const (
15256	// CustomMailFromStatusPending is a CustomMailFromStatus enum value
15257	CustomMailFromStatusPending = "Pending"
15258
15259	// CustomMailFromStatusSuccess is a CustomMailFromStatus enum value
15260	CustomMailFromStatusSuccess = "Success"
15261
15262	// CustomMailFromStatusFailed is a CustomMailFromStatus enum value
15263	CustomMailFromStatusFailed = "Failed"
15264
15265	// CustomMailFromStatusTemporaryFailure is a CustomMailFromStatus enum value
15266	CustomMailFromStatusTemporaryFailure = "TemporaryFailure"
15267)
15268
15269// CustomMailFromStatus_Values returns all elements of the CustomMailFromStatus enum
15270func CustomMailFromStatus_Values() []string {
15271	return []string{
15272		CustomMailFromStatusPending,
15273		CustomMailFromStatusSuccess,
15274		CustomMailFromStatusFailed,
15275		CustomMailFromStatusTemporaryFailure,
15276	}
15277}
15278
15279const (
15280	// DimensionValueSourceMessageTag is a DimensionValueSource enum value
15281	DimensionValueSourceMessageTag = "messageTag"
15282
15283	// DimensionValueSourceEmailHeader is a DimensionValueSource enum value
15284	DimensionValueSourceEmailHeader = "emailHeader"
15285
15286	// DimensionValueSourceLinkTag is a DimensionValueSource enum value
15287	DimensionValueSourceLinkTag = "linkTag"
15288)
15289
15290// DimensionValueSource_Values returns all elements of the DimensionValueSource enum
15291func DimensionValueSource_Values() []string {
15292	return []string{
15293		DimensionValueSourceMessageTag,
15294		DimensionValueSourceEmailHeader,
15295		DimensionValueSourceLinkTag,
15296	}
15297}
15298
15299const (
15300	// DsnActionFailed is a DsnAction enum value
15301	DsnActionFailed = "failed"
15302
15303	// DsnActionDelayed is a DsnAction enum value
15304	DsnActionDelayed = "delayed"
15305
15306	// DsnActionDelivered is a DsnAction enum value
15307	DsnActionDelivered = "delivered"
15308
15309	// DsnActionRelayed is a DsnAction enum value
15310	DsnActionRelayed = "relayed"
15311
15312	// DsnActionExpanded is a DsnAction enum value
15313	DsnActionExpanded = "expanded"
15314)
15315
15316// DsnAction_Values returns all elements of the DsnAction enum
15317func DsnAction_Values() []string {
15318	return []string{
15319		DsnActionFailed,
15320		DsnActionDelayed,
15321		DsnActionDelivered,
15322		DsnActionRelayed,
15323		DsnActionExpanded,
15324	}
15325}
15326
15327const (
15328	// EventTypeSend is a EventType enum value
15329	EventTypeSend = "send"
15330
15331	// EventTypeReject is a EventType enum value
15332	EventTypeReject = "reject"
15333
15334	// EventTypeBounce is a EventType enum value
15335	EventTypeBounce = "bounce"
15336
15337	// EventTypeComplaint is a EventType enum value
15338	EventTypeComplaint = "complaint"
15339
15340	// EventTypeDelivery is a EventType enum value
15341	EventTypeDelivery = "delivery"
15342
15343	// EventTypeOpen is a EventType enum value
15344	EventTypeOpen = "open"
15345
15346	// EventTypeClick is a EventType enum value
15347	EventTypeClick = "click"
15348
15349	// EventTypeRenderingFailure is a EventType enum value
15350	EventTypeRenderingFailure = "renderingFailure"
15351)
15352
15353// EventType_Values returns all elements of the EventType enum
15354func EventType_Values() []string {
15355	return []string{
15356		EventTypeSend,
15357		EventTypeReject,
15358		EventTypeBounce,
15359		EventTypeComplaint,
15360		EventTypeDelivery,
15361		EventTypeOpen,
15362		EventTypeClick,
15363		EventTypeRenderingFailure,
15364	}
15365}
15366
15367const (
15368	// IdentityTypeEmailAddress is a IdentityType enum value
15369	IdentityTypeEmailAddress = "EmailAddress"
15370
15371	// IdentityTypeDomain is a IdentityType enum value
15372	IdentityTypeDomain = "Domain"
15373)
15374
15375// IdentityType_Values returns all elements of the IdentityType enum
15376func IdentityType_Values() []string {
15377	return []string{
15378		IdentityTypeEmailAddress,
15379		IdentityTypeDomain,
15380	}
15381}
15382
15383const (
15384	// InvocationTypeEvent is a InvocationType enum value
15385	InvocationTypeEvent = "Event"
15386
15387	// InvocationTypeRequestResponse is a InvocationType enum value
15388	InvocationTypeRequestResponse = "RequestResponse"
15389)
15390
15391// InvocationType_Values returns all elements of the InvocationType enum
15392func InvocationType_Values() []string {
15393	return []string{
15394		InvocationTypeEvent,
15395		InvocationTypeRequestResponse,
15396	}
15397}
15398
15399const (
15400	// NotificationTypeBounce is a NotificationType enum value
15401	NotificationTypeBounce = "Bounce"
15402
15403	// NotificationTypeComplaint is a NotificationType enum value
15404	NotificationTypeComplaint = "Complaint"
15405
15406	// NotificationTypeDelivery is a NotificationType enum value
15407	NotificationTypeDelivery = "Delivery"
15408)
15409
15410// NotificationType_Values returns all elements of the NotificationType enum
15411func NotificationType_Values() []string {
15412	return []string{
15413		NotificationTypeBounce,
15414		NotificationTypeComplaint,
15415		NotificationTypeDelivery,
15416	}
15417}
15418
15419const (
15420	// ReceiptFilterPolicyBlock is a ReceiptFilterPolicy enum value
15421	ReceiptFilterPolicyBlock = "Block"
15422
15423	// ReceiptFilterPolicyAllow is a ReceiptFilterPolicy enum value
15424	ReceiptFilterPolicyAllow = "Allow"
15425)
15426
15427// ReceiptFilterPolicy_Values returns all elements of the ReceiptFilterPolicy enum
15428func ReceiptFilterPolicy_Values() []string {
15429	return []string{
15430		ReceiptFilterPolicyBlock,
15431		ReceiptFilterPolicyAllow,
15432	}
15433}
15434
15435const (
15436	// SNSActionEncodingUtf8 is a SNSActionEncoding enum value
15437	SNSActionEncodingUtf8 = "UTF-8"
15438
15439	// SNSActionEncodingBase64 is a SNSActionEncoding enum value
15440	SNSActionEncodingBase64 = "Base64"
15441)
15442
15443// SNSActionEncoding_Values returns all elements of the SNSActionEncoding enum
15444func SNSActionEncoding_Values() []string {
15445	return []string{
15446		SNSActionEncodingUtf8,
15447		SNSActionEncodingBase64,
15448	}
15449}
15450
15451const (
15452	// StopScopeRuleSet is a StopScope enum value
15453	StopScopeRuleSet = "RuleSet"
15454)
15455
15456// StopScope_Values returns all elements of the StopScope enum
15457func StopScope_Values() []string {
15458	return []string{
15459		StopScopeRuleSet,
15460	}
15461}
15462
15463const (
15464	// TlsPolicyRequire is a TlsPolicy enum value
15465	TlsPolicyRequire = "Require"
15466
15467	// TlsPolicyOptional is a TlsPolicy enum value
15468	TlsPolicyOptional = "Optional"
15469)
15470
15471// TlsPolicy_Values returns all elements of the TlsPolicy enum
15472func TlsPolicy_Values() []string {
15473	return []string{
15474		TlsPolicyRequire,
15475		TlsPolicyOptional,
15476	}
15477}
15478
15479const (
15480	// VerificationStatusPending is a VerificationStatus enum value
15481	VerificationStatusPending = "Pending"
15482
15483	// VerificationStatusSuccess is a VerificationStatus enum value
15484	VerificationStatusSuccess = "Success"
15485
15486	// VerificationStatusFailed is a VerificationStatus enum value
15487	VerificationStatusFailed = "Failed"
15488
15489	// VerificationStatusTemporaryFailure is a VerificationStatus enum value
15490	VerificationStatusTemporaryFailure = "TemporaryFailure"
15491
15492	// VerificationStatusNotStarted is a VerificationStatus enum value
15493	VerificationStatusNotStarted = "NotStarted"
15494)
15495
15496// VerificationStatus_Values returns all elements of the VerificationStatus enum
15497func VerificationStatus_Values() []string {
15498	return []string{
15499		VerificationStatusPending,
15500		VerificationStatusSuccess,
15501		VerificationStatusFailed,
15502		VerificationStatusTemporaryFailure,
15503		VerificationStatusNotStarted,
15504	}
15505}
15506