github.com/aavshr/aws-sdk-go@v1.41.3/service/ses/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package ses
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/query"
    14  )
    15  
    16  const 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
    42  func (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
    89  func (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.
   103  func (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  
   110  const 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
   136  func (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
   183  func (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.
   197  func (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  
   204  const 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
   230  func (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
   293  func (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.
   307  func (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  
   314  const 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
   340  func (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
   391  func (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.
   405  func (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  
   412  const 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
   438  func (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
   490  func (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.
   504  func (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  
   511  const 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
   537  func (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
   579  func (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.
   593  func (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  
   600  const 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
   626  func (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
   691  func (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.
   705  func (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  
   712  const 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
   738  func (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
   780  func (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.
   794  func (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  
   801  const 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
   827  func (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
   872  func (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.
   886  func (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  
   893  const 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
   919  func (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
   956  func (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.
   970  func (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  
   977  const 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
  1003  func (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
  1044  func (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.
  1058  func (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  
  1065  const 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
  1091  func (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
  1137  func (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.
  1151  func (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  
  1158  const 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
  1184  func (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
  1218  func (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.
  1232  func (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  
  1239  const 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
  1265  func (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
  1296  func (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.
  1310  func (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  
  1317  const 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
  1343  func (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
  1382  func (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.
  1396  func (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  
  1403  const 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
  1429  func (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
  1462  func (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.
  1476  func (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  
  1483  const 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
  1509  func (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
  1547  func (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.
  1561  func (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  
  1568  const 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
  1594  func (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
  1634  func (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.
  1648  func (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  
  1655  const 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
  1681  func (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
  1711  func (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.
  1725  func (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  
  1732  const 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
  1758  func (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
  1787  func (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.
  1801  func (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  
  1808  const 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
  1834  func (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
  1867  func (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.
  1881  func (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  
  1888  const 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
  1914  func (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
  1949  func (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.
  1963  func (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  
  1970  const 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
  1996  func (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
  2036  func (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.
  2050  func (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  
  2057  const 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
  2083  func (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
  2120  func (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.
  2134  func (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  
  2141  const 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
  2167  func (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
  2197  func (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.
  2211  func (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  
  2218  const 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
  2244  func (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
  2284  func (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.
  2298  func (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  
  2305  const 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
  2331  func (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
  2379  func (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.
  2393  func (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  
  2400  const 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
  2426  func (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
  2457  func (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.
  2471  func (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  
  2478  const 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
  2504  func (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
  2538  func (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.
  2552  func (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  
  2559  const 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
  2585  func (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
  2624  func (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.
  2638  func (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  
  2645  const 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
  2671  func (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
  2719  func (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.
  2733  func (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  
  2740  const 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
  2766  func (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
  2795  func (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.
  2809  func (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  
  2816  const 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
  2842  func (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
  2873  func (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.
  2887  func (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  
  2894  const 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
  2920  func (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
  2956  func (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.
  2970  func (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  
  2977  const 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
  3003  func (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
  3040  func (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.
  3054  func (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  
  3061  const 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
  3087  func (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
  3127  func (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.
  3141  func (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  //
  3165  func (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.
  3176  func (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  
  3200  const 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
  3226  func (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
  3263  func (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.
  3277  func (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  //
  3301  func (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.
  3312  func (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  
  3336  const 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
  3362  func (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
  3400  func (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.
  3414  func (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  
  3421  const 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
  3447  func (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
  3480  func (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.
  3494  func (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  
  3501  const 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
  3527  func (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
  3562  func (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.
  3576  func (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  
  3583  const 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
  3609  func (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
  3639  func (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.
  3653  func (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  
  3660  const 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
  3686  func (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
  3714  func (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.
  3728  func (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  
  3735  const 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
  3761  func (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
  3797  func (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.
  3811  func (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  
  3818  const 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
  3844  func (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
  3888  func (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.
  3902  func (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  
  3909  const 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
  3935  func (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
  3980  func (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.
  3994  func (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  
  4001  const 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
  4027  func (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
  4070  func (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.
  4084  func (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  
  4091  const 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
  4117  func (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
  4207  func (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.
  4221  func (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  
  4228  const 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
  4254  func (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
  4312  func (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.
  4326  func (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  
  4333  const 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
  4359  func (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
  4445  func (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.
  4459  func (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  
  4466  const 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
  4492  func (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
  4615  func (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.
  4629  func (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  
  4636  const 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
  4662  func (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
  4759  func (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.
  4773  func (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  
  4780  const 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
  4806  func (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
  4847  func (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.
  4861  func (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  
  4868  const 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
  4894  func (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
  4939  func (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.
  4953  func (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  
  4960  const 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
  4986  func (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
  5025  func (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.
  5039  func (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  
  5046  const 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
  5072  func (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
  5107  func (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.
  5121  func (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  
  5128  const 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
  5154  func (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
  5190  func (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.
  5204  func (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  
  5211  const 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
  5237  func (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
  5275  func (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.
  5289  func (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  
  5296  const 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
  5322  func (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
  5363  func (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.
  5377  func (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  
  5384  const 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
  5410  func (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
  5455  func (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.
  5469  func (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  
  5476  const 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
  5502  func (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
  5536  func (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.
  5550  func (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  
  5557  const 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
  5583  func (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
  5642  func (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.
  5656  func (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  
  5663  const 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
  5689  func (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
  5728  func (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.
  5742  func (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  
  5749  const 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
  5775  func (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
  5814  func (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.
  5828  func (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  
  5835  const 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
  5861  func (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
  5911  func (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.
  5925  func (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  
  5932  const 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
  5958  func (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
  6006  func (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.
  6020  func (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  
  6027  const 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
  6053  func (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
  6115  func (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.
  6129  func (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  
  6136  const 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
  6162  func (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
  6204  func (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.
  6218  func (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  
  6225  const 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
  6251  func (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
  6306  func (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.
  6320  func (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  
  6327  const 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
  6353  func (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
  6385  func (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.
  6399  func (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  
  6406  const 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
  6432  func (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
  6460  func (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.
  6474  func (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  
  6481  const 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
  6507  func (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
  6539  func (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.
  6553  func (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).
  6565  type 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.
  6582  //
  6583  // API parameter values that are decorated as "sensitive" in the API will not
  6584  // be included in the string output. The member name will be present, but the
  6585  // value will be replaced with "sensitive".
  6586  func (s AddHeaderAction) String() string {
  6587  	return awsutil.Prettify(s)
  6588  }
  6589  
  6590  // GoString returns the string representation.
  6591  //
  6592  // API parameter values that are decorated as "sensitive" in the API will not
  6593  // be included in the string output. The member name will be present, but the
  6594  // value will be replaced with "sensitive".
  6595  func (s AddHeaderAction) GoString() string {
  6596  	return s.String()
  6597  }
  6598  
  6599  // Validate inspects the fields of the type to determine if they are valid.
  6600  func (s *AddHeaderAction) Validate() error {
  6601  	invalidParams := request.ErrInvalidParams{Context: "AddHeaderAction"}
  6602  	if s.HeaderName == nil {
  6603  		invalidParams.Add(request.NewErrParamRequired("HeaderName"))
  6604  	}
  6605  	if s.HeaderValue == nil {
  6606  		invalidParams.Add(request.NewErrParamRequired("HeaderValue"))
  6607  	}
  6608  
  6609  	if invalidParams.Len() > 0 {
  6610  		return invalidParams
  6611  	}
  6612  	return nil
  6613  }
  6614  
  6615  // SetHeaderName sets the HeaderName field's value.
  6616  func (s *AddHeaderAction) SetHeaderName(v string) *AddHeaderAction {
  6617  	s.HeaderName = &v
  6618  	return s
  6619  }
  6620  
  6621  // SetHeaderValue sets the HeaderValue field's value.
  6622  func (s *AddHeaderAction) SetHeaderValue(v string) *AddHeaderAction {
  6623  	s.HeaderValue = &v
  6624  	return s
  6625  }
  6626  
  6627  // Represents the body of the message. You can specify text, HTML, or both.
  6628  // If you use both, then the message should display correctly in the widest
  6629  // variety of email clients.
  6630  type Body struct {
  6631  	_ struct{} `type:"structure"`
  6632  
  6633  	// The content of the message, in HTML format. Use this for email clients that
  6634  	// can process HTML. You can include clickable links, formatted text, and much
  6635  	// more in an HTML message.
  6636  	Html *Content `type:"structure"`
  6637  
  6638  	// The content of the message, in text format. Use this for text-based email
  6639  	// clients, or clients on high-latency networks (such as mobile devices).
  6640  	Text *Content `type:"structure"`
  6641  }
  6642  
  6643  // String returns the string representation.
  6644  //
  6645  // API parameter values that are decorated as "sensitive" in the API will not
  6646  // be included in the string output. The member name will be present, but the
  6647  // value will be replaced with "sensitive".
  6648  func (s Body) String() string {
  6649  	return awsutil.Prettify(s)
  6650  }
  6651  
  6652  // GoString returns the string representation.
  6653  //
  6654  // API parameter values that are decorated as "sensitive" in the API will not
  6655  // be included in the string output. The member name will be present, but the
  6656  // value will be replaced with "sensitive".
  6657  func (s Body) GoString() string {
  6658  	return s.String()
  6659  }
  6660  
  6661  // Validate inspects the fields of the type to determine if they are valid.
  6662  func (s *Body) Validate() error {
  6663  	invalidParams := request.ErrInvalidParams{Context: "Body"}
  6664  	if s.Html != nil {
  6665  		if err := s.Html.Validate(); err != nil {
  6666  			invalidParams.AddNested("Html", err.(request.ErrInvalidParams))
  6667  		}
  6668  	}
  6669  	if s.Text != nil {
  6670  		if err := s.Text.Validate(); err != nil {
  6671  			invalidParams.AddNested("Text", err.(request.ErrInvalidParams))
  6672  		}
  6673  	}
  6674  
  6675  	if invalidParams.Len() > 0 {
  6676  		return invalidParams
  6677  	}
  6678  	return nil
  6679  }
  6680  
  6681  // SetHtml sets the Html field's value.
  6682  func (s *Body) SetHtml(v *Content) *Body {
  6683  	s.Html = v
  6684  	return s
  6685  }
  6686  
  6687  // SetText sets the Text field's value.
  6688  func (s *Body) SetText(v *Content) *Body {
  6689  	s.Text = v
  6690  	return s
  6691  }
  6692  
  6693  // When included in a receipt rule, this action rejects the received email by
  6694  // returning a bounce response to the sender and, optionally, publishes a notification
  6695  // to Amazon Simple Notification Service (Amazon SNS).
  6696  //
  6697  // For information about sending a bounce message in response to a received
  6698  // email, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-bounce.html).
  6699  type BounceAction struct {
  6700  	_ struct{} `type:"structure"`
  6701  
  6702  	// Human-readable text to include in the bounce message.
  6703  	//
  6704  	// Message is a required field
  6705  	Message *string `type:"string" required:"true"`
  6706  
  6707  	// The email address of the sender of the bounced email. This is the address
  6708  	// from which the bounce message will be sent.
  6709  	//
  6710  	// Sender is a required field
  6711  	Sender *string `type:"string" required:"true"`
  6712  
  6713  	// The SMTP reply code, as defined by RFC 5321 (https://tools.ietf.org/html/rfc5321).
  6714  	//
  6715  	// SmtpReplyCode is a required field
  6716  	SmtpReplyCode *string `type:"string" required:"true"`
  6717  
  6718  	// The SMTP enhanced status code, as defined by RFC 3463 (https://tools.ietf.org/html/rfc3463).
  6719  	StatusCode *string `type:"string"`
  6720  
  6721  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
  6722  	// bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
  6723  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
  6724  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
  6725  	TopicArn *string `type:"string"`
  6726  }
  6727  
  6728  // String returns the string representation.
  6729  //
  6730  // API parameter values that are decorated as "sensitive" in the API will not
  6731  // be included in the string output. The member name will be present, but the
  6732  // value will be replaced with "sensitive".
  6733  func (s BounceAction) String() string {
  6734  	return awsutil.Prettify(s)
  6735  }
  6736  
  6737  // GoString returns the string representation.
  6738  //
  6739  // API parameter values that are decorated as "sensitive" in the API will not
  6740  // be included in the string output. The member name will be present, but the
  6741  // value will be replaced with "sensitive".
  6742  func (s BounceAction) GoString() string {
  6743  	return s.String()
  6744  }
  6745  
  6746  // Validate inspects the fields of the type to determine if they are valid.
  6747  func (s *BounceAction) Validate() error {
  6748  	invalidParams := request.ErrInvalidParams{Context: "BounceAction"}
  6749  	if s.Message == nil {
  6750  		invalidParams.Add(request.NewErrParamRequired("Message"))
  6751  	}
  6752  	if s.Sender == nil {
  6753  		invalidParams.Add(request.NewErrParamRequired("Sender"))
  6754  	}
  6755  	if s.SmtpReplyCode == nil {
  6756  		invalidParams.Add(request.NewErrParamRequired("SmtpReplyCode"))
  6757  	}
  6758  
  6759  	if invalidParams.Len() > 0 {
  6760  		return invalidParams
  6761  	}
  6762  	return nil
  6763  }
  6764  
  6765  // SetMessage sets the Message field's value.
  6766  func (s *BounceAction) SetMessage(v string) *BounceAction {
  6767  	s.Message = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetSender sets the Sender field's value.
  6772  func (s *BounceAction) SetSender(v string) *BounceAction {
  6773  	s.Sender = &v
  6774  	return s
  6775  }
  6776  
  6777  // SetSmtpReplyCode sets the SmtpReplyCode field's value.
  6778  func (s *BounceAction) SetSmtpReplyCode(v string) *BounceAction {
  6779  	s.SmtpReplyCode = &v
  6780  	return s
  6781  }
  6782  
  6783  // SetStatusCode sets the StatusCode field's value.
  6784  func (s *BounceAction) SetStatusCode(v string) *BounceAction {
  6785  	s.StatusCode = &v
  6786  	return s
  6787  }
  6788  
  6789  // SetTopicArn sets the TopicArn field's value.
  6790  func (s *BounceAction) SetTopicArn(v string) *BounceAction {
  6791  	s.TopicArn = &v
  6792  	return s
  6793  }
  6794  
  6795  // Recipient-related information to include in the Delivery Status Notification
  6796  // (DSN) when an email that Amazon SES receives on your behalf bounces.
  6797  //
  6798  // For information about receiving email through Amazon SES, see the Amazon
  6799  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
  6800  type BouncedRecipientInfo struct {
  6801  	_ struct{} `type:"structure"`
  6802  
  6803  	// The reason for the bounce. You must provide either this parameter or RecipientDsnFields.
  6804  	BounceType *string `type:"string" enum:"BounceType"`
  6805  
  6806  	// The email address of the recipient of the bounced email.
  6807  	//
  6808  	// Recipient is a required field
  6809  	Recipient *string `type:"string" required:"true"`
  6810  
  6811  	// This parameter is used only for sending authorization. It is the ARN of the
  6812  	// identity that is associated with the sending authorization policy that permits
  6813  	// you to receive email for the recipient of the bounced email. For more information
  6814  	// about sending authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
  6815  	RecipientArn *string `type:"string"`
  6816  
  6817  	// Recipient-related DSN fields, most of which would normally be filled in automatically
  6818  	// when provided with a BounceType. You must provide either this parameter or
  6819  	// BounceType.
  6820  	RecipientDsnFields *RecipientDsnFields `type:"structure"`
  6821  }
  6822  
  6823  // String returns the string representation.
  6824  //
  6825  // API parameter values that are decorated as "sensitive" in the API will not
  6826  // be included in the string output. The member name will be present, but the
  6827  // value will be replaced with "sensitive".
  6828  func (s BouncedRecipientInfo) String() string {
  6829  	return awsutil.Prettify(s)
  6830  }
  6831  
  6832  // GoString returns the string representation.
  6833  //
  6834  // API parameter values that are decorated as "sensitive" in the API will not
  6835  // be included in the string output. The member name will be present, but the
  6836  // value will be replaced with "sensitive".
  6837  func (s BouncedRecipientInfo) GoString() string {
  6838  	return s.String()
  6839  }
  6840  
  6841  // Validate inspects the fields of the type to determine if they are valid.
  6842  func (s *BouncedRecipientInfo) Validate() error {
  6843  	invalidParams := request.ErrInvalidParams{Context: "BouncedRecipientInfo"}
  6844  	if s.Recipient == nil {
  6845  		invalidParams.Add(request.NewErrParamRequired("Recipient"))
  6846  	}
  6847  	if s.RecipientDsnFields != nil {
  6848  		if err := s.RecipientDsnFields.Validate(); err != nil {
  6849  			invalidParams.AddNested("RecipientDsnFields", err.(request.ErrInvalidParams))
  6850  		}
  6851  	}
  6852  
  6853  	if invalidParams.Len() > 0 {
  6854  		return invalidParams
  6855  	}
  6856  	return nil
  6857  }
  6858  
  6859  // SetBounceType sets the BounceType field's value.
  6860  func (s *BouncedRecipientInfo) SetBounceType(v string) *BouncedRecipientInfo {
  6861  	s.BounceType = &v
  6862  	return s
  6863  }
  6864  
  6865  // SetRecipient sets the Recipient field's value.
  6866  func (s *BouncedRecipientInfo) SetRecipient(v string) *BouncedRecipientInfo {
  6867  	s.Recipient = &v
  6868  	return s
  6869  }
  6870  
  6871  // SetRecipientArn sets the RecipientArn field's value.
  6872  func (s *BouncedRecipientInfo) SetRecipientArn(v string) *BouncedRecipientInfo {
  6873  	s.RecipientArn = &v
  6874  	return s
  6875  }
  6876  
  6877  // SetRecipientDsnFields sets the RecipientDsnFields field's value.
  6878  func (s *BouncedRecipientInfo) SetRecipientDsnFields(v *RecipientDsnFields) *BouncedRecipientInfo {
  6879  	s.RecipientDsnFields = v
  6880  	return s
  6881  }
  6882  
  6883  // An array that contains one or more Destinations, as well as the tags and
  6884  // replacement data associated with each of those Destinations.
  6885  type BulkEmailDestination struct {
  6886  	_ struct{} `type:"structure"`
  6887  
  6888  	// Represents the destination of the message, consisting of To:, CC:, and BCC:
  6889  	// fields.
  6890  	//
  6891  	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
  6892  	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
  6893  	// a destination email address (the part of the email address that precedes
  6894  	// the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
  6895  	// If the domain part of an address (the part after the @ sign) contains non-ASCII
  6896  	// characters, they must be encoded using Punycode, as described in RFC3492
  6897  	// (https://tools.ietf.org/html/rfc3492.html).
  6898  	//
  6899  	// Destination is a required field
  6900  	Destination *Destination `type:"structure" required:"true"`
  6901  
  6902  	// A list of tags, in the form of name/value pairs, to apply to an email that
  6903  	// you send using SendBulkTemplatedEmail. Tags correspond to characteristics
  6904  	// of the email that you define, so that you can publish email sending events.
  6905  	ReplacementTags []*MessageTag `type:"list"`
  6906  
  6907  	// A list of replacement values to apply to the template. This parameter is
  6908  	// a JSON object, typically consisting of key-value pairs in which the keys
  6909  	// correspond to replacement tags in the email template.
  6910  	ReplacementTemplateData *string `type:"string"`
  6911  }
  6912  
  6913  // String returns the string representation.
  6914  //
  6915  // API parameter values that are decorated as "sensitive" in the API will not
  6916  // be included in the string output. The member name will be present, but the
  6917  // value will be replaced with "sensitive".
  6918  func (s BulkEmailDestination) String() string {
  6919  	return awsutil.Prettify(s)
  6920  }
  6921  
  6922  // GoString returns the string representation.
  6923  //
  6924  // API parameter values that are decorated as "sensitive" in the API will not
  6925  // be included in the string output. The member name will be present, but the
  6926  // value will be replaced with "sensitive".
  6927  func (s BulkEmailDestination) GoString() string {
  6928  	return s.String()
  6929  }
  6930  
  6931  // Validate inspects the fields of the type to determine if they are valid.
  6932  func (s *BulkEmailDestination) Validate() error {
  6933  	invalidParams := request.ErrInvalidParams{Context: "BulkEmailDestination"}
  6934  	if s.Destination == nil {
  6935  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  6936  	}
  6937  	if s.ReplacementTags != nil {
  6938  		for i, v := range s.ReplacementTags {
  6939  			if v == nil {
  6940  				continue
  6941  			}
  6942  			if err := v.Validate(); err != nil {
  6943  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplacementTags", i), err.(request.ErrInvalidParams))
  6944  			}
  6945  		}
  6946  	}
  6947  
  6948  	if invalidParams.Len() > 0 {
  6949  		return invalidParams
  6950  	}
  6951  	return nil
  6952  }
  6953  
  6954  // SetDestination sets the Destination field's value.
  6955  func (s *BulkEmailDestination) SetDestination(v *Destination) *BulkEmailDestination {
  6956  	s.Destination = v
  6957  	return s
  6958  }
  6959  
  6960  // SetReplacementTags sets the ReplacementTags field's value.
  6961  func (s *BulkEmailDestination) SetReplacementTags(v []*MessageTag) *BulkEmailDestination {
  6962  	s.ReplacementTags = v
  6963  	return s
  6964  }
  6965  
  6966  // SetReplacementTemplateData sets the ReplacementTemplateData field's value.
  6967  func (s *BulkEmailDestination) SetReplacementTemplateData(v string) *BulkEmailDestination {
  6968  	s.ReplacementTemplateData = &v
  6969  	return s
  6970  }
  6971  
  6972  // An object that contains the response from the SendBulkTemplatedEmail operation.
  6973  type BulkEmailDestinationStatus struct {
  6974  	_ struct{} `type:"structure"`
  6975  
  6976  	// A description of an error that prevented a message being sent using the SendBulkTemplatedEmail
  6977  	// operation.
  6978  	Error *string `type:"string"`
  6979  
  6980  	// The unique message identifier returned from the SendBulkTemplatedEmail operation.
  6981  	MessageId *string `type:"string"`
  6982  
  6983  	// The status of a message sent using the SendBulkTemplatedEmail operation.
  6984  	//
  6985  	// Possible values for this parameter include:
  6986  	//
  6987  	//    * Success: Amazon SES accepted the message, and will attempt to deliver
  6988  	//    it to the recipients.
  6989  	//
  6990  	//    * MessageRejected: The message was rejected because it contained a virus.
  6991  	//
  6992  	//    * MailFromDomainNotVerified: The sender's email address or domain was
  6993  	//    not verified.
  6994  	//
  6995  	//    * ConfigurationSetDoesNotExist: The configuration set you specified does
  6996  	//    not exist.
  6997  	//
  6998  	//    * TemplateDoesNotExist: The template you specified does not exist.
  6999  	//
  7000  	//    * AccountSuspended: Your account has been shut down because of issues
  7001  	//    related to your email sending practices.
  7002  	//
  7003  	//    * AccountThrottled: The number of emails you can send has been reduced
  7004  	//    because your account has exceeded its allocated sending limit.
  7005  	//
  7006  	//    * AccountDailyQuotaExceeded: You have reached or exceeded the maximum
  7007  	//    number of emails you can send from your account in a 24-hour period.
  7008  	//
  7009  	//    * InvalidSendingPoolName: The configuration set you specified refers to
  7010  	//    an IP pool that does not exist.
  7011  	//
  7012  	//    * AccountSendingPaused: Email sending for the Amazon SES account was disabled
  7013  	//    using the UpdateAccountSendingEnabled operation.
  7014  	//
  7015  	//    * ConfigurationSetSendingPaused: Email sending for this configuration
  7016  	//    set was disabled using the UpdateConfigurationSetSendingEnabled operation.
  7017  	//
  7018  	//    * InvalidParameterValue: One or more of the parameters you specified when
  7019  	//    calling this operation was invalid. See the error message for additional
  7020  	//    information.
  7021  	//
  7022  	//    * TransientFailure: Amazon SES was unable to process your request because
  7023  	//    of a temporary issue.
  7024  	//
  7025  	//    * Failed: Amazon SES was unable to process your request. See the error
  7026  	//    message for additional information.
  7027  	Status *string `type:"string" enum:"BulkEmailStatus"`
  7028  }
  7029  
  7030  // String returns the string representation.
  7031  //
  7032  // API parameter values that are decorated as "sensitive" in the API will not
  7033  // be included in the string output. The member name will be present, but the
  7034  // value will be replaced with "sensitive".
  7035  func (s BulkEmailDestinationStatus) String() string {
  7036  	return awsutil.Prettify(s)
  7037  }
  7038  
  7039  // GoString returns the string representation.
  7040  //
  7041  // API parameter values that are decorated as "sensitive" in the API will not
  7042  // be included in the string output. The member name will be present, but the
  7043  // value will be replaced with "sensitive".
  7044  func (s BulkEmailDestinationStatus) GoString() string {
  7045  	return s.String()
  7046  }
  7047  
  7048  // SetError sets the Error field's value.
  7049  func (s *BulkEmailDestinationStatus) SetError(v string) *BulkEmailDestinationStatus {
  7050  	s.Error = &v
  7051  	return s
  7052  }
  7053  
  7054  // SetMessageId sets the MessageId field's value.
  7055  func (s *BulkEmailDestinationStatus) SetMessageId(v string) *BulkEmailDestinationStatus {
  7056  	s.MessageId = &v
  7057  	return s
  7058  }
  7059  
  7060  // SetStatus sets the Status field's value.
  7061  func (s *BulkEmailDestinationStatus) SetStatus(v string) *BulkEmailDestinationStatus {
  7062  	s.Status = &v
  7063  	return s
  7064  }
  7065  
  7066  // Represents a request to create a receipt rule set by cloning an existing
  7067  // one. You use receipt rule sets to receive email with Amazon SES. For more
  7068  // information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  7069  type CloneReceiptRuleSetInput struct {
  7070  	_ struct{} `type:"structure"`
  7071  
  7072  	// The name of the rule set to clone.
  7073  	//
  7074  	// OriginalRuleSetName is a required field
  7075  	OriginalRuleSetName *string `type:"string" required:"true"`
  7076  
  7077  	// The name of the rule set to create. The name must:
  7078  	//
  7079  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
  7080  	//    underscores (_), or dashes (-).
  7081  	//
  7082  	//    * Start and end with a letter or number.
  7083  	//
  7084  	//    * Contain less than 64 characters.
  7085  	//
  7086  	// RuleSetName is a required field
  7087  	RuleSetName *string `type:"string" required:"true"`
  7088  }
  7089  
  7090  // String returns the string representation.
  7091  //
  7092  // API parameter values that are decorated as "sensitive" in the API will not
  7093  // be included in the string output. The member name will be present, but the
  7094  // value will be replaced with "sensitive".
  7095  func (s CloneReceiptRuleSetInput) String() string {
  7096  	return awsutil.Prettify(s)
  7097  }
  7098  
  7099  // GoString returns the string representation.
  7100  //
  7101  // API parameter values that are decorated as "sensitive" in the API will not
  7102  // be included in the string output. The member name will be present, but the
  7103  // value will be replaced with "sensitive".
  7104  func (s CloneReceiptRuleSetInput) GoString() string {
  7105  	return s.String()
  7106  }
  7107  
  7108  // Validate inspects the fields of the type to determine if they are valid.
  7109  func (s *CloneReceiptRuleSetInput) Validate() error {
  7110  	invalidParams := request.ErrInvalidParams{Context: "CloneReceiptRuleSetInput"}
  7111  	if s.OriginalRuleSetName == nil {
  7112  		invalidParams.Add(request.NewErrParamRequired("OriginalRuleSetName"))
  7113  	}
  7114  	if s.RuleSetName == nil {
  7115  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
  7116  	}
  7117  
  7118  	if invalidParams.Len() > 0 {
  7119  		return invalidParams
  7120  	}
  7121  	return nil
  7122  }
  7123  
  7124  // SetOriginalRuleSetName sets the OriginalRuleSetName field's value.
  7125  func (s *CloneReceiptRuleSetInput) SetOriginalRuleSetName(v string) *CloneReceiptRuleSetInput {
  7126  	s.OriginalRuleSetName = &v
  7127  	return s
  7128  }
  7129  
  7130  // SetRuleSetName sets the RuleSetName field's value.
  7131  func (s *CloneReceiptRuleSetInput) SetRuleSetName(v string) *CloneReceiptRuleSetInput {
  7132  	s.RuleSetName = &v
  7133  	return s
  7134  }
  7135  
  7136  // An empty element returned on a successful request.
  7137  type CloneReceiptRuleSetOutput struct {
  7138  	_ struct{} `type:"structure"`
  7139  }
  7140  
  7141  // String returns the string representation.
  7142  //
  7143  // API parameter values that are decorated as "sensitive" in the API will not
  7144  // be included in the string output. The member name will be present, but the
  7145  // value will be replaced with "sensitive".
  7146  func (s CloneReceiptRuleSetOutput) String() string {
  7147  	return awsutil.Prettify(s)
  7148  }
  7149  
  7150  // GoString returns the string representation.
  7151  //
  7152  // API parameter values that are decorated as "sensitive" in the API will not
  7153  // be included in the string output. The member name will be present, but the
  7154  // value will be replaced with "sensitive".
  7155  func (s CloneReceiptRuleSetOutput) GoString() string {
  7156  	return s.String()
  7157  }
  7158  
  7159  // Contains information associated with an Amazon CloudWatch event destination
  7160  // to which email sending events are published.
  7161  //
  7162  // Event destinations, such as Amazon CloudWatch, are associated with configuration
  7163  // sets, which enable you to publish email sending events. For information about
  7164  // using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  7165  type CloudWatchDestination struct {
  7166  	_ struct{} `type:"structure"`
  7167  
  7168  	// A list of dimensions upon which to categorize your emails when you publish
  7169  	// email sending events to Amazon CloudWatch.
  7170  	//
  7171  	// DimensionConfigurations is a required field
  7172  	DimensionConfigurations []*CloudWatchDimensionConfiguration `type:"list" required:"true"`
  7173  }
  7174  
  7175  // String returns the string representation.
  7176  //
  7177  // API parameter values that are decorated as "sensitive" in the API will not
  7178  // be included in the string output. The member name will be present, but the
  7179  // value will be replaced with "sensitive".
  7180  func (s CloudWatchDestination) String() string {
  7181  	return awsutil.Prettify(s)
  7182  }
  7183  
  7184  // GoString returns the string representation.
  7185  //
  7186  // API parameter values that are decorated as "sensitive" in the API will not
  7187  // be included in the string output. The member name will be present, but the
  7188  // value will be replaced with "sensitive".
  7189  func (s CloudWatchDestination) GoString() string {
  7190  	return s.String()
  7191  }
  7192  
  7193  // Validate inspects the fields of the type to determine if they are valid.
  7194  func (s *CloudWatchDestination) Validate() error {
  7195  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchDestination"}
  7196  	if s.DimensionConfigurations == nil {
  7197  		invalidParams.Add(request.NewErrParamRequired("DimensionConfigurations"))
  7198  	}
  7199  	if s.DimensionConfigurations != nil {
  7200  		for i, v := range s.DimensionConfigurations {
  7201  			if v == nil {
  7202  				continue
  7203  			}
  7204  			if err := v.Validate(); err != nil {
  7205  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DimensionConfigurations", i), err.(request.ErrInvalidParams))
  7206  			}
  7207  		}
  7208  	}
  7209  
  7210  	if invalidParams.Len() > 0 {
  7211  		return invalidParams
  7212  	}
  7213  	return nil
  7214  }
  7215  
  7216  // SetDimensionConfigurations sets the DimensionConfigurations field's value.
  7217  func (s *CloudWatchDestination) SetDimensionConfigurations(v []*CloudWatchDimensionConfiguration) *CloudWatchDestination {
  7218  	s.DimensionConfigurations = v
  7219  	return s
  7220  }
  7221  
  7222  // Contains the dimension configuration to use when you publish email sending
  7223  // events to Amazon CloudWatch.
  7224  //
  7225  // For information about publishing email sending events to Amazon CloudWatch,
  7226  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  7227  type CloudWatchDimensionConfiguration struct {
  7228  	_ struct{} `type:"structure"`
  7229  
  7230  	// The default value of the dimension that is published to Amazon CloudWatch
  7231  	// if you do not provide the value of the dimension when you send an email.
  7232  	// The default value must:
  7233  	//
  7234  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
  7235  	//    underscores (_), or dashes (-).
  7236  	//
  7237  	//    * Contain less than 256 characters.
  7238  	//
  7239  	// DefaultDimensionValue is a required field
  7240  	DefaultDimensionValue *string `type:"string" required:"true"`
  7241  
  7242  	// The name of an Amazon CloudWatch dimension associated with an email sending
  7243  	// metric. The name must:
  7244  	//
  7245  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
  7246  	//    underscores (_), or dashes (-).
  7247  	//
  7248  	//    * Contain less than 256 characters.
  7249  	//
  7250  	// DimensionName is a required field
  7251  	DimensionName *string `type:"string" required:"true"`
  7252  
  7253  	// The place where Amazon SES finds the value of a dimension to publish to Amazon
  7254  	// CloudWatch. If you want Amazon SES to use the message tags that you specify
  7255  	// using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail/SendRawEmail
  7256  	// API, choose messageTag. If you want Amazon SES to use your own email headers,
  7257  	// choose emailHeader.
  7258  	//
  7259  	// DimensionValueSource is a required field
  7260  	DimensionValueSource *string `type:"string" required:"true" enum:"DimensionValueSource"`
  7261  }
  7262  
  7263  // String returns the string representation.
  7264  //
  7265  // API parameter values that are decorated as "sensitive" in the API will not
  7266  // be included in the string output. The member name will be present, but the
  7267  // value will be replaced with "sensitive".
  7268  func (s CloudWatchDimensionConfiguration) String() string {
  7269  	return awsutil.Prettify(s)
  7270  }
  7271  
  7272  // GoString returns the string representation.
  7273  //
  7274  // API parameter values that are decorated as "sensitive" in the API will not
  7275  // be included in the string output. The member name will be present, but the
  7276  // value will be replaced with "sensitive".
  7277  func (s CloudWatchDimensionConfiguration) GoString() string {
  7278  	return s.String()
  7279  }
  7280  
  7281  // Validate inspects the fields of the type to determine if they are valid.
  7282  func (s *CloudWatchDimensionConfiguration) Validate() error {
  7283  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchDimensionConfiguration"}
  7284  	if s.DefaultDimensionValue == nil {
  7285  		invalidParams.Add(request.NewErrParamRequired("DefaultDimensionValue"))
  7286  	}
  7287  	if s.DimensionName == nil {
  7288  		invalidParams.Add(request.NewErrParamRequired("DimensionName"))
  7289  	}
  7290  	if s.DimensionValueSource == nil {
  7291  		invalidParams.Add(request.NewErrParamRequired("DimensionValueSource"))
  7292  	}
  7293  
  7294  	if invalidParams.Len() > 0 {
  7295  		return invalidParams
  7296  	}
  7297  	return nil
  7298  }
  7299  
  7300  // SetDefaultDimensionValue sets the DefaultDimensionValue field's value.
  7301  func (s *CloudWatchDimensionConfiguration) SetDefaultDimensionValue(v string) *CloudWatchDimensionConfiguration {
  7302  	s.DefaultDimensionValue = &v
  7303  	return s
  7304  }
  7305  
  7306  // SetDimensionName sets the DimensionName field's value.
  7307  func (s *CloudWatchDimensionConfiguration) SetDimensionName(v string) *CloudWatchDimensionConfiguration {
  7308  	s.DimensionName = &v
  7309  	return s
  7310  }
  7311  
  7312  // SetDimensionValueSource sets the DimensionValueSource field's value.
  7313  func (s *CloudWatchDimensionConfiguration) SetDimensionValueSource(v string) *CloudWatchDimensionConfiguration {
  7314  	s.DimensionValueSource = &v
  7315  	return s
  7316  }
  7317  
  7318  // The name of the configuration set.
  7319  //
  7320  // Configuration sets let you create groups of rules that you can apply to the
  7321  // emails you send using Amazon SES. For more information about using configuration
  7322  // sets, see Using Amazon SES Configuration Sets (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets.html)
  7323  // in the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).
  7324  type ConfigurationSet struct {
  7325  	_ struct{} `type:"structure"`
  7326  
  7327  	// The name of the configuration set. The name must meet the following requirements:
  7328  	//
  7329  	//    * Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or
  7330  	//    dashes (-).
  7331  	//
  7332  	//    * Contain 64 characters or fewer.
  7333  	//
  7334  	// Name is a required field
  7335  	Name *string `type:"string" required:"true"`
  7336  }
  7337  
  7338  // String returns the string representation.
  7339  //
  7340  // API parameter values that are decorated as "sensitive" in the API will not
  7341  // be included in the string output. The member name will be present, but the
  7342  // value will be replaced with "sensitive".
  7343  func (s ConfigurationSet) String() string {
  7344  	return awsutil.Prettify(s)
  7345  }
  7346  
  7347  // GoString returns the string representation.
  7348  //
  7349  // API parameter values that are decorated as "sensitive" in the API will not
  7350  // be included in the string output. The member name will be present, but the
  7351  // value will be replaced with "sensitive".
  7352  func (s ConfigurationSet) GoString() string {
  7353  	return s.String()
  7354  }
  7355  
  7356  // Validate inspects the fields of the type to determine if they are valid.
  7357  func (s *ConfigurationSet) Validate() error {
  7358  	invalidParams := request.ErrInvalidParams{Context: "ConfigurationSet"}
  7359  	if s.Name == nil {
  7360  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7361  	}
  7362  
  7363  	if invalidParams.Len() > 0 {
  7364  		return invalidParams
  7365  	}
  7366  	return nil
  7367  }
  7368  
  7369  // SetName sets the Name field's value.
  7370  func (s *ConfigurationSet) SetName(v string) *ConfigurationSet {
  7371  	s.Name = &v
  7372  	return s
  7373  }
  7374  
  7375  // Represents textual data, plus an optional character set specification.
  7376  //
  7377  // By default, the text must be 7-bit ASCII, due to the constraints of the SMTP
  7378  // protocol. If the text must contain any other characters, then you must also
  7379  // specify a character set. Examples include UTF-8, ISO-8859-1, and Shift_JIS.
  7380  type Content struct {
  7381  	_ struct{} `type:"structure"`
  7382  
  7383  	// The character set of the content.
  7384  	Charset *string `type:"string"`
  7385  
  7386  	// The textual data of the content.
  7387  	//
  7388  	// Data is a required field
  7389  	Data *string `type:"string" required:"true"`
  7390  }
  7391  
  7392  // String returns the string representation.
  7393  //
  7394  // API parameter values that are decorated as "sensitive" in the API will not
  7395  // be included in the string output. The member name will be present, but the
  7396  // value will be replaced with "sensitive".
  7397  func (s Content) String() string {
  7398  	return awsutil.Prettify(s)
  7399  }
  7400  
  7401  // GoString returns the string representation.
  7402  //
  7403  // API parameter values that are decorated as "sensitive" in the API will not
  7404  // be included in the string output. The member name will be present, but the
  7405  // value will be replaced with "sensitive".
  7406  func (s Content) GoString() string {
  7407  	return s.String()
  7408  }
  7409  
  7410  // Validate inspects the fields of the type to determine if they are valid.
  7411  func (s *Content) Validate() error {
  7412  	invalidParams := request.ErrInvalidParams{Context: "Content"}
  7413  	if s.Data == nil {
  7414  		invalidParams.Add(request.NewErrParamRequired("Data"))
  7415  	}
  7416  
  7417  	if invalidParams.Len() > 0 {
  7418  		return invalidParams
  7419  	}
  7420  	return nil
  7421  }
  7422  
  7423  // SetCharset sets the Charset field's value.
  7424  func (s *Content) SetCharset(v string) *Content {
  7425  	s.Charset = &v
  7426  	return s
  7427  }
  7428  
  7429  // SetData sets the Data field's value.
  7430  func (s *Content) SetData(v string) *Content {
  7431  	s.Data = &v
  7432  	return s
  7433  }
  7434  
  7435  // Represents a request to create a configuration set event destination. A configuration
  7436  // set event destination, which can be either Amazon CloudWatch or Amazon Kinesis
  7437  // Firehose, describes an AWS service in which Amazon SES publishes the email
  7438  // sending events associated with a configuration set. For information about
  7439  // using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  7440  type CreateConfigurationSetEventDestinationInput struct {
  7441  	_ struct{} `type:"structure"`
  7442  
  7443  	// The name of the configuration set that the event destination should be associated
  7444  	// with.
  7445  	//
  7446  	// ConfigurationSetName is a required field
  7447  	ConfigurationSetName *string `type:"string" required:"true"`
  7448  
  7449  	// An object that describes the AWS service that email sending event information
  7450  	// will be published to.
  7451  	//
  7452  	// EventDestination is a required field
  7453  	EventDestination *EventDestination `type:"structure" required:"true"`
  7454  }
  7455  
  7456  // String returns the string representation.
  7457  //
  7458  // API parameter values that are decorated as "sensitive" in the API will not
  7459  // be included in the string output. The member name will be present, but the
  7460  // value will be replaced with "sensitive".
  7461  func (s CreateConfigurationSetEventDestinationInput) String() string {
  7462  	return awsutil.Prettify(s)
  7463  }
  7464  
  7465  // GoString returns the string representation.
  7466  //
  7467  // API parameter values that are decorated as "sensitive" in the API will not
  7468  // be included in the string output. The member name will be present, but the
  7469  // value will be replaced with "sensitive".
  7470  func (s CreateConfigurationSetEventDestinationInput) GoString() string {
  7471  	return s.String()
  7472  }
  7473  
  7474  // Validate inspects the fields of the type to determine if they are valid.
  7475  func (s *CreateConfigurationSetEventDestinationInput) Validate() error {
  7476  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetEventDestinationInput"}
  7477  	if s.ConfigurationSetName == nil {
  7478  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  7479  	}
  7480  	if s.EventDestination == nil {
  7481  		invalidParams.Add(request.NewErrParamRequired("EventDestination"))
  7482  	}
  7483  	if s.EventDestination != nil {
  7484  		if err := s.EventDestination.Validate(); err != nil {
  7485  			invalidParams.AddNested("EventDestination", err.(request.ErrInvalidParams))
  7486  		}
  7487  	}
  7488  
  7489  	if invalidParams.Len() > 0 {
  7490  		return invalidParams
  7491  	}
  7492  	return nil
  7493  }
  7494  
  7495  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  7496  func (s *CreateConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *CreateConfigurationSetEventDestinationInput {
  7497  	s.ConfigurationSetName = &v
  7498  	return s
  7499  }
  7500  
  7501  // SetEventDestination sets the EventDestination field's value.
  7502  func (s *CreateConfigurationSetEventDestinationInput) SetEventDestination(v *EventDestination) *CreateConfigurationSetEventDestinationInput {
  7503  	s.EventDestination = v
  7504  	return s
  7505  }
  7506  
  7507  // An empty element returned on a successful request.
  7508  type CreateConfigurationSetEventDestinationOutput struct {
  7509  	_ struct{} `type:"structure"`
  7510  }
  7511  
  7512  // String returns the string representation.
  7513  //
  7514  // API parameter values that are decorated as "sensitive" in the API will not
  7515  // be included in the string output. The member name will be present, but the
  7516  // value will be replaced with "sensitive".
  7517  func (s CreateConfigurationSetEventDestinationOutput) String() string {
  7518  	return awsutil.Prettify(s)
  7519  }
  7520  
  7521  // GoString returns the string representation.
  7522  //
  7523  // API parameter values that are decorated as "sensitive" in the API will not
  7524  // be included in the string output. The member name will be present, but the
  7525  // value will be replaced with "sensitive".
  7526  func (s CreateConfigurationSetEventDestinationOutput) GoString() string {
  7527  	return s.String()
  7528  }
  7529  
  7530  // Represents a request to create a configuration set. Configuration sets enable
  7531  // you to publish email sending events. For information about using configuration
  7532  // sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  7533  type CreateConfigurationSetInput struct {
  7534  	_ struct{} `type:"structure"`
  7535  
  7536  	// A data structure that contains the name of the configuration set.
  7537  	//
  7538  	// ConfigurationSet is a required field
  7539  	ConfigurationSet *ConfigurationSet `type:"structure" required:"true"`
  7540  }
  7541  
  7542  // String returns the string representation.
  7543  //
  7544  // API parameter values that are decorated as "sensitive" in the API will not
  7545  // be included in the string output. The member name will be present, but the
  7546  // value will be replaced with "sensitive".
  7547  func (s CreateConfigurationSetInput) String() string {
  7548  	return awsutil.Prettify(s)
  7549  }
  7550  
  7551  // GoString returns the string representation.
  7552  //
  7553  // API parameter values that are decorated as "sensitive" in the API will not
  7554  // be included in the string output. The member name will be present, but the
  7555  // value will be replaced with "sensitive".
  7556  func (s CreateConfigurationSetInput) GoString() string {
  7557  	return s.String()
  7558  }
  7559  
  7560  // Validate inspects the fields of the type to determine if they are valid.
  7561  func (s *CreateConfigurationSetInput) Validate() error {
  7562  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetInput"}
  7563  	if s.ConfigurationSet == nil {
  7564  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSet"))
  7565  	}
  7566  	if s.ConfigurationSet != nil {
  7567  		if err := s.ConfigurationSet.Validate(); err != nil {
  7568  			invalidParams.AddNested("ConfigurationSet", err.(request.ErrInvalidParams))
  7569  		}
  7570  	}
  7571  
  7572  	if invalidParams.Len() > 0 {
  7573  		return invalidParams
  7574  	}
  7575  	return nil
  7576  }
  7577  
  7578  // SetConfigurationSet sets the ConfigurationSet field's value.
  7579  func (s *CreateConfigurationSetInput) SetConfigurationSet(v *ConfigurationSet) *CreateConfigurationSetInput {
  7580  	s.ConfigurationSet = v
  7581  	return s
  7582  }
  7583  
  7584  // An empty element returned on a successful request.
  7585  type CreateConfigurationSetOutput struct {
  7586  	_ struct{} `type:"structure"`
  7587  }
  7588  
  7589  // String returns the string representation.
  7590  //
  7591  // API parameter values that are decorated as "sensitive" in the API will not
  7592  // be included in the string output. The member name will be present, but the
  7593  // value will be replaced with "sensitive".
  7594  func (s CreateConfigurationSetOutput) String() string {
  7595  	return awsutil.Prettify(s)
  7596  }
  7597  
  7598  // GoString returns the string representation.
  7599  //
  7600  // API parameter values that are decorated as "sensitive" in the API will not
  7601  // be included in the string output. The member name will be present, but the
  7602  // value will be replaced with "sensitive".
  7603  func (s CreateConfigurationSetOutput) GoString() string {
  7604  	return s.String()
  7605  }
  7606  
  7607  // Represents a request to create an open and click tracking option object in
  7608  // a configuration set.
  7609  type CreateConfigurationSetTrackingOptionsInput struct {
  7610  	_ struct{} `type:"structure"`
  7611  
  7612  	// The name of the configuration set that the tracking options should be associated
  7613  	// with.
  7614  	//
  7615  	// ConfigurationSetName is a required field
  7616  	ConfigurationSetName *string `type:"string" required:"true"`
  7617  
  7618  	// A domain that is used to redirect email recipients to an Amazon SES-operated
  7619  	// domain. This domain captures open and click events generated by Amazon SES
  7620  	// emails.
  7621  	//
  7622  	// For more information, see Configuring Custom Domains to Handle Open and Click
  7623  	// Tracking (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
  7624  	// in the Amazon SES Developer Guide.
  7625  	//
  7626  	// TrackingOptions is a required field
  7627  	TrackingOptions *TrackingOptions `type:"structure" required:"true"`
  7628  }
  7629  
  7630  // String returns the string representation.
  7631  //
  7632  // API parameter values that are decorated as "sensitive" in the API will not
  7633  // be included in the string output. The member name will be present, but the
  7634  // value will be replaced with "sensitive".
  7635  func (s CreateConfigurationSetTrackingOptionsInput) String() string {
  7636  	return awsutil.Prettify(s)
  7637  }
  7638  
  7639  // GoString returns the string representation.
  7640  //
  7641  // API parameter values that are decorated as "sensitive" in the API will not
  7642  // be included in the string output. The member name will be present, but the
  7643  // value will be replaced with "sensitive".
  7644  func (s CreateConfigurationSetTrackingOptionsInput) GoString() string {
  7645  	return s.String()
  7646  }
  7647  
  7648  // Validate inspects the fields of the type to determine if they are valid.
  7649  func (s *CreateConfigurationSetTrackingOptionsInput) Validate() error {
  7650  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetTrackingOptionsInput"}
  7651  	if s.ConfigurationSetName == nil {
  7652  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  7653  	}
  7654  	if s.TrackingOptions == nil {
  7655  		invalidParams.Add(request.NewErrParamRequired("TrackingOptions"))
  7656  	}
  7657  
  7658  	if invalidParams.Len() > 0 {
  7659  		return invalidParams
  7660  	}
  7661  	return nil
  7662  }
  7663  
  7664  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  7665  func (s *CreateConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *CreateConfigurationSetTrackingOptionsInput {
  7666  	s.ConfigurationSetName = &v
  7667  	return s
  7668  }
  7669  
  7670  // SetTrackingOptions sets the TrackingOptions field's value.
  7671  func (s *CreateConfigurationSetTrackingOptionsInput) SetTrackingOptions(v *TrackingOptions) *CreateConfigurationSetTrackingOptionsInput {
  7672  	s.TrackingOptions = v
  7673  	return s
  7674  }
  7675  
  7676  // An empty element returned on a successful request.
  7677  type CreateConfigurationSetTrackingOptionsOutput struct {
  7678  	_ struct{} `type:"structure"`
  7679  }
  7680  
  7681  // String returns the string representation.
  7682  //
  7683  // API parameter values that are decorated as "sensitive" in the API will not
  7684  // be included in the string output. The member name will be present, but the
  7685  // value will be replaced with "sensitive".
  7686  func (s CreateConfigurationSetTrackingOptionsOutput) String() string {
  7687  	return awsutil.Prettify(s)
  7688  }
  7689  
  7690  // GoString returns the string representation.
  7691  //
  7692  // API parameter values that are decorated as "sensitive" in the API will not
  7693  // be included in the string output. The member name will be present, but the
  7694  // value will be replaced with "sensitive".
  7695  func (s CreateConfigurationSetTrackingOptionsOutput) GoString() string {
  7696  	return s.String()
  7697  }
  7698  
  7699  // Represents a request to create a custom verification email template.
  7700  type CreateCustomVerificationEmailTemplateInput struct {
  7701  	_ struct{} `type:"structure"`
  7702  
  7703  	// The URL that the recipient of the verification email is sent to if his or
  7704  	// her address is not successfully verified.
  7705  	//
  7706  	// FailureRedirectionURL is a required field
  7707  	FailureRedirectionURL *string `type:"string" required:"true"`
  7708  
  7709  	// The email address that the custom verification email is sent from.
  7710  	//
  7711  	// FromEmailAddress is a required field
  7712  	FromEmailAddress *string `type:"string" required:"true"`
  7713  
  7714  	// The URL that the recipient of the verification email is sent to if his or
  7715  	// her address is successfully verified.
  7716  	//
  7717  	// SuccessRedirectionURL is a required field
  7718  	SuccessRedirectionURL *string `type:"string" required:"true"`
  7719  
  7720  	// The content of the custom verification email. The total size of the email
  7721  	// must be less than 10 MB. The message body may contain HTML, with some limitations.
  7722  	// For more information, see Custom Verification Email Frequently Asked Questions
  7723  	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html#custom-verification-emails-faq)
  7724  	// in the Amazon SES Developer Guide.
  7725  	//
  7726  	// TemplateContent is a required field
  7727  	TemplateContent *string `type:"string" required:"true"`
  7728  
  7729  	// The name of the custom verification email template.
  7730  	//
  7731  	// TemplateName is a required field
  7732  	TemplateName *string `type:"string" required:"true"`
  7733  
  7734  	// The subject line of the custom verification email.
  7735  	//
  7736  	// TemplateSubject is a required field
  7737  	TemplateSubject *string `type:"string" required:"true"`
  7738  }
  7739  
  7740  // String returns the string representation.
  7741  //
  7742  // API parameter values that are decorated as "sensitive" in the API will not
  7743  // be included in the string output. The member name will be present, but the
  7744  // value will be replaced with "sensitive".
  7745  func (s CreateCustomVerificationEmailTemplateInput) String() string {
  7746  	return awsutil.Prettify(s)
  7747  }
  7748  
  7749  // GoString returns the string representation.
  7750  //
  7751  // API parameter values that are decorated as "sensitive" in the API will not
  7752  // be included in the string output. The member name will be present, but the
  7753  // value will be replaced with "sensitive".
  7754  func (s CreateCustomVerificationEmailTemplateInput) GoString() string {
  7755  	return s.String()
  7756  }
  7757  
  7758  // Validate inspects the fields of the type to determine if they are valid.
  7759  func (s *CreateCustomVerificationEmailTemplateInput) Validate() error {
  7760  	invalidParams := request.ErrInvalidParams{Context: "CreateCustomVerificationEmailTemplateInput"}
  7761  	if s.FailureRedirectionURL == nil {
  7762  		invalidParams.Add(request.NewErrParamRequired("FailureRedirectionURL"))
  7763  	}
  7764  	if s.FromEmailAddress == nil {
  7765  		invalidParams.Add(request.NewErrParamRequired("FromEmailAddress"))
  7766  	}
  7767  	if s.SuccessRedirectionURL == nil {
  7768  		invalidParams.Add(request.NewErrParamRequired("SuccessRedirectionURL"))
  7769  	}
  7770  	if s.TemplateContent == nil {
  7771  		invalidParams.Add(request.NewErrParamRequired("TemplateContent"))
  7772  	}
  7773  	if s.TemplateName == nil {
  7774  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  7775  	}
  7776  	if s.TemplateSubject == nil {
  7777  		invalidParams.Add(request.NewErrParamRequired("TemplateSubject"))
  7778  	}
  7779  
  7780  	if invalidParams.Len() > 0 {
  7781  		return invalidParams
  7782  	}
  7783  	return nil
  7784  }
  7785  
  7786  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
  7787  func (s *CreateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput {
  7788  	s.FailureRedirectionURL = &v
  7789  	return s
  7790  }
  7791  
  7792  // SetFromEmailAddress sets the FromEmailAddress field's value.
  7793  func (s *CreateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *CreateCustomVerificationEmailTemplateInput {
  7794  	s.FromEmailAddress = &v
  7795  	return s
  7796  }
  7797  
  7798  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
  7799  func (s *CreateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput {
  7800  	s.SuccessRedirectionURL = &v
  7801  	return s
  7802  }
  7803  
  7804  // SetTemplateContent sets the TemplateContent field's value.
  7805  func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *CreateCustomVerificationEmailTemplateInput {
  7806  	s.TemplateContent = &v
  7807  	return s
  7808  }
  7809  
  7810  // SetTemplateName sets the TemplateName field's value.
  7811  func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *CreateCustomVerificationEmailTemplateInput {
  7812  	s.TemplateName = &v
  7813  	return s
  7814  }
  7815  
  7816  // SetTemplateSubject sets the TemplateSubject field's value.
  7817  func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *CreateCustomVerificationEmailTemplateInput {
  7818  	s.TemplateSubject = &v
  7819  	return s
  7820  }
  7821  
  7822  type CreateCustomVerificationEmailTemplateOutput struct {
  7823  	_ struct{} `type:"structure"`
  7824  }
  7825  
  7826  // String returns the string representation.
  7827  //
  7828  // API parameter values that are decorated as "sensitive" in the API will not
  7829  // be included in the string output. The member name will be present, but the
  7830  // value will be replaced with "sensitive".
  7831  func (s CreateCustomVerificationEmailTemplateOutput) String() string {
  7832  	return awsutil.Prettify(s)
  7833  }
  7834  
  7835  // GoString returns the string representation.
  7836  //
  7837  // API parameter values that are decorated as "sensitive" in the API will not
  7838  // be included in the string output. The member name will be present, but the
  7839  // value will be replaced with "sensitive".
  7840  func (s CreateCustomVerificationEmailTemplateOutput) GoString() string {
  7841  	return s.String()
  7842  }
  7843  
  7844  // Represents a request to create a new IP address filter. You use IP address
  7845  // filters when you receive email with Amazon SES. For more information, see
  7846  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  7847  type CreateReceiptFilterInput struct {
  7848  	_ struct{} `type:"structure"`
  7849  
  7850  	// A data structure that describes the IP address filter to create, which consists
  7851  	// of a name, an IP address range, and whether to allow or block mail from it.
  7852  	//
  7853  	// Filter is a required field
  7854  	Filter *ReceiptFilter `type:"structure" required:"true"`
  7855  }
  7856  
  7857  // String returns the string representation.
  7858  //
  7859  // API parameter values that are decorated as "sensitive" in the API will not
  7860  // be included in the string output. The member name will be present, but the
  7861  // value will be replaced with "sensitive".
  7862  func (s CreateReceiptFilterInput) String() string {
  7863  	return awsutil.Prettify(s)
  7864  }
  7865  
  7866  // GoString returns the string representation.
  7867  //
  7868  // API parameter values that are decorated as "sensitive" in the API will not
  7869  // be included in the string output. The member name will be present, but the
  7870  // value will be replaced with "sensitive".
  7871  func (s CreateReceiptFilterInput) GoString() string {
  7872  	return s.String()
  7873  }
  7874  
  7875  // Validate inspects the fields of the type to determine if they are valid.
  7876  func (s *CreateReceiptFilterInput) Validate() error {
  7877  	invalidParams := request.ErrInvalidParams{Context: "CreateReceiptFilterInput"}
  7878  	if s.Filter == nil {
  7879  		invalidParams.Add(request.NewErrParamRequired("Filter"))
  7880  	}
  7881  	if s.Filter != nil {
  7882  		if err := s.Filter.Validate(); err != nil {
  7883  			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
  7884  		}
  7885  	}
  7886  
  7887  	if invalidParams.Len() > 0 {
  7888  		return invalidParams
  7889  	}
  7890  	return nil
  7891  }
  7892  
  7893  // SetFilter sets the Filter field's value.
  7894  func (s *CreateReceiptFilterInput) SetFilter(v *ReceiptFilter) *CreateReceiptFilterInput {
  7895  	s.Filter = v
  7896  	return s
  7897  }
  7898  
  7899  // An empty element returned on a successful request.
  7900  type CreateReceiptFilterOutput struct {
  7901  	_ struct{} `type:"structure"`
  7902  }
  7903  
  7904  // String returns the string representation.
  7905  //
  7906  // API parameter values that are decorated as "sensitive" in the API will not
  7907  // be included in the string output. The member name will be present, but the
  7908  // value will be replaced with "sensitive".
  7909  func (s CreateReceiptFilterOutput) String() string {
  7910  	return awsutil.Prettify(s)
  7911  }
  7912  
  7913  // GoString returns the string representation.
  7914  //
  7915  // API parameter values that are decorated as "sensitive" in the API will not
  7916  // be included in the string output. The member name will be present, but the
  7917  // value will be replaced with "sensitive".
  7918  func (s CreateReceiptFilterOutput) GoString() string {
  7919  	return s.String()
  7920  }
  7921  
  7922  // Represents a request to create a receipt rule. You use receipt rules to receive
  7923  // email with Amazon SES. For more information, see the Amazon SES Developer
  7924  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  7925  type CreateReceiptRuleInput struct {
  7926  	_ struct{} `type:"structure"`
  7927  
  7928  	// The name of an existing rule after which the new rule will be placed. If
  7929  	// this parameter is null, the new rule will be inserted at the beginning of
  7930  	// the rule list.
  7931  	After *string `type:"string"`
  7932  
  7933  	// A data structure that contains the specified rule's name, actions, recipients,
  7934  	// domains, enabled status, scan status, and TLS policy.
  7935  	//
  7936  	// Rule is a required field
  7937  	Rule *ReceiptRule `type:"structure" required:"true"`
  7938  
  7939  	// The name of the rule set that the receipt rule will be added to.
  7940  	//
  7941  	// RuleSetName is a required field
  7942  	RuleSetName *string `type:"string" required:"true"`
  7943  }
  7944  
  7945  // String returns the string representation.
  7946  //
  7947  // API parameter values that are decorated as "sensitive" in the API will not
  7948  // be included in the string output. The member name will be present, but the
  7949  // value will be replaced with "sensitive".
  7950  func (s CreateReceiptRuleInput) String() string {
  7951  	return awsutil.Prettify(s)
  7952  }
  7953  
  7954  // GoString returns the string representation.
  7955  //
  7956  // API parameter values that are decorated as "sensitive" in the API will not
  7957  // be included in the string output. The member name will be present, but the
  7958  // value will be replaced with "sensitive".
  7959  func (s CreateReceiptRuleInput) GoString() string {
  7960  	return s.String()
  7961  }
  7962  
  7963  // Validate inspects the fields of the type to determine if they are valid.
  7964  func (s *CreateReceiptRuleInput) Validate() error {
  7965  	invalidParams := request.ErrInvalidParams{Context: "CreateReceiptRuleInput"}
  7966  	if s.Rule == nil {
  7967  		invalidParams.Add(request.NewErrParamRequired("Rule"))
  7968  	}
  7969  	if s.RuleSetName == nil {
  7970  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
  7971  	}
  7972  	if s.Rule != nil {
  7973  		if err := s.Rule.Validate(); err != nil {
  7974  			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
  7975  		}
  7976  	}
  7977  
  7978  	if invalidParams.Len() > 0 {
  7979  		return invalidParams
  7980  	}
  7981  	return nil
  7982  }
  7983  
  7984  // SetAfter sets the After field's value.
  7985  func (s *CreateReceiptRuleInput) SetAfter(v string) *CreateReceiptRuleInput {
  7986  	s.After = &v
  7987  	return s
  7988  }
  7989  
  7990  // SetRule sets the Rule field's value.
  7991  func (s *CreateReceiptRuleInput) SetRule(v *ReceiptRule) *CreateReceiptRuleInput {
  7992  	s.Rule = v
  7993  	return s
  7994  }
  7995  
  7996  // SetRuleSetName sets the RuleSetName field's value.
  7997  func (s *CreateReceiptRuleInput) SetRuleSetName(v string) *CreateReceiptRuleInput {
  7998  	s.RuleSetName = &v
  7999  	return s
  8000  }
  8001  
  8002  // An empty element returned on a successful request.
  8003  type CreateReceiptRuleOutput struct {
  8004  	_ struct{} `type:"structure"`
  8005  }
  8006  
  8007  // String returns the string representation.
  8008  //
  8009  // API parameter values that are decorated as "sensitive" in the API will not
  8010  // be included in the string output. The member name will be present, but the
  8011  // value will be replaced with "sensitive".
  8012  func (s CreateReceiptRuleOutput) String() string {
  8013  	return awsutil.Prettify(s)
  8014  }
  8015  
  8016  // GoString returns the string representation.
  8017  //
  8018  // API parameter values that are decorated as "sensitive" in the API will not
  8019  // be included in the string output. The member name will be present, but the
  8020  // value will be replaced with "sensitive".
  8021  func (s CreateReceiptRuleOutput) GoString() string {
  8022  	return s.String()
  8023  }
  8024  
  8025  // Represents a request to create an empty receipt rule set. You use receipt
  8026  // rule sets to receive email with Amazon SES. For more information, see the
  8027  // Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  8028  type CreateReceiptRuleSetInput struct {
  8029  	_ struct{} `type:"structure"`
  8030  
  8031  	// The name of the rule set to create. The name must:
  8032  	//
  8033  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
  8034  	//    underscores (_), or dashes (-).
  8035  	//
  8036  	//    * Start and end with a letter or number.
  8037  	//
  8038  	//    * Contain less than 64 characters.
  8039  	//
  8040  	// RuleSetName is a required field
  8041  	RuleSetName *string `type:"string" required:"true"`
  8042  }
  8043  
  8044  // String returns the string representation.
  8045  //
  8046  // API parameter values that are decorated as "sensitive" in the API will not
  8047  // be included in the string output. The member name will be present, but the
  8048  // value will be replaced with "sensitive".
  8049  func (s CreateReceiptRuleSetInput) String() string {
  8050  	return awsutil.Prettify(s)
  8051  }
  8052  
  8053  // GoString returns the string representation.
  8054  //
  8055  // API parameter values that are decorated as "sensitive" in the API will not
  8056  // be included in the string output. The member name will be present, but the
  8057  // value will be replaced with "sensitive".
  8058  func (s CreateReceiptRuleSetInput) GoString() string {
  8059  	return s.String()
  8060  }
  8061  
  8062  // Validate inspects the fields of the type to determine if they are valid.
  8063  func (s *CreateReceiptRuleSetInput) Validate() error {
  8064  	invalidParams := request.ErrInvalidParams{Context: "CreateReceiptRuleSetInput"}
  8065  	if s.RuleSetName == nil {
  8066  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
  8067  	}
  8068  
  8069  	if invalidParams.Len() > 0 {
  8070  		return invalidParams
  8071  	}
  8072  	return nil
  8073  }
  8074  
  8075  // SetRuleSetName sets the RuleSetName field's value.
  8076  func (s *CreateReceiptRuleSetInput) SetRuleSetName(v string) *CreateReceiptRuleSetInput {
  8077  	s.RuleSetName = &v
  8078  	return s
  8079  }
  8080  
  8081  // An empty element returned on a successful request.
  8082  type CreateReceiptRuleSetOutput struct {
  8083  	_ struct{} `type:"structure"`
  8084  }
  8085  
  8086  // String returns the string representation.
  8087  //
  8088  // API parameter values that are decorated as "sensitive" in the API will not
  8089  // be included in the string output. The member name will be present, but the
  8090  // value will be replaced with "sensitive".
  8091  func (s CreateReceiptRuleSetOutput) String() string {
  8092  	return awsutil.Prettify(s)
  8093  }
  8094  
  8095  // GoString returns the string representation.
  8096  //
  8097  // API parameter values that are decorated as "sensitive" in the API will not
  8098  // be included in the string output. The member name will be present, but the
  8099  // value will be replaced with "sensitive".
  8100  func (s CreateReceiptRuleSetOutput) GoString() string {
  8101  	return s.String()
  8102  }
  8103  
  8104  // Represents a request to create an email template. For more information, see
  8105  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
  8106  type CreateTemplateInput struct {
  8107  	_ struct{} `type:"structure"`
  8108  
  8109  	// The content of the email, composed of a subject line, an HTML part, and a
  8110  	// text-only part.
  8111  	//
  8112  	// Template is a required field
  8113  	Template *Template `type:"structure" required:"true"`
  8114  }
  8115  
  8116  // String returns the string representation.
  8117  //
  8118  // API parameter values that are decorated as "sensitive" in the API will not
  8119  // be included in the string output. The member name will be present, but the
  8120  // value will be replaced with "sensitive".
  8121  func (s CreateTemplateInput) String() string {
  8122  	return awsutil.Prettify(s)
  8123  }
  8124  
  8125  // GoString returns the string representation.
  8126  //
  8127  // API parameter values that are decorated as "sensitive" in the API will not
  8128  // be included in the string output. The member name will be present, but the
  8129  // value will be replaced with "sensitive".
  8130  func (s CreateTemplateInput) GoString() string {
  8131  	return s.String()
  8132  }
  8133  
  8134  // Validate inspects the fields of the type to determine if they are valid.
  8135  func (s *CreateTemplateInput) Validate() error {
  8136  	invalidParams := request.ErrInvalidParams{Context: "CreateTemplateInput"}
  8137  	if s.Template == nil {
  8138  		invalidParams.Add(request.NewErrParamRequired("Template"))
  8139  	}
  8140  	if s.Template != nil {
  8141  		if err := s.Template.Validate(); err != nil {
  8142  			invalidParams.AddNested("Template", err.(request.ErrInvalidParams))
  8143  		}
  8144  	}
  8145  
  8146  	if invalidParams.Len() > 0 {
  8147  		return invalidParams
  8148  	}
  8149  	return nil
  8150  }
  8151  
  8152  // SetTemplate sets the Template field's value.
  8153  func (s *CreateTemplateInput) SetTemplate(v *Template) *CreateTemplateInput {
  8154  	s.Template = v
  8155  	return s
  8156  }
  8157  
  8158  type CreateTemplateOutput struct {
  8159  	_ struct{} `type:"structure"`
  8160  }
  8161  
  8162  // String returns the string representation.
  8163  //
  8164  // API parameter values that are decorated as "sensitive" in the API will not
  8165  // be included in the string output. The member name will be present, but the
  8166  // value will be replaced with "sensitive".
  8167  func (s CreateTemplateOutput) String() string {
  8168  	return awsutil.Prettify(s)
  8169  }
  8170  
  8171  // GoString returns the string representation.
  8172  //
  8173  // API parameter values that are decorated as "sensitive" in the API will not
  8174  // be included in the string output. The member name will be present, but the
  8175  // value will be replaced with "sensitive".
  8176  func (s CreateTemplateOutput) GoString() string {
  8177  	return s.String()
  8178  }
  8179  
  8180  // Contains information about a custom verification email template.
  8181  type CustomVerificationEmailTemplate struct {
  8182  	_ struct{} `type:"structure"`
  8183  
  8184  	// The URL that the recipient of the verification email is sent to if his or
  8185  	// her address is not successfully verified.
  8186  	FailureRedirectionURL *string `type:"string"`
  8187  
  8188  	// The email address that the custom verification email is sent from.
  8189  	FromEmailAddress *string `type:"string"`
  8190  
  8191  	// The URL that the recipient of the verification email is sent to if his or
  8192  	// her address is successfully verified.
  8193  	SuccessRedirectionURL *string `type:"string"`
  8194  
  8195  	// The name of the custom verification email template.
  8196  	TemplateName *string `type:"string"`
  8197  
  8198  	// The subject line of the custom verification email.
  8199  	TemplateSubject *string `type:"string"`
  8200  }
  8201  
  8202  // String returns the string representation.
  8203  //
  8204  // API parameter values that are decorated as "sensitive" in the API will not
  8205  // be included in the string output. The member name will be present, but the
  8206  // value will be replaced with "sensitive".
  8207  func (s CustomVerificationEmailTemplate) String() string {
  8208  	return awsutil.Prettify(s)
  8209  }
  8210  
  8211  // GoString returns the string representation.
  8212  //
  8213  // API parameter values that are decorated as "sensitive" in the API will not
  8214  // be included in the string output. The member name will be present, but the
  8215  // value will be replaced with "sensitive".
  8216  func (s CustomVerificationEmailTemplate) GoString() string {
  8217  	return s.String()
  8218  }
  8219  
  8220  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
  8221  func (s *CustomVerificationEmailTemplate) SetFailureRedirectionURL(v string) *CustomVerificationEmailTemplate {
  8222  	s.FailureRedirectionURL = &v
  8223  	return s
  8224  }
  8225  
  8226  // SetFromEmailAddress sets the FromEmailAddress field's value.
  8227  func (s *CustomVerificationEmailTemplate) SetFromEmailAddress(v string) *CustomVerificationEmailTemplate {
  8228  	s.FromEmailAddress = &v
  8229  	return s
  8230  }
  8231  
  8232  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
  8233  func (s *CustomVerificationEmailTemplate) SetSuccessRedirectionURL(v string) *CustomVerificationEmailTemplate {
  8234  	s.SuccessRedirectionURL = &v
  8235  	return s
  8236  }
  8237  
  8238  // SetTemplateName sets the TemplateName field's value.
  8239  func (s *CustomVerificationEmailTemplate) SetTemplateName(v string) *CustomVerificationEmailTemplate {
  8240  	s.TemplateName = &v
  8241  	return s
  8242  }
  8243  
  8244  // SetTemplateSubject sets the TemplateSubject field's value.
  8245  func (s *CustomVerificationEmailTemplate) SetTemplateSubject(v string) *CustomVerificationEmailTemplate {
  8246  	s.TemplateSubject = &v
  8247  	return s
  8248  }
  8249  
  8250  // Represents a request to delete a configuration set event destination. Configuration
  8251  // set event destinations are associated with configuration sets, which enable
  8252  // you to publish email sending events. For information about using configuration
  8253  // sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  8254  type DeleteConfigurationSetEventDestinationInput struct {
  8255  	_ struct{} `type:"structure"`
  8256  
  8257  	// The name of the configuration set from which to delete the event destination.
  8258  	//
  8259  	// ConfigurationSetName is a required field
  8260  	ConfigurationSetName *string `type:"string" required:"true"`
  8261  
  8262  	// The name of the event destination to delete.
  8263  	//
  8264  	// EventDestinationName is a required field
  8265  	EventDestinationName *string `type:"string" required:"true"`
  8266  }
  8267  
  8268  // String returns the string representation.
  8269  //
  8270  // API parameter values that are decorated as "sensitive" in the API will not
  8271  // be included in the string output. The member name will be present, but the
  8272  // value will be replaced with "sensitive".
  8273  func (s DeleteConfigurationSetEventDestinationInput) String() string {
  8274  	return awsutil.Prettify(s)
  8275  }
  8276  
  8277  // GoString returns the string representation.
  8278  //
  8279  // API parameter values that are decorated as "sensitive" in the API will not
  8280  // be included in the string output. The member name will be present, but the
  8281  // value will be replaced with "sensitive".
  8282  func (s DeleteConfigurationSetEventDestinationInput) GoString() string {
  8283  	return s.String()
  8284  }
  8285  
  8286  // Validate inspects the fields of the type to determine if they are valid.
  8287  func (s *DeleteConfigurationSetEventDestinationInput) Validate() error {
  8288  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetEventDestinationInput"}
  8289  	if s.ConfigurationSetName == nil {
  8290  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  8291  	}
  8292  	if s.EventDestinationName == nil {
  8293  		invalidParams.Add(request.NewErrParamRequired("EventDestinationName"))
  8294  	}
  8295  
  8296  	if invalidParams.Len() > 0 {
  8297  		return invalidParams
  8298  	}
  8299  	return nil
  8300  }
  8301  
  8302  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  8303  func (s *DeleteConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *DeleteConfigurationSetEventDestinationInput {
  8304  	s.ConfigurationSetName = &v
  8305  	return s
  8306  }
  8307  
  8308  // SetEventDestinationName sets the EventDestinationName field's value.
  8309  func (s *DeleteConfigurationSetEventDestinationInput) SetEventDestinationName(v string) *DeleteConfigurationSetEventDestinationInput {
  8310  	s.EventDestinationName = &v
  8311  	return s
  8312  }
  8313  
  8314  // An empty element returned on a successful request.
  8315  type DeleteConfigurationSetEventDestinationOutput struct {
  8316  	_ struct{} `type:"structure"`
  8317  }
  8318  
  8319  // String returns the string representation.
  8320  //
  8321  // API parameter values that are decorated as "sensitive" in the API will not
  8322  // be included in the string output. The member name will be present, but the
  8323  // value will be replaced with "sensitive".
  8324  func (s DeleteConfigurationSetEventDestinationOutput) String() string {
  8325  	return awsutil.Prettify(s)
  8326  }
  8327  
  8328  // GoString returns the string representation.
  8329  //
  8330  // API parameter values that are decorated as "sensitive" in the API will not
  8331  // be included in the string output. The member name will be present, but the
  8332  // value will be replaced with "sensitive".
  8333  func (s DeleteConfigurationSetEventDestinationOutput) GoString() string {
  8334  	return s.String()
  8335  }
  8336  
  8337  // Represents a request to delete a configuration set. Configuration sets enable
  8338  // you to publish email sending events. For information about using configuration
  8339  // sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  8340  type DeleteConfigurationSetInput struct {
  8341  	_ struct{} `type:"structure"`
  8342  
  8343  	// The name of the configuration set to delete.
  8344  	//
  8345  	// ConfigurationSetName is a required field
  8346  	ConfigurationSetName *string `type:"string" required:"true"`
  8347  }
  8348  
  8349  // String returns the string representation.
  8350  //
  8351  // API parameter values that are decorated as "sensitive" in the API will not
  8352  // be included in the string output. The member name will be present, but the
  8353  // value will be replaced with "sensitive".
  8354  func (s DeleteConfigurationSetInput) String() string {
  8355  	return awsutil.Prettify(s)
  8356  }
  8357  
  8358  // GoString returns the string representation.
  8359  //
  8360  // API parameter values that are decorated as "sensitive" in the API will not
  8361  // be included in the string output. The member name will be present, but the
  8362  // value will be replaced with "sensitive".
  8363  func (s DeleteConfigurationSetInput) GoString() string {
  8364  	return s.String()
  8365  }
  8366  
  8367  // Validate inspects the fields of the type to determine if they are valid.
  8368  func (s *DeleteConfigurationSetInput) Validate() error {
  8369  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetInput"}
  8370  	if s.ConfigurationSetName == nil {
  8371  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  8372  	}
  8373  
  8374  	if invalidParams.Len() > 0 {
  8375  		return invalidParams
  8376  	}
  8377  	return nil
  8378  }
  8379  
  8380  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  8381  func (s *DeleteConfigurationSetInput) SetConfigurationSetName(v string) *DeleteConfigurationSetInput {
  8382  	s.ConfigurationSetName = &v
  8383  	return s
  8384  }
  8385  
  8386  // An empty element returned on a successful request.
  8387  type DeleteConfigurationSetOutput struct {
  8388  	_ struct{} `type:"structure"`
  8389  }
  8390  
  8391  // String returns the string representation.
  8392  //
  8393  // API parameter values that are decorated as "sensitive" in the API will not
  8394  // be included in the string output. The member name will be present, but the
  8395  // value will be replaced with "sensitive".
  8396  func (s DeleteConfigurationSetOutput) String() string {
  8397  	return awsutil.Prettify(s)
  8398  }
  8399  
  8400  // GoString returns the string representation.
  8401  //
  8402  // API parameter values that are decorated as "sensitive" in the API will not
  8403  // be included in the string output. The member name will be present, but the
  8404  // value will be replaced with "sensitive".
  8405  func (s DeleteConfigurationSetOutput) GoString() string {
  8406  	return s.String()
  8407  }
  8408  
  8409  // Represents a request to delete open and click tracking options in a configuration
  8410  // set.
  8411  type DeleteConfigurationSetTrackingOptionsInput struct {
  8412  	_ struct{} `type:"structure"`
  8413  
  8414  	// The name of the configuration set from which you want to delete the tracking
  8415  	// options.
  8416  	//
  8417  	// ConfigurationSetName is a required field
  8418  	ConfigurationSetName *string `type:"string" required:"true"`
  8419  }
  8420  
  8421  // String returns the string representation.
  8422  //
  8423  // API parameter values that are decorated as "sensitive" in the API will not
  8424  // be included in the string output. The member name will be present, but the
  8425  // value will be replaced with "sensitive".
  8426  func (s DeleteConfigurationSetTrackingOptionsInput) String() string {
  8427  	return awsutil.Prettify(s)
  8428  }
  8429  
  8430  // GoString returns the string representation.
  8431  //
  8432  // API parameter values that are decorated as "sensitive" in the API will not
  8433  // be included in the string output. The member name will be present, but the
  8434  // value will be replaced with "sensitive".
  8435  func (s DeleteConfigurationSetTrackingOptionsInput) GoString() string {
  8436  	return s.String()
  8437  }
  8438  
  8439  // Validate inspects the fields of the type to determine if they are valid.
  8440  func (s *DeleteConfigurationSetTrackingOptionsInput) Validate() error {
  8441  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetTrackingOptionsInput"}
  8442  	if s.ConfigurationSetName == nil {
  8443  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  8444  	}
  8445  
  8446  	if invalidParams.Len() > 0 {
  8447  		return invalidParams
  8448  	}
  8449  	return nil
  8450  }
  8451  
  8452  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  8453  func (s *DeleteConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *DeleteConfigurationSetTrackingOptionsInput {
  8454  	s.ConfigurationSetName = &v
  8455  	return s
  8456  }
  8457  
  8458  // An empty element returned on a successful request.
  8459  type DeleteConfigurationSetTrackingOptionsOutput struct {
  8460  	_ struct{} `type:"structure"`
  8461  }
  8462  
  8463  // String returns the string representation.
  8464  //
  8465  // API parameter values that are decorated as "sensitive" in the API will not
  8466  // be included in the string output. The member name will be present, but the
  8467  // value will be replaced with "sensitive".
  8468  func (s DeleteConfigurationSetTrackingOptionsOutput) String() string {
  8469  	return awsutil.Prettify(s)
  8470  }
  8471  
  8472  // GoString returns the string representation.
  8473  //
  8474  // API parameter values that are decorated as "sensitive" in the API will not
  8475  // be included in the string output. The member name will be present, but the
  8476  // value will be replaced with "sensitive".
  8477  func (s DeleteConfigurationSetTrackingOptionsOutput) GoString() string {
  8478  	return s.String()
  8479  }
  8480  
  8481  // Represents a request to delete an existing custom verification email template.
  8482  type DeleteCustomVerificationEmailTemplateInput struct {
  8483  	_ struct{} `type:"structure"`
  8484  
  8485  	// The name of the custom verification email template that you want to delete.
  8486  	//
  8487  	// TemplateName is a required field
  8488  	TemplateName *string `type:"string" required:"true"`
  8489  }
  8490  
  8491  // String returns the string representation.
  8492  //
  8493  // API parameter values that are decorated as "sensitive" in the API will not
  8494  // be included in the string output. The member name will be present, but the
  8495  // value will be replaced with "sensitive".
  8496  func (s DeleteCustomVerificationEmailTemplateInput) String() string {
  8497  	return awsutil.Prettify(s)
  8498  }
  8499  
  8500  // GoString returns the string representation.
  8501  //
  8502  // API parameter values that are decorated as "sensitive" in the API will not
  8503  // be included in the string output. The member name will be present, but the
  8504  // value will be replaced with "sensitive".
  8505  func (s DeleteCustomVerificationEmailTemplateInput) GoString() string {
  8506  	return s.String()
  8507  }
  8508  
  8509  // Validate inspects the fields of the type to determine if they are valid.
  8510  func (s *DeleteCustomVerificationEmailTemplateInput) Validate() error {
  8511  	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomVerificationEmailTemplateInput"}
  8512  	if s.TemplateName == nil {
  8513  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  8514  	}
  8515  
  8516  	if invalidParams.Len() > 0 {
  8517  		return invalidParams
  8518  	}
  8519  	return nil
  8520  }
  8521  
  8522  // SetTemplateName sets the TemplateName field's value.
  8523  func (s *DeleteCustomVerificationEmailTemplateInput) SetTemplateName(v string) *DeleteCustomVerificationEmailTemplateInput {
  8524  	s.TemplateName = &v
  8525  	return s
  8526  }
  8527  
  8528  type DeleteCustomVerificationEmailTemplateOutput struct {
  8529  	_ struct{} `type:"structure"`
  8530  }
  8531  
  8532  // String returns the string representation.
  8533  //
  8534  // API parameter values that are decorated as "sensitive" in the API will not
  8535  // be included in the string output. The member name will be present, but the
  8536  // value will be replaced with "sensitive".
  8537  func (s DeleteCustomVerificationEmailTemplateOutput) String() string {
  8538  	return awsutil.Prettify(s)
  8539  }
  8540  
  8541  // GoString returns the string representation.
  8542  //
  8543  // API parameter values that are decorated as "sensitive" in the API will not
  8544  // be included in the string output. The member name will be present, but the
  8545  // value will be replaced with "sensitive".
  8546  func (s DeleteCustomVerificationEmailTemplateOutput) GoString() string {
  8547  	return s.String()
  8548  }
  8549  
  8550  // Represents a request to delete one of your Amazon SES identities (an email
  8551  // address or domain).
  8552  type DeleteIdentityInput struct {
  8553  	_ struct{} `type:"structure"`
  8554  
  8555  	// The identity to be removed from the list of identities for the AWS Account.
  8556  	//
  8557  	// Identity is a required field
  8558  	Identity *string `type:"string" required:"true"`
  8559  }
  8560  
  8561  // String returns the string representation.
  8562  //
  8563  // API parameter values that are decorated as "sensitive" in the API will not
  8564  // be included in the string output. The member name will be present, but the
  8565  // value will be replaced with "sensitive".
  8566  func (s DeleteIdentityInput) String() string {
  8567  	return awsutil.Prettify(s)
  8568  }
  8569  
  8570  // GoString returns the string representation.
  8571  //
  8572  // API parameter values that are decorated as "sensitive" in the API will not
  8573  // be included in the string output. The member name will be present, but the
  8574  // value will be replaced with "sensitive".
  8575  func (s DeleteIdentityInput) GoString() string {
  8576  	return s.String()
  8577  }
  8578  
  8579  // Validate inspects the fields of the type to determine if they are valid.
  8580  func (s *DeleteIdentityInput) Validate() error {
  8581  	invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityInput"}
  8582  	if s.Identity == nil {
  8583  		invalidParams.Add(request.NewErrParamRequired("Identity"))
  8584  	}
  8585  
  8586  	if invalidParams.Len() > 0 {
  8587  		return invalidParams
  8588  	}
  8589  	return nil
  8590  }
  8591  
  8592  // SetIdentity sets the Identity field's value.
  8593  func (s *DeleteIdentityInput) SetIdentity(v string) *DeleteIdentityInput {
  8594  	s.Identity = &v
  8595  	return s
  8596  }
  8597  
  8598  // An empty element returned on a successful request.
  8599  type DeleteIdentityOutput struct {
  8600  	_ struct{} `type:"structure"`
  8601  }
  8602  
  8603  // String returns the string representation.
  8604  //
  8605  // API parameter values that are decorated as "sensitive" in the API will not
  8606  // be included in the string output. The member name will be present, but the
  8607  // value will be replaced with "sensitive".
  8608  func (s DeleteIdentityOutput) String() string {
  8609  	return awsutil.Prettify(s)
  8610  }
  8611  
  8612  // GoString returns the string representation.
  8613  //
  8614  // API parameter values that are decorated as "sensitive" in the API will not
  8615  // be included in the string output. The member name will be present, but the
  8616  // value will be replaced with "sensitive".
  8617  func (s DeleteIdentityOutput) GoString() string {
  8618  	return s.String()
  8619  }
  8620  
  8621  // Represents a request to delete a sending authorization policy for an identity.
  8622  // Sending authorization is an Amazon SES feature that enables you to authorize
  8623  // other senders to use your identities. For information, see the Amazon SES
  8624  // Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
  8625  type DeleteIdentityPolicyInput struct {
  8626  	_ struct{} `type:"structure"`
  8627  
  8628  	// The identity that is associated with the policy that you want to delete.
  8629  	// You can specify the identity by using its name or by using its Amazon Resource
  8630  	// Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
  8631  	//
  8632  	// To successfully call this API, you must own the identity.
  8633  	//
  8634  	// Identity is a required field
  8635  	Identity *string `type:"string" required:"true"`
  8636  
  8637  	// The name of the policy to be deleted.
  8638  	//
  8639  	// PolicyName is a required field
  8640  	PolicyName *string `min:"1" type:"string" required:"true"`
  8641  }
  8642  
  8643  // String returns the string representation.
  8644  //
  8645  // API parameter values that are decorated as "sensitive" in the API will not
  8646  // be included in the string output. The member name will be present, but the
  8647  // value will be replaced with "sensitive".
  8648  func (s DeleteIdentityPolicyInput) String() string {
  8649  	return awsutil.Prettify(s)
  8650  }
  8651  
  8652  // GoString returns the string representation.
  8653  //
  8654  // API parameter values that are decorated as "sensitive" in the API will not
  8655  // be included in the string output. The member name will be present, but the
  8656  // value will be replaced with "sensitive".
  8657  func (s DeleteIdentityPolicyInput) GoString() string {
  8658  	return s.String()
  8659  }
  8660  
  8661  // Validate inspects the fields of the type to determine if they are valid.
  8662  func (s *DeleteIdentityPolicyInput) Validate() error {
  8663  	invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityPolicyInput"}
  8664  	if s.Identity == nil {
  8665  		invalidParams.Add(request.NewErrParamRequired("Identity"))
  8666  	}
  8667  	if s.PolicyName == nil {
  8668  		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  8669  	}
  8670  	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  8671  		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  8672  	}
  8673  
  8674  	if invalidParams.Len() > 0 {
  8675  		return invalidParams
  8676  	}
  8677  	return nil
  8678  }
  8679  
  8680  // SetIdentity sets the Identity field's value.
  8681  func (s *DeleteIdentityPolicyInput) SetIdentity(v string) *DeleteIdentityPolicyInput {
  8682  	s.Identity = &v
  8683  	return s
  8684  }
  8685  
  8686  // SetPolicyName sets the PolicyName field's value.
  8687  func (s *DeleteIdentityPolicyInput) SetPolicyName(v string) *DeleteIdentityPolicyInput {
  8688  	s.PolicyName = &v
  8689  	return s
  8690  }
  8691  
  8692  // An empty element returned on a successful request.
  8693  type DeleteIdentityPolicyOutput struct {
  8694  	_ struct{} `type:"structure"`
  8695  }
  8696  
  8697  // String returns the string representation.
  8698  //
  8699  // API parameter values that are decorated as "sensitive" in the API will not
  8700  // be included in the string output. The member name will be present, but the
  8701  // value will be replaced with "sensitive".
  8702  func (s DeleteIdentityPolicyOutput) String() string {
  8703  	return awsutil.Prettify(s)
  8704  }
  8705  
  8706  // GoString returns the string representation.
  8707  //
  8708  // API parameter values that are decorated as "sensitive" in the API will not
  8709  // be included in the string output. The member name will be present, but the
  8710  // value will be replaced with "sensitive".
  8711  func (s DeleteIdentityPolicyOutput) GoString() string {
  8712  	return s.String()
  8713  }
  8714  
  8715  // Represents a request to delete an IP address filter. You use IP address filters
  8716  // when you receive email with Amazon SES. For more information, see the Amazon
  8717  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  8718  type DeleteReceiptFilterInput struct {
  8719  	_ struct{} `type:"structure"`
  8720  
  8721  	// The name of the IP address filter to delete.
  8722  	//
  8723  	// FilterName is a required field
  8724  	FilterName *string `type:"string" required:"true"`
  8725  }
  8726  
  8727  // String returns the string representation.
  8728  //
  8729  // API parameter values that are decorated as "sensitive" in the API will not
  8730  // be included in the string output. The member name will be present, but the
  8731  // value will be replaced with "sensitive".
  8732  func (s DeleteReceiptFilterInput) String() string {
  8733  	return awsutil.Prettify(s)
  8734  }
  8735  
  8736  // GoString returns the string representation.
  8737  //
  8738  // API parameter values that are decorated as "sensitive" in the API will not
  8739  // be included in the string output. The member name will be present, but the
  8740  // value will be replaced with "sensitive".
  8741  func (s DeleteReceiptFilterInput) GoString() string {
  8742  	return s.String()
  8743  }
  8744  
  8745  // Validate inspects the fields of the type to determine if they are valid.
  8746  func (s *DeleteReceiptFilterInput) Validate() error {
  8747  	invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptFilterInput"}
  8748  	if s.FilterName == nil {
  8749  		invalidParams.Add(request.NewErrParamRequired("FilterName"))
  8750  	}
  8751  
  8752  	if invalidParams.Len() > 0 {
  8753  		return invalidParams
  8754  	}
  8755  	return nil
  8756  }
  8757  
  8758  // SetFilterName sets the FilterName field's value.
  8759  func (s *DeleteReceiptFilterInput) SetFilterName(v string) *DeleteReceiptFilterInput {
  8760  	s.FilterName = &v
  8761  	return s
  8762  }
  8763  
  8764  // An empty element returned on a successful request.
  8765  type DeleteReceiptFilterOutput struct {
  8766  	_ struct{} `type:"structure"`
  8767  }
  8768  
  8769  // String returns the string representation.
  8770  //
  8771  // API parameter values that are decorated as "sensitive" in the API will not
  8772  // be included in the string output. The member name will be present, but the
  8773  // value will be replaced with "sensitive".
  8774  func (s DeleteReceiptFilterOutput) String() string {
  8775  	return awsutil.Prettify(s)
  8776  }
  8777  
  8778  // GoString returns the string representation.
  8779  //
  8780  // API parameter values that are decorated as "sensitive" in the API will not
  8781  // be included in the string output. The member name will be present, but the
  8782  // value will be replaced with "sensitive".
  8783  func (s DeleteReceiptFilterOutput) GoString() string {
  8784  	return s.String()
  8785  }
  8786  
  8787  // Represents a request to delete a receipt rule. You use receipt rules to receive
  8788  // email with Amazon SES. For more information, see the Amazon SES Developer
  8789  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  8790  type DeleteReceiptRuleInput struct {
  8791  	_ struct{} `type:"structure"`
  8792  
  8793  	// The name of the receipt rule to delete.
  8794  	//
  8795  	// RuleName is a required field
  8796  	RuleName *string `type:"string" required:"true"`
  8797  
  8798  	// The name of the receipt rule set that contains the receipt rule to delete.
  8799  	//
  8800  	// RuleSetName is a required field
  8801  	RuleSetName *string `type:"string" required:"true"`
  8802  }
  8803  
  8804  // String returns the string representation.
  8805  //
  8806  // API parameter values that are decorated as "sensitive" in the API will not
  8807  // be included in the string output. The member name will be present, but the
  8808  // value will be replaced with "sensitive".
  8809  func (s DeleteReceiptRuleInput) String() string {
  8810  	return awsutil.Prettify(s)
  8811  }
  8812  
  8813  // GoString returns the string representation.
  8814  //
  8815  // API parameter values that are decorated as "sensitive" in the API will not
  8816  // be included in the string output. The member name will be present, but the
  8817  // value will be replaced with "sensitive".
  8818  func (s DeleteReceiptRuleInput) GoString() string {
  8819  	return s.String()
  8820  }
  8821  
  8822  // Validate inspects the fields of the type to determine if they are valid.
  8823  func (s *DeleteReceiptRuleInput) Validate() error {
  8824  	invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptRuleInput"}
  8825  	if s.RuleName == nil {
  8826  		invalidParams.Add(request.NewErrParamRequired("RuleName"))
  8827  	}
  8828  	if s.RuleSetName == nil {
  8829  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
  8830  	}
  8831  
  8832  	if invalidParams.Len() > 0 {
  8833  		return invalidParams
  8834  	}
  8835  	return nil
  8836  }
  8837  
  8838  // SetRuleName sets the RuleName field's value.
  8839  func (s *DeleteReceiptRuleInput) SetRuleName(v string) *DeleteReceiptRuleInput {
  8840  	s.RuleName = &v
  8841  	return s
  8842  }
  8843  
  8844  // SetRuleSetName sets the RuleSetName field's value.
  8845  func (s *DeleteReceiptRuleInput) SetRuleSetName(v string) *DeleteReceiptRuleInput {
  8846  	s.RuleSetName = &v
  8847  	return s
  8848  }
  8849  
  8850  // An empty element returned on a successful request.
  8851  type DeleteReceiptRuleOutput struct {
  8852  	_ struct{} `type:"structure"`
  8853  }
  8854  
  8855  // String returns the string representation.
  8856  //
  8857  // API parameter values that are decorated as "sensitive" in the API will not
  8858  // be included in the string output. The member name will be present, but the
  8859  // value will be replaced with "sensitive".
  8860  func (s DeleteReceiptRuleOutput) String() string {
  8861  	return awsutil.Prettify(s)
  8862  }
  8863  
  8864  // GoString returns the string representation.
  8865  //
  8866  // API parameter values that are decorated as "sensitive" in the API will not
  8867  // be included in the string output. The member name will be present, but the
  8868  // value will be replaced with "sensitive".
  8869  func (s DeleteReceiptRuleOutput) GoString() string {
  8870  	return s.String()
  8871  }
  8872  
  8873  // Represents a request to delete a receipt rule set and all of the receipt
  8874  // rules it contains. You use receipt rule sets to receive email with Amazon
  8875  // SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  8876  type DeleteReceiptRuleSetInput struct {
  8877  	_ struct{} `type:"structure"`
  8878  
  8879  	// The name of the receipt rule set to delete.
  8880  	//
  8881  	// RuleSetName is a required field
  8882  	RuleSetName *string `type:"string" required:"true"`
  8883  }
  8884  
  8885  // String returns the string representation.
  8886  //
  8887  // API parameter values that are decorated as "sensitive" in the API will not
  8888  // be included in the string output. The member name will be present, but the
  8889  // value will be replaced with "sensitive".
  8890  func (s DeleteReceiptRuleSetInput) String() string {
  8891  	return awsutil.Prettify(s)
  8892  }
  8893  
  8894  // GoString returns the string representation.
  8895  //
  8896  // API parameter values that are decorated as "sensitive" in the API will not
  8897  // be included in the string output. The member name will be present, but the
  8898  // value will be replaced with "sensitive".
  8899  func (s DeleteReceiptRuleSetInput) GoString() string {
  8900  	return s.String()
  8901  }
  8902  
  8903  // Validate inspects the fields of the type to determine if they are valid.
  8904  func (s *DeleteReceiptRuleSetInput) Validate() error {
  8905  	invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptRuleSetInput"}
  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  // SetRuleSetName sets the RuleSetName field's value.
  8917  func (s *DeleteReceiptRuleSetInput) SetRuleSetName(v string) *DeleteReceiptRuleSetInput {
  8918  	s.RuleSetName = &v
  8919  	return s
  8920  }
  8921  
  8922  // An empty element returned on a successful request.
  8923  type DeleteReceiptRuleSetOutput struct {
  8924  	_ struct{} `type:"structure"`
  8925  }
  8926  
  8927  // String returns the string representation.
  8928  //
  8929  // API parameter values that are decorated as "sensitive" in the API will not
  8930  // be included in the string output. The member name will be present, but the
  8931  // value will be replaced with "sensitive".
  8932  func (s DeleteReceiptRuleSetOutput) String() string {
  8933  	return awsutil.Prettify(s)
  8934  }
  8935  
  8936  // GoString returns the string representation.
  8937  //
  8938  // API parameter values that are decorated as "sensitive" in the API will not
  8939  // be included in the string output. The member name will be present, but the
  8940  // value will be replaced with "sensitive".
  8941  func (s DeleteReceiptRuleSetOutput) GoString() string {
  8942  	return s.String()
  8943  }
  8944  
  8945  // Represents a request to delete an email template. For more information, see
  8946  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
  8947  type DeleteTemplateInput struct {
  8948  	_ struct{} `type:"structure"`
  8949  
  8950  	// The name of the template to be deleted.
  8951  	//
  8952  	// TemplateName is a required field
  8953  	TemplateName *string `type:"string" required:"true"`
  8954  }
  8955  
  8956  // String returns the string representation.
  8957  //
  8958  // API parameter values that are decorated as "sensitive" in the API will not
  8959  // be included in the string output. The member name will be present, but the
  8960  // value will be replaced with "sensitive".
  8961  func (s DeleteTemplateInput) String() string {
  8962  	return awsutil.Prettify(s)
  8963  }
  8964  
  8965  // GoString returns the string representation.
  8966  //
  8967  // API parameter values that are decorated as "sensitive" in the API will not
  8968  // be included in the string output. The member name will be present, but the
  8969  // value will be replaced with "sensitive".
  8970  func (s DeleteTemplateInput) GoString() string {
  8971  	return s.String()
  8972  }
  8973  
  8974  // Validate inspects the fields of the type to determine if they are valid.
  8975  func (s *DeleteTemplateInput) Validate() error {
  8976  	invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateInput"}
  8977  	if s.TemplateName == nil {
  8978  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  8979  	}
  8980  
  8981  	if invalidParams.Len() > 0 {
  8982  		return invalidParams
  8983  	}
  8984  	return nil
  8985  }
  8986  
  8987  // SetTemplateName sets the TemplateName field's value.
  8988  func (s *DeleteTemplateInput) SetTemplateName(v string) *DeleteTemplateInput {
  8989  	s.TemplateName = &v
  8990  	return s
  8991  }
  8992  
  8993  type DeleteTemplateOutput struct {
  8994  	_ struct{} `type:"structure"`
  8995  }
  8996  
  8997  // String returns the string representation.
  8998  //
  8999  // API parameter values that are decorated as "sensitive" in the API will not
  9000  // be included in the string output. The member name will be present, but the
  9001  // value will be replaced with "sensitive".
  9002  func (s DeleteTemplateOutput) String() string {
  9003  	return awsutil.Prettify(s)
  9004  }
  9005  
  9006  // GoString returns the string representation.
  9007  //
  9008  // API parameter values that are decorated as "sensitive" in the API will not
  9009  // be included in the string output. The member name will be present, but the
  9010  // value will be replaced with "sensitive".
  9011  func (s DeleteTemplateOutput) GoString() string {
  9012  	return s.String()
  9013  }
  9014  
  9015  // Represents a request to delete an email address from the list of email addresses
  9016  // you have attempted to verify under your AWS account.
  9017  type DeleteVerifiedEmailAddressInput struct {
  9018  	_ struct{} `type:"structure"`
  9019  
  9020  	// An email address to be removed from the list of verified addresses.
  9021  	//
  9022  	// EmailAddress is a required field
  9023  	EmailAddress *string `type:"string" required:"true"`
  9024  }
  9025  
  9026  // String returns the string representation.
  9027  //
  9028  // API parameter values that are decorated as "sensitive" in the API will not
  9029  // be included in the string output. The member name will be present, but the
  9030  // value will be replaced with "sensitive".
  9031  func (s DeleteVerifiedEmailAddressInput) String() string {
  9032  	return awsutil.Prettify(s)
  9033  }
  9034  
  9035  // GoString returns the string representation.
  9036  //
  9037  // API parameter values that are decorated as "sensitive" in the API will not
  9038  // be included in the string output. The member name will be present, but the
  9039  // value will be replaced with "sensitive".
  9040  func (s DeleteVerifiedEmailAddressInput) GoString() string {
  9041  	return s.String()
  9042  }
  9043  
  9044  // Validate inspects the fields of the type to determine if they are valid.
  9045  func (s *DeleteVerifiedEmailAddressInput) Validate() error {
  9046  	invalidParams := request.ErrInvalidParams{Context: "DeleteVerifiedEmailAddressInput"}
  9047  	if s.EmailAddress == nil {
  9048  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
  9049  	}
  9050  
  9051  	if invalidParams.Len() > 0 {
  9052  		return invalidParams
  9053  	}
  9054  	return nil
  9055  }
  9056  
  9057  // SetEmailAddress sets the EmailAddress field's value.
  9058  func (s *DeleteVerifiedEmailAddressInput) SetEmailAddress(v string) *DeleteVerifiedEmailAddressInput {
  9059  	s.EmailAddress = &v
  9060  	return s
  9061  }
  9062  
  9063  type DeleteVerifiedEmailAddressOutput struct {
  9064  	_ struct{} `type:"structure"`
  9065  }
  9066  
  9067  // String returns the string representation.
  9068  //
  9069  // API parameter values that are decorated as "sensitive" in the API will not
  9070  // be included in the string output. The member name will be present, but the
  9071  // value will be replaced with "sensitive".
  9072  func (s DeleteVerifiedEmailAddressOutput) String() string {
  9073  	return awsutil.Prettify(s)
  9074  }
  9075  
  9076  // GoString returns the string representation.
  9077  //
  9078  // API parameter values that are decorated as "sensitive" in the API will not
  9079  // be included in the string output. The member name will be present, but the
  9080  // value will be replaced with "sensitive".
  9081  func (s DeleteVerifiedEmailAddressOutput) GoString() string {
  9082  	return s.String()
  9083  }
  9084  
  9085  // Specifies whether messages that use the configuration set are required to
  9086  // use Transport Layer Security (TLS).
  9087  type DeliveryOptions struct {
  9088  	_ struct{} `type:"structure"`
  9089  
  9090  	// Specifies whether messages that use the configuration set are required to
  9091  	// use Transport Layer Security (TLS). If the value is Require, messages are
  9092  	// only delivered if a TLS connection can be established. If the value is Optional,
  9093  	// messages can be delivered in plain text if a TLS connection can't be established.
  9094  	TlsPolicy *string `type:"string" enum:"TlsPolicy"`
  9095  }
  9096  
  9097  // String returns the string representation.
  9098  //
  9099  // API parameter values that are decorated as "sensitive" in the API will not
  9100  // be included in the string output. The member name will be present, but the
  9101  // value will be replaced with "sensitive".
  9102  func (s DeliveryOptions) String() string {
  9103  	return awsutil.Prettify(s)
  9104  }
  9105  
  9106  // GoString returns the string representation.
  9107  //
  9108  // API parameter values that are decorated as "sensitive" in the API will not
  9109  // be included in the string output. The member name will be present, but the
  9110  // value will be replaced with "sensitive".
  9111  func (s DeliveryOptions) GoString() string {
  9112  	return s.String()
  9113  }
  9114  
  9115  // SetTlsPolicy sets the TlsPolicy field's value.
  9116  func (s *DeliveryOptions) SetTlsPolicy(v string) *DeliveryOptions {
  9117  	s.TlsPolicy = &v
  9118  	return s
  9119  }
  9120  
  9121  // Represents a request to return the metadata and receipt rules for the receipt
  9122  // rule set that is currently active. You use receipt rule sets to receive email
  9123  // with Amazon SES. For more information, see the Amazon SES Developer Guide
  9124  // (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  9125  type DescribeActiveReceiptRuleSetInput struct {
  9126  	_ struct{} `type:"structure"`
  9127  }
  9128  
  9129  // String returns the string representation.
  9130  //
  9131  // API parameter values that are decorated as "sensitive" in the API will not
  9132  // be included in the string output. The member name will be present, but the
  9133  // value will be replaced with "sensitive".
  9134  func (s DescribeActiveReceiptRuleSetInput) String() string {
  9135  	return awsutil.Prettify(s)
  9136  }
  9137  
  9138  // GoString returns the string representation.
  9139  //
  9140  // API parameter values that are decorated as "sensitive" in the API will not
  9141  // be included in the string output. The member name will be present, but the
  9142  // value will be replaced with "sensitive".
  9143  func (s DescribeActiveReceiptRuleSetInput) GoString() string {
  9144  	return s.String()
  9145  }
  9146  
  9147  // Represents the metadata and receipt rules for the receipt rule set that is
  9148  // currently active.
  9149  type DescribeActiveReceiptRuleSetOutput struct {
  9150  	_ struct{} `type:"structure"`
  9151  
  9152  	// The metadata for the currently active receipt rule set. The metadata consists
  9153  	// of the rule set name and a timestamp of when the rule set was created.
  9154  	Metadata *ReceiptRuleSetMetadata `type:"structure"`
  9155  
  9156  	// The receipt rules that belong to the active rule set.
  9157  	Rules []*ReceiptRule `type:"list"`
  9158  }
  9159  
  9160  // String returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s DescribeActiveReceiptRuleSetOutput) String() string {
  9166  	return awsutil.Prettify(s)
  9167  }
  9168  
  9169  // GoString returns the string representation.
  9170  //
  9171  // API parameter values that are decorated as "sensitive" in the API will not
  9172  // be included in the string output. The member name will be present, but the
  9173  // value will be replaced with "sensitive".
  9174  func (s DescribeActiveReceiptRuleSetOutput) GoString() string {
  9175  	return s.String()
  9176  }
  9177  
  9178  // SetMetadata sets the Metadata field's value.
  9179  func (s *DescribeActiveReceiptRuleSetOutput) SetMetadata(v *ReceiptRuleSetMetadata) *DescribeActiveReceiptRuleSetOutput {
  9180  	s.Metadata = v
  9181  	return s
  9182  }
  9183  
  9184  // SetRules sets the Rules field's value.
  9185  func (s *DescribeActiveReceiptRuleSetOutput) SetRules(v []*ReceiptRule) *DescribeActiveReceiptRuleSetOutput {
  9186  	s.Rules = v
  9187  	return s
  9188  }
  9189  
  9190  // Represents a request to return the details of a configuration set. Configuration
  9191  // sets enable you to publish email sending events. For information about using
  9192  // configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  9193  type DescribeConfigurationSetInput struct {
  9194  	_ struct{} `type:"structure"`
  9195  
  9196  	// A list of configuration set attributes to return.
  9197  	ConfigurationSetAttributeNames []*string `type:"list"`
  9198  
  9199  	// The name of the configuration set to describe.
  9200  	//
  9201  	// ConfigurationSetName is a required field
  9202  	ConfigurationSetName *string `type:"string" required:"true"`
  9203  }
  9204  
  9205  // String returns the string representation.
  9206  //
  9207  // API parameter values that are decorated as "sensitive" in the API will not
  9208  // be included in the string output. The member name will be present, but the
  9209  // value will be replaced with "sensitive".
  9210  func (s DescribeConfigurationSetInput) String() string {
  9211  	return awsutil.Prettify(s)
  9212  }
  9213  
  9214  // GoString returns the string representation.
  9215  //
  9216  // API parameter values that are decorated as "sensitive" in the API will not
  9217  // be included in the string output. The member name will be present, but the
  9218  // value will be replaced with "sensitive".
  9219  func (s DescribeConfigurationSetInput) GoString() string {
  9220  	return s.String()
  9221  }
  9222  
  9223  // Validate inspects the fields of the type to determine if they are valid.
  9224  func (s *DescribeConfigurationSetInput) Validate() error {
  9225  	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationSetInput"}
  9226  	if s.ConfigurationSetName == nil {
  9227  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  9228  	}
  9229  
  9230  	if invalidParams.Len() > 0 {
  9231  		return invalidParams
  9232  	}
  9233  	return nil
  9234  }
  9235  
  9236  // SetConfigurationSetAttributeNames sets the ConfigurationSetAttributeNames field's value.
  9237  func (s *DescribeConfigurationSetInput) SetConfigurationSetAttributeNames(v []*string) *DescribeConfigurationSetInput {
  9238  	s.ConfigurationSetAttributeNames = v
  9239  	return s
  9240  }
  9241  
  9242  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  9243  func (s *DescribeConfigurationSetInput) SetConfigurationSetName(v string) *DescribeConfigurationSetInput {
  9244  	s.ConfigurationSetName = &v
  9245  	return s
  9246  }
  9247  
  9248  // Represents the details of a configuration set. Configuration sets enable
  9249  // you to publish email sending events. For information about using configuration
  9250  // sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  9251  type DescribeConfigurationSetOutput struct {
  9252  	_ struct{} `type:"structure"`
  9253  
  9254  	// The configuration set object associated with the specified configuration
  9255  	// set.
  9256  	ConfigurationSet *ConfigurationSet `type:"structure"`
  9257  
  9258  	// Specifies whether messages that use the configuration set are required to
  9259  	// use Transport Layer Security (TLS).
  9260  	DeliveryOptions *DeliveryOptions `type:"structure"`
  9261  
  9262  	// A list of event destinations associated with the configuration set.
  9263  	EventDestinations []*EventDestination `type:"list"`
  9264  
  9265  	// An object that represents the reputation settings for the configuration set.
  9266  	ReputationOptions *ReputationOptions `type:"structure"`
  9267  
  9268  	// The name of the custom open and click tracking domain associated with the
  9269  	// configuration set.
  9270  	TrackingOptions *TrackingOptions `type:"structure"`
  9271  }
  9272  
  9273  // String returns the string representation.
  9274  //
  9275  // API parameter values that are decorated as "sensitive" in the API will not
  9276  // be included in the string output. The member name will be present, but the
  9277  // value will be replaced with "sensitive".
  9278  func (s DescribeConfigurationSetOutput) String() string {
  9279  	return awsutil.Prettify(s)
  9280  }
  9281  
  9282  // GoString returns the string representation.
  9283  //
  9284  // API parameter values that are decorated as "sensitive" in the API will not
  9285  // be included in the string output. The member name will be present, but the
  9286  // value will be replaced with "sensitive".
  9287  func (s DescribeConfigurationSetOutput) GoString() string {
  9288  	return s.String()
  9289  }
  9290  
  9291  // SetConfigurationSet sets the ConfigurationSet field's value.
  9292  func (s *DescribeConfigurationSetOutput) SetConfigurationSet(v *ConfigurationSet) *DescribeConfigurationSetOutput {
  9293  	s.ConfigurationSet = v
  9294  	return s
  9295  }
  9296  
  9297  // SetDeliveryOptions sets the DeliveryOptions field's value.
  9298  func (s *DescribeConfigurationSetOutput) SetDeliveryOptions(v *DeliveryOptions) *DescribeConfigurationSetOutput {
  9299  	s.DeliveryOptions = v
  9300  	return s
  9301  }
  9302  
  9303  // SetEventDestinations sets the EventDestinations field's value.
  9304  func (s *DescribeConfigurationSetOutput) SetEventDestinations(v []*EventDestination) *DescribeConfigurationSetOutput {
  9305  	s.EventDestinations = v
  9306  	return s
  9307  }
  9308  
  9309  // SetReputationOptions sets the ReputationOptions field's value.
  9310  func (s *DescribeConfigurationSetOutput) SetReputationOptions(v *ReputationOptions) *DescribeConfigurationSetOutput {
  9311  	s.ReputationOptions = v
  9312  	return s
  9313  }
  9314  
  9315  // SetTrackingOptions sets the TrackingOptions field's value.
  9316  func (s *DescribeConfigurationSetOutput) SetTrackingOptions(v *TrackingOptions) *DescribeConfigurationSetOutput {
  9317  	s.TrackingOptions = v
  9318  	return s
  9319  }
  9320  
  9321  // Represents a request to return the details of a receipt rule. You use receipt
  9322  // rules to receive email with Amazon SES. For more information, see the Amazon
  9323  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  9324  type DescribeReceiptRuleInput struct {
  9325  	_ struct{} `type:"structure"`
  9326  
  9327  	// The name of the receipt rule.
  9328  	//
  9329  	// RuleName is a required field
  9330  	RuleName *string `type:"string" required:"true"`
  9331  
  9332  	// The name of the receipt rule set that the receipt rule belongs to.
  9333  	//
  9334  	// RuleSetName is a required field
  9335  	RuleSetName *string `type:"string" required:"true"`
  9336  }
  9337  
  9338  // String returns the string representation.
  9339  //
  9340  // API parameter values that are decorated as "sensitive" in the API will not
  9341  // be included in the string output. The member name will be present, but the
  9342  // value will be replaced with "sensitive".
  9343  func (s DescribeReceiptRuleInput) String() string {
  9344  	return awsutil.Prettify(s)
  9345  }
  9346  
  9347  // GoString returns the string representation.
  9348  //
  9349  // API parameter values that are decorated as "sensitive" in the API will not
  9350  // be included in the string output. The member name will be present, but the
  9351  // value will be replaced with "sensitive".
  9352  func (s DescribeReceiptRuleInput) GoString() string {
  9353  	return s.String()
  9354  }
  9355  
  9356  // Validate inspects the fields of the type to determine if they are valid.
  9357  func (s *DescribeReceiptRuleInput) Validate() error {
  9358  	invalidParams := request.ErrInvalidParams{Context: "DescribeReceiptRuleInput"}
  9359  	if s.RuleName == nil {
  9360  		invalidParams.Add(request.NewErrParamRequired("RuleName"))
  9361  	}
  9362  	if s.RuleSetName == nil {
  9363  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
  9364  	}
  9365  
  9366  	if invalidParams.Len() > 0 {
  9367  		return invalidParams
  9368  	}
  9369  	return nil
  9370  }
  9371  
  9372  // SetRuleName sets the RuleName field's value.
  9373  func (s *DescribeReceiptRuleInput) SetRuleName(v string) *DescribeReceiptRuleInput {
  9374  	s.RuleName = &v
  9375  	return s
  9376  }
  9377  
  9378  // SetRuleSetName sets the RuleSetName field's value.
  9379  func (s *DescribeReceiptRuleInput) SetRuleSetName(v string) *DescribeReceiptRuleInput {
  9380  	s.RuleSetName = &v
  9381  	return s
  9382  }
  9383  
  9384  // Represents the details of a receipt rule.
  9385  type DescribeReceiptRuleOutput struct {
  9386  	_ struct{} `type:"structure"`
  9387  
  9388  	// A data structure that contains the specified receipt rule's name, actions,
  9389  	// recipients, domains, enabled status, scan status, and Transport Layer Security
  9390  	// (TLS) policy.
  9391  	Rule *ReceiptRule `type:"structure"`
  9392  }
  9393  
  9394  // String returns the string representation.
  9395  //
  9396  // API parameter values that are decorated as "sensitive" in the API will not
  9397  // be included in the string output. The member name will be present, but the
  9398  // value will be replaced with "sensitive".
  9399  func (s DescribeReceiptRuleOutput) String() string {
  9400  	return awsutil.Prettify(s)
  9401  }
  9402  
  9403  // GoString returns the string representation.
  9404  //
  9405  // API parameter values that are decorated as "sensitive" in the API will not
  9406  // be included in the string output. The member name will be present, but the
  9407  // value will be replaced with "sensitive".
  9408  func (s DescribeReceiptRuleOutput) GoString() string {
  9409  	return s.String()
  9410  }
  9411  
  9412  // SetRule sets the Rule field's value.
  9413  func (s *DescribeReceiptRuleOutput) SetRule(v *ReceiptRule) *DescribeReceiptRuleOutput {
  9414  	s.Rule = v
  9415  	return s
  9416  }
  9417  
  9418  // Represents a request to return the details of a receipt rule set. You use
  9419  // receipt rule sets to receive email with Amazon SES. For more information,
  9420  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
  9421  type DescribeReceiptRuleSetInput struct {
  9422  	_ struct{} `type:"structure"`
  9423  
  9424  	// The name of the receipt rule set to describe.
  9425  	//
  9426  	// RuleSetName is a required field
  9427  	RuleSetName *string `type:"string" required:"true"`
  9428  }
  9429  
  9430  // String returns the string representation.
  9431  //
  9432  // API parameter values that are decorated as "sensitive" in the API will not
  9433  // be included in the string output. The member name will be present, but the
  9434  // value will be replaced with "sensitive".
  9435  func (s DescribeReceiptRuleSetInput) String() string {
  9436  	return awsutil.Prettify(s)
  9437  }
  9438  
  9439  // GoString returns the string representation.
  9440  //
  9441  // API parameter values that are decorated as "sensitive" in the API will not
  9442  // be included in the string output. The member name will be present, but the
  9443  // value will be replaced with "sensitive".
  9444  func (s DescribeReceiptRuleSetInput) GoString() string {
  9445  	return s.String()
  9446  }
  9447  
  9448  // Validate inspects the fields of the type to determine if they are valid.
  9449  func (s *DescribeReceiptRuleSetInput) Validate() error {
  9450  	invalidParams := request.ErrInvalidParams{Context: "DescribeReceiptRuleSetInput"}
  9451  	if s.RuleSetName == nil {
  9452  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
  9453  	}
  9454  
  9455  	if invalidParams.Len() > 0 {
  9456  		return invalidParams
  9457  	}
  9458  	return nil
  9459  }
  9460  
  9461  // SetRuleSetName sets the RuleSetName field's value.
  9462  func (s *DescribeReceiptRuleSetInput) SetRuleSetName(v string) *DescribeReceiptRuleSetInput {
  9463  	s.RuleSetName = &v
  9464  	return s
  9465  }
  9466  
  9467  // Represents the details of the specified receipt rule set.
  9468  type DescribeReceiptRuleSetOutput struct {
  9469  	_ struct{} `type:"structure"`
  9470  
  9471  	// The metadata for the receipt rule set, which consists of the rule set name
  9472  	// and the timestamp of when the rule set was created.
  9473  	Metadata *ReceiptRuleSetMetadata `type:"structure"`
  9474  
  9475  	// A list of the receipt rules that belong to the specified receipt rule set.
  9476  	Rules []*ReceiptRule `type:"list"`
  9477  }
  9478  
  9479  // String returns the string representation.
  9480  //
  9481  // API parameter values that are decorated as "sensitive" in the API will not
  9482  // be included in the string output. The member name will be present, but the
  9483  // value will be replaced with "sensitive".
  9484  func (s DescribeReceiptRuleSetOutput) String() string {
  9485  	return awsutil.Prettify(s)
  9486  }
  9487  
  9488  // GoString returns the string representation.
  9489  //
  9490  // API parameter values that are decorated as "sensitive" in the API will not
  9491  // be included in the string output. The member name will be present, but the
  9492  // value will be replaced with "sensitive".
  9493  func (s DescribeReceiptRuleSetOutput) GoString() string {
  9494  	return s.String()
  9495  }
  9496  
  9497  // SetMetadata sets the Metadata field's value.
  9498  func (s *DescribeReceiptRuleSetOutput) SetMetadata(v *ReceiptRuleSetMetadata) *DescribeReceiptRuleSetOutput {
  9499  	s.Metadata = v
  9500  	return s
  9501  }
  9502  
  9503  // SetRules sets the Rules field's value.
  9504  func (s *DescribeReceiptRuleSetOutput) SetRules(v []*ReceiptRule) *DescribeReceiptRuleSetOutput {
  9505  	s.Rules = v
  9506  	return s
  9507  }
  9508  
  9509  // Represents the destination of the message, consisting of To:, CC:, and BCC:
  9510  // fields.
  9511  //
  9512  // Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
  9513  // (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
  9514  // a destination email address (the part of the email address that precedes
  9515  // the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
  9516  // If the domain part of an address (the part after the @ sign) contains non-ASCII
  9517  // characters, they must be encoded using Punycode, as described in RFC3492
  9518  // (https://tools.ietf.org/html/rfc3492.html).
  9519  type Destination struct {
  9520  	_ struct{} `type:"structure"`
  9521  
  9522  	// The recipients to place on the BCC: line of the message.
  9523  	BccAddresses []*string `type:"list"`
  9524  
  9525  	// The recipients to place on the CC: line of the message.
  9526  	CcAddresses []*string `type:"list"`
  9527  
  9528  	// The recipients to place on the To: line of the message.
  9529  	ToAddresses []*string `type:"list"`
  9530  }
  9531  
  9532  // String returns the string representation.
  9533  //
  9534  // API parameter values that are decorated as "sensitive" in the API will not
  9535  // be included in the string output. The member name will be present, but the
  9536  // value will be replaced with "sensitive".
  9537  func (s Destination) String() string {
  9538  	return awsutil.Prettify(s)
  9539  }
  9540  
  9541  // GoString returns the string representation.
  9542  //
  9543  // API parameter values that are decorated as "sensitive" in the API will not
  9544  // be included in the string output. The member name will be present, but the
  9545  // value will be replaced with "sensitive".
  9546  func (s Destination) GoString() string {
  9547  	return s.String()
  9548  }
  9549  
  9550  // SetBccAddresses sets the BccAddresses field's value.
  9551  func (s *Destination) SetBccAddresses(v []*string) *Destination {
  9552  	s.BccAddresses = v
  9553  	return s
  9554  }
  9555  
  9556  // SetCcAddresses sets the CcAddresses field's value.
  9557  func (s *Destination) SetCcAddresses(v []*string) *Destination {
  9558  	s.CcAddresses = v
  9559  	return s
  9560  }
  9561  
  9562  // SetToAddresses sets the ToAddresses field's value.
  9563  func (s *Destination) SetToAddresses(v []*string) *Destination {
  9564  	s.ToAddresses = v
  9565  	return s
  9566  }
  9567  
  9568  // Contains information about the event destination that the specified email
  9569  // sending events will be published to.
  9570  //
  9571  // When you create or update an event destination, you must provide one, and
  9572  // only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis
  9573  // Firehose or Amazon Simple Notification Service (Amazon SNS).
  9574  //
  9575  // Event destinations are associated with configuration sets, which enable you
  9576  // to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose,
  9577  // or Amazon Simple Notification Service (Amazon SNS). For information about
  9578  // using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
  9579  type EventDestination struct {
  9580  	_ struct{} `type:"structure"`
  9581  
  9582  	// An object that contains the names, default values, and sources of the dimensions
  9583  	// associated with an Amazon CloudWatch event destination.
  9584  	CloudWatchDestination *CloudWatchDestination `type:"structure"`
  9585  
  9586  	// Sets whether Amazon SES publishes events to this destination when you send
  9587  	// an email with the associated configuration set. Set to true to enable publishing
  9588  	// to this destination; set to false to prevent publishing to this destination.
  9589  	// The default value is false.
  9590  	Enabled *bool `type:"boolean"`
  9591  
  9592  	// An object that contains the delivery stream ARN and the IAM role ARN associated
  9593  	// with an Amazon Kinesis Firehose event destination.
  9594  	KinesisFirehoseDestination *KinesisFirehoseDestination `type:"structure"`
  9595  
  9596  	// The type of email sending events to publish to the event destination.
  9597  	//
  9598  	// MatchingEventTypes is a required field
  9599  	MatchingEventTypes []*string `type:"list" required:"true"`
  9600  
  9601  	// The name of the event destination. The name must:
  9602  	//
  9603  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
  9604  	//    underscores (_), or dashes (-).
  9605  	//
  9606  	//    * Contain less than 64 characters.
  9607  	//
  9608  	// Name is a required field
  9609  	Name *string `type:"string" required:"true"`
  9610  
  9611  	// An object that contains the topic ARN associated with an Amazon Simple Notification
  9612  	// Service (Amazon SNS) event destination.
  9613  	SNSDestination *SNSDestination `type:"structure"`
  9614  }
  9615  
  9616  // String returns the string representation.
  9617  //
  9618  // API parameter values that are decorated as "sensitive" in the API will not
  9619  // be included in the string output. The member name will be present, but the
  9620  // value will be replaced with "sensitive".
  9621  func (s EventDestination) String() string {
  9622  	return awsutil.Prettify(s)
  9623  }
  9624  
  9625  // GoString returns the string representation.
  9626  //
  9627  // API parameter values that are decorated as "sensitive" in the API will not
  9628  // be included in the string output. The member name will be present, but the
  9629  // value will be replaced with "sensitive".
  9630  func (s EventDestination) GoString() string {
  9631  	return s.String()
  9632  }
  9633  
  9634  // Validate inspects the fields of the type to determine if they are valid.
  9635  func (s *EventDestination) Validate() error {
  9636  	invalidParams := request.ErrInvalidParams{Context: "EventDestination"}
  9637  	if s.MatchingEventTypes == nil {
  9638  		invalidParams.Add(request.NewErrParamRequired("MatchingEventTypes"))
  9639  	}
  9640  	if s.Name == nil {
  9641  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9642  	}
  9643  	if s.CloudWatchDestination != nil {
  9644  		if err := s.CloudWatchDestination.Validate(); err != nil {
  9645  			invalidParams.AddNested("CloudWatchDestination", err.(request.ErrInvalidParams))
  9646  		}
  9647  	}
  9648  	if s.KinesisFirehoseDestination != nil {
  9649  		if err := s.KinesisFirehoseDestination.Validate(); err != nil {
  9650  			invalidParams.AddNested("KinesisFirehoseDestination", err.(request.ErrInvalidParams))
  9651  		}
  9652  	}
  9653  	if s.SNSDestination != nil {
  9654  		if err := s.SNSDestination.Validate(); err != nil {
  9655  			invalidParams.AddNested("SNSDestination", err.(request.ErrInvalidParams))
  9656  		}
  9657  	}
  9658  
  9659  	if invalidParams.Len() > 0 {
  9660  		return invalidParams
  9661  	}
  9662  	return nil
  9663  }
  9664  
  9665  // SetCloudWatchDestination sets the CloudWatchDestination field's value.
  9666  func (s *EventDestination) SetCloudWatchDestination(v *CloudWatchDestination) *EventDestination {
  9667  	s.CloudWatchDestination = v
  9668  	return s
  9669  }
  9670  
  9671  // SetEnabled sets the Enabled field's value.
  9672  func (s *EventDestination) SetEnabled(v bool) *EventDestination {
  9673  	s.Enabled = &v
  9674  	return s
  9675  }
  9676  
  9677  // SetKinesisFirehoseDestination sets the KinesisFirehoseDestination field's value.
  9678  func (s *EventDestination) SetKinesisFirehoseDestination(v *KinesisFirehoseDestination) *EventDestination {
  9679  	s.KinesisFirehoseDestination = v
  9680  	return s
  9681  }
  9682  
  9683  // SetMatchingEventTypes sets the MatchingEventTypes field's value.
  9684  func (s *EventDestination) SetMatchingEventTypes(v []*string) *EventDestination {
  9685  	s.MatchingEventTypes = v
  9686  	return s
  9687  }
  9688  
  9689  // SetName sets the Name field's value.
  9690  func (s *EventDestination) SetName(v string) *EventDestination {
  9691  	s.Name = &v
  9692  	return s
  9693  }
  9694  
  9695  // SetSNSDestination sets the SNSDestination field's value.
  9696  func (s *EventDestination) SetSNSDestination(v *SNSDestination) *EventDestination {
  9697  	s.SNSDestination = v
  9698  	return s
  9699  }
  9700  
  9701  // Additional X-headers to include in the Delivery Status Notification (DSN)
  9702  // when an email that Amazon SES receives on your behalf bounces.
  9703  //
  9704  // For information about receiving email through Amazon SES, see the Amazon
  9705  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
  9706  type ExtensionField struct {
  9707  	_ struct{} `type:"structure"`
  9708  
  9709  	// The name of the header to add. Must be between 1 and 50 characters, inclusive,
  9710  	// and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.
  9711  	//
  9712  	// Name is a required field
  9713  	Name *string `type:"string" required:"true"`
  9714  
  9715  	// The value of the header to add. Must be less than 2048 characters, and must
  9716  	// not contain newline characters ("\r" or "\n").
  9717  	//
  9718  	// Value is a required field
  9719  	Value *string `type:"string" required:"true"`
  9720  }
  9721  
  9722  // String returns the string representation.
  9723  //
  9724  // API parameter values that are decorated as "sensitive" in the API will not
  9725  // be included in the string output. The member name will be present, but the
  9726  // value will be replaced with "sensitive".
  9727  func (s ExtensionField) String() string {
  9728  	return awsutil.Prettify(s)
  9729  }
  9730  
  9731  // GoString returns the string representation.
  9732  //
  9733  // API parameter values that are decorated as "sensitive" in the API will not
  9734  // be included in the string output. The member name will be present, but the
  9735  // value will be replaced with "sensitive".
  9736  func (s ExtensionField) GoString() string {
  9737  	return s.String()
  9738  }
  9739  
  9740  // Validate inspects the fields of the type to determine if they are valid.
  9741  func (s *ExtensionField) Validate() error {
  9742  	invalidParams := request.ErrInvalidParams{Context: "ExtensionField"}
  9743  	if s.Name == nil {
  9744  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9745  	}
  9746  	if s.Value == nil {
  9747  		invalidParams.Add(request.NewErrParamRequired("Value"))
  9748  	}
  9749  
  9750  	if invalidParams.Len() > 0 {
  9751  		return invalidParams
  9752  	}
  9753  	return nil
  9754  }
  9755  
  9756  // SetName sets the Name field's value.
  9757  func (s *ExtensionField) SetName(v string) *ExtensionField {
  9758  	s.Name = &v
  9759  	return s
  9760  }
  9761  
  9762  // SetValue sets the Value field's value.
  9763  func (s *ExtensionField) SetValue(v string) *ExtensionField {
  9764  	s.Value = &v
  9765  	return s
  9766  }
  9767  
  9768  type GetAccountSendingEnabledInput struct {
  9769  	_ struct{} `type:"structure"`
  9770  }
  9771  
  9772  // String returns the string representation.
  9773  //
  9774  // API parameter values that are decorated as "sensitive" in the API will not
  9775  // be included in the string output. The member name will be present, but the
  9776  // value will be replaced with "sensitive".
  9777  func (s GetAccountSendingEnabledInput) String() string {
  9778  	return awsutil.Prettify(s)
  9779  }
  9780  
  9781  // GoString returns the string representation.
  9782  //
  9783  // API parameter values that are decorated as "sensitive" in the API will not
  9784  // be included in the string output. The member name will be present, but the
  9785  // value will be replaced with "sensitive".
  9786  func (s GetAccountSendingEnabledInput) GoString() string {
  9787  	return s.String()
  9788  }
  9789  
  9790  // Represents a request to return the email sending status for your Amazon SES
  9791  // account in the current AWS Region.
  9792  type GetAccountSendingEnabledOutput struct {
  9793  	_ struct{} `type:"structure"`
  9794  
  9795  	// Describes whether email sending is enabled or disabled for your Amazon SES
  9796  	// account in the current AWS Region.
  9797  	Enabled *bool `type:"boolean"`
  9798  }
  9799  
  9800  // String returns the string representation.
  9801  //
  9802  // API parameter values that are decorated as "sensitive" in the API will not
  9803  // be included in the string output. The member name will be present, but the
  9804  // value will be replaced with "sensitive".
  9805  func (s GetAccountSendingEnabledOutput) String() string {
  9806  	return awsutil.Prettify(s)
  9807  }
  9808  
  9809  // GoString returns the string representation.
  9810  //
  9811  // API parameter values that are decorated as "sensitive" in the API will not
  9812  // be included in the string output. The member name will be present, but the
  9813  // value will be replaced with "sensitive".
  9814  func (s GetAccountSendingEnabledOutput) GoString() string {
  9815  	return s.String()
  9816  }
  9817  
  9818  // SetEnabled sets the Enabled field's value.
  9819  func (s *GetAccountSendingEnabledOutput) SetEnabled(v bool) *GetAccountSendingEnabledOutput {
  9820  	s.Enabled = &v
  9821  	return s
  9822  }
  9823  
  9824  // Represents a request to retrieve an existing custom verification email template.
  9825  type GetCustomVerificationEmailTemplateInput struct {
  9826  	_ struct{} `type:"structure"`
  9827  
  9828  	// The name of the custom verification email template that you want to retrieve.
  9829  	//
  9830  	// TemplateName is a required field
  9831  	TemplateName *string `type:"string" required:"true"`
  9832  }
  9833  
  9834  // String returns the string representation.
  9835  //
  9836  // API parameter values that are decorated as "sensitive" in the API will not
  9837  // be included in the string output. The member name will be present, but the
  9838  // value will be replaced with "sensitive".
  9839  func (s GetCustomVerificationEmailTemplateInput) String() string {
  9840  	return awsutil.Prettify(s)
  9841  }
  9842  
  9843  // GoString returns the string representation.
  9844  //
  9845  // API parameter values that are decorated as "sensitive" in the API will not
  9846  // be included in the string output. The member name will be present, but the
  9847  // value will be replaced with "sensitive".
  9848  func (s GetCustomVerificationEmailTemplateInput) GoString() string {
  9849  	return s.String()
  9850  }
  9851  
  9852  // Validate inspects the fields of the type to determine if they are valid.
  9853  func (s *GetCustomVerificationEmailTemplateInput) Validate() error {
  9854  	invalidParams := request.ErrInvalidParams{Context: "GetCustomVerificationEmailTemplateInput"}
  9855  	if s.TemplateName == nil {
  9856  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  9857  	}
  9858  
  9859  	if invalidParams.Len() > 0 {
  9860  		return invalidParams
  9861  	}
  9862  	return nil
  9863  }
  9864  
  9865  // SetTemplateName sets the TemplateName field's value.
  9866  func (s *GetCustomVerificationEmailTemplateInput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateInput {
  9867  	s.TemplateName = &v
  9868  	return s
  9869  }
  9870  
  9871  // The content of the custom verification email template.
  9872  type GetCustomVerificationEmailTemplateOutput struct {
  9873  	_ struct{} `type:"structure"`
  9874  
  9875  	// The URL that the recipient of the verification email is sent to if his or
  9876  	// her address is not successfully verified.
  9877  	FailureRedirectionURL *string `type:"string"`
  9878  
  9879  	// The email address that the custom verification email is sent from.
  9880  	FromEmailAddress *string `type:"string"`
  9881  
  9882  	// The URL that the recipient of the verification email is sent to if his or
  9883  	// her address is successfully verified.
  9884  	SuccessRedirectionURL *string `type:"string"`
  9885  
  9886  	// The content of the custom verification email.
  9887  	TemplateContent *string `type:"string"`
  9888  
  9889  	// The name of the custom verification email template.
  9890  	TemplateName *string `type:"string"`
  9891  
  9892  	// The subject line of the custom verification email.
  9893  	TemplateSubject *string `type:"string"`
  9894  }
  9895  
  9896  // String returns the string representation.
  9897  //
  9898  // API parameter values that are decorated as "sensitive" in the API will not
  9899  // be included in the string output. The member name will be present, but the
  9900  // value will be replaced with "sensitive".
  9901  func (s GetCustomVerificationEmailTemplateOutput) String() string {
  9902  	return awsutil.Prettify(s)
  9903  }
  9904  
  9905  // GoString returns the string representation.
  9906  //
  9907  // API parameter values that are decorated as "sensitive" in the API will not
  9908  // be included in the string output. The member name will be present, but the
  9909  // value will be replaced with "sensitive".
  9910  func (s GetCustomVerificationEmailTemplateOutput) GoString() string {
  9911  	return s.String()
  9912  }
  9913  
  9914  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
  9915  func (s *GetCustomVerificationEmailTemplateOutput) SetFailureRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput {
  9916  	s.FailureRedirectionURL = &v
  9917  	return s
  9918  }
  9919  
  9920  // SetFromEmailAddress sets the FromEmailAddress field's value.
  9921  func (s *GetCustomVerificationEmailTemplateOutput) SetFromEmailAddress(v string) *GetCustomVerificationEmailTemplateOutput {
  9922  	s.FromEmailAddress = &v
  9923  	return s
  9924  }
  9925  
  9926  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
  9927  func (s *GetCustomVerificationEmailTemplateOutput) SetSuccessRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput {
  9928  	s.SuccessRedirectionURL = &v
  9929  	return s
  9930  }
  9931  
  9932  // SetTemplateContent sets the TemplateContent field's value.
  9933  func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateContent(v string) *GetCustomVerificationEmailTemplateOutput {
  9934  	s.TemplateContent = &v
  9935  	return s
  9936  }
  9937  
  9938  // SetTemplateName sets the TemplateName field's value.
  9939  func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateOutput {
  9940  	s.TemplateName = &v
  9941  	return s
  9942  }
  9943  
  9944  // SetTemplateSubject sets the TemplateSubject field's value.
  9945  func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateSubject(v string) *GetCustomVerificationEmailTemplateOutput {
  9946  	s.TemplateSubject = &v
  9947  	return s
  9948  }
  9949  
  9950  // Represents a request for the status of Amazon SES Easy DKIM signing for an
  9951  // identity. For domain identities, this request also returns the DKIM tokens
  9952  // that are required for Easy DKIM signing, and whether Amazon SES successfully
  9953  // verified that these tokens were published. For more information about Easy
  9954  // DKIM, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
  9955  type GetIdentityDkimAttributesInput struct {
  9956  	_ struct{} `type:"structure"`
  9957  
  9958  	// A list of one or more verified identities - email addresses, domains, or
  9959  	// both.
  9960  	//
  9961  	// Identities is a required field
  9962  	Identities []*string `type:"list" required:"true"`
  9963  }
  9964  
  9965  // String returns the string representation.
  9966  //
  9967  // API parameter values that are decorated as "sensitive" in the API will not
  9968  // be included in the string output. The member name will be present, but the
  9969  // value will be replaced with "sensitive".
  9970  func (s GetIdentityDkimAttributesInput) String() string {
  9971  	return awsutil.Prettify(s)
  9972  }
  9973  
  9974  // GoString returns the string representation.
  9975  //
  9976  // API parameter values that are decorated as "sensitive" in the API will not
  9977  // be included in the string output. The member name will be present, but the
  9978  // value will be replaced with "sensitive".
  9979  func (s GetIdentityDkimAttributesInput) GoString() string {
  9980  	return s.String()
  9981  }
  9982  
  9983  // Validate inspects the fields of the type to determine if they are valid.
  9984  func (s *GetIdentityDkimAttributesInput) Validate() error {
  9985  	invalidParams := request.ErrInvalidParams{Context: "GetIdentityDkimAttributesInput"}
  9986  	if s.Identities == nil {
  9987  		invalidParams.Add(request.NewErrParamRequired("Identities"))
  9988  	}
  9989  
  9990  	if invalidParams.Len() > 0 {
  9991  		return invalidParams
  9992  	}
  9993  	return nil
  9994  }
  9995  
  9996  // SetIdentities sets the Identities field's value.
  9997  func (s *GetIdentityDkimAttributesInput) SetIdentities(v []*string) *GetIdentityDkimAttributesInput {
  9998  	s.Identities = v
  9999  	return s
 10000  }
 10001  
 10002  // Represents the status of Amazon SES Easy DKIM signing for an identity. For
 10003  // domain identities, this response also contains the DKIM tokens that are required
 10004  // for Easy DKIM signing, and whether Amazon SES successfully verified that
 10005  // these tokens were published.
 10006  type GetIdentityDkimAttributesOutput struct {
 10007  	_ struct{} `type:"structure"`
 10008  
 10009  	// The DKIM attributes for an email address or a domain.
 10010  	//
 10011  	// DkimAttributes is a required field
 10012  	DkimAttributes map[string]*IdentityDkimAttributes `type:"map" required:"true"`
 10013  }
 10014  
 10015  // String returns the string representation.
 10016  //
 10017  // API parameter values that are decorated as "sensitive" in the API will not
 10018  // be included in the string output. The member name will be present, but the
 10019  // value will be replaced with "sensitive".
 10020  func (s GetIdentityDkimAttributesOutput) String() string {
 10021  	return awsutil.Prettify(s)
 10022  }
 10023  
 10024  // GoString returns the string representation.
 10025  //
 10026  // API parameter values that are decorated as "sensitive" in the API will not
 10027  // be included in the string output. The member name will be present, but the
 10028  // value will be replaced with "sensitive".
 10029  func (s GetIdentityDkimAttributesOutput) GoString() string {
 10030  	return s.String()
 10031  }
 10032  
 10033  // SetDkimAttributes sets the DkimAttributes field's value.
 10034  func (s *GetIdentityDkimAttributesOutput) SetDkimAttributes(v map[string]*IdentityDkimAttributes) *GetIdentityDkimAttributesOutput {
 10035  	s.DkimAttributes = v
 10036  	return s
 10037  }
 10038  
 10039  // Represents a request to return the Amazon SES custom MAIL FROM attributes
 10040  // for a list of identities. For information about using a custom MAIL FROM
 10041  // domain, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html).
 10042  type GetIdentityMailFromDomainAttributesInput struct {
 10043  	_ struct{} `type:"structure"`
 10044  
 10045  	// A list of one or more identities.
 10046  	//
 10047  	// Identities is a required field
 10048  	Identities []*string `type:"list" required:"true"`
 10049  }
 10050  
 10051  // String returns the string representation.
 10052  //
 10053  // API parameter values that are decorated as "sensitive" in the API will not
 10054  // be included in the string output. The member name will be present, but the
 10055  // value will be replaced with "sensitive".
 10056  func (s GetIdentityMailFromDomainAttributesInput) String() string {
 10057  	return awsutil.Prettify(s)
 10058  }
 10059  
 10060  // GoString returns the string representation.
 10061  //
 10062  // API parameter values that are decorated as "sensitive" in the API will not
 10063  // be included in the string output. The member name will be present, but the
 10064  // value will be replaced with "sensitive".
 10065  func (s GetIdentityMailFromDomainAttributesInput) GoString() string {
 10066  	return s.String()
 10067  }
 10068  
 10069  // Validate inspects the fields of the type to determine if they are valid.
 10070  func (s *GetIdentityMailFromDomainAttributesInput) Validate() error {
 10071  	invalidParams := request.ErrInvalidParams{Context: "GetIdentityMailFromDomainAttributesInput"}
 10072  	if s.Identities == nil {
 10073  		invalidParams.Add(request.NewErrParamRequired("Identities"))
 10074  	}
 10075  
 10076  	if invalidParams.Len() > 0 {
 10077  		return invalidParams
 10078  	}
 10079  	return nil
 10080  }
 10081  
 10082  // SetIdentities sets the Identities field's value.
 10083  func (s *GetIdentityMailFromDomainAttributesInput) SetIdentities(v []*string) *GetIdentityMailFromDomainAttributesInput {
 10084  	s.Identities = v
 10085  	return s
 10086  }
 10087  
 10088  // Represents the custom MAIL FROM attributes for a list of identities.
 10089  type GetIdentityMailFromDomainAttributesOutput struct {
 10090  	_ struct{} `type:"structure"`
 10091  
 10092  	// A map of identities to custom MAIL FROM attributes.
 10093  	//
 10094  	// MailFromDomainAttributes is a required field
 10095  	MailFromDomainAttributes map[string]*IdentityMailFromDomainAttributes `type:"map" required:"true"`
 10096  }
 10097  
 10098  // String returns the string representation.
 10099  //
 10100  // API parameter values that are decorated as "sensitive" in the API will not
 10101  // be included in the string output. The member name will be present, but the
 10102  // value will be replaced with "sensitive".
 10103  func (s GetIdentityMailFromDomainAttributesOutput) String() string {
 10104  	return awsutil.Prettify(s)
 10105  }
 10106  
 10107  // GoString returns the string representation.
 10108  //
 10109  // API parameter values that are decorated as "sensitive" in the API will not
 10110  // be included in the string output. The member name will be present, but the
 10111  // value will be replaced with "sensitive".
 10112  func (s GetIdentityMailFromDomainAttributesOutput) GoString() string {
 10113  	return s.String()
 10114  }
 10115  
 10116  // SetMailFromDomainAttributes sets the MailFromDomainAttributes field's value.
 10117  func (s *GetIdentityMailFromDomainAttributesOutput) SetMailFromDomainAttributes(v map[string]*IdentityMailFromDomainAttributes) *GetIdentityMailFromDomainAttributesOutput {
 10118  	s.MailFromDomainAttributes = v
 10119  	return s
 10120  }
 10121  
 10122  // Represents a request to return the notification attributes for a list of
 10123  // identities you verified with Amazon SES. For information about Amazon SES
 10124  // notifications, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html).
 10125  type GetIdentityNotificationAttributesInput struct {
 10126  	_ struct{} `type:"structure"`
 10127  
 10128  	// A list of one or more identities. You can specify an identity by using its
 10129  	// name or by using its Amazon Resource Name (ARN). Examples: user@example.com,
 10130  	// example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
 10131  	//
 10132  	// Identities is a required field
 10133  	Identities []*string `type:"list" required:"true"`
 10134  }
 10135  
 10136  // String returns the string representation.
 10137  //
 10138  // API parameter values that are decorated as "sensitive" in the API will not
 10139  // be included in the string output. The member name will be present, but the
 10140  // value will be replaced with "sensitive".
 10141  func (s GetIdentityNotificationAttributesInput) String() string {
 10142  	return awsutil.Prettify(s)
 10143  }
 10144  
 10145  // GoString returns the string representation.
 10146  //
 10147  // API parameter values that are decorated as "sensitive" in the API will not
 10148  // be included in the string output. The member name will be present, but the
 10149  // value will be replaced with "sensitive".
 10150  func (s GetIdentityNotificationAttributesInput) GoString() string {
 10151  	return s.String()
 10152  }
 10153  
 10154  // Validate inspects the fields of the type to determine if they are valid.
 10155  func (s *GetIdentityNotificationAttributesInput) Validate() error {
 10156  	invalidParams := request.ErrInvalidParams{Context: "GetIdentityNotificationAttributesInput"}
 10157  	if s.Identities == nil {
 10158  		invalidParams.Add(request.NewErrParamRequired("Identities"))
 10159  	}
 10160  
 10161  	if invalidParams.Len() > 0 {
 10162  		return invalidParams
 10163  	}
 10164  	return nil
 10165  }
 10166  
 10167  // SetIdentities sets the Identities field's value.
 10168  func (s *GetIdentityNotificationAttributesInput) SetIdentities(v []*string) *GetIdentityNotificationAttributesInput {
 10169  	s.Identities = v
 10170  	return s
 10171  }
 10172  
 10173  // Represents the notification attributes for a list of identities.
 10174  type GetIdentityNotificationAttributesOutput struct {
 10175  	_ struct{} `type:"structure"`
 10176  
 10177  	// A map of Identity to IdentityNotificationAttributes.
 10178  	//
 10179  	// NotificationAttributes is a required field
 10180  	NotificationAttributes map[string]*IdentityNotificationAttributes `type:"map" required:"true"`
 10181  }
 10182  
 10183  // String returns the string representation.
 10184  //
 10185  // API parameter values that are decorated as "sensitive" in the API will not
 10186  // be included in the string output. The member name will be present, but the
 10187  // value will be replaced with "sensitive".
 10188  func (s GetIdentityNotificationAttributesOutput) String() string {
 10189  	return awsutil.Prettify(s)
 10190  }
 10191  
 10192  // GoString returns the string representation.
 10193  //
 10194  // API parameter values that are decorated as "sensitive" in the API will not
 10195  // be included in the string output. The member name will be present, but the
 10196  // value will be replaced with "sensitive".
 10197  func (s GetIdentityNotificationAttributesOutput) GoString() string {
 10198  	return s.String()
 10199  }
 10200  
 10201  // SetNotificationAttributes sets the NotificationAttributes field's value.
 10202  func (s *GetIdentityNotificationAttributesOutput) SetNotificationAttributes(v map[string]*IdentityNotificationAttributes) *GetIdentityNotificationAttributesOutput {
 10203  	s.NotificationAttributes = v
 10204  	return s
 10205  }
 10206  
 10207  // Represents a request to return the requested sending authorization policies
 10208  // for an identity. Sending authorization is an Amazon SES feature that enables
 10209  // you to authorize other senders to use your identities. For information, see
 10210  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 10211  type GetIdentityPoliciesInput struct {
 10212  	_ struct{} `type:"structure"`
 10213  
 10214  	// The identity for which the policies will be retrieved. You can specify an
 10215  	// identity by using its name or by using its Amazon Resource Name (ARN). Examples:
 10216  	// user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
 10217  	//
 10218  	// To successfully call this API, you must own the identity.
 10219  	//
 10220  	// Identity is a required field
 10221  	Identity *string `type:"string" required:"true"`
 10222  
 10223  	// A list of the names of policies to be retrieved. You can retrieve a maximum
 10224  	// of 20 policies at a time. If you do not know the names of the policies that
 10225  	// are attached to the identity, you can use ListIdentityPolicies.
 10226  	//
 10227  	// PolicyNames is a required field
 10228  	PolicyNames []*string `type:"list" required:"true"`
 10229  }
 10230  
 10231  // String returns the string representation.
 10232  //
 10233  // API parameter values that are decorated as "sensitive" in the API will not
 10234  // be included in the string output. The member name will be present, but the
 10235  // value will be replaced with "sensitive".
 10236  func (s GetIdentityPoliciesInput) String() string {
 10237  	return awsutil.Prettify(s)
 10238  }
 10239  
 10240  // GoString returns the string representation.
 10241  //
 10242  // API parameter values that are decorated as "sensitive" in the API will not
 10243  // be included in the string output. The member name will be present, but the
 10244  // value will be replaced with "sensitive".
 10245  func (s GetIdentityPoliciesInput) GoString() string {
 10246  	return s.String()
 10247  }
 10248  
 10249  // Validate inspects the fields of the type to determine if they are valid.
 10250  func (s *GetIdentityPoliciesInput) Validate() error {
 10251  	invalidParams := request.ErrInvalidParams{Context: "GetIdentityPoliciesInput"}
 10252  	if s.Identity == nil {
 10253  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 10254  	}
 10255  	if s.PolicyNames == nil {
 10256  		invalidParams.Add(request.NewErrParamRequired("PolicyNames"))
 10257  	}
 10258  
 10259  	if invalidParams.Len() > 0 {
 10260  		return invalidParams
 10261  	}
 10262  	return nil
 10263  }
 10264  
 10265  // SetIdentity sets the Identity field's value.
 10266  func (s *GetIdentityPoliciesInput) SetIdentity(v string) *GetIdentityPoliciesInput {
 10267  	s.Identity = &v
 10268  	return s
 10269  }
 10270  
 10271  // SetPolicyNames sets the PolicyNames field's value.
 10272  func (s *GetIdentityPoliciesInput) SetPolicyNames(v []*string) *GetIdentityPoliciesInput {
 10273  	s.PolicyNames = v
 10274  	return s
 10275  }
 10276  
 10277  // Represents the requested sending authorization policies.
 10278  type GetIdentityPoliciesOutput struct {
 10279  	_ struct{} `type:"structure"`
 10280  
 10281  	// A map of policy names to policies.
 10282  	//
 10283  	// Policies is a required field
 10284  	Policies map[string]*string `type:"map" required:"true"`
 10285  }
 10286  
 10287  // String returns the string representation.
 10288  //
 10289  // API parameter values that are decorated as "sensitive" in the API will not
 10290  // be included in the string output. The member name will be present, but the
 10291  // value will be replaced with "sensitive".
 10292  func (s GetIdentityPoliciesOutput) String() string {
 10293  	return awsutil.Prettify(s)
 10294  }
 10295  
 10296  // GoString returns the string representation.
 10297  //
 10298  // API parameter values that are decorated as "sensitive" in the API will not
 10299  // be included in the string output. The member name will be present, but the
 10300  // value will be replaced with "sensitive".
 10301  func (s GetIdentityPoliciesOutput) GoString() string {
 10302  	return s.String()
 10303  }
 10304  
 10305  // SetPolicies sets the Policies field's value.
 10306  func (s *GetIdentityPoliciesOutput) SetPolicies(v map[string]*string) *GetIdentityPoliciesOutput {
 10307  	s.Policies = v
 10308  	return s
 10309  }
 10310  
 10311  // Represents a request to return the Amazon SES verification status of a list
 10312  // of identities. For domain identities, this request also returns the verification
 10313  // token. For information about verifying identities with Amazon SES, see the
 10314  // Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
 10315  type GetIdentityVerificationAttributesInput struct {
 10316  	_ struct{} `type:"structure"`
 10317  
 10318  	// A list of identities.
 10319  	//
 10320  	// Identities is a required field
 10321  	Identities []*string `type:"list" required:"true"`
 10322  }
 10323  
 10324  // String returns the string representation.
 10325  //
 10326  // API parameter values that are decorated as "sensitive" in the API will not
 10327  // be included in the string output. The member name will be present, but the
 10328  // value will be replaced with "sensitive".
 10329  func (s GetIdentityVerificationAttributesInput) String() string {
 10330  	return awsutil.Prettify(s)
 10331  }
 10332  
 10333  // GoString returns the string representation.
 10334  //
 10335  // API parameter values that are decorated as "sensitive" in the API will not
 10336  // be included in the string output. The member name will be present, but the
 10337  // value will be replaced with "sensitive".
 10338  func (s GetIdentityVerificationAttributesInput) GoString() string {
 10339  	return s.String()
 10340  }
 10341  
 10342  // Validate inspects the fields of the type to determine if they are valid.
 10343  func (s *GetIdentityVerificationAttributesInput) Validate() error {
 10344  	invalidParams := request.ErrInvalidParams{Context: "GetIdentityVerificationAttributesInput"}
 10345  	if s.Identities == nil {
 10346  		invalidParams.Add(request.NewErrParamRequired("Identities"))
 10347  	}
 10348  
 10349  	if invalidParams.Len() > 0 {
 10350  		return invalidParams
 10351  	}
 10352  	return nil
 10353  }
 10354  
 10355  // SetIdentities sets the Identities field's value.
 10356  func (s *GetIdentityVerificationAttributesInput) SetIdentities(v []*string) *GetIdentityVerificationAttributesInput {
 10357  	s.Identities = v
 10358  	return s
 10359  }
 10360  
 10361  // The Amazon SES verification status of a list of identities. For domain identities,
 10362  // this response also contains the verification token.
 10363  type GetIdentityVerificationAttributesOutput struct {
 10364  	_ struct{} `type:"structure"`
 10365  
 10366  	// A map of Identities to IdentityVerificationAttributes objects.
 10367  	//
 10368  	// VerificationAttributes is a required field
 10369  	VerificationAttributes map[string]*IdentityVerificationAttributes `type:"map" required:"true"`
 10370  }
 10371  
 10372  // String returns the string representation.
 10373  //
 10374  // API parameter values that are decorated as "sensitive" in the API will not
 10375  // be included in the string output. The member name will be present, but the
 10376  // value will be replaced with "sensitive".
 10377  func (s GetIdentityVerificationAttributesOutput) String() string {
 10378  	return awsutil.Prettify(s)
 10379  }
 10380  
 10381  // GoString returns the string representation.
 10382  //
 10383  // API parameter values that are decorated as "sensitive" in the API will not
 10384  // be included in the string output. The member name will be present, but the
 10385  // value will be replaced with "sensitive".
 10386  func (s GetIdentityVerificationAttributesOutput) GoString() string {
 10387  	return s.String()
 10388  }
 10389  
 10390  // SetVerificationAttributes sets the VerificationAttributes field's value.
 10391  func (s *GetIdentityVerificationAttributesOutput) SetVerificationAttributes(v map[string]*IdentityVerificationAttributes) *GetIdentityVerificationAttributesOutput {
 10392  	s.VerificationAttributes = v
 10393  	return s
 10394  }
 10395  
 10396  type GetSendQuotaInput struct {
 10397  	_ struct{} `type:"structure"`
 10398  }
 10399  
 10400  // String returns the string representation.
 10401  //
 10402  // API parameter values that are decorated as "sensitive" in the API will not
 10403  // be included in the string output. The member name will be present, but the
 10404  // value will be replaced with "sensitive".
 10405  func (s GetSendQuotaInput) String() string {
 10406  	return awsutil.Prettify(s)
 10407  }
 10408  
 10409  // GoString returns the string representation.
 10410  //
 10411  // API parameter values that are decorated as "sensitive" in the API will not
 10412  // be included in the string output. The member name will be present, but the
 10413  // value will be replaced with "sensitive".
 10414  func (s GetSendQuotaInput) GoString() string {
 10415  	return s.String()
 10416  }
 10417  
 10418  // Represents your Amazon SES daily sending quota, maximum send rate, and the
 10419  // number of emails you have sent in the last 24 hours.
 10420  type GetSendQuotaOutput struct {
 10421  	_ struct{} `type:"structure"`
 10422  
 10423  	// The maximum number of emails the user is allowed to send in a 24-hour interval.
 10424  	// A value of -1 signifies an unlimited quota.
 10425  	Max24HourSend *float64 `type:"double"`
 10426  
 10427  	// The maximum number of emails that Amazon SES can accept from the user's account
 10428  	// per second.
 10429  	//
 10430  	// The rate at which Amazon SES accepts the user's messages might be less than
 10431  	// the maximum send rate.
 10432  	MaxSendRate *float64 `type:"double"`
 10433  
 10434  	// The number of emails sent during the previous 24 hours.
 10435  	SentLast24Hours *float64 `type:"double"`
 10436  }
 10437  
 10438  // String returns the string representation.
 10439  //
 10440  // API parameter values that are decorated as "sensitive" in the API will not
 10441  // be included in the string output. The member name will be present, but the
 10442  // value will be replaced with "sensitive".
 10443  func (s GetSendQuotaOutput) String() string {
 10444  	return awsutil.Prettify(s)
 10445  }
 10446  
 10447  // GoString returns the string representation.
 10448  //
 10449  // API parameter values that are decorated as "sensitive" in the API will not
 10450  // be included in the string output. The member name will be present, but the
 10451  // value will be replaced with "sensitive".
 10452  func (s GetSendQuotaOutput) GoString() string {
 10453  	return s.String()
 10454  }
 10455  
 10456  // SetMax24HourSend sets the Max24HourSend field's value.
 10457  func (s *GetSendQuotaOutput) SetMax24HourSend(v float64) *GetSendQuotaOutput {
 10458  	s.Max24HourSend = &v
 10459  	return s
 10460  }
 10461  
 10462  // SetMaxSendRate sets the MaxSendRate field's value.
 10463  func (s *GetSendQuotaOutput) SetMaxSendRate(v float64) *GetSendQuotaOutput {
 10464  	s.MaxSendRate = &v
 10465  	return s
 10466  }
 10467  
 10468  // SetSentLast24Hours sets the SentLast24Hours field's value.
 10469  func (s *GetSendQuotaOutput) SetSentLast24Hours(v float64) *GetSendQuotaOutput {
 10470  	s.SentLast24Hours = &v
 10471  	return s
 10472  }
 10473  
 10474  type GetSendStatisticsInput struct {
 10475  	_ struct{} `type:"structure"`
 10476  }
 10477  
 10478  // String returns the string representation.
 10479  //
 10480  // API parameter values that are decorated as "sensitive" in the API will not
 10481  // be included in the string output. The member name will be present, but the
 10482  // value will be replaced with "sensitive".
 10483  func (s GetSendStatisticsInput) String() string {
 10484  	return awsutil.Prettify(s)
 10485  }
 10486  
 10487  // GoString returns the string representation.
 10488  //
 10489  // API parameter values that are decorated as "sensitive" in the API will not
 10490  // be included in the string output. The member name will be present, but the
 10491  // value will be replaced with "sensitive".
 10492  func (s GetSendStatisticsInput) GoString() string {
 10493  	return s.String()
 10494  }
 10495  
 10496  // Represents a list of data points. This list contains aggregated data from
 10497  // the previous two weeks of your sending activity with Amazon SES.
 10498  type GetSendStatisticsOutput struct {
 10499  	_ struct{} `type:"structure"`
 10500  
 10501  	// A list of data points, each of which represents 15 minutes of activity.
 10502  	SendDataPoints []*SendDataPoint `type:"list"`
 10503  }
 10504  
 10505  // String returns the string representation.
 10506  //
 10507  // API parameter values that are decorated as "sensitive" in the API will not
 10508  // be included in the string output. The member name will be present, but the
 10509  // value will be replaced with "sensitive".
 10510  func (s GetSendStatisticsOutput) String() string {
 10511  	return awsutil.Prettify(s)
 10512  }
 10513  
 10514  // GoString returns the string representation.
 10515  //
 10516  // API parameter values that are decorated as "sensitive" in the API will not
 10517  // be included in the string output. The member name will be present, but the
 10518  // value will be replaced with "sensitive".
 10519  func (s GetSendStatisticsOutput) GoString() string {
 10520  	return s.String()
 10521  }
 10522  
 10523  // SetSendDataPoints sets the SendDataPoints field's value.
 10524  func (s *GetSendStatisticsOutput) SetSendDataPoints(v []*SendDataPoint) *GetSendStatisticsOutput {
 10525  	s.SendDataPoints = v
 10526  	return s
 10527  }
 10528  
 10529  type GetTemplateInput struct {
 10530  	_ struct{} `type:"structure"`
 10531  
 10532  	// The name of the template you want to retrieve.
 10533  	//
 10534  	// TemplateName is a required field
 10535  	TemplateName *string `type:"string" required:"true"`
 10536  }
 10537  
 10538  // String returns the string representation.
 10539  //
 10540  // API parameter values that are decorated as "sensitive" in the API will not
 10541  // be included in the string output. The member name will be present, but the
 10542  // value will be replaced with "sensitive".
 10543  func (s GetTemplateInput) String() string {
 10544  	return awsutil.Prettify(s)
 10545  }
 10546  
 10547  // GoString returns the string representation.
 10548  //
 10549  // API parameter values that are decorated as "sensitive" in the API will not
 10550  // be included in the string output. The member name will be present, but the
 10551  // value will be replaced with "sensitive".
 10552  func (s GetTemplateInput) GoString() string {
 10553  	return s.String()
 10554  }
 10555  
 10556  // Validate inspects the fields of the type to determine if they are valid.
 10557  func (s *GetTemplateInput) Validate() error {
 10558  	invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"}
 10559  	if s.TemplateName == nil {
 10560  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 10561  	}
 10562  
 10563  	if invalidParams.Len() > 0 {
 10564  		return invalidParams
 10565  	}
 10566  	return nil
 10567  }
 10568  
 10569  // SetTemplateName sets the TemplateName field's value.
 10570  func (s *GetTemplateInput) SetTemplateName(v string) *GetTemplateInput {
 10571  	s.TemplateName = &v
 10572  	return s
 10573  }
 10574  
 10575  type GetTemplateOutput struct {
 10576  	_ struct{} `type:"structure"`
 10577  
 10578  	// The content of the email, composed of a subject line, an HTML part, and a
 10579  	// text-only part.
 10580  	Template *Template `type:"structure"`
 10581  }
 10582  
 10583  // String returns the string representation.
 10584  //
 10585  // API parameter values that are decorated as "sensitive" in the API will not
 10586  // be included in the string output. The member name will be present, but the
 10587  // value will be replaced with "sensitive".
 10588  func (s GetTemplateOutput) String() string {
 10589  	return awsutil.Prettify(s)
 10590  }
 10591  
 10592  // GoString returns the string representation.
 10593  //
 10594  // API parameter values that are decorated as "sensitive" in the API will not
 10595  // be included in the string output. The member name will be present, but the
 10596  // value will be replaced with "sensitive".
 10597  func (s GetTemplateOutput) GoString() string {
 10598  	return s.String()
 10599  }
 10600  
 10601  // SetTemplate sets the Template field's value.
 10602  func (s *GetTemplateOutput) SetTemplate(v *Template) *GetTemplateOutput {
 10603  	s.Template = v
 10604  	return s
 10605  }
 10606  
 10607  // Represents the DKIM attributes of a verified email address or a domain.
 10608  type IdentityDkimAttributes struct {
 10609  	_ struct{} `type:"structure"`
 10610  
 10611  	// Is true if DKIM signing is enabled for email sent from the identity. It's
 10612  	// false otherwise. The default value is true.
 10613  	//
 10614  	// DkimEnabled is a required field
 10615  	DkimEnabled *bool `type:"boolean" required:"true"`
 10616  
 10617  	// A set of character strings that represent the domain's identity. Using these
 10618  	// tokens, you need to create DNS CNAME records that point to DKIM public keys
 10619  	// that are hosted by Amazon SES. Amazon Web Services eventually detects that
 10620  	// you've updated your DNS records. This detection process might take up to
 10621  	// 72 hours. After successful detection, Amazon SES is able to DKIM-sign email
 10622  	// originating from that domain. (This only applies to domain identities, not
 10623  	// email address identities.)
 10624  	//
 10625  	// For more information about creating DNS records using DKIM tokens, see the
 10626  	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 10627  	DkimTokens []*string `type:"list"`
 10628  
 10629  	// Describes whether Amazon SES has successfully verified the DKIM DNS records
 10630  	// (tokens) published in the domain name's DNS. (This only applies to domain
 10631  	// identities, not email address identities.)
 10632  	//
 10633  	// DkimVerificationStatus is a required field
 10634  	DkimVerificationStatus *string `type:"string" required:"true" enum:"VerificationStatus"`
 10635  }
 10636  
 10637  // String returns the string representation.
 10638  //
 10639  // API parameter values that are decorated as "sensitive" in the API will not
 10640  // be included in the string output. The member name will be present, but the
 10641  // value will be replaced with "sensitive".
 10642  func (s IdentityDkimAttributes) String() string {
 10643  	return awsutil.Prettify(s)
 10644  }
 10645  
 10646  // GoString returns the string representation.
 10647  //
 10648  // API parameter values that are decorated as "sensitive" in the API will not
 10649  // be included in the string output. The member name will be present, but the
 10650  // value will be replaced with "sensitive".
 10651  func (s IdentityDkimAttributes) GoString() string {
 10652  	return s.String()
 10653  }
 10654  
 10655  // SetDkimEnabled sets the DkimEnabled field's value.
 10656  func (s *IdentityDkimAttributes) SetDkimEnabled(v bool) *IdentityDkimAttributes {
 10657  	s.DkimEnabled = &v
 10658  	return s
 10659  }
 10660  
 10661  // SetDkimTokens sets the DkimTokens field's value.
 10662  func (s *IdentityDkimAttributes) SetDkimTokens(v []*string) *IdentityDkimAttributes {
 10663  	s.DkimTokens = v
 10664  	return s
 10665  }
 10666  
 10667  // SetDkimVerificationStatus sets the DkimVerificationStatus field's value.
 10668  func (s *IdentityDkimAttributes) SetDkimVerificationStatus(v string) *IdentityDkimAttributes {
 10669  	s.DkimVerificationStatus = &v
 10670  	return s
 10671  }
 10672  
 10673  // Represents the custom MAIL FROM domain attributes of a verified identity
 10674  // (email address or domain).
 10675  type IdentityMailFromDomainAttributes struct {
 10676  	_ struct{} `type:"structure"`
 10677  
 10678  	// The action that Amazon SES takes if it cannot successfully read the required
 10679  	// MX record when you send an email. A value of UseDefaultValue indicates that
 10680  	// if Amazon SES cannot read the required MX record, it uses amazonses.com (or
 10681  	// a subdomain of that) as the MAIL FROM domain. A value of RejectMessage indicates
 10682  	// that if Amazon SES cannot read the required MX record, Amazon SES returns
 10683  	// a MailFromDomainNotVerified error and does not send the email.
 10684  	//
 10685  	// The custom MAIL FROM setup states that result in this behavior are Pending,
 10686  	// Failed, and TemporaryFailure.
 10687  	//
 10688  	// BehaviorOnMXFailure is a required field
 10689  	BehaviorOnMXFailure *string `type:"string" required:"true" enum:"BehaviorOnMXFailure"`
 10690  
 10691  	// The custom MAIL FROM domain that the identity is configured to use.
 10692  	//
 10693  	// MailFromDomain is a required field
 10694  	MailFromDomain *string `type:"string" required:"true"`
 10695  
 10696  	// The state that indicates whether Amazon SES has successfully read the MX
 10697  	// record required for custom MAIL FROM domain setup. If the state is Success,
 10698  	// Amazon SES uses the specified custom MAIL FROM domain when the verified identity
 10699  	// sends an email. All other states indicate that Amazon SES takes the action
 10700  	// described by BehaviorOnMXFailure.
 10701  	//
 10702  	// MailFromDomainStatus is a required field
 10703  	MailFromDomainStatus *string `type:"string" required:"true" enum:"CustomMailFromStatus"`
 10704  }
 10705  
 10706  // String returns the string representation.
 10707  //
 10708  // API parameter values that are decorated as "sensitive" in the API will not
 10709  // be included in the string output. The member name will be present, but the
 10710  // value will be replaced with "sensitive".
 10711  func (s IdentityMailFromDomainAttributes) String() string {
 10712  	return awsutil.Prettify(s)
 10713  }
 10714  
 10715  // GoString returns the string representation.
 10716  //
 10717  // API parameter values that are decorated as "sensitive" in the API will not
 10718  // be included in the string output. The member name will be present, but the
 10719  // value will be replaced with "sensitive".
 10720  func (s IdentityMailFromDomainAttributes) GoString() string {
 10721  	return s.String()
 10722  }
 10723  
 10724  // SetBehaviorOnMXFailure sets the BehaviorOnMXFailure field's value.
 10725  func (s *IdentityMailFromDomainAttributes) SetBehaviorOnMXFailure(v string) *IdentityMailFromDomainAttributes {
 10726  	s.BehaviorOnMXFailure = &v
 10727  	return s
 10728  }
 10729  
 10730  // SetMailFromDomain sets the MailFromDomain field's value.
 10731  func (s *IdentityMailFromDomainAttributes) SetMailFromDomain(v string) *IdentityMailFromDomainAttributes {
 10732  	s.MailFromDomain = &v
 10733  	return s
 10734  }
 10735  
 10736  // SetMailFromDomainStatus sets the MailFromDomainStatus field's value.
 10737  func (s *IdentityMailFromDomainAttributes) SetMailFromDomainStatus(v string) *IdentityMailFromDomainAttributes {
 10738  	s.MailFromDomainStatus = &v
 10739  	return s
 10740  }
 10741  
 10742  // Represents the notification attributes of an identity, including whether
 10743  // an identity has Amazon Simple Notification Service (Amazon SNS) topics set
 10744  // for bounce, complaint, and/or delivery notifications, and whether feedback
 10745  // forwarding is enabled for bounce and complaint notifications.
 10746  type IdentityNotificationAttributes struct {
 10747  	_ struct{} `type:"structure"`
 10748  
 10749  	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
 10750  	// publish bounce notifications.
 10751  	//
 10752  	// BounceTopic is a required field
 10753  	BounceTopic *string `type:"string" required:"true"`
 10754  
 10755  	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
 10756  	// publish complaint notifications.
 10757  	//
 10758  	// ComplaintTopic is a required field
 10759  	ComplaintTopic *string `type:"string" required:"true"`
 10760  
 10761  	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
 10762  	// publish delivery notifications.
 10763  	//
 10764  	// DeliveryTopic is a required field
 10765  	DeliveryTopic *string `type:"string" required:"true"`
 10766  
 10767  	// Describes whether Amazon SES will forward bounce and complaint notifications
 10768  	// as email. true indicates that Amazon SES will forward bounce and complaint
 10769  	// notifications as email, while false indicates that bounce and complaint notifications
 10770  	// will be published only to the specified bounce and complaint Amazon SNS topics.
 10771  	//
 10772  	// ForwardingEnabled is a required field
 10773  	ForwardingEnabled *bool `type:"boolean" required:"true"`
 10774  
 10775  	// Describes whether Amazon SES includes the original email headers in Amazon
 10776  	// SNS notifications of type Bounce. A value of true specifies that Amazon SES
 10777  	// will include headers in bounce notifications, and a value of false specifies
 10778  	// that Amazon SES will not include headers in bounce notifications.
 10779  	HeadersInBounceNotificationsEnabled *bool `type:"boolean"`
 10780  
 10781  	// Describes whether Amazon SES includes the original email headers in Amazon
 10782  	// SNS notifications of type Complaint. A value of true specifies that Amazon
 10783  	// SES will include headers in complaint notifications, and a value of false
 10784  	// specifies that Amazon SES will not include headers in complaint notifications.
 10785  	HeadersInComplaintNotificationsEnabled *bool `type:"boolean"`
 10786  
 10787  	// Describes whether Amazon SES includes the original email headers in Amazon
 10788  	// SNS notifications of type Delivery. A value of true specifies that Amazon
 10789  	// SES will include headers in delivery notifications, and a value of false
 10790  	// specifies that Amazon SES will not include headers in delivery notifications.
 10791  	HeadersInDeliveryNotificationsEnabled *bool `type:"boolean"`
 10792  }
 10793  
 10794  // String returns the string representation.
 10795  //
 10796  // API parameter values that are decorated as "sensitive" in the API will not
 10797  // be included in the string output. The member name will be present, but the
 10798  // value will be replaced with "sensitive".
 10799  func (s IdentityNotificationAttributes) String() string {
 10800  	return awsutil.Prettify(s)
 10801  }
 10802  
 10803  // GoString returns the string representation.
 10804  //
 10805  // API parameter values that are decorated as "sensitive" in the API will not
 10806  // be included in the string output. The member name will be present, but the
 10807  // value will be replaced with "sensitive".
 10808  func (s IdentityNotificationAttributes) GoString() string {
 10809  	return s.String()
 10810  }
 10811  
 10812  // SetBounceTopic sets the BounceTopic field's value.
 10813  func (s *IdentityNotificationAttributes) SetBounceTopic(v string) *IdentityNotificationAttributes {
 10814  	s.BounceTopic = &v
 10815  	return s
 10816  }
 10817  
 10818  // SetComplaintTopic sets the ComplaintTopic field's value.
 10819  func (s *IdentityNotificationAttributes) SetComplaintTopic(v string) *IdentityNotificationAttributes {
 10820  	s.ComplaintTopic = &v
 10821  	return s
 10822  }
 10823  
 10824  // SetDeliveryTopic sets the DeliveryTopic field's value.
 10825  func (s *IdentityNotificationAttributes) SetDeliveryTopic(v string) *IdentityNotificationAttributes {
 10826  	s.DeliveryTopic = &v
 10827  	return s
 10828  }
 10829  
 10830  // SetForwardingEnabled sets the ForwardingEnabled field's value.
 10831  func (s *IdentityNotificationAttributes) SetForwardingEnabled(v bool) *IdentityNotificationAttributes {
 10832  	s.ForwardingEnabled = &v
 10833  	return s
 10834  }
 10835  
 10836  // SetHeadersInBounceNotificationsEnabled sets the HeadersInBounceNotificationsEnabled field's value.
 10837  func (s *IdentityNotificationAttributes) SetHeadersInBounceNotificationsEnabled(v bool) *IdentityNotificationAttributes {
 10838  	s.HeadersInBounceNotificationsEnabled = &v
 10839  	return s
 10840  }
 10841  
 10842  // SetHeadersInComplaintNotificationsEnabled sets the HeadersInComplaintNotificationsEnabled field's value.
 10843  func (s *IdentityNotificationAttributes) SetHeadersInComplaintNotificationsEnabled(v bool) *IdentityNotificationAttributes {
 10844  	s.HeadersInComplaintNotificationsEnabled = &v
 10845  	return s
 10846  }
 10847  
 10848  // SetHeadersInDeliveryNotificationsEnabled sets the HeadersInDeliveryNotificationsEnabled field's value.
 10849  func (s *IdentityNotificationAttributes) SetHeadersInDeliveryNotificationsEnabled(v bool) *IdentityNotificationAttributes {
 10850  	s.HeadersInDeliveryNotificationsEnabled = &v
 10851  	return s
 10852  }
 10853  
 10854  // Represents the verification attributes of a single identity.
 10855  type IdentityVerificationAttributes struct {
 10856  	_ struct{} `type:"structure"`
 10857  
 10858  	// The verification status of the identity: "Pending", "Success", "Failed",
 10859  	// or "TemporaryFailure".
 10860  	//
 10861  	// VerificationStatus is a required field
 10862  	VerificationStatus *string `type:"string" required:"true" enum:"VerificationStatus"`
 10863  
 10864  	// The verification token for a domain identity. Null for email address identities.
 10865  	VerificationToken *string `type:"string"`
 10866  }
 10867  
 10868  // String returns the string representation.
 10869  //
 10870  // API parameter values that are decorated as "sensitive" in the API will not
 10871  // be included in the string output. The member name will be present, but the
 10872  // value will be replaced with "sensitive".
 10873  func (s IdentityVerificationAttributes) String() string {
 10874  	return awsutil.Prettify(s)
 10875  }
 10876  
 10877  // GoString returns the string representation.
 10878  //
 10879  // API parameter values that are decorated as "sensitive" in the API will not
 10880  // be included in the string output. The member name will be present, but the
 10881  // value will be replaced with "sensitive".
 10882  func (s IdentityVerificationAttributes) GoString() string {
 10883  	return s.String()
 10884  }
 10885  
 10886  // SetVerificationStatus sets the VerificationStatus field's value.
 10887  func (s *IdentityVerificationAttributes) SetVerificationStatus(v string) *IdentityVerificationAttributes {
 10888  	s.VerificationStatus = &v
 10889  	return s
 10890  }
 10891  
 10892  // SetVerificationToken sets the VerificationToken field's value.
 10893  func (s *IdentityVerificationAttributes) SetVerificationToken(v string) *IdentityVerificationAttributes {
 10894  	s.VerificationToken = &v
 10895  	return s
 10896  }
 10897  
 10898  // Contains the delivery stream ARN and the IAM role ARN associated with an
 10899  // Amazon Kinesis Firehose event destination.
 10900  //
 10901  // Event destinations, such as Amazon Kinesis Firehose, are associated with
 10902  // configuration sets, which enable you to publish email sending events. For
 10903  // information about using configuration sets, see the Amazon SES Developer
 10904  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
 10905  type KinesisFirehoseDestination struct {
 10906  	_ struct{} `type:"structure"`
 10907  
 10908  	// The ARN of the Amazon Kinesis Firehose stream that email sending events should
 10909  	// be published to.
 10910  	//
 10911  	// DeliveryStreamARN is a required field
 10912  	DeliveryStreamARN *string `type:"string" required:"true"`
 10913  
 10914  	// The ARN of the IAM role under which Amazon SES publishes email sending events
 10915  	// to the Amazon Kinesis Firehose stream.
 10916  	//
 10917  	// IAMRoleARN is a required field
 10918  	IAMRoleARN *string `type:"string" required:"true"`
 10919  }
 10920  
 10921  // String returns the string representation.
 10922  //
 10923  // API parameter values that are decorated as "sensitive" in the API will not
 10924  // be included in the string output. The member name will be present, but the
 10925  // value will be replaced with "sensitive".
 10926  func (s KinesisFirehoseDestination) String() string {
 10927  	return awsutil.Prettify(s)
 10928  }
 10929  
 10930  // GoString returns the string representation.
 10931  //
 10932  // API parameter values that are decorated as "sensitive" in the API will not
 10933  // be included in the string output. The member name will be present, but the
 10934  // value will be replaced with "sensitive".
 10935  func (s KinesisFirehoseDestination) GoString() string {
 10936  	return s.String()
 10937  }
 10938  
 10939  // Validate inspects the fields of the type to determine if they are valid.
 10940  func (s *KinesisFirehoseDestination) Validate() error {
 10941  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseDestination"}
 10942  	if s.DeliveryStreamARN == nil {
 10943  		invalidParams.Add(request.NewErrParamRequired("DeliveryStreamARN"))
 10944  	}
 10945  	if s.IAMRoleARN == nil {
 10946  		invalidParams.Add(request.NewErrParamRequired("IAMRoleARN"))
 10947  	}
 10948  
 10949  	if invalidParams.Len() > 0 {
 10950  		return invalidParams
 10951  	}
 10952  	return nil
 10953  }
 10954  
 10955  // SetDeliveryStreamARN sets the DeliveryStreamARN field's value.
 10956  func (s *KinesisFirehoseDestination) SetDeliveryStreamARN(v string) *KinesisFirehoseDestination {
 10957  	s.DeliveryStreamARN = &v
 10958  	return s
 10959  }
 10960  
 10961  // SetIAMRoleARN sets the IAMRoleARN field's value.
 10962  func (s *KinesisFirehoseDestination) SetIAMRoleARN(v string) *KinesisFirehoseDestination {
 10963  	s.IAMRoleARN = &v
 10964  	return s
 10965  }
 10966  
 10967  // When included in a receipt rule, this action calls an AWS Lambda function
 10968  // and, optionally, publishes a notification to Amazon Simple Notification Service
 10969  // (Amazon SNS).
 10970  //
 10971  // To enable Amazon SES to call your AWS Lambda function or to publish to an
 10972  // Amazon SNS topic of another account, Amazon SES must have permission to access
 10973  // those resources. For information about giving permissions, see the Amazon
 10974  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
 10975  //
 10976  // For information about using AWS Lambda actions in receipt rules, see the
 10977  // Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html).
 10978  type LambdaAction struct {
 10979  	_ struct{} `type:"structure"`
 10980  
 10981  	// The Amazon Resource Name (ARN) of the AWS Lambda function. An example of
 10982  	// an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction.
 10983  	// For more information about AWS Lambda, see the AWS Lambda Developer Guide
 10984  	// (https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).
 10985  	//
 10986  	// FunctionArn is a required field
 10987  	FunctionArn *string `type:"string" required:"true"`
 10988  
 10989  	// The invocation type of the AWS Lambda function. An invocation type of RequestResponse
 10990  	// means that the execution of the function will immediately result in a response,
 10991  	// and a value of Event means that the function will be invoked asynchronously.
 10992  	// The default value is Event. For information about AWS Lambda invocation types,
 10993  	// see the AWS Lambda Developer Guide (https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html).
 10994  	//
 10995  	// There is a 30-second timeout on RequestResponse invocations. You should use
 10996  	// Event invocation in most cases. Use RequestResponse only when you want to
 10997  	// make a mail flow decision, such as whether to stop the receipt rule or the
 10998  	// receipt rule set.
 10999  	InvocationType *string `type:"string" enum:"InvocationType"`
 11000  
 11001  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
 11002  	// Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
 11003  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
 11004  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 11005  	TopicArn *string `type:"string"`
 11006  }
 11007  
 11008  // String returns the string representation.
 11009  //
 11010  // API parameter values that are decorated as "sensitive" in the API will not
 11011  // be included in the string output. The member name will be present, but the
 11012  // value will be replaced with "sensitive".
 11013  func (s LambdaAction) String() string {
 11014  	return awsutil.Prettify(s)
 11015  }
 11016  
 11017  // GoString returns the string representation.
 11018  //
 11019  // API parameter values that are decorated as "sensitive" in the API will not
 11020  // be included in the string output. The member name will be present, but the
 11021  // value will be replaced with "sensitive".
 11022  func (s LambdaAction) GoString() string {
 11023  	return s.String()
 11024  }
 11025  
 11026  // Validate inspects the fields of the type to determine if they are valid.
 11027  func (s *LambdaAction) Validate() error {
 11028  	invalidParams := request.ErrInvalidParams{Context: "LambdaAction"}
 11029  	if s.FunctionArn == nil {
 11030  		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
 11031  	}
 11032  
 11033  	if invalidParams.Len() > 0 {
 11034  		return invalidParams
 11035  	}
 11036  	return nil
 11037  }
 11038  
 11039  // SetFunctionArn sets the FunctionArn field's value.
 11040  func (s *LambdaAction) SetFunctionArn(v string) *LambdaAction {
 11041  	s.FunctionArn = &v
 11042  	return s
 11043  }
 11044  
 11045  // SetInvocationType sets the InvocationType field's value.
 11046  func (s *LambdaAction) SetInvocationType(v string) *LambdaAction {
 11047  	s.InvocationType = &v
 11048  	return s
 11049  }
 11050  
 11051  // SetTopicArn sets the TopicArn field's value.
 11052  func (s *LambdaAction) SetTopicArn(v string) *LambdaAction {
 11053  	s.TopicArn = &v
 11054  	return s
 11055  }
 11056  
 11057  // Represents a request to list the configuration sets associated with your
 11058  // AWS account. Configuration sets enable you to publish email sending events.
 11059  // For information about using configuration sets, see the Amazon SES Developer
 11060  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
 11061  type ListConfigurationSetsInput struct {
 11062  	_ struct{} `type:"structure"`
 11063  
 11064  	// The number of configuration sets to return.
 11065  	MaxItems *int64 `type:"integer"`
 11066  
 11067  	// A token returned from a previous call to ListConfigurationSets to indicate
 11068  	// the position of the configuration set in the configuration set list.
 11069  	NextToken *string `type:"string"`
 11070  }
 11071  
 11072  // String returns the string representation.
 11073  //
 11074  // API parameter values that are decorated as "sensitive" in the API will not
 11075  // be included in the string output. The member name will be present, but the
 11076  // value will be replaced with "sensitive".
 11077  func (s ListConfigurationSetsInput) String() string {
 11078  	return awsutil.Prettify(s)
 11079  }
 11080  
 11081  // GoString returns the string representation.
 11082  //
 11083  // API parameter values that are decorated as "sensitive" in the API will not
 11084  // be included in the string output. The member name will be present, but the
 11085  // value will be replaced with "sensitive".
 11086  func (s ListConfigurationSetsInput) GoString() string {
 11087  	return s.String()
 11088  }
 11089  
 11090  // SetMaxItems sets the MaxItems field's value.
 11091  func (s *ListConfigurationSetsInput) SetMaxItems(v int64) *ListConfigurationSetsInput {
 11092  	s.MaxItems = &v
 11093  	return s
 11094  }
 11095  
 11096  // SetNextToken sets the NextToken field's value.
 11097  func (s *ListConfigurationSetsInput) SetNextToken(v string) *ListConfigurationSetsInput {
 11098  	s.NextToken = &v
 11099  	return s
 11100  }
 11101  
 11102  // A list of configuration sets associated with your AWS account. Configuration
 11103  // sets enable you to publish email sending events. For information about using
 11104  // configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
 11105  type ListConfigurationSetsOutput struct {
 11106  	_ struct{} `type:"structure"`
 11107  
 11108  	// A list of configuration sets.
 11109  	ConfigurationSets []*ConfigurationSet `type:"list"`
 11110  
 11111  	// A token indicating that there are additional configuration sets available
 11112  	// to be listed. Pass this token to successive calls of ListConfigurationSets.
 11113  	NextToken *string `type:"string"`
 11114  }
 11115  
 11116  // String returns the string representation.
 11117  //
 11118  // API parameter values that are decorated as "sensitive" in the API will not
 11119  // be included in the string output. The member name will be present, but the
 11120  // value will be replaced with "sensitive".
 11121  func (s ListConfigurationSetsOutput) String() string {
 11122  	return awsutil.Prettify(s)
 11123  }
 11124  
 11125  // GoString returns the string representation.
 11126  //
 11127  // API parameter values that are decorated as "sensitive" in the API will not
 11128  // be included in the string output. The member name will be present, but the
 11129  // value will be replaced with "sensitive".
 11130  func (s ListConfigurationSetsOutput) GoString() string {
 11131  	return s.String()
 11132  }
 11133  
 11134  // SetConfigurationSets sets the ConfigurationSets field's value.
 11135  func (s *ListConfigurationSetsOutput) SetConfigurationSets(v []*ConfigurationSet) *ListConfigurationSetsOutput {
 11136  	s.ConfigurationSets = v
 11137  	return s
 11138  }
 11139  
 11140  // SetNextToken sets the NextToken field's value.
 11141  func (s *ListConfigurationSetsOutput) SetNextToken(v string) *ListConfigurationSetsOutput {
 11142  	s.NextToken = &v
 11143  	return s
 11144  }
 11145  
 11146  // Represents a request to list the existing custom verification email templates
 11147  // for your account.
 11148  //
 11149  // For more information about custom verification email templates, see Using
 11150  // Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html)
 11151  // in the Amazon SES Developer Guide.
 11152  type ListCustomVerificationEmailTemplatesInput struct {
 11153  	_ struct{} `type:"structure"`
 11154  
 11155  	// The maximum number of custom verification email templates to return. This
 11156  	// value must be at least 1 and less than or equal to 50. If you do not specify
 11157  	// a value, or if you specify a value less than 1 or greater than 50, the operation
 11158  	// will return up to 50 results.
 11159  	MaxResults *int64 `min:"1" type:"integer"`
 11160  
 11161  	// An array the contains the name and creation time stamp for each template
 11162  	// in your Amazon SES account.
 11163  	NextToken *string `type:"string"`
 11164  }
 11165  
 11166  // String returns the string representation.
 11167  //
 11168  // API parameter values that are decorated as "sensitive" in the API will not
 11169  // be included in the string output. The member name will be present, but the
 11170  // value will be replaced with "sensitive".
 11171  func (s ListCustomVerificationEmailTemplatesInput) String() string {
 11172  	return awsutil.Prettify(s)
 11173  }
 11174  
 11175  // GoString returns the string representation.
 11176  //
 11177  // API parameter values that are decorated as "sensitive" in the API will not
 11178  // be included in the string output. The member name will be present, but the
 11179  // value will be replaced with "sensitive".
 11180  func (s ListCustomVerificationEmailTemplatesInput) GoString() string {
 11181  	return s.String()
 11182  }
 11183  
 11184  // Validate inspects the fields of the type to determine if they are valid.
 11185  func (s *ListCustomVerificationEmailTemplatesInput) Validate() error {
 11186  	invalidParams := request.ErrInvalidParams{Context: "ListCustomVerificationEmailTemplatesInput"}
 11187  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11188  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11189  	}
 11190  
 11191  	if invalidParams.Len() > 0 {
 11192  		return invalidParams
 11193  	}
 11194  	return nil
 11195  }
 11196  
 11197  // SetMaxResults sets the MaxResults field's value.
 11198  func (s *ListCustomVerificationEmailTemplatesInput) SetMaxResults(v int64) *ListCustomVerificationEmailTemplatesInput {
 11199  	s.MaxResults = &v
 11200  	return s
 11201  }
 11202  
 11203  // SetNextToken sets the NextToken field's value.
 11204  func (s *ListCustomVerificationEmailTemplatesInput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesInput {
 11205  	s.NextToken = &v
 11206  	return s
 11207  }
 11208  
 11209  // A paginated list of custom verification email templates.
 11210  type ListCustomVerificationEmailTemplatesOutput struct {
 11211  	_ struct{} `type:"structure"`
 11212  
 11213  	// A list of the custom verification email templates that exist in your account.
 11214  	CustomVerificationEmailTemplates []*CustomVerificationEmailTemplate `type:"list"`
 11215  
 11216  	// A token indicating that there are additional custom verification email templates
 11217  	// available to be listed. Pass this token to a subsequent call to ListTemplates
 11218  	// to retrieve the next 50 custom verification email templates.
 11219  	NextToken *string `type:"string"`
 11220  }
 11221  
 11222  // String returns the string representation.
 11223  //
 11224  // API parameter values that are decorated as "sensitive" in the API will not
 11225  // be included in the string output. The member name will be present, but the
 11226  // value will be replaced with "sensitive".
 11227  func (s ListCustomVerificationEmailTemplatesOutput) String() string {
 11228  	return awsutil.Prettify(s)
 11229  }
 11230  
 11231  // GoString returns the string representation.
 11232  //
 11233  // API parameter values that are decorated as "sensitive" in the API will not
 11234  // be included in the string output. The member name will be present, but the
 11235  // value will be replaced with "sensitive".
 11236  func (s ListCustomVerificationEmailTemplatesOutput) GoString() string {
 11237  	return s.String()
 11238  }
 11239  
 11240  // SetCustomVerificationEmailTemplates sets the CustomVerificationEmailTemplates field's value.
 11241  func (s *ListCustomVerificationEmailTemplatesOutput) SetCustomVerificationEmailTemplates(v []*CustomVerificationEmailTemplate) *ListCustomVerificationEmailTemplatesOutput {
 11242  	s.CustomVerificationEmailTemplates = v
 11243  	return s
 11244  }
 11245  
 11246  // SetNextToken sets the NextToken field's value.
 11247  func (s *ListCustomVerificationEmailTemplatesOutput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesOutput {
 11248  	s.NextToken = &v
 11249  	return s
 11250  }
 11251  
 11252  // Represents a request to return a list of all identities (email addresses
 11253  // and domains) that you have attempted to verify under your AWS account, regardless
 11254  // of verification status.
 11255  type ListIdentitiesInput struct {
 11256  	_ struct{} `type:"structure"`
 11257  
 11258  	// The type of the identities to list. Possible values are "EmailAddress" and
 11259  	// "Domain". If this parameter is omitted, then all identities will be listed.
 11260  	IdentityType *string `type:"string" enum:"IdentityType"`
 11261  
 11262  	// The maximum number of identities per page. Possible values are 1-1000 inclusive.
 11263  	MaxItems *int64 `type:"integer"`
 11264  
 11265  	// The token to use for pagination.
 11266  	NextToken *string `type:"string"`
 11267  }
 11268  
 11269  // String returns the string representation.
 11270  //
 11271  // API parameter values that are decorated as "sensitive" in the API will not
 11272  // be included in the string output. The member name will be present, but the
 11273  // value will be replaced with "sensitive".
 11274  func (s ListIdentitiesInput) String() string {
 11275  	return awsutil.Prettify(s)
 11276  }
 11277  
 11278  // GoString returns the string representation.
 11279  //
 11280  // API parameter values that are decorated as "sensitive" in the API will not
 11281  // be included in the string output. The member name will be present, but the
 11282  // value will be replaced with "sensitive".
 11283  func (s ListIdentitiesInput) GoString() string {
 11284  	return s.String()
 11285  }
 11286  
 11287  // SetIdentityType sets the IdentityType field's value.
 11288  func (s *ListIdentitiesInput) SetIdentityType(v string) *ListIdentitiesInput {
 11289  	s.IdentityType = &v
 11290  	return s
 11291  }
 11292  
 11293  // SetMaxItems sets the MaxItems field's value.
 11294  func (s *ListIdentitiesInput) SetMaxItems(v int64) *ListIdentitiesInput {
 11295  	s.MaxItems = &v
 11296  	return s
 11297  }
 11298  
 11299  // SetNextToken sets the NextToken field's value.
 11300  func (s *ListIdentitiesInput) SetNextToken(v string) *ListIdentitiesInput {
 11301  	s.NextToken = &v
 11302  	return s
 11303  }
 11304  
 11305  // A list of all identities that you have attempted to verify under your AWS
 11306  // account, regardless of verification status.
 11307  type ListIdentitiesOutput struct {
 11308  	_ struct{} `type:"structure"`
 11309  
 11310  	// A list of identities.
 11311  	//
 11312  	// Identities is a required field
 11313  	Identities []*string `type:"list" required:"true"`
 11314  
 11315  	// The token used for pagination.
 11316  	NextToken *string `type:"string"`
 11317  }
 11318  
 11319  // String returns the string representation.
 11320  //
 11321  // API parameter values that are decorated as "sensitive" in the API will not
 11322  // be included in the string output. The member name will be present, but the
 11323  // value will be replaced with "sensitive".
 11324  func (s ListIdentitiesOutput) String() string {
 11325  	return awsutil.Prettify(s)
 11326  }
 11327  
 11328  // GoString returns the string representation.
 11329  //
 11330  // API parameter values that are decorated as "sensitive" in the API will not
 11331  // be included in the string output. The member name will be present, but the
 11332  // value will be replaced with "sensitive".
 11333  func (s ListIdentitiesOutput) GoString() string {
 11334  	return s.String()
 11335  }
 11336  
 11337  // SetIdentities sets the Identities field's value.
 11338  func (s *ListIdentitiesOutput) SetIdentities(v []*string) *ListIdentitiesOutput {
 11339  	s.Identities = v
 11340  	return s
 11341  }
 11342  
 11343  // SetNextToken sets the NextToken field's value.
 11344  func (s *ListIdentitiesOutput) SetNextToken(v string) *ListIdentitiesOutput {
 11345  	s.NextToken = &v
 11346  	return s
 11347  }
 11348  
 11349  // Represents a request to return a list of sending authorization policies that
 11350  // are attached to an identity. Sending authorization is an Amazon SES feature
 11351  // that enables you to authorize other senders to use your identities. For information,
 11352  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 11353  type ListIdentityPoliciesInput struct {
 11354  	_ struct{} `type:"structure"`
 11355  
 11356  	// The identity that is associated with the policy for which the policies will
 11357  	// be listed. You can specify an identity by using its name or by using its
 11358  	// Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
 11359  	//
 11360  	// To successfully call this API, you must own the identity.
 11361  	//
 11362  	// Identity is a required field
 11363  	Identity *string `type:"string" required:"true"`
 11364  }
 11365  
 11366  // String returns the string representation.
 11367  //
 11368  // API parameter values that are decorated as "sensitive" in the API will not
 11369  // be included in the string output. The member name will be present, but the
 11370  // value will be replaced with "sensitive".
 11371  func (s ListIdentityPoliciesInput) String() string {
 11372  	return awsutil.Prettify(s)
 11373  }
 11374  
 11375  // GoString returns the string representation.
 11376  //
 11377  // API parameter values that are decorated as "sensitive" in the API will not
 11378  // be included in the string output. The member name will be present, but the
 11379  // value will be replaced with "sensitive".
 11380  func (s ListIdentityPoliciesInput) GoString() string {
 11381  	return s.String()
 11382  }
 11383  
 11384  // Validate inspects the fields of the type to determine if they are valid.
 11385  func (s *ListIdentityPoliciesInput) Validate() error {
 11386  	invalidParams := request.ErrInvalidParams{Context: "ListIdentityPoliciesInput"}
 11387  	if s.Identity == nil {
 11388  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 11389  	}
 11390  
 11391  	if invalidParams.Len() > 0 {
 11392  		return invalidParams
 11393  	}
 11394  	return nil
 11395  }
 11396  
 11397  // SetIdentity sets the Identity field's value.
 11398  func (s *ListIdentityPoliciesInput) SetIdentity(v string) *ListIdentityPoliciesInput {
 11399  	s.Identity = &v
 11400  	return s
 11401  }
 11402  
 11403  // A list of names of sending authorization policies that apply to an identity.
 11404  type ListIdentityPoliciesOutput struct {
 11405  	_ struct{} `type:"structure"`
 11406  
 11407  	// A list of names of policies that apply to the specified identity.
 11408  	//
 11409  	// PolicyNames is a required field
 11410  	PolicyNames []*string `type:"list" required:"true"`
 11411  }
 11412  
 11413  // String returns the string representation.
 11414  //
 11415  // API parameter values that are decorated as "sensitive" in the API will not
 11416  // be included in the string output. The member name will be present, but the
 11417  // value will be replaced with "sensitive".
 11418  func (s ListIdentityPoliciesOutput) String() string {
 11419  	return awsutil.Prettify(s)
 11420  }
 11421  
 11422  // GoString returns the string representation.
 11423  //
 11424  // API parameter values that are decorated as "sensitive" in the API will not
 11425  // be included in the string output. The member name will be present, but the
 11426  // value will be replaced with "sensitive".
 11427  func (s ListIdentityPoliciesOutput) GoString() string {
 11428  	return s.String()
 11429  }
 11430  
 11431  // SetPolicyNames sets the PolicyNames field's value.
 11432  func (s *ListIdentityPoliciesOutput) SetPolicyNames(v []*string) *ListIdentityPoliciesOutput {
 11433  	s.PolicyNames = v
 11434  	return s
 11435  }
 11436  
 11437  // Represents a request to list the IP address filters that exist under your
 11438  // AWS account. You use IP address filters when you receive email with Amazon
 11439  // SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
 11440  type ListReceiptFiltersInput struct {
 11441  	_ struct{} `type:"structure"`
 11442  }
 11443  
 11444  // String returns the string representation.
 11445  //
 11446  // API parameter values that are decorated as "sensitive" in the API will not
 11447  // be included in the string output. The member name will be present, but the
 11448  // value will be replaced with "sensitive".
 11449  func (s ListReceiptFiltersInput) String() string {
 11450  	return awsutil.Prettify(s)
 11451  }
 11452  
 11453  // GoString returns the string representation.
 11454  //
 11455  // API parameter values that are decorated as "sensitive" in the API will not
 11456  // be included in the string output. The member name will be present, but the
 11457  // value will be replaced with "sensitive".
 11458  func (s ListReceiptFiltersInput) GoString() string {
 11459  	return s.String()
 11460  }
 11461  
 11462  // A list of IP address filters that exist under your AWS account.
 11463  type ListReceiptFiltersOutput struct {
 11464  	_ struct{} `type:"structure"`
 11465  
 11466  	// A list of IP address filter data structures, which each consist of a name,
 11467  	// an IP address range, and whether to allow or block mail from it.
 11468  	Filters []*ReceiptFilter `type:"list"`
 11469  }
 11470  
 11471  // String returns the string representation.
 11472  //
 11473  // API parameter values that are decorated as "sensitive" in the API will not
 11474  // be included in the string output. The member name will be present, but the
 11475  // value will be replaced with "sensitive".
 11476  func (s ListReceiptFiltersOutput) String() string {
 11477  	return awsutil.Prettify(s)
 11478  }
 11479  
 11480  // GoString returns the string representation.
 11481  //
 11482  // API parameter values that are decorated as "sensitive" in the API will not
 11483  // be included in the string output. The member name will be present, but the
 11484  // value will be replaced with "sensitive".
 11485  func (s ListReceiptFiltersOutput) GoString() string {
 11486  	return s.String()
 11487  }
 11488  
 11489  // SetFilters sets the Filters field's value.
 11490  func (s *ListReceiptFiltersOutput) SetFilters(v []*ReceiptFilter) *ListReceiptFiltersOutput {
 11491  	s.Filters = v
 11492  	return s
 11493  }
 11494  
 11495  // Represents a request to list the receipt rule sets that exist under your
 11496  // AWS account. You use receipt rule sets to receive email with Amazon SES.
 11497  // For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
 11498  type ListReceiptRuleSetsInput struct {
 11499  	_ struct{} `type:"structure"`
 11500  
 11501  	// A token returned from a previous call to ListReceiptRuleSets to indicate
 11502  	// the position in the receipt rule set list.
 11503  	NextToken *string `type:"string"`
 11504  }
 11505  
 11506  // String returns the string representation.
 11507  //
 11508  // API parameter values that are decorated as "sensitive" in the API will not
 11509  // be included in the string output. The member name will be present, but the
 11510  // value will be replaced with "sensitive".
 11511  func (s ListReceiptRuleSetsInput) String() string {
 11512  	return awsutil.Prettify(s)
 11513  }
 11514  
 11515  // GoString returns the string representation.
 11516  //
 11517  // API parameter values that are decorated as "sensitive" in the API will not
 11518  // be included in the string output. The member name will be present, but the
 11519  // value will be replaced with "sensitive".
 11520  func (s ListReceiptRuleSetsInput) GoString() string {
 11521  	return s.String()
 11522  }
 11523  
 11524  // SetNextToken sets the NextToken field's value.
 11525  func (s *ListReceiptRuleSetsInput) SetNextToken(v string) *ListReceiptRuleSetsInput {
 11526  	s.NextToken = &v
 11527  	return s
 11528  }
 11529  
 11530  // A list of receipt rule sets that exist under your AWS account.
 11531  type ListReceiptRuleSetsOutput struct {
 11532  	_ struct{} `type:"structure"`
 11533  
 11534  	// A token indicating that there are additional receipt rule sets available
 11535  	// to be listed. Pass this token to successive calls of ListReceiptRuleSets
 11536  	// to retrieve up to 100 receipt rule sets at a time.
 11537  	NextToken *string `type:"string"`
 11538  
 11539  	// The metadata for the currently active receipt rule set. The metadata consists
 11540  	// of the rule set name and the timestamp of when the rule set was created.
 11541  	RuleSets []*ReceiptRuleSetMetadata `type:"list"`
 11542  }
 11543  
 11544  // String returns the string representation.
 11545  //
 11546  // API parameter values that are decorated as "sensitive" in the API will not
 11547  // be included in the string output. The member name will be present, but the
 11548  // value will be replaced with "sensitive".
 11549  func (s ListReceiptRuleSetsOutput) String() string {
 11550  	return awsutil.Prettify(s)
 11551  }
 11552  
 11553  // GoString returns the string representation.
 11554  //
 11555  // API parameter values that are decorated as "sensitive" in the API will not
 11556  // be included in the string output. The member name will be present, but the
 11557  // value will be replaced with "sensitive".
 11558  func (s ListReceiptRuleSetsOutput) GoString() string {
 11559  	return s.String()
 11560  }
 11561  
 11562  // SetNextToken sets the NextToken field's value.
 11563  func (s *ListReceiptRuleSetsOutput) SetNextToken(v string) *ListReceiptRuleSetsOutput {
 11564  	s.NextToken = &v
 11565  	return s
 11566  }
 11567  
 11568  // SetRuleSets sets the RuleSets field's value.
 11569  func (s *ListReceiptRuleSetsOutput) SetRuleSets(v []*ReceiptRuleSetMetadata) *ListReceiptRuleSetsOutput {
 11570  	s.RuleSets = v
 11571  	return s
 11572  }
 11573  
 11574  type ListTemplatesInput struct {
 11575  	_ struct{} `type:"structure"`
 11576  
 11577  	// The maximum number of templates to return. This value must be at least 1
 11578  	// and less than or equal to 10. If you do not specify a value, or if you specify
 11579  	// a value less than 1 or greater than 10, the operation will return up to 10
 11580  	// results.
 11581  	MaxItems *int64 `type:"integer"`
 11582  
 11583  	// A token returned from a previous call to ListTemplates to indicate the position
 11584  	// in the list of email templates.
 11585  	NextToken *string `type:"string"`
 11586  }
 11587  
 11588  // String returns the string representation.
 11589  //
 11590  // API parameter values that are decorated as "sensitive" in the API will not
 11591  // be included in the string output. The member name will be present, but the
 11592  // value will be replaced with "sensitive".
 11593  func (s ListTemplatesInput) String() string {
 11594  	return awsutil.Prettify(s)
 11595  }
 11596  
 11597  // GoString returns the string representation.
 11598  //
 11599  // API parameter values that are decorated as "sensitive" in the API will not
 11600  // be included in the string output. The member name will be present, but the
 11601  // value will be replaced with "sensitive".
 11602  func (s ListTemplatesInput) GoString() string {
 11603  	return s.String()
 11604  }
 11605  
 11606  // SetMaxItems sets the MaxItems field's value.
 11607  func (s *ListTemplatesInput) SetMaxItems(v int64) *ListTemplatesInput {
 11608  	s.MaxItems = &v
 11609  	return s
 11610  }
 11611  
 11612  // SetNextToken sets the NextToken field's value.
 11613  func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
 11614  	s.NextToken = &v
 11615  	return s
 11616  }
 11617  
 11618  type ListTemplatesOutput struct {
 11619  	_ struct{} `type:"structure"`
 11620  
 11621  	// A token indicating that there are additional email templates available to
 11622  	// be listed. Pass this token to a subsequent call to ListTemplates to retrieve
 11623  	// the next 50 email templates.
 11624  	NextToken *string `type:"string"`
 11625  
 11626  	// An array the contains the name and creation time stamp for each template
 11627  	// in your Amazon SES account.
 11628  	TemplatesMetadata []*TemplateMetadata `type:"list"`
 11629  }
 11630  
 11631  // String returns the string representation.
 11632  //
 11633  // API parameter values that are decorated as "sensitive" in the API will not
 11634  // be included in the string output. The member name will be present, but the
 11635  // value will be replaced with "sensitive".
 11636  func (s ListTemplatesOutput) String() string {
 11637  	return awsutil.Prettify(s)
 11638  }
 11639  
 11640  // GoString returns the string representation.
 11641  //
 11642  // API parameter values that are decorated as "sensitive" in the API will not
 11643  // be included in the string output. The member name will be present, but the
 11644  // value will be replaced with "sensitive".
 11645  func (s ListTemplatesOutput) GoString() string {
 11646  	return s.String()
 11647  }
 11648  
 11649  // SetNextToken sets the NextToken field's value.
 11650  func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput {
 11651  	s.NextToken = &v
 11652  	return s
 11653  }
 11654  
 11655  // SetTemplatesMetadata sets the TemplatesMetadata field's value.
 11656  func (s *ListTemplatesOutput) SetTemplatesMetadata(v []*TemplateMetadata) *ListTemplatesOutput {
 11657  	s.TemplatesMetadata = v
 11658  	return s
 11659  }
 11660  
 11661  type ListVerifiedEmailAddressesInput struct {
 11662  	_ struct{} `type:"structure"`
 11663  }
 11664  
 11665  // String returns the string representation.
 11666  //
 11667  // API parameter values that are decorated as "sensitive" in the API will not
 11668  // be included in the string output. The member name will be present, but the
 11669  // value will be replaced with "sensitive".
 11670  func (s ListVerifiedEmailAddressesInput) String() string {
 11671  	return awsutil.Prettify(s)
 11672  }
 11673  
 11674  // GoString returns the string representation.
 11675  //
 11676  // API parameter values that are decorated as "sensitive" in the API will not
 11677  // be included in the string output. The member name will be present, but the
 11678  // value will be replaced with "sensitive".
 11679  func (s ListVerifiedEmailAddressesInput) GoString() string {
 11680  	return s.String()
 11681  }
 11682  
 11683  // A list of email addresses that you have verified with Amazon SES under your
 11684  // AWS account.
 11685  type ListVerifiedEmailAddressesOutput struct {
 11686  	_ struct{} `type:"structure"`
 11687  
 11688  	// A list of email addresses that have been verified.
 11689  	VerifiedEmailAddresses []*string `type:"list"`
 11690  }
 11691  
 11692  // String returns the string representation.
 11693  //
 11694  // API parameter values that are decorated as "sensitive" in the API will not
 11695  // be included in the string output. The member name will be present, but the
 11696  // value will be replaced with "sensitive".
 11697  func (s ListVerifiedEmailAddressesOutput) String() string {
 11698  	return awsutil.Prettify(s)
 11699  }
 11700  
 11701  // GoString returns the string representation.
 11702  //
 11703  // API parameter values that are decorated as "sensitive" in the API will not
 11704  // be included in the string output. The member name will be present, but the
 11705  // value will be replaced with "sensitive".
 11706  func (s ListVerifiedEmailAddressesOutput) GoString() string {
 11707  	return s.String()
 11708  }
 11709  
 11710  // SetVerifiedEmailAddresses sets the VerifiedEmailAddresses field's value.
 11711  func (s *ListVerifiedEmailAddressesOutput) SetVerifiedEmailAddresses(v []*string) *ListVerifiedEmailAddressesOutput {
 11712  	s.VerifiedEmailAddresses = v
 11713  	return s
 11714  }
 11715  
 11716  // Represents the message to be sent, composed of a subject and a body.
 11717  type Message struct {
 11718  	_ struct{} `type:"structure"`
 11719  
 11720  	// The message body.
 11721  	//
 11722  	// Body is a required field
 11723  	Body *Body `type:"structure" required:"true"`
 11724  
 11725  	// The subject of the message: A short summary of the content, which will appear
 11726  	// in the recipient's inbox.
 11727  	//
 11728  	// Subject is a required field
 11729  	Subject *Content `type:"structure" required:"true"`
 11730  }
 11731  
 11732  // String returns the string representation.
 11733  //
 11734  // API parameter values that are decorated as "sensitive" in the API will not
 11735  // be included in the string output. The member name will be present, but the
 11736  // value will be replaced with "sensitive".
 11737  func (s Message) String() string {
 11738  	return awsutil.Prettify(s)
 11739  }
 11740  
 11741  // GoString returns the string representation.
 11742  //
 11743  // API parameter values that are decorated as "sensitive" in the API will not
 11744  // be included in the string output. The member name will be present, but the
 11745  // value will be replaced with "sensitive".
 11746  func (s Message) GoString() string {
 11747  	return s.String()
 11748  }
 11749  
 11750  // Validate inspects the fields of the type to determine if they are valid.
 11751  func (s *Message) Validate() error {
 11752  	invalidParams := request.ErrInvalidParams{Context: "Message"}
 11753  	if s.Body == nil {
 11754  		invalidParams.Add(request.NewErrParamRequired("Body"))
 11755  	}
 11756  	if s.Subject == nil {
 11757  		invalidParams.Add(request.NewErrParamRequired("Subject"))
 11758  	}
 11759  	if s.Body != nil {
 11760  		if err := s.Body.Validate(); err != nil {
 11761  			invalidParams.AddNested("Body", err.(request.ErrInvalidParams))
 11762  		}
 11763  	}
 11764  	if s.Subject != nil {
 11765  		if err := s.Subject.Validate(); err != nil {
 11766  			invalidParams.AddNested("Subject", err.(request.ErrInvalidParams))
 11767  		}
 11768  	}
 11769  
 11770  	if invalidParams.Len() > 0 {
 11771  		return invalidParams
 11772  	}
 11773  	return nil
 11774  }
 11775  
 11776  // SetBody sets the Body field's value.
 11777  func (s *Message) SetBody(v *Body) *Message {
 11778  	s.Body = v
 11779  	return s
 11780  }
 11781  
 11782  // SetSubject sets the Subject field's value.
 11783  func (s *Message) SetSubject(v *Content) *Message {
 11784  	s.Subject = v
 11785  	return s
 11786  }
 11787  
 11788  // Message-related information to include in the Delivery Status Notification
 11789  // (DSN) when an email that Amazon SES receives on your behalf bounces.
 11790  //
 11791  // For information about receiving email through Amazon SES, see the Amazon
 11792  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
 11793  type MessageDsn struct {
 11794  	_ struct{} `type:"structure"`
 11795  
 11796  	// When the message was received by the reporting mail transfer agent (MTA),
 11797  	// in RFC 822 (https://www.ietf.org/rfc/rfc0822.txt) date-time format.
 11798  	ArrivalDate *time.Time `type:"timestamp"`
 11799  
 11800  	// Additional X-headers to include in the DSN.
 11801  	ExtensionFields []*ExtensionField `type:"list"`
 11802  
 11803  	// The reporting MTA that attempted to deliver the message, formatted as specified
 11804  	// in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type; mta-name).
 11805  	// The default value is dns; inbound-smtp.[region].amazonaws.com.
 11806  	//
 11807  	// ReportingMta is a required field
 11808  	ReportingMta *string `type:"string" required:"true"`
 11809  }
 11810  
 11811  // String returns the string representation.
 11812  //
 11813  // API parameter values that are decorated as "sensitive" in the API will not
 11814  // be included in the string output. The member name will be present, but the
 11815  // value will be replaced with "sensitive".
 11816  func (s MessageDsn) String() string {
 11817  	return awsutil.Prettify(s)
 11818  }
 11819  
 11820  // GoString returns the string representation.
 11821  //
 11822  // API parameter values that are decorated as "sensitive" in the API will not
 11823  // be included in the string output. The member name will be present, but the
 11824  // value will be replaced with "sensitive".
 11825  func (s MessageDsn) GoString() string {
 11826  	return s.String()
 11827  }
 11828  
 11829  // Validate inspects the fields of the type to determine if they are valid.
 11830  func (s *MessageDsn) Validate() error {
 11831  	invalidParams := request.ErrInvalidParams{Context: "MessageDsn"}
 11832  	if s.ReportingMta == nil {
 11833  		invalidParams.Add(request.NewErrParamRequired("ReportingMta"))
 11834  	}
 11835  	if s.ExtensionFields != nil {
 11836  		for i, v := range s.ExtensionFields {
 11837  			if v == nil {
 11838  				continue
 11839  			}
 11840  			if err := v.Validate(); err != nil {
 11841  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtensionFields", i), err.(request.ErrInvalidParams))
 11842  			}
 11843  		}
 11844  	}
 11845  
 11846  	if invalidParams.Len() > 0 {
 11847  		return invalidParams
 11848  	}
 11849  	return nil
 11850  }
 11851  
 11852  // SetArrivalDate sets the ArrivalDate field's value.
 11853  func (s *MessageDsn) SetArrivalDate(v time.Time) *MessageDsn {
 11854  	s.ArrivalDate = &v
 11855  	return s
 11856  }
 11857  
 11858  // SetExtensionFields sets the ExtensionFields field's value.
 11859  func (s *MessageDsn) SetExtensionFields(v []*ExtensionField) *MessageDsn {
 11860  	s.ExtensionFields = v
 11861  	return s
 11862  }
 11863  
 11864  // SetReportingMta sets the ReportingMta field's value.
 11865  func (s *MessageDsn) SetReportingMta(v string) *MessageDsn {
 11866  	s.ReportingMta = &v
 11867  	return s
 11868  }
 11869  
 11870  // Contains the name and value of a tag that you can provide to SendEmail or
 11871  // SendRawEmail to apply to an email.
 11872  //
 11873  // Message tags, which you use with configuration sets, enable you to publish
 11874  // email sending events. For information about using configuration sets, see
 11875  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
 11876  type MessageTag struct {
 11877  	_ struct{} `type:"structure"`
 11878  
 11879  	// The name of the tag. The name must:
 11880  	//
 11881  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
 11882  	//    underscores (_), or dashes (-).
 11883  	//
 11884  	//    * Contain less than 256 characters.
 11885  	//
 11886  	// Name is a required field
 11887  	Name *string `type:"string" required:"true"`
 11888  
 11889  	// The value of the tag. The value must:
 11890  	//
 11891  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
 11892  	//    underscores (_), or dashes (-).
 11893  	//
 11894  	//    * Contain less than 256 characters.
 11895  	//
 11896  	// Value is a required field
 11897  	Value *string `type:"string" required:"true"`
 11898  }
 11899  
 11900  // String returns the string representation.
 11901  //
 11902  // API parameter values that are decorated as "sensitive" in the API will not
 11903  // be included in the string output. The member name will be present, but the
 11904  // value will be replaced with "sensitive".
 11905  func (s MessageTag) String() string {
 11906  	return awsutil.Prettify(s)
 11907  }
 11908  
 11909  // GoString returns the string representation.
 11910  //
 11911  // API parameter values that are decorated as "sensitive" in the API will not
 11912  // be included in the string output. The member name will be present, but the
 11913  // value will be replaced with "sensitive".
 11914  func (s MessageTag) GoString() string {
 11915  	return s.String()
 11916  }
 11917  
 11918  // Validate inspects the fields of the type to determine if they are valid.
 11919  func (s *MessageTag) Validate() error {
 11920  	invalidParams := request.ErrInvalidParams{Context: "MessageTag"}
 11921  	if s.Name == nil {
 11922  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11923  	}
 11924  	if s.Value == nil {
 11925  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11926  	}
 11927  
 11928  	if invalidParams.Len() > 0 {
 11929  		return invalidParams
 11930  	}
 11931  	return nil
 11932  }
 11933  
 11934  // SetName sets the Name field's value.
 11935  func (s *MessageTag) SetName(v string) *MessageTag {
 11936  	s.Name = &v
 11937  	return s
 11938  }
 11939  
 11940  // SetValue sets the Value field's value.
 11941  func (s *MessageTag) SetValue(v string) *MessageTag {
 11942  	s.Value = &v
 11943  	return s
 11944  }
 11945  
 11946  // A request to modify the delivery options for a configuration set.
 11947  type PutConfigurationSetDeliveryOptionsInput struct {
 11948  	_ struct{} `type:"structure"`
 11949  
 11950  	// The name of the configuration set that you want to specify the delivery options
 11951  	// for.
 11952  	//
 11953  	// ConfigurationSetName is a required field
 11954  	ConfigurationSetName *string `type:"string" required:"true"`
 11955  
 11956  	// Specifies whether messages that use the configuration set are required to
 11957  	// use Transport Layer Security (TLS).
 11958  	DeliveryOptions *DeliveryOptions `type:"structure"`
 11959  }
 11960  
 11961  // String returns the string representation.
 11962  //
 11963  // API parameter values that are decorated as "sensitive" in the API will not
 11964  // be included in the string output. The member name will be present, but the
 11965  // value will be replaced with "sensitive".
 11966  func (s PutConfigurationSetDeliveryOptionsInput) String() string {
 11967  	return awsutil.Prettify(s)
 11968  }
 11969  
 11970  // GoString returns the string representation.
 11971  //
 11972  // API parameter values that are decorated as "sensitive" in the API will not
 11973  // be included in the string output. The member name will be present, but the
 11974  // value will be replaced with "sensitive".
 11975  func (s PutConfigurationSetDeliveryOptionsInput) GoString() string {
 11976  	return s.String()
 11977  }
 11978  
 11979  // Validate inspects the fields of the type to determine if they are valid.
 11980  func (s *PutConfigurationSetDeliveryOptionsInput) Validate() error {
 11981  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetDeliveryOptionsInput"}
 11982  	if s.ConfigurationSetName == nil {
 11983  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 11984  	}
 11985  
 11986  	if invalidParams.Len() > 0 {
 11987  		return invalidParams
 11988  	}
 11989  	return nil
 11990  }
 11991  
 11992  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 11993  func (s *PutConfigurationSetDeliveryOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetDeliveryOptionsInput {
 11994  	s.ConfigurationSetName = &v
 11995  	return s
 11996  }
 11997  
 11998  // SetDeliveryOptions sets the DeliveryOptions field's value.
 11999  func (s *PutConfigurationSetDeliveryOptionsInput) SetDeliveryOptions(v *DeliveryOptions) *PutConfigurationSetDeliveryOptionsInput {
 12000  	s.DeliveryOptions = v
 12001  	return s
 12002  }
 12003  
 12004  // An HTTP 200 response if the request succeeds, or an error message if the
 12005  // request fails.
 12006  type PutConfigurationSetDeliveryOptionsOutput struct {
 12007  	_ struct{} `type:"structure"`
 12008  }
 12009  
 12010  // String returns the string representation.
 12011  //
 12012  // API parameter values that are decorated as "sensitive" in the API will not
 12013  // be included in the string output. The member name will be present, but the
 12014  // value will be replaced with "sensitive".
 12015  func (s PutConfigurationSetDeliveryOptionsOutput) String() string {
 12016  	return awsutil.Prettify(s)
 12017  }
 12018  
 12019  // GoString returns the string representation.
 12020  //
 12021  // API parameter values that are decorated as "sensitive" in the API will not
 12022  // be included in the string output. The member name will be present, but the
 12023  // value will be replaced with "sensitive".
 12024  func (s PutConfigurationSetDeliveryOptionsOutput) GoString() string {
 12025  	return s.String()
 12026  }
 12027  
 12028  // Represents a request to add or update a sending authorization policy for
 12029  // an identity. Sending authorization is an Amazon SES feature that enables
 12030  // you to authorize other senders to use your identities. For information, see
 12031  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 12032  type PutIdentityPolicyInput struct {
 12033  	_ struct{} `type:"structure"`
 12034  
 12035  	// The identity that the policy will apply to. You can specify an identity by
 12036  	// using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com,
 12037  	// example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
 12038  	//
 12039  	// To successfully call this API, you must own the identity.
 12040  	//
 12041  	// Identity is a required field
 12042  	Identity *string `type:"string" required:"true"`
 12043  
 12044  	// The text of the policy in JSON format. The policy cannot exceed 4 KB.
 12045  	//
 12046  	// For information about the syntax of sending authorization policies, see the
 12047  	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).
 12048  	//
 12049  	// Policy is a required field
 12050  	Policy *string `min:"1" type:"string" required:"true"`
 12051  
 12052  	// The name of the policy.
 12053  	//
 12054  	// The policy name cannot exceed 64 characters and can only include alphanumeric
 12055  	// characters, dashes, and underscores.
 12056  	//
 12057  	// PolicyName is a required field
 12058  	PolicyName *string `min:"1" type:"string" required:"true"`
 12059  }
 12060  
 12061  // String returns the string representation.
 12062  //
 12063  // API parameter values that are decorated as "sensitive" in the API will not
 12064  // be included in the string output. The member name will be present, but the
 12065  // value will be replaced with "sensitive".
 12066  func (s PutIdentityPolicyInput) String() string {
 12067  	return awsutil.Prettify(s)
 12068  }
 12069  
 12070  // GoString returns the string representation.
 12071  //
 12072  // API parameter values that are decorated as "sensitive" in the API will not
 12073  // be included in the string output. The member name will be present, but the
 12074  // value will be replaced with "sensitive".
 12075  func (s PutIdentityPolicyInput) GoString() string {
 12076  	return s.String()
 12077  }
 12078  
 12079  // Validate inspects the fields of the type to determine if they are valid.
 12080  func (s *PutIdentityPolicyInput) Validate() error {
 12081  	invalidParams := request.ErrInvalidParams{Context: "PutIdentityPolicyInput"}
 12082  	if s.Identity == nil {
 12083  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 12084  	}
 12085  	if s.Policy == nil {
 12086  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 12087  	}
 12088  	if s.Policy != nil && len(*s.Policy) < 1 {
 12089  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 12090  	}
 12091  	if s.PolicyName == nil {
 12092  		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
 12093  	}
 12094  	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
 12095  		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
 12096  	}
 12097  
 12098  	if invalidParams.Len() > 0 {
 12099  		return invalidParams
 12100  	}
 12101  	return nil
 12102  }
 12103  
 12104  // SetIdentity sets the Identity field's value.
 12105  func (s *PutIdentityPolicyInput) SetIdentity(v string) *PutIdentityPolicyInput {
 12106  	s.Identity = &v
 12107  	return s
 12108  }
 12109  
 12110  // SetPolicy sets the Policy field's value.
 12111  func (s *PutIdentityPolicyInput) SetPolicy(v string) *PutIdentityPolicyInput {
 12112  	s.Policy = &v
 12113  	return s
 12114  }
 12115  
 12116  // SetPolicyName sets the PolicyName field's value.
 12117  func (s *PutIdentityPolicyInput) SetPolicyName(v string) *PutIdentityPolicyInput {
 12118  	s.PolicyName = &v
 12119  	return s
 12120  }
 12121  
 12122  // An empty element returned on a successful request.
 12123  type PutIdentityPolicyOutput struct {
 12124  	_ struct{} `type:"structure"`
 12125  }
 12126  
 12127  // String returns the string representation.
 12128  //
 12129  // API parameter values that are decorated as "sensitive" in the API will not
 12130  // be included in the string output. The member name will be present, but the
 12131  // value will be replaced with "sensitive".
 12132  func (s PutIdentityPolicyOutput) String() string {
 12133  	return awsutil.Prettify(s)
 12134  }
 12135  
 12136  // GoString returns the string representation.
 12137  //
 12138  // API parameter values that are decorated as "sensitive" in the API will not
 12139  // be included in the string output. The member name will be present, but the
 12140  // value will be replaced with "sensitive".
 12141  func (s PutIdentityPolicyOutput) GoString() string {
 12142  	return s.String()
 12143  }
 12144  
 12145  // Represents the raw data of the message.
 12146  type RawMessage struct {
 12147  	_ struct{} `type:"structure"`
 12148  
 12149  	// The raw data of the message. This data needs to base64-encoded if you are
 12150  	// accessing Amazon SES directly through the HTTPS interface. If you are accessing
 12151  	// Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for
 12152  	// you. In all cases, the client must ensure that the message format complies
 12153  	// with Internet email standards regarding email header fields, MIME types,
 12154  	// and MIME encoding.
 12155  	//
 12156  	// The To:, CC:, and BCC: headers in the raw message can contain a group list.
 12157  	//
 12158  	// If you are using SendRawEmail with sending authorization, you can include
 12159  	// X-headers in the raw message to specify the "Source," "From," and "Return-Path"
 12160  	// addresses. For more information, see the documentation for SendRawEmail.
 12161  	//
 12162  	// Do not include these X-headers in the DKIM signature, because they are removed
 12163  	// by Amazon SES before sending the email.
 12164  	//
 12165  	// For more information, go to the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html).
 12166  	// Data is automatically base64 encoded/decoded by the SDK.
 12167  	//
 12168  	// Data is a required field
 12169  	Data []byte `type:"blob" required:"true"`
 12170  }
 12171  
 12172  // String returns the string representation.
 12173  //
 12174  // API parameter values that are decorated as "sensitive" in the API will not
 12175  // be included in the string output. The member name will be present, but the
 12176  // value will be replaced with "sensitive".
 12177  func (s RawMessage) String() string {
 12178  	return awsutil.Prettify(s)
 12179  }
 12180  
 12181  // GoString returns the string representation.
 12182  //
 12183  // API parameter values that are decorated as "sensitive" in the API will not
 12184  // be included in the string output. The member name will be present, but the
 12185  // value will be replaced with "sensitive".
 12186  func (s RawMessage) GoString() string {
 12187  	return s.String()
 12188  }
 12189  
 12190  // Validate inspects the fields of the type to determine if they are valid.
 12191  func (s *RawMessage) Validate() error {
 12192  	invalidParams := request.ErrInvalidParams{Context: "RawMessage"}
 12193  	if s.Data == nil {
 12194  		invalidParams.Add(request.NewErrParamRequired("Data"))
 12195  	}
 12196  
 12197  	if invalidParams.Len() > 0 {
 12198  		return invalidParams
 12199  	}
 12200  	return nil
 12201  }
 12202  
 12203  // SetData sets the Data field's value.
 12204  func (s *RawMessage) SetData(v []byte) *RawMessage {
 12205  	s.Data = v
 12206  	return s
 12207  }
 12208  
 12209  // An action that Amazon SES can take when it receives an email on behalf of
 12210  // one or more email addresses or domains that you own. An instance of this
 12211  // data type can represent only one action.
 12212  //
 12213  // For information about setting up receipt rules, see the Amazon SES Developer
 12214  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
 12215  type ReceiptAction struct {
 12216  	_ struct{} `type:"structure"`
 12217  
 12218  	// Adds a header to the received email.
 12219  	AddHeaderAction *AddHeaderAction `type:"structure"`
 12220  
 12221  	// Rejects the received email by returning a bounce response to the sender and,
 12222  	// optionally, publishes a notification to Amazon Simple Notification Service
 12223  	// (Amazon SNS).
 12224  	BounceAction *BounceAction `type:"structure"`
 12225  
 12226  	// Calls an AWS Lambda function, and optionally, publishes a notification to
 12227  	// Amazon SNS.
 12228  	LambdaAction *LambdaAction `type:"structure"`
 12229  
 12230  	// Saves the received message to an Amazon Simple Storage Service (Amazon S3)
 12231  	// bucket and, optionally, publishes a notification to Amazon SNS.
 12232  	S3Action *S3Action `type:"structure"`
 12233  
 12234  	// Publishes the email content within a notification to Amazon SNS.
 12235  	SNSAction *SNSAction `type:"structure"`
 12236  
 12237  	// Terminates the evaluation of the receipt rule set and optionally publishes
 12238  	// a notification to Amazon SNS.
 12239  	StopAction *StopAction `type:"structure"`
 12240  
 12241  	// Calls Amazon WorkMail and, optionally, publishes a notification to Amazon
 12242  	// Amazon SNS.
 12243  	WorkmailAction *WorkmailAction `type:"structure"`
 12244  }
 12245  
 12246  // String returns the string representation.
 12247  //
 12248  // API parameter values that are decorated as "sensitive" in the API will not
 12249  // be included in the string output. The member name will be present, but the
 12250  // value will be replaced with "sensitive".
 12251  func (s ReceiptAction) String() string {
 12252  	return awsutil.Prettify(s)
 12253  }
 12254  
 12255  // GoString returns the string representation.
 12256  //
 12257  // API parameter values that are decorated as "sensitive" in the API will not
 12258  // be included in the string output. The member name will be present, but the
 12259  // value will be replaced with "sensitive".
 12260  func (s ReceiptAction) GoString() string {
 12261  	return s.String()
 12262  }
 12263  
 12264  // Validate inspects the fields of the type to determine if they are valid.
 12265  func (s *ReceiptAction) Validate() error {
 12266  	invalidParams := request.ErrInvalidParams{Context: "ReceiptAction"}
 12267  	if s.AddHeaderAction != nil {
 12268  		if err := s.AddHeaderAction.Validate(); err != nil {
 12269  			invalidParams.AddNested("AddHeaderAction", err.(request.ErrInvalidParams))
 12270  		}
 12271  	}
 12272  	if s.BounceAction != nil {
 12273  		if err := s.BounceAction.Validate(); err != nil {
 12274  			invalidParams.AddNested("BounceAction", err.(request.ErrInvalidParams))
 12275  		}
 12276  	}
 12277  	if s.LambdaAction != nil {
 12278  		if err := s.LambdaAction.Validate(); err != nil {
 12279  			invalidParams.AddNested("LambdaAction", err.(request.ErrInvalidParams))
 12280  		}
 12281  	}
 12282  	if s.S3Action != nil {
 12283  		if err := s.S3Action.Validate(); err != nil {
 12284  			invalidParams.AddNested("S3Action", err.(request.ErrInvalidParams))
 12285  		}
 12286  	}
 12287  	if s.SNSAction != nil {
 12288  		if err := s.SNSAction.Validate(); err != nil {
 12289  			invalidParams.AddNested("SNSAction", err.(request.ErrInvalidParams))
 12290  		}
 12291  	}
 12292  	if s.StopAction != nil {
 12293  		if err := s.StopAction.Validate(); err != nil {
 12294  			invalidParams.AddNested("StopAction", err.(request.ErrInvalidParams))
 12295  		}
 12296  	}
 12297  	if s.WorkmailAction != nil {
 12298  		if err := s.WorkmailAction.Validate(); err != nil {
 12299  			invalidParams.AddNested("WorkmailAction", err.(request.ErrInvalidParams))
 12300  		}
 12301  	}
 12302  
 12303  	if invalidParams.Len() > 0 {
 12304  		return invalidParams
 12305  	}
 12306  	return nil
 12307  }
 12308  
 12309  // SetAddHeaderAction sets the AddHeaderAction field's value.
 12310  func (s *ReceiptAction) SetAddHeaderAction(v *AddHeaderAction) *ReceiptAction {
 12311  	s.AddHeaderAction = v
 12312  	return s
 12313  }
 12314  
 12315  // SetBounceAction sets the BounceAction field's value.
 12316  func (s *ReceiptAction) SetBounceAction(v *BounceAction) *ReceiptAction {
 12317  	s.BounceAction = v
 12318  	return s
 12319  }
 12320  
 12321  // SetLambdaAction sets the LambdaAction field's value.
 12322  func (s *ReceiptAction) SetLambdaAction(v *LambdaAction) *ReceiptAction {
 12323  	s.LambdaAction = v
 12324  	return s
 12325  }
 12326  
 12327  // SetS3Action sets the S3Action field's value.
 12328  func (s *ReceiptAction) SetS3Action(v *S3Action) *ReceiptAction {
 12329  	s.S3Action = v
 12330  	return s
 12331  }
 12332  
 12333  // SetSNSAction sets the SNSAction field's value.
 12334  func (s *ReceiptAction) SetSNSAction(v *SNSAction) *ReceiptAction {
 12335  	s.SNSAction = v
 12336  	return s
 12337  }
 12338  
 12339  // SetStopAction sets the StopAction field's value.
 12340  func (s *ReceiptAction) SetStopAction(v *StopAction) *ReceiptAction {
 12341  	s.StopAction = v
 12342  	return s
 12343  }
 12344  
 12345  // SetWorkmailAction sets the WorkmailAction field's value.
 12346  func (s *ReceiptAction) SetWorkmailAction(v *WorkmailAction) *ReceiptAction {
 12347  	s.WorkmailAction = v
 12348  	return s
 12349  }
 12350  
 12351  // A receipt IP address filter enables you to specify whether to accept or reject
 12352  // mail originating from an IP address or range of IP addresses.
 12353  //
 12354  // For information about setting up IP address filters, see the Amazon SES Developer
 12355  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
 12356  type ReceiptFilter struct {
 12357  	_ struct{} `type:"structure"`
 12358  
 12359  	// A structure that provides the IP addresses to block or allow, and whether
 12360  	// to block or allow incoming mail from them.
 12361  	//
 12362  	// IpFilter is a required field
 12363  	IpFilter *ReceiptIpFilter `type:"structure" required:"true"`
 12364  
 12365  	// The name of the IP address filter. The name must:
 12366  	//
 12367  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
 12368  	//    underscores (_), or dashes (-).
 12369  	//
 12370  	//    * Start and end with a letter or number.
 12371  	//
 12372  	//    * Contain less than 64 characters.
 12373  	//
 12374  	// Name is a required field
 12375  	Name *string `type:"string" required:"true"`
 12376  }
 12377  
 12378  // String returns the string representation.
 12379  //
 12380  // API parameter values that are decorated as "sensitive" in the API will not
 12381  // be included in the string output. The member name will be present, but the
 12382  // value will be replaced with "sensitive".
 12383  func (s ReceiptFilter) String() string {
 12384  	return awsutil.Prettify(s)
 12385  }
 12386  
 12387  // GoString returns the string representation.
 12388  //
 12389  // API parameter values that are decorated as "sensitive" in the API will not
 12390  // be included in the string output. The member name will be present, but the
 12391  // value will be replaced with "sensitive".
 12392  func (s ReceiptFilter) GoString() string {
 12393  	return s.String()
 12394  }
 12395  
 12396  // Validate inspects the fields of the type to determine if they are valid.
 12397  func (s *ReceiptFilter) Validate() error {
 12398  	invalidParams := request.ErrInvalidParams{Context: "ReceiptFilter"}
 12399  	if s.IpFilter == nil {
 12400  		invalidParams.Add(request.NewErrParamRequired("IpFilter"))
 12401  	}
 12402  	if s.Name == nil {
 12403  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12404  	}
 12405  	if s.IpFilter != nil {
 12406  		if err := s.IpFilter.Validate(); err != nil {
 12407  			invalidParams.AddNested("IpFilter", err.(request.ErrInvalidParams))
 12408  		}
 12409  	}
 12410  
 12411  	if invalidParams.Len() > 0 {
 12412  		return invalidParams
 12413  	}
 12414  	return nil
 12415  }
 12416  
 12417  // SetIpFilter sets the IpFilter field's value.
 12418  func (s *ReceiptFilter) SetIpFilter(v *ReceiptIpFilter) *ReceiptFilter {
 12419  	s.IpFilter = v
 12420  	return s
 12421  }
 12422  
 12423  // SetName sets the Name field's value.
 12424  func (s *ReceiptFilter) SetName(v string) *ReceiptFilter {
 12425  	s.Name = &v
 12426  	return s
 12427  }
 12428  
 12429  // A receipt IP address filter enables you to specify whether to accept or reject
 12430  // mail originating from an IP address or range of IP addresses.
 12431  //
 12432  // For information about setting up IP address filters, see the Amazon SES Developer
 12433  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
 12434  type ReceiptIpFilter struct {
 12435  	_ struct{} `type:"structure"`
 12436  
 12437  	// A single IP address or a range of IP addresses that you want to block or
 12438  	// allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example
 12439  	// of a single email address is 10.0.0.1. An example of a range of IP addresses
 12440  	// is 10.0.0.1/24. For more information about CIDR notation, see RFC 2317 (https://tools.ietf.org/html/rfc2317).
 12441  	//
 12442  	// Cidr is a required field
 12443  	Cidr *string `type:"string" required:"true"`
 12444  
 12445  	// Indicates whether to block or allow incoming mail from the specified IP addresses.
 12446  	//
 12447  	// Policy is a required field
 12448  	Policy *string `type:"string" required:"true" enum:"ReceiptFilterPolicy"`
 12449  }
 12450  
 12451  // String returns the string representation.
 12452  //
 12453  // API parameter values that are decorated as "sensitive" in the API will not
 12454  // be included in the string output. The member name will be present, but the
 12455  // value will be replaced with "sensitive".
 12456  func (s ReceiptIpFilter) String() string {
 12457  	return awsutil.Prettify(s)
 12458  }
 12459  
 12460  // GoString returns the string representation.
 12461  //
 12462  // API parameter values that are decorated as "sensitive" in the API will not
 12463  // be included in the string output. The member name will be present, but the
 12464  // value will be replaced with "sensitive".
 12465  func (s ReceiptIpFilter) GoString() string {
 12466  	return s.String()
 12467  }
 12468  
 12469  // Validate inspects the fields of the type to determine if they are valid.
 12470  func (s *ReceiptIpFilter) Validate() error {
 12471  	invalidParams := request.ErrInvalidParams{Context: "ReceiptIpFilter"}
 12472  	if s.Cidr == nil {
 12473  		invalidParams.Add(request.NewErrParamRequired("Cidr"))
 12474  	}
 12475  	if s.Policy == nil {
 12476  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 12477  	}
 12478  
 12479  	if invalidParams.Len() > 0 {
 12480  		return invalidParams
 12481  	}
 12482  	return nil
 12483  }
 12484  
 12485  // SetCidr sets the Cidr field's value.
 12486  func (s *ReceiptIpFilter) SetCidr(v string) *ReceiptIpFilter {
 12487  	s.Cidr = &v
 12488  	return s
 12489  }
 12490  
 12491  // SetPolicy sets the Policy field's value.
 12492  func (s *ReceiptIpFilter) SetPolicy(v string) *ReceiptIpFilter {
 12493  	s.Policy = &v
 12494  	return s
 12495  }
 12496  
 12497  // Receipt rules enable you to specify which actions Amazon SES should take
 12498  // when it receives mail on behalf of one or more email addresses or domains
 12499  // that you own.
 12500  //
 12501  // Each receipt rule defines a set of email addresses or domains that it applies
 12502  // to. If the email addresses or domains match at least one recipient address
 12503  // of the message, Amazon SES executes all of the receipt rule's actions on
 12504  // the message.
 12505  //
 12506  // For information about setting up receipt rules, see the Amazon SES Developer
 12507  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
 12508  type ReceiptRule struct {
 12509  	_ struct{} `type:"structure"`
 12510  
 12511  	// An ordered list of actions to perform on messages that match at least one
 12512  	// of the recipient email addresses or domains specified in the receipt rule.
 12513  	Actions []*ReceiptAction `type:"list"`
 12514  
 12515  	// If true, the receipt rule is active. The default value is false.
 12516  	Enabled *bool `type:"boolean"`
 12517  
 12518  	// The name of the receipt rule. The name must:
 12519  	//
 12520  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
 12521  	//    underscores (_), or dashes (-).
 12522  	//
 12523  	//    * Start and end with a letter or number.
 12524  	//
 12525  	//    * Contain less than 64 characters.
 12526  	//
 12527  	// Name is a required field
 12528  	Name *string `type:"string" required:"true"`
 12529  
 12530  	// The recipient domains and email addresses that the receipt rule applies to.
 12531  	// If this field is not specified, this rule will match all recipients under
 12532  	// all verified domains.
 12533  	Recipients []*string `type:"list"`
 12534  
 12535  	// If true, then messages that this receipt rule applies to are scanned for
 12536  	// spam and viruses. The default value is false.
 12537  	ScanEnabled *bool `type:"boolean"`
 12538  
 12539  	// Specifies whether Amazon SES should require that incoming email is delivered
 12540  	// over a connection encrypted with Transport Layer Security (TLS). If this
 12541  	// parameter is set to Require, Amazon SES will bounce emails that are not received
 12542  	// over TLS. The default is Optional.
 12543  	TlsPolicy *string `type:"string" enum:"TlsPolicy"`
 12544  }
 12545  
 12546  // String returns the string representation.
 12547  //
 12548  // API parameter values that are decorated as "sensitive" in the API will not
 12549  // be included in the string output. The member name will be present, but the
 12550  // value will be replaced with "sensitive".
 12551  func (s ReceiptRule) String() string {
 12552  	return awsutil.Prettify(s)
 12553  }
 12554  
 12555  // GoString returns the string representation.
 12556  //
 12557  // API parameter values that are decorated as "sensitive" in the API will not
 12558  // be included in the string output. The member name will be present, but the
 12559  // value will be replaced with "sensitive".
 12560  func (s ReceiptRule) GoString() string {
 12561  	return s.String()
 12562  }
 12563  
 12564  // Validate inspects the fields of the type to determine if they are valid.
 12565  func (s *ReceiptRule) Validate() error {
 12566  	invalidParams := request.ErrInvalidParams{Context: "ReceiptRule"}
 12567  	if s.Name == nil {
 12568  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12569  	}
 12570  	if s.Actions != nil {
 12571  		for i, v := range s.Actions {
 12572  			if v == nil {
 12573  				continue
 12574  			}
 12575  			if err := v.Validate(); err != nil {
 12576  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
 12577  			}
 12578  		}
 12579  	}
 12580  
 12581  	if invalidParams.Len() > 0 {
 12582  		return invalidParams
 12583  	}
 12584  	return nil
 12585  }
 12586  
 12587  // SetActions sets the Actions field's value.
 12588  func (s *ReceiptRule) SetActions(v []*ReceiptAction) *ReceiptRule {
 12589  	s.Actions = v
 12590  	return s
 12591  }
 12592  
 12593  // SetEnabled sets the Enabled field's value.
 12594  func (s *ReceiptRule) SetEnabled(v bool) *ReceiptRule {
 12595  	s.Enabled = &v
 12596  	return s
 12597  }
 12598  
 12599  // SetName sets the Name field's value.
 12600  func (s *ReceiptRule) SetName(v string) *ReceiptRule {
 12601  	s.Name = &v
 12602  	return s
 12603  }
 12604  
 12605  // SetRecipients sets the Recipients field's value.
 12606  func (s *ReceiptRule) SetRecipients(v []*string) *ReceiptRule {
 12607  	s.Recipients = v
 12608  	return s
 12609  }
 12610  
 12611  // SetScanEnabled sets the ScanEnabled field's value.
 12612  func (s *ReceiptRule) SetScanEnabled(v bool) *ReceiptRule {
 12613  	s.ScanEnabled = &v
 12614  	return s
 12615  }
 12616  
 12617  // SetTlsPolicy sets the TlsPolicy field's value.
 12618  func (s *ReceiptRule) SetTlsPolicy(v string) *ReceiptRule {
 12619  	s.TlsPolicy = &v
 12620  	return s
 12621  }
 12622  
 12623  // Information about a receipt rule set.
 12624  //
 12625  // A receipt rule set is a collection of rules that specify what Amazon SES
 12626  // should do with mail it receives on behalf of your account's verified domains.
 12627  //
 12628  // For information about setting up receipt rule sets, see the Amazon SES Developer
 12629  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html).
 12630  type ReceiptRuleSetMetadata struct {
 12631  	_ struct{} `type:"structure"`
 12632  
 12633  	// The date and time the receipt rule set was created.
 12634  	CreatedTimestamp *time.Time `type:"timestamp"`
 12635  
 12636  	// The name of the receipt rule set. The name must:
 12637  	//
 12638  	//    * This value can only contain ASCII letters (a-z, A-Z), numbers (0-9),
 12639  	//    underscores (_), or dashes (-).
 12640  	//
 12641  	//    * Start and end with a letter or number.
 12642  	//
 12643  	//    * Contain less than 64 characters.
 12644  	Name *string `type:"string"`
 12645  }
 12646  
 12647  // String returns the string representation.
 12648  //
 12649  // API parameter values that are decorated as "sensitive" in the API will not
 12650  // be included in the string output. The member name will be present, but the
 12651  // value will be replaced with "sensitive".
 12652  func (s ReceiptRuleSetMetadata) String() string {
 12653  	return awsutil.Prettify(s)
 12654  }
 12655  
 12656  // GoString returns the string representation.
 12657  //
 12658  // API parameter values that are decorated as "sensitive" in the API will not
 12659  // be included in the string output. The member name will be present, but the
 12660  // value will be replaced with "sensitive".
 12661  func (s ReceiptRuleSetMetadata) GoString() string {
 12662  	return s.String()
 12663  }
 12664  
 12665  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 12666  func (s *ReceiptRuleSetMetadata) SetCreatedTimestamp(v time.Time) *ReceiptRuleSetMetadata {
 12667  	s.CreatedTimestamp = &v
 12668  	return s
 12669  }
 12670  
 12671  // SetName sets the Name field's value.
 12672  func (s *ReceiptRuleSetMetadata) SetName(v string) *ReceiptRuleSetMetadata {
 12673  	s.Name = &v
 12674  	return s
 12675  }
 12676  
 12677  // Recipient-related information to include in the Delivery Status Notification
 12678  // (DSN) when an email that Amazon SES receives on your behalf bounces.
 12679  //
 12680  // For information about receiving email through Amazon SES, see the Amazon
 12681  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
 12682  type RecipientDsnFields struct {
 12683  	_ struct{} `type:"structure"`
 12684  
 12685  	// The action performed by the reporting mail transfer agent (MTA) as a result
 12686  	// of its attempt to deliver the message to the recipient address. This is required
 12687  	// by RFC 3464 (https://tools.ietf.org/html/rfc3464).
 12688  	//
 12689  	// Action is a required field
 12690  	Action *string `type:"string" required:"true" enum:"DsnAction"`
 12691  
 12692  	// An extended explanation of what went wrong; this is usually an SMTP response.
 12693  	// See RFC 3463 (https://tools.ietf.org/html/rfc3463) for the correct formatting
 12694  	// of this parameter.
 12695  	DiagnosticCode *string `type:"string"`
 12696  
 12697  	// Additional X-headers to include in the DSN.
 12698  	ExtensionFields []*ExtensionField `type:"list"`
 12699  
 12700  	// The email address that the message was ultimately delivered to. This corresponds
 12701  	// to the Final-Recipient in the DSN. If not specified, FinalRecipient will
 12702  	// be set to the Recipient specified in the BouncedRecipientInfo structure.
 12703  	// Either FinalRecipient or the recipient in BouncedRecipientInfo must be a
 12704  	// recipient of the original bounced message.
 12705  	//
 12706  	// Do not prepend the FinalRecipient email address with rfc 822;, as described
 12707  	// in RFC 3798 (https://tools.ietf.org/html/rfc3798).
 12708  	FinalRecipient *string `type:"string"`
 12709  
 12710  	// The time the final delivery attempt was made, in RFC 822 (https://www.ietf.org/rfc/rfc0822.txt)
 12711  	// date-time format.
 12712  	LastAttemptDate *time.Time `type:"timestamp"`
 12713  
 12714  	// The MTA to which the remote MTA attempted to deliver the message, formatted
 12715  	// as specified in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type;
 12716  	// mta-name). This parameter typically applies only to propagating synchronous
 12717  	// bounces.
 12718  	RemoteMta *string `type:"string"`
 12719  
 12720  	// The status code that indicates what went wrong. This is required by RFC 3464
 12721  	// (https://tools.ietf.org/html/rfc3464).
 12722  	//
 12723  	// Status is a required field
 12724  	Status *string `type:"string" required:"true"`
 12725  }
 12726  
 12727  // String returns the string representation.
 12728  //
 12729  // API parameter values that are decorated as "sensitive" in the API will not
 12730  // be included in the string output. The member name will be present, but the
 12731  // value will be replaced with "sensitive".
 12732  func (s RecipientDsnFields) String() string {
 12733  	return awsutil.Prettify(s)
 12734  }
 12735  
 12736  // GoString returns the string representation.
 12737  //
 12738  // API parameter values that are decorated as "sensitive" in the API will not
 12739  // be included in the string output. The member name will be present, but the
 12740  // value will be replaced with "sensitive".
 12741  func (s RecipientDsnFields) GoString() string {
 12742  	return s.String()
 12743  }
 12744  
 12745  // Validate inspects the fields of the type to determine if they are valid.
 12746  func (s *RecipientDsnFields) Validate() error {
 12747  	invalidParams := request.ErrInvalidParams{Context: "RecipientDsnFields"}
 12748  	if s.Action == nil {
 12749  		invalidParams.Add(request.NewErrParamRequired("Action"))
 12750  	}
 12751  	if s.Status == nil {
 12752  		invalidParams.Add(request.NewErrParamRequired("Status"))
 12753  	}
 12754  	if s.ExtensionFields != nil {
 12755  		for i, v := range s.ExtensionFields {
 12756  			if v == nil {
 12757  				continue
 12758  			}
 12759  			if err := v.Validate(); err != nil {
 12760  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtensionFields", i), err.(request.ErrInvalidParams))
 12761  			}
 12762  		}
 12763  	}
 12764  
 12765  	if invalidParams.Len() > 0 {
 12766  		return invalidParams
 12767  	}
 12768  	return nil
 12769  }
 12770  
 12771  // SetAction sets the Action field's value.
 12772  func (s *RecipientDsnFields) SetAction(v string) *RecipientDsnFields {
 12773  	s.Action = &v
 12774  	return s
 12775  }
 12776  
 12777  // SetDiagnosticCode sets the DiagnosticCode field's value.
 12778  func (s *RecipientDsnFields) SetDiagnosticCode(v string) *RecipientDsnFields {
 12779  	s.DiagnosticCode = &v
 12780  	return s
 12781  }
 12782  
 12783  // SetExtensionFields sets the ExtensionFields field's value.
 12784  func (s *RecipientDsnFields) SetExtensionFields(v []*ExtensionField) *RecipientDsnFields {
 12785  	s.ExtensionFields = v
 12786  	return s
 12787  }
 12788  
 12789  // SetFinalRecipient sets the FinalRecipient field's value.
 12790  func (s *RecipientDsnFields) SetFinalRecipient(v string) *RecipientDsnFields {
 12791  	s.FinalRecipient = &v
 12792  	return s
 12793  }
 12794  
 12795  // SetLastAttemptDate sets the LastAttemptDate field's value.
 12796  func (s *RecipientDsnFields) SetLastAttemptDate(v time.Time) *RecipientDsnFields {
 12797  	s.LastAttemptDate = &v
 12798  	return s
 12799  }
 12800  
 12801  // SetRemoteMta sets the RemoteMta field's value.
 12802  func (s *RecipientDsnFields) SetRemoteMta(v string) *RecipientDsnFields {
 12803  	s.RemoteMta = &v
 12804  	return s
 12805  }
 12806  
 12807  // SetStatus sets the Status field's value.
 12808  func (s *RecipientDsnFields) SetStatus(v string) *RecipientDsnFields {
 12809  	s.Status = &v
 12810  	return s
 12811  }
 12812  
 12813  // Represents a request to reorder the receipt rules within a receipt rule set.
 12814  // You use receipt rule sets to receive email with Amazon SES. For more information,
 12815  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
 12816  type ReorderReceiptRuleSetInput struct {
 12817  	_ struct{} `type:"structure"`
 12818  
 12819  	// A list of the specified receipt rule set's receipt rules in the order that
 12820  	// you want to put them.
 12821  	//
 12822  	// RuleNames is a required field
 12823  	RuleNames []*string `type:"list" required:"true"`
 12824  
 12825  	// The name of the receipt rule set to reorder.
 12826  	//
 12827  	// RuleSetName is a required field
 12828  	RuleSetName *string `type:"string" required:"true"`
 12829  }
 12830  
 12831  // String returns the string representation.
 12832  //
 12833  // API parameter values that are decorated as "sensitive" in the API will not
 12834  // be included in the string output. The member name will be present, but the
 12835  // value will be replaced with "sensitive".
 12836  func (s ReorderReceiptRuleSetInput) String() string {
 12837  	return awsutil.Prettify(s)
 12838  }
 12839  
 12840  // GoString returns the string representation.
 12841  //
 12842  // API parameter values that are decorated as "sensitive" in the API will not
 12843  // be included in the string output. The member name will be present, but the
 12844  // value will be replaced with "sensitive".
 12845  func (s ReorderReceiptRuleSetInput) GoString() string {
 12846  	return s.String()
 12847  }
 12848  
 12849  // Validate inspects the fields of the type to determine if they are valid.
 12850  func (s *ReorderReceiptRuleSetInput) Validate() error {
 12851  	invalidParams := request.ErrInvalidParams{Context: "ReorderReceiptRuleSetInput"}
 12852  	if s.RuleNames == nil {
 12853  		invalidParams.Add(request.NewErrParamRequired("RuleNames"))
 12854  	}
 12855  	if s.RuleSetName == nil {
 12856  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
 12857  	}
 12858  
 12859  	if invalidParams.Len() > 0 {
 12860  		return invalidParams
 12861  	}
 12862  	return nil
 12863  }
 12864  
 12865  // SetRuleNames sets the RuleNames field's value.
 12866  func (s *ReorderReceiptRuleSetInput) SetRuleNames(v []*string) *ReorderReceiptRuleSetInput {
 12867  	s.RuleNames = v
 12868  	return s
 12869  }
 12870  
 12871  // SetRuleSetName sets the RuleSetName field's value.
 12872  func (s *ReorderReceiptRuleSetInput) SetRuleSetName(v string) *ReorderReceiptRuleSetInput {
 12873  	s.RuleSetName = &v
 12874  	return s
 12875  }
 12876  
 12877  // An empty element returned on a successful request.
 12878  type ReorderReceiptRuleSetOutput struct {
 12879  	_ struct{} `type:"structure"`
 12880  }
 12881  
 12882  // String returns the string representation.
 12883  //
 12884  // API parameter values that are decorated as "sensitive" in the API will not
 12885  // be included in the string output. The member name will be present, but the
 12886  // value will be replaced with "sensitive".
 12887  func (s ReorderReceiptRuleSetOutput) String() string {
 12888  	return awsutil.Prettify(s)
 12889  }
 12890  
 12891  // GoString returns the string representation.
 12892  //
 12893  // API parameter values that are decorated as "sensitive" in the API will not
 12894  // be included in the string output. The member name will be present, but the
 12895  // value will be replaced with "sensitive".
 12896  func (s ReorderReceiptRuleSetOutput) GoString() string {
 12897  	return s.String()
 12898  }
 12899  
 12900  // Contains information about the reputation settings for a configuration set.
 12901  type ReputationOptions struct {
 12902  	_ struct{} `type:"structure"`
 12903  
 12904  	// The date and time at which the reputation metrics for the configuration set
 12905  	// were last reset. Resetting these metrics is known as a fresh start.
 12906  	//
 12907  	// When you disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled
 12908  	// and later re-enable it, the reputation metrics for the configuration set
 12909  	// (but not for the entire Amazon SES account) are reset.
 12910  	//
 12911  	// If email sending for the configuration set has never been disabled and later
 12912  	// re-enabled, the value of this attribute is null.
 12913  	LastFreshStart *time.Time `type:"timestamp"`
 12914  
 12915  	// Describes whether or not Amazon SES publishes reputation metrics for the
 12916  	// configuration set, such as bounce and complaint rates, to Amazon CloudWatch.
 12917  	//
 12918  	// If the value is true, reputation metrics are published. If the value is false,
 12919  	// reputation metrics are not published. The default value is false.
 12920  	ReputationMetricsEnabled *bool `type:"boolean"`
 12921  
 12922  	// Describes whether email sending is enabled or disabled for the configuration
 12923  	// set. If the value is true, then Amazon SES will send emails that use the
 12924  	// configuration set. If the value is false, Amazon SES will not send emails
 12925  	// that use the configuration set. The default value is true. You can change
 12926  	// this setting using UpdateConfigurationSetSendingEnabled.
 12927  	SendingEnabled *bool `type:"boolean"`
 12928  }
 12929  
 12930  // String returns the string representation.
 12931  //
 12932  // API parameter values that are decorated as "sensitive" in the API will not
 12933  // be included in the string output. The member name will be present, but the
 12934  // value will be replaced with "sensitive".
 12935  func (s ReputationOptions) String() string {
 12936  	return awsutil.Prettify(s)
 12937  }
 12938  
 12939  // GoString returns the string representation.
 12940  //
 12941  // API parameter values that are decorated as "sensitive" in the API will not
 12942  // be included in the string output. The member name will be present, but the
 12943  // value will be replaced with "sensitive".
 12944  func (s ReputationOptions) GoString() string {
 12945  	return s.String()
 12946  }
 12947  
 12948  // SetLastFreshStart sets the LastFreshStart field's value.
 12949  func (s *ReputationOptions) SetLastFreshStart(v time.Time) *ReputationOptions {
 12950  	s.LastFreshStart = &v
 12951  	return s
 12952  }
 12953  
 12954  // SetReputationMetricsEnabled sets the ReputationMetricsEnabled field's value.
 12955  func (s *ReputationOptions) SetReputationMetricsEnabled(v bool) *ReputationOptions {
 12956  	s.ReputationMetricsEnabled = &v
 12957  	return s
 12958  }
 12959  
 12960  // SetSendingEnabled sets the SendingEnabled field's value.
 12961  func (s *ReputationOptions) SetSendingEnabled(v bool) *ReputationOptions {
 12962  	s.SendingEnabled = &v
 12963  	return s
 12964  }
 12965  
 12966  // When included in a receipt rule, this action saves the received message to
 12967  // an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes
 12968  // a notification to Amazon Simple Notification Service (Amazon SNS).
 12969  //
 12970  // To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS
 12971  // KMS key to encrypt your emails, or publish to an Amazon SNS topic of another
 12972  // account, Amazon SES must have permission to access those resources. For information
 12973  // about giving permissions, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
 12974  //
 12975  // When you save your emails to an Amazon S3 bucket, the maximum email size
 12976  // (including headers) is 30 MB. Emails larger than that will bounce.
 12977  //
 12978  // For information about specifying Amazon S3 actions in receipt rules, see
 12979  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-s3.html).
 12980  type S3Action struct {
 12981  	_ struct{} `type:"structure"`
 12982  
 12983  	// The name of the Amazon S3 bucket that incoming email will be saved to.
 12984  	//
 12985  	// BucketName is a required field
 12986  	BucketName *string `type:"string" required:"true"`
 12987  
 12988  	// The customer master key that Amazon SES should use to encrypt your emails
 12989  	// before saving them to the Amazon S3 bucket. You can use the default master
 12990  	// key or a custom master key you created in AWS KMS as follows:
 12991  	//
 12992  	//    * To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses.
 12993  	//    For example, if your AWS account ID is 123456789012 and you want to use
 12994  	//    the default master key in the US West (Oregon) region, the ARN of the
 12995  	//    default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses.
 12996  	//    If you use the default master key, you don't need to perform any extra
 12997  	//    steps to give Amazon SES permission to use the key.
 12998  	//
 12999  	//    * To use a custom master key you created in AWS KMS, provide the ARN of
 13000  	//    the master key and ensure that you add a statement to your key's policy
 13001  	//    to give Amazon SES permission to use it. For more information about giving
 13002  	//    permissions, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
 13003  	//
 13004  	// For more information about key policies, see the AWS KMS Developer Guide
 13005  	// (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html). If
 13006  	// you do not specify a master key, Amazon SES will not encrypt your emails.
 13007  	//
 13008  	// Your mail is encrypted by Amazon SES using the Amazon S3 encryption client
 13009  	// before the mail is submitted to Amazon S3 for storage. It is not encrypted
 13010  	// using Amazon S3 server-side encryption. This means that you must use the
 13011  	// Amazon S3 encryption client to decrypt the email after retrieving it from
 13012  	// Amazon S3, as the service has no access to use your AWS KMS keys for decryption.
 13013  	// This encryption client is currently available with the AWS SDK for Java (http://aws.amazon.com/sdk-for-java/)
 13014  	// and AWS SDK for Ruby (http://aws.amazon.com/sdk-for-ruby/) only. For more
 13015  	// information about client-side encryption using AWS KMS master keys, see the
 13016  	// Amazon S3 Developer Guide (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html).
 13017  	KmsKeyArn *string `type:"string"`
 13018  
 13019  	// The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory
 13020  	// name that enables you to store similar data under the same directory in a
 13021  	// bucket.
 13022  	ObjectKeyPrefix *string `type:"string"`
 13023  
 13024  	// The ARN of the Amazon SNS topic to notify when the message is saved to the
 13025  	// Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
 13026  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
 13027  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 13028  	TopicArn *string `type:"string"`
 13029  }
 13030  
 13031  // String returns the string representation.
 13032  //
 13033  // API parameter values that are decorated as "sensitive" in the API will not
 13034  // be included in the string output. The member name will be present, but the
 13035  // value will be replaced with "sensitive".
 13036  func (s S3Action) String() string {
 13037  	return awsutil.Prettify(s)
 13038  }
 13039  
 13040  // GoString returns the string representation.
 13041  //
 13042  // API parameter values that are decorated as "sensitive" in the API will not
 13043  // be included in the string output. The member name will be present, but the
 13044  // value will be replaced with "sensitive".
 13045  func (s S3Action) GoString() string {
 13046  	return s.String()
 13047  }
 13048  
 13049  // Validate inspects the fields of the type to determine if they are valid.
 13050  func (s *S3Action) Validate() error {
 13051  	invalidParams := request.ErrInvalidParams{Context: "S3Action"}
 13052  	if s.BucketName == nil {
 13053  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 13054  	}
 13055  
 13056  	if invalidParams.Len() > 0 {
 13057  		return invalidParams
 13058  	}
 13059  	return nil
 13060  }
 13061  
 13062  // SetBucketName sets the BucketName field's value.
 13063  func (s *S3Action) SetBucketName(v string) *S3Action {
 13064  	s.BucketName = &v
 13065  	return s
 13066  }
 13067  
 13068  // SetKmsKeyArn sets the KmsKeyArn field's value.
 13069  func (s *S3Action) SetKmsKeyArn(v string) *S3Action {
 13070  	s.KmsKeyArn = &v
 13071  	return s
 13072  }
 13073  
 13074  // SetObjectKeyPrefix sets the ObjectKeyPrefix field's value.
 13075  func (s *S3Action) SetObjectKeyPrefix(v string) *S3Action {
 13076  	s.ObjectKeyPrefix = &v
 13077  	return s
 13078  }
 13079  
 13080  // SetTopicArn sets the TopicArn field's value.
 13081  func (s *S3Action) SetTopicArn(v string) *S3Action {
 13082  	s.TopicArn = &v
 13083  	return s
 13084  }
 13085  
 13086  // When included in a receipt rule, this action publishes a notification to
 13087  // Amazon Simple Notification Service (Amazon SNS). This action includes a complete
 13088  // copy of the email content in the Amazon SNS notifications. Amazon SNS notifications
 13089  // for all other actions simply provide information about the email. They do
 13090  // not include the email content itself.
 13091  //
 13092  // If you own the Amazon SNS topic, you don't need to do anything to give Amazon
 13093  // SES permission to publish emails to it. However, if you don't own the Amazon
 13094  // SNS topic, you need to attach a policy to the topic to give Amazon SES permissions
 13095  // to access it. For information about giving permissions, see the Amazon SES
 13096  // Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
 13097  //
 13098  // You can only publish emails that are 150 KB or less (including the header)
 13099  // to Amazon SNS. Larger emails will bounce. If you anticipate emails larger
 13100  // than 150 KB, use the S3 action instead.
 13101  //
 13102  // For information about using a receipt rule to publish an Amazon SNS notification,
 13103  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-sns.html).
 13104  type SNSAction struct {
 13105  	_ struct{} `type:"structure"`
 13106  
 13107  	// The encoding to use for the email within the Amazon SNS notification. UTF-8
 13108  	// is easier to use, but may not preserve all special characters when a message
 13109  	// was encoded with a different encoding format. Base64 preserves all special
 13110  	// characters. The default value is UTF-8.
 13111  	Encoding *string `type:"string" enum:"SNSActionEncoding"`
 13112  
 13113  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example
 13114  	// of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
 13115  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
 13116  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 13117  	//
 13118  	// TopicArn is a required field
 13119  	TopicArn *string `type:"string" required:"true"`
 13120  }
 13121  
 13122  // String returns the string representation.
 13123  //
 13124  // API parameter values that are decorated as "sensitive" in the API will not
 13125  // be included in the string output. The member name will be present, but the
 13126  // value will be replaced with "sensitive".
 13127  func (s SNSAction) String() string {
 13128  	return awsutil.Prettify(s)
 13129  }
 13130  
 13131  // GoString returns the string representation.
 13132  //
 13133  // API parameter values that are decorated as "sensitive" in the API will not
 13134  // be included in the string output. The member name will be present, but the
 13135  // value will be replaced with "sensitive".
 13136  func (s SNSAction) GoString() string {
 13137  	return s.String()
 13138  }
 13139  
 13140  // Validate inspects the fields of the type to determine if they are valid.
 13141  func (s *SNSAction) Validate() error {
 13142  	invalidParams := request.ErrInvalidParams{Context: "SNSAction"}
 13143  	if s.TopicArn == nil {
 13144  		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
 13145  	}
 13146  
 13147  	if invalidParams.Len() > 0 {
 13148  		return invalidParams
 13149  	}
 13150  	return nil
 13151  }
 13152  
 13153  // SetEncoding sets the Encoding field's value.
 13154  func (s *SNSAction) SetEncoding(v string) *SNSAction {
 13155  	s.Encoding = &v
 13156  	return s
 13157  }
 13158  
 13159  // SetTopicArn sets the TopicArn field's value.
 13160  func (s *SNSAction) SetTopicArn(v string) *SNSAction {
 13161  	s.TopicArn = &v
 13162  	return s
 13163  }
 13164  
 13165  // Contains the topic ARN associated with an Amazon Simple Notification Service
 13166  // (Amazon SNS) event destination.
 13167  //
 13168  // Event destinations, such as Amazon SNS, are associated with configuration
 13169  // sets, which enable you to publish email sending events. For information about
 13170  // using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
 13171  type SNSDestination struct {
 13172  	_ struct{} `type:"structure"`
 13173  
 13174  	// The ARN of the Amazon SNS topic that email sending events will be published
 13175  	// to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
 13176  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
 13177  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 13178  	//
 13179  	// TopicARN is a required field
 13180  	TopicARN *string `type:"string" required:"true"`
 13181  }
 13182  
 13183  // String returns the string representation.
 13184  //
 13185  // API parameter values that are decorated as "sensitive" in the API will not
 13186  // be included in the string output. The member name will be present, but the
 13187  // value will be replaced with "sensitive".
 13188  func (s SNSDestination) String() string {
 13189  	return awsutil.Prettify(s)
 13190  }
 13191  
 13192  // GoString returns the string representation.
 13193  //
 13194  // API parameter values that are decorated as "sensitive" in the API will not
 13195  // be included in the string output. The member name will be present, but the
 13196  // value will be replaced with "sensitive".
 13197  func (s SNSDestination) GoString() string {
 13198  	return s.String()
 13199  }
 13200  
 13201  // Validate inspects the fields of the type to determine if they are valid.
 13202  func (s *SNSDestination) Validate() error {
 13203  	invalidParams := request.ErrInvalidParams{Context: "SNSDestination"}
 13204  	if s.TopicARN == nil {
 13205  		invalidParams.Add(request.NewErrParamRequired("TopicARN"))
 13206  	}
 13207  
 13208  	if invalidParams.Len() > 0 {
 13209  		return invalidParams
 13210  	}
 13211  	return nil
 13212  }
 13213  
 13214  // SetTopicARN sets the TopicARN field's value.
 13215  func (s *SNSDestination) SetTopicARN(v string) *SNSDestination {
 13216  	s.TopicARN = &v
 13217  	return s
 13218  }
 13219  
 13220  // Represents a request to send a bounce message to the sender of an email you
 13221  // received through Amazon SES.
 13222  type SendBounceInput struct {
 13223  	_ struct{} `type:"structure"`
 13224  
 13225  	// The address to use in the "From" header of the bounce message. This must
 13226  	// be an identity that you have verified with Amazon SES.
 13227  	//
 13228  	// BounceSender is a required field
 13229  	BounceSender *string `type:"string" required:"true"`
 13230  
 13231  	// This parameter is used only for sending authorization. It is the ARN of the
 13232  	// identity that is associated with the sending authorization policy that permits
 13233  	// you to use the address in the "From" header of the bounce. For more information
 13234  	// about sending authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13235  	BounceSenderArn *string `type:"string"`
 13236  
 13237  	// A list of recipients of the bounced message, including the information required
 13238  	// to create the Delivery Status Notifications (DSNs) for the recipients. You
 13239  	// must specify at least one BouncedRecipientInfo in the list.
 13240  	//
 13241  	// BouncedRecipientInfoList is a required field
 13242  	BouncedRecipientInfoList []*BouncedRecipientInfo `type:"list" required:"true"`
 13243  
 13244  	// Human-readable text for the bounce message to explain the failure. If not
 13245  	// specified, the text will be auto-generated based on the bounced recipient
 13246  	// information.
 13247  	Explanation *string `type:"string"`
 13248  
 13249  	// Message-related DSN fields. If not specified, Amazon SES will choose the
 13250  	// values.
 13251  	MessageDsn *MessageDsn `type:"structure"`
 13252  
 13253  	// The message ID of the message to be bounced.
 13254  	//
 13255  	// OriginalMessageId is a required field
 13256  	OriginalMessageId *string `type:"string" required:"true"`
 13257  }
 13258  
 13259  // String returns the string representation.
 13260  //
 13261  // API parameter values that are decorated as "sensitive" in the API will not
 13262  // be included in the string output. The member name will be present, but the
 13263  // value will be replaced with "sensitive".
 13264  func (s SendBounceInput) String() string {
 13265  	return awsutil.Prettify(s)
 13266  }
 13267  
 13268  // GoString returns the string representation.
 13269  //
 13270  // API parameter values that are decorated as "sensitive" in the API will not
 13271  // be included in the string output. The member name will be present, but the
 13272  // value will be replaced with "sensitive".
 13273  func (s SendBounceInput) GoString() string {
 13274  	return s.String()
 13275  }
 13276  
 13277  // Validate inspects the fields of the type to determine if they are valid.
 13278  func (s *SendBounceInput) Validate() error {
 13279  	invalidParams := request.ErrInvalidParams{Context: "SendBounceInput"}
 13280  	if s.BounceSender == nil {
 13281  		invalidParams.Add(request.NewErrParamRequired("BounceSender"))
 13282  	}
 13283  	if s.BouncedRecipientInfoList == nil {
 13284  		invalidParams.Add(request.NewErrParamRequired("BouncedRecipientInfoList"))
 13285  	}
 13286  	if s.OriginalMessageId == nil {
 13287  		invalidParams.Add(request.NewErrParamRequired("OriginalMessageId"))
 13288  	}
 13289  	if s.BouncedRecipientInfoList != nil {
 13290  		for i, v := range s.BouncedRecipientInfoList {
 13291  			if v == nil {
 13292  				continue
 13293  			}
 13294  			if err := v.Validate(); err != nil {
 13295  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BouncedRecipientInfoList", i), err.(request.ErrInvalidParams))
 13296  			}
 13297  		}
 13298  	}
 13299  	if s.MessageDsn != nil {
 13300  		if err := s.MessageDsn.Validate(); err != nil {
 13301  			invalidParams.AddNested("MessageDsn", err.(request.ErrInvalidParams))
 13302  		}
 13303  	}
 13304  
 13305  	if invalidParams.Len() > 0 {
 13306  		return invalidParams
 13307  	}
 13308  	return nil
 13309  }
 13310  
 13311  // SetBounceSender sets the BounceSender field's value.
 13312  func (s *SendBounceInput) SetBounceSender(v string) *SendBounceInput {
 13313  	s.BounceSender = &v
 13314  	return s
 13315  }
 13316  
 13317  // SetBounceSenderArn sets the BounceSenderArn field's value.
 13318  func (s *SendBounceInput) SetBounceSenderArn(v string) *SendBounceInput {
 13319  	s.BounceSenderArn = &v
 13320  	return s
 13321  }
 13322  
 13323  // SetBouncedRecipientInfoList sets the BouncedRecipientInfoList field's value.
 13324  func (s *SendBounceInput) SetBouncedRecipientInfoList(v []*BouncedRecipientInfo) *SendBounceInput {
 13325  	s.BouncedRecipientInfoList = v
 13326  	return s
 13327  }
 13328  
 13329  // SetExplanation sets the Explanation field's value.
 13330  func (s *SendBounceInput) SetExplanation(v string) *SendBounceInput {
 13331  	s.Explanation = &v
 13332  	return s
 13333  }
 13334  
 13335  // SetMessageDsn sets the MessageDsn field's value.
 13336  func (s *SendBounceInput) SetMessageDsn(v *MessageDsn) *SendBounceInput {
 13337  	s.MessageDsn = v
 13338  	return s
 13339  }
 13340  
 13341  // SetOriginalMessageId sets the OriginalMessageId field's value.
 13342  func (s *SendBounceInput) SetOriginalMessageId(v string) *SendBounceInput {
 13343  	s.OriginalMessageId = &v
 13344  	return s
 13345  }
 13346  
 13347  // Represents a unique message ID.
 13348  type SendBounceOutput struct {
 13349  	_ struct{} `type:"structure"`
 13350  
 13351  	// The message ID of the bounce message.
 13352  	MessageId *string `type:"string"`
 13353  }
 13354  
 13355  // String returns the string representation.
 13356  //
 13357  // API parameter values that are decorated as "sensitive" in the API will not
 13358  // be included in the string output. The member name will be present, but the
 13359  // value will be replaced with "sensitive".
 13360  func (s SendBounceOutput) String() string {
 13361  	return awsutil.Prettify(s)
 13362  }
 13363  
 13364  // GoString returns the string representation.
 13365  //
 13366  // API parameter values that are decorated as "sensitive" in the API will not
 13367  // be included in the string output. The member name will be present, but the
 13368  // value will be replaced with "sensitive".
 13369  func (s SendBounceOutput) GoString() string {
 13370  	return s.String()
 13371  }
 13372  
 13373  // SetMessageId sets the MessageId field's value.
 13374  func (s *SendBounceOutput) SetMessageId(v string) *SendBounceOutput {
 13375  	s.MessageId = &v
 13376  	return s
 13377  }
 13378  
 13379  // Represents a request to send a templated email to multiple destinations using
 13380  // Amazon SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 13381  type SendBulkTemplatedEmailInput struct {
 13382  	_ struct{} `type:"structure"`
 13383  
 13384  	// The name of the configuration set to use when you send an email using SendBulkTemplatedEmail.
 13385  	ConfigurationSetName *string `type:"string"`
 13386  
 13387  	// A list of tags, in the form of name/value pairs, to apply to an email that
 13388  	// you send to a destination using SendBulkTemplatedEmail.
 13389  	DefaultTags []*MessageTag `type:"list"`
 13390  
 13391  	// A list of replacement values to apply to the template when replacement data
 13392  	// is not specified in a Destination object. These values act as a default or
 13393  	// fallback option when no other data is available.
 13394  	//
 13395  	// The template data is a JSON object, typically consisting of key-value pairs
 13396  	// in which the keys correspond to replacement tags in the email template.
 13397  	DefaultTemplateData *string `type:"string"`
 13398  
 13399  	// One or more Destination objects. All of the recipients in a Destination will
 13400  	// receive the same version of the email. You can specify up to 50 Destination
 13401  	// objects within a Destinations array.
 13402  	//
 13403  	// Destinations is a required field
 13404  	Destinations []*BulkEmailDestination `type:"list" required:"true"`
 13405  
 13406  	// The reply-to email address(es) for the message. If the recipient replies
 13407  	// to the message, each reply-to address will receive the reply.
 13408  	ReplyToAddresses []*string `type:"list"`
 13409  
 13410  	// The email address that bounces and complaints will be forwarded to when feedback
 13411  	// forwarding is enabled. If the message cannot be delivered to the recipient,
 13412  	// then an error message will be returned from the recipient's ISP; this message
 13413  	// will then be forwarded to the email address specified by the ReturnPath parameter.
 13414  	// The ReturnPath parameter is never overwritten. This email address must be
 13415  	// either individually verified with Amazon SES, or from a domain that has been
 13416  	// verified with Amazon SES.
 13417  	ReturnPath *string `type:"string"`
 13418  
 13419  	// This parameter is used only for sending authorization. It is the ARN of the
 13420  	// identity that is associated with the sending authorization policy that permits
 13421  	// you to use the email address specified in the ReturnPath parameter.
 13422  	//
 13423  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 13424  	// attaches a policy to it that authorizes you to use feedback@example.com,
 13425  	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 13426  	// and the ReturnPath to be feedback@example.com.
 13427  	//
 13428  	// For more information about sending authorization, see the Amazon SES Developer
 13429  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13430  	ReturnPathArn *string `type:"string"`
 13431  
 13432  	// The email address that is sending the email. This email address must be either
 13433  	// individually verified with Amazon SES, or from a domain that has been verified
 13434  	// with Amazon SES. For information about verifying identities, see the Amazon
 13435  	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
 13436  	//
 13437  	// If you are sending on behalf of another user and have been permitted to do
 13438  	// so by a sending authorization policy, then you must also specify the SourceArn
 13439  	// parameter. For more information about sending authorization, see the Amazon
 13440  	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13441  	//
 13442  	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
 13443  	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
 13444  	// a source email address (the part of the email address that precedes the @
 13445  	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
 13446  	// If the domain part of an address (the part after the @ sign) contains non-ASCII
 13447  	// characters, they must be encoded using Punycode, as described in RFC3492
 13448  	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
 13449  	// the friendly name) may contain non-ASCII characters. These characters must
 13450  	// be encoded using MIME encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
 13451  	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
 13452  	//
 13453  	// Source is a required field
 13454  	Source *string `type:"string" required:"true"`
 13455  
 13456  	// This parameter is used only for sending authorization. It is the ARN of the
 13457  	// identity that is associated with the sending authorization policy that permits
 13458  	// you to send for the email address specified in the Source parameter.
 13459  	//
 13460  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 13461  	// attaches a policy to it that authorizes you to send from user@example.com,
 13462  	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 13463  	// and the Source to be user@example.com.
 13464  	//
 13465  	// For more information about sending authorization, see the Amazon SES Developer
 13466  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13467  	SourceArn *string `type:"string"`
 13468  
 13469  	// The template to use when sending this email.
 13470  	//
 13471  	// Template is a required field
 13472  	Template *string `type:"string" required:"true"`
 13473  
 13474  	// The ARN of the template to use when sending this email.
 13475  	TemplateArn *string `type:"string"`
 13476  }
 13477  
 13478  // String returns the string representation.
 13479  //
 13480  // API parameter values that are decorated as "sensitive" in the API will not
 13481  // be included in the string output. The member name will be present, but the
 13482  // value will be replaced with "sensitive".
 13483  func (s SendBulkTemplatedEmailInput) String() string {
 13484  	return awsutil.Prettify(s)
 13485  }
 13486  
 13487  // GoString returns the string representation.
 13488  //
 13489  // API parameter values that are decorated as "sensitive" in the API will not
 13490  // be included in the string output. The member name will be present, but the
 13491  // value will be replaced with "sensitive".
 13492  func (s SendBulkTemplatedEmailInput) GoString() string {
 13493  	return s.String()
 13494  }
 13495  
 13496  // Validate inspects the fields of the type to determine if they are valid.
 13497  func (s *SendBulkTemplatedEmailInput) Validate() error {
 13498  	invalidParams := request.ErrInvalidParams{Context: "SendBulkTemplatedEmailInput"}
 13499  	if s.Destinations == nil {
 13500  		invalidParams.Add(request.NewErrParamRequired("Destinations"))
 13501  	}
 13502  	if s.Source == nil {
 13503  		invalidParams.Add(request.NewErrParamRequired("Source"))
 13504  	}
 13505  	if s.Template == nil {
 13506  		invalidParams.Add(request.NewErrParamRequired("Template"))
 13507  	}
 13508  	if s.DefaultTags != nil {
 13509  		for i, v := range s.DefaultTags {
 13510  			if v == nil {
 13511  				continue
 13512  			}
 13513  			if err := v.Validate(); err != nil {
 13514  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultTags", i), err.(request.ErrInvalidParams))
 13515  			}
 13516  		}
 13517  	}
 13518  	if s.Destinations != nil {
 13519  		for i, v := range s.Destinations {
 13520  			if v == nil {
 13521  				continue
 13522  			}
 13523  			if err := v.Validate(); err != nil {
 13524  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
 13525  			}
 13526  		}
 13527  	}
 13528  
 13529  	if invalidParams.Len() > 0 {
 13530  		return invalidParams
 13531  	}
 13532  	return nil
 13533  }
 13534  
 13535  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 13536  func (s *SendBulkTemplatedEmailInput) SetConfigurationSetName(v string) *SendBulkTemplatedEmailInput {
 13537  	s.ConfigurationSetName = &v
 13538  	return s
 13539  }
 13540  
 13541  // SetDefaultTags sets the DefaultTags field's value.
 13542  func (s *SendBulkTemplatedEmailInput) SetDefaultTags(v []*MessageTag) *SendBulkTemplatedEmailInput {
 13543  	s.DefaultTags = v
 13544  	return s
 13545  }
 13546  
 13547  // SetDefaultTemplateData sets the DefaultTemplateData field's value.
 13548  func (s *SendBulkTemplatedEmailInput) SetDefaultTemplateData(v string) *SendBulkTemplatedEmailInput {
 13549  	s.DefaultTemplateData = &v
 13550  	return s
 13551  }
 13552  
 13553  // SetDestinations sets the Destinations field's value.
 13554  func (s *SendBulkTemplatedEmailInput) SetDestinations(v []*BulkEmailDestination) *SendBulkTemplatedEmailInput {
 13555  	s.Destinations = v
 13556  	return s
 13557  }
 13558  
 13559  // SetReplyToAddresses sets the ReplyToAddresses field's value.
 13560  func (s *SendBulkTemplatedEmailInput) SetReplyToAddresses(v []*string) *SendBulkTemplatedEmailInput {
 13561  	s.ReplyToAddresses = v
 13562  	return s
 13563  }
 13564  
 13565  // SetReturnPath sets the ReturnPath field's value.
 13566  func (s *SendBulkTemplatedEmailInput) SetReturnPath(v string) *SendBulkTemplatedEmailInput {
 13567  	s.ReturnPath = &v
 13568  	return s
 13569  }
 13570  
 13571  // SetReturnPathArn sets the ReturnPathArn field's value.
 13572  func (s *SendBulkTemplatedEmailInput) SetReturnPathArn(v string) *SendBulkTemplatedEmailInput {
 13573  	s.ReturnPathArn = &v
 13574  	return s
 13575  }
 13576  
 13577  // SetSource sets the Source field's value.
 13578  func (s *SendBulkTemplatedEmailInput) SetSource(v string) *SendBulkTemplatedEmailInput {
 13579  	s.Source = &v
 13580  	return s
 13581  }
 13582  
 13583  // SetSourceArn sets the SourceArn field's value.
 13584  func (s *SendBulkTemplatedEmailInput) SetSourceArn(v string) *SendBulkTemplatedEmailInput {
 13585  	s.SourceArn = &v
 13586  	return s
 13587  }
 13588  
 13589  // SetTemplate sets the Template field's value.
 13590  func (s *SendBulkTemplatedEmailInput) SetTemplate(v string) *SendBulkTemplatedEmailInput {
 13591  	s.Template = &v
 13592  	return s
 13593  }
 13594  
 13595  // SetTemplateArn sets the TemplateArn field's value.
 13596  func (s *SendBulkTemplatedEmailInput) SetTemplateArn(v string) *SendBulkTemplatedEmailInput {
 13597  	s.TemplateArn = &v
 13598  	return s
 13599  }
 13600  
 13601  type SendBulkTemplatedEmailOutput struct {
 13602  	_ struct{} `type:"structure"`
 13603  
 13604  	// The unique message identifier returned from the SendBulkTemplatedEmail action.
 13605  	//
 13606  	// Status is a required field
 13607  	Status []*BulkEmailDestinationStatus `type:"list" required:"true"`
 13608  }
 13609  
 13610  // String returns the string representation.
 13611  //
 13612  // API parameter values that are decorated as "sensitive" in the API will not
 13613  // be included in the string output. The member name will be present, but the
 13614  // value will be replaced with "sensitive".
 13615  func (s SendBulkTemplatedEmailOutput) String() string {
 13616  	return awsutil.Prettify(s)
 13617  }
 13618  
 13619  // GoString returns the string representation.
 13620  //
 13621  // API parameter values that are decorated as "sensitive" in the API will not
 13622  // be included in the string output. The member name will be present, but the
 13623  // value will be replaced with "sensitive".
 13624  func (s SendBulkTemplatedEmailOutput) GoString() string {
 13625  	return s.String()
 13626  }
 13627  
 13628  // SetStatus sets the Status field's value.
 13629  func (s *SendBulkTemplatedEmailOutput) SetStatus(v []*BulkEmailDestinationStatus) *SendBulkTemplatedEmailOutput {
 13630  	s.Status = v
 13631  	return s
 13632  }
 13633  
 13634  // Represents a request to send a custom verification email to a specified recipient.
 13635  type SendCustomVerificationEmailInput struct {
 13636  	_ struct{} `type:"structure"`
 13637  
 13638  	// Name of a configuration set to use when sending the verification email.
 13639  	ConfigurationSetName *string `type:"string"`
 13640  
 13641  	// The email address to verify.
 13642  	//
 13643  	// EmailAddress is a required field
 13644  	EmailAddress *string `type:"string" required:"true"`
 13645  
 13646  	// The name of the custom verification email template to use when sending the
 13647  	// verification email.
 13648  	//
 13649  	// TemplateName is a required field
 13650  	TemplateName *string `type:"string" required:"true"`
 13651  }
 13652  
 13653  // String returns the string representation.
 13654  //
 13655  // API parameter values that are decorated as "sensitive" in the API will not
 13656  // be included in the string output. The member name will be present, but the
 13657  // value will be replaced with "sensitive".
 13658  func (s SendCustomVerificationEmailInput) String() string {
 13659  	return awsutil.Prettify(s)
 13660  }
 13661  
 13662  // GoString returns the string representation.
 13663  //
 13664  // API parameter values that are decorated as "sensitive" in the API will not
 13665  // be included in the string output. The member name will be present, but the
 13666  // value will be replaced with "sensitive".
 13667  func (s SendCustomVerificationEmailInput) GoString() string {
 13668  	return s.String()
 13669  }
 13670  
 13671  // Validate inspects the fields of the type to determine if they are valid.
 13672  func (s *SendCustomVerificationEmailInput) Validate() error {
 13673  	invalidParams := request.ErrInvalidParams{Context: "SendCustomVerificationEmailInput"}
 13674  	if s.EmailAddress == nil {
 13675  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 13676  	}
 13677  	if s.TemplateName == nil {
 13678  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 13679  	}
 13680  
 13681  	if invalidParams.Len() > 0 {
 13682  		return invalidParams
 13683  	}
 13684  	return nil
 13685  }
 13686  
 13687  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 13688  func (s *SendCustomVerificationEmailInput) SetConfigurationSetName(v string) *SendCustomVerificationEmailInput {
 13689  	s.ConfigurationSetName = &v
 13690  	return s
 13691  }
 13692  
 13693  // SetEmailAddress sets the EmailAddress field's value.
 13694  func (s *SendCustomVerificationEmailInput) SetEmailAddress(v string) *SendCustomVerificationEmailInput {
 13695  	s.EmailAddress = &v
 13696  	return s
 13697  }
 13698  
 13699  // SetTemplateName sets the TemplateName field's value.
 13700  func (s *SendCustomVerificationEmailInput) SetTemplateName(v string) *SendCustomVerificationEmailInput {
 13701  	s.TemplateName = &v
 13702  	return s
 13703  }
 13704  
 13705  // The response received when attempting to send the custom verification email.
 13706  type SendCustomVerificationEmailOutput struct {
 13707  	_ struct{} `type:"structure"`
 13708  
 13709  	// The unique message identifier returned from the SendCustomVerificationEmail
 13710  	// operation.
 13711  	MessageId *string `type:"string"`
 13712  }
 13713  
 13714  // String returns the string representation.
 13715  //
 13716  // API parameter values that are decorated as "sensitive" in the API will not
 13717  // be included in the string output. The member name will be present, but the
 13718  // value will be replaced with "sensitive".
 13719  func (s SendCustomVerificationEmailOutput) String() string {
 13720  	return awsutil.Prettify(s)
 13721  }
 13722  
 13723  // GoString returns the string representation.
 13724  //
 13725  // API parameter values that are decorated as "sensitive" in the API will not
 13726  // be included in the string output. The member name will be present, but the
 13727  // value will be replaced with "sensitive".
 13728  func (s SendCustomVerificationEmailOutput) GoString() string {
 13729  	return s.String()
 13730  }
 13731  
 13732  // SetMessageId sets the MessageId field's value.
 13733  func (s *SendCustomVerificationEmailOutput) SetMessageId(v string) *SendCustomVerificationEmailOutput {
 13734  	s.MessageId = &v
 13735  	return s
 13736  }
 13737  
 13738  // Represents sending statistics data. Each SendDataPoint contains statistics
 13739  // for a 15-minute period of sending activity.
 13740  type SendDataPoint struct {
 13741  	_ struct{} `type:"structure"`
 13742  
 13743  	// Number of emails that have bounced.
 13744  	Bounces *int64 `type:"long"`
 13745  
 13746  	// Number of unwanted emails that were rejected by recipients.
 13747  	Complaints *int64 `type:"long"`
 13748  
 13749  	// Number of emails that have been sent.
 13750  	DeliveryAttempts *int64 `type:"long"`
 13751  
 13752  	// Number of emails rejected by Amazon SES.
 13753  	Rejects *int64 `type:"long"`
 13754  
 13755  	// Time of the data point.
 13756  	Timestamp *time.Time `type:"timestamp"`
 13757  }
 13758  
 13759  // String returns the string representation.
 13760  //
 13761  // API parameter values that are decorated as "sensitive" in the API will not
 13762  // be included in the string output. The member name will be present, but the
 13763  // value will be replaced with "sensitive".
 13764  func (s SendDataPoint) String() string {
 13765  	return awsutil.Prettify(s)
 13766  }
 13767  
 13768  // GoString returns the string representation.
 13769  //
 13770  // API parameter values that are decorated as "sensitive" in the API will not
 13771  // be included in the string output. The member name will be present, but the
 13772  // value will be replaced with "sensitive".
 13773  func (s SendDataPoint) GoString() string {
 13774  	return s.String()
 13775  }
 13776  
 13777  // SetBounces sets the Bounces field's value.
 13778  func (s *SendDataPoint) SetBounces(v int64) *SendDataPoint {
 13779  	s.Bounces = &v
 13780  	return s
 13781  }
 13782  
 13783  // SetComplaints sets the Complaints field's value.
 13784  func (s *SendDataPoint) SetComplaints(v int64) *SendDataPoint {
 13785  	s.Complaints = &v
 13786  	return s
 13787  }
 13788  
 13789  // SetDeliveryAttempts sets the DeliveryAttempts field's value.
 13790  func (s *SendDataPoint) SetDeliveryAttempts(v int64) *SendDataPoint {
 13791  	s.DeliveryAttempts = &v
 13792  	return s
 13793  }
 13794  
 13795  // SetRejects sets the Rejects field's value.
 13796  func (s *SendDataPoint) SetRejects(v int64) *SendDataPoint {
 13797  	s.Rejects = &v
 13798  	return s
 13799  }
 13800  
 13801  // SetTimestamp sets the Timestamp field's value.
 13802  func (s *SendDataPoint) SetTimestamp(v time.Time) *SendDataPoint {
 13803  	s.Timestamp = &v
 13804  	return s
 13805  }
 13806  
 13807  // Represents a request to send a single formatted email using Amazon SES. For
 13808  // more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html).
 13809  type SendEmailInput struct {
 13810  	_ struct{} `type:"structure"`
 13811  
 13812  	// The name of the configuration set to use when you send an email using SendEmail.
 13813  	ConfigurationSetName *string `type:"string"`
 13814  
 13815  	// The destination for this email, composed of To:, CC:, and BCC: fields.
 13816  	//
 13817  	// Destination is a required field
 13818  	Destination *Destination `type:"structure" required:"true"`
 13819  
 13820  	// The message to be sent.
 13821  	//
 13822  	// Message is a required field
 13823  	Message *Message `type:"structure" required:"true"`
 13824  
 13825  	// The reply-to email address(es) for the message. If the recipient replies
 13826  	// to the message, each reply-to address will receive the reply.
 13827  	ReplyToAddresses []*string `type:"list"`
 13828  
 13829  	// The email address that bounces and complaints will be forwarded to when feedback
 13830  	// forwarding is enabled. If the message cannot be delivered to the recipient,
 13831  	// then an error message will be returned from the recipient's ISP; this message
 13832  	// will then be forwarded to the email address specified by the ReturnPath parameter.
 13833  	// The ReturnPath parameter is never overwritten. This email address must be
 13834  	// either individually verified with Amazon SES, or from a domain that has been
 13835  	// verified with Amazon SES.
 13836  	ReturnPath *string `type:"string"`
 13837  
 13838  	// This parameter is used only for sending authorization. It is the ARN of the
 13839  	// identity that is associated with the sending authorization policy that permits
 13840  	// you to use the email address specified in the ReturnPath parameter.
 13841  	//
 13842  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 13843  	// attaches a policy to it that authorizes you to use feedback@example.com,
 13844  	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 13845  	// and the ReturnPath to be feedback@example.com.
 13846  	//
 13847  	// For more information about sending authorization, see the Amazon SES Developer
 13848  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13849  	ReturnPathArn *string `type:"string"`
 13850  
 13851  	// The email address that is sending the email. This email address must be either
 13852  	// individually verified with Amazon SES, or from a domain that has been verified
 13853  	// with Amazon SES. For information about verifying identities, see the Amazon
 13854  	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
 13855  	//
 13856  	// If you are sending on behalf of another user and have been permitted to do
 13857  	// so by a sending authorization policy, then you must also specify the SourceArn
 13858  	// parameter. For more information about sending authorization, see the Amazon
 13859  	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13860  	//
 13861  	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
 13862  	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
 13863  	// a source email address (the part of the email address that precedes the @
 13864  	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
 13865  	// If the domain part of an address (the part after the @ sign) contains non-ASCII
 13866  	// characters, they must be encoded using Punycode, as described in RFC3492
 13867  	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
 13868  	// the friendly name) may contain non-ASCII characters. These characters must
 13869  	// be encoded using MIME encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
 13870  	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
 13871  	//
 13872  	// Source is a required field
 13873  	Source *string `type:"string" required:"true"`
 13874  
 13875  	// This parameter is used only for sending authorization. It is the ARN of the
 13876  	// identity that is associated with the sending authorization policy that permits
 13877  	// you to send for the email address specified in the Source parameter.
 13878  	//
 13879  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 13880  	// attaches a policy to it that authorizes you to send from user@example.com,
 13881  	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 13882  	// and the Source to be user@example.com.
 13883  	//
 13884  	// For more information about sending authorization, see the Amazon SES Developer
 13885  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 13886  	SourceArn *string `type:"string"`
 13887  
 13888  	// A list of tags, in the form of name/value pairs, to apply to an email that
 13889  	// you send using SendEmail. Tags correspond to characteristics of the email
 13890  	// that you define, so that you can publish email sending events.
 13891  	Tags []*MessageTag `type:"list"`
 13892  }
 13893  
 13894  // String returns the string representation.
 13895  //
 13896  // API parameter values that are decorated as "sensitive" in the API will not
 13897  // be included in the string output. The member name will be present, but the
 13898  // value will be replaced with "sensitive".
 13899  func (s SendEmailInput) String() string {
 13900  	return awsutil.Prettify(s)
 13901  }
 13902  
 13903  // GoString returns the string representation.
 13904  //
 13905  // API parameter values that are decorated as "sensitive" in the API will not
 13906  // be included in the string output. The member name will be present, but the
 13907  // value will be replaced with "sensitive".
 13908  func (s SendEmailInput) GoString() string {
 13909  	return s.String()
 13910  }
 13911  
 13912  // Validate inspects the fields of the type to determine if they are valid.
 13913  func (s *SendEmailInput) Validate() error {
 13914  	invalidParams := request.ErrInvalidParams{Context: "SendEmailInput"}
 13915  	if s.Destination == nil {
 13916  		invalidParams.Add(request.NewErrParamRequired("Destination"))
 13917  	}
 13918  	if s.Message == nil {
 13919  		invalidParams.Add(request.NewErrParamRequired("Message"))
 13920  	}
 13921  	if s.Source == nil {
 13922  		invalidParams.Add(request.NewErrParamRequired("Source"))
 13923  	}
 13924  	if s.Message != nil {
 13925  		if err := s.Message.Validate(); err != nil {
 13926  			invalidParams.AddNested("Message", err.(request.ErrInvalidParams))
 13927  		}
 13928  	}
 13929  	if s.Tags != nil {
 13930  		for i, v := range s.Tags {
 13931  			if v == nil {
 13932  				continue
 13933  			}
 13934  			if err := v.Validate(); err != nil {
 13935  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 13936  			}
 13937  		}
 13938  	}
 13939  
 13940  	if invalidParams.Len() > 0 {
 13941  		return invalidParams
 13942  	}
 13943  	return nil
 13944  }
 13945  
 13946  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 13947  func (s *SendEmailInput) SetConfigurationSetName(v string) *SendEmailInput {
 13948  	s.ConfigurationSetName = &v
 13949  	return s
 13950  }
 13951  
 13952  // SetDestination sets the Destination field's value.
 13953  func (s *SendEmailInput) SetDestination(v *Destination) *SendEmailInput {
 13954  	s.Destination = v
 13955  	return s
 13956  }
 13957  
 13958  // SetMessage sets the Message field's value.
 13959  func (s *SendEmailInput) SetMessage(v *Message) *SendEmailInput {
 13960  	s.Message = v
 13961  	return s
 13962  }
 13963  
 13964  // SetReplyToAddresses sets the ReplyToAddresses field's value.
 13965  func (s *SendEmailInput) SetReplyToAddresses(v []*string) *SendEmailInput {
 13966  	s.ReplyToAddresses = v
 13967  	return s
 13968  }
 13969  
 13970  // SetReturnPath sets the ReturnPath field's value.
 13971  func (s *SendEmailInput) SetReturnPath(v string) *SendEmailInput {
 13972  	s.ReturnPath = &v
 13973  	return s
 13974  }
 13975  
 13976  // SetReturnPathArn sets the ReturnPathArn field's value.
 13977  func (s *SendEmailInput) SetReturnPathArn(v string) *SendEmailInput {
 13978  	s.ReturnPathArn = &v
 13979  	return s
 13980  }
 13981  
 13982  // SetSource sets the Source field's value.
 13983  func (s *SendEmailInput) SetSource(v string) *SendEmailInput {
 13984  	s.Source = &v
 13985  	return s
 13986  }
 13987  
 13988  // SetSourceArn sets the SourceArn field's value.
 13989  func (s *SendEmailInput) SetSourceArn(v string) *SendEmailInput {
 13990  	s.SourceArn = &v
 13991  	return s
 13992  }
 13993  
 13994  // SetTags sets the Tags field's value.
 13995  func (s *SendEmailInput) SetTags(v []*MessageTag) *SendEmailInput {
 13996  	s.Tags = v
 13997  	return s
 13998  }
 13999  
 14000  // Represents a unique message ID.
 14001  type SendEmailOutput struct {
 14002  	_ struct{} `type:"structure"`
 14003  
 14004  	// The unique message identifier returned from the SendEmail action.
 14005  	//
 14006  	// MessageId is a required field
 14007  	MessageId *string `type:"string" required:"true"`
 14008  }
 14009  
 14010  // String returns the string representation.
 14011  //
 14012  // API parameter values that are decorated as "sensitive" in the API will not
 14013  // be included in the string output. The member name will be present, but the
 14014  // value will be replaced with "sensitive".
 14015  func (s SendEmailOutput) String() string {
 14016  	return awsutil.Prettify(s)
 14017  }
 14018  
 14019  // GoString returns the string representation.
 14020  //
 14021  // API parameter values that are decorated as "sensitive" in the API will not
 14022  // be included in the string output. The member name will be present, but the
 14023  // value will be replaced with "sensitive".
 14024  func (s SendEmailOutput) GoString() string {
 14025  	return s.String()
 14026  }
 14027  
 14028  // SetMessageId sets the MessageId field's value.
 14029  func (s *SendEmailOutput) SetMessageId(v string) *SendEmailOutput {
 14030  	s.MessageId = &v
 14031  	return s
 14032  }
 14033  
 14034  // Represents a request to send a single raw email using Amazon SES. For more
 14035  // information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html).
 14036  type SendRawEmailInput struct {
 14037  	_ struct{} `type:"structure"`
 14038  
 14039  	// The name of the configuration set to use when you send an email using SendRawEmail.
 14040  	ConfigurationSetName *string `type:"string"`
 14041  
 14042  	// A list of destinations for the message, consisting of To:, CC:, and BCC:
 14043  	// addresses.
 14044  	Destinations []*string `type:"list"`
 14045  
 14046  	// This parameter is used only for sending authorization. It is the ARN of the
 14047  	// identity that is associated with the sending authorization policy that permits
 14048  	// you to specify a particular "From" address in the header of the raw email.
 14049  	//
 14050  	// Instead of using this parameter, you can use the X-header X-SES-FROM-ARN
 14051  	// in the raw message of the email. If you use both the FromArn parameter and
 14052  	// the corresponding X-header, Amazon SES uses the value of the FromArn parameter.
 14053  	//
 14054  	// For information about when to use this parameter, see the description of
 14055  	// 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).
 14056  	FromArn *string `type:"string"`
 14057  
 14058  	// The raw email message itself. The message has to meet the following criteria:
 14059  	//
 14060  	//    * The message has to contain a header and a body, separated by a blank
 14061  	//    line.
 14062  	//
 14063  	//    * All of the required header fields must be present in the message.
 14064  	//
 14065  	//    * Each part of a multipart MIME message must be formatted properly.
 14066  	//
 14067  	//    * Attachments must be of a content type that Amazon SES supports. For
 14068  	//    a list on unsupported content types, see Unsupported Attachment Types
 14069  	//    (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html)
 14070  	//    in the Amazon SES Developer Guide.
 14071  	//
 14072  	//    * The entire message must be base64-encoded.
 14073  	//
 14074  	//    * If any of the MIME parts in your message contain content that is outside
 14075  	//    of the 7-bit ASCII character range, we highly recommend that you encode
 14076  	//    that content. For more information, see Sending Raw Email (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html)
 14077  	//    in the Amazon SES Developer Guide.
 14078  	//
 14079  	//    * Per RFC 5321 (https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6),
 14080  	//    the maximum length of each line of text, including the <CRLF>, must not
 14081  	//    exceed 1,000 characters.
 14082  	//
 14083  	// RawMessage is a required field
 14084  	RawMessage *RawMessage `type:"structure" required:"true"`
 14085  
 14086  	// This parameter is used only for sending authorization. It is the ARN of the
 14087  	// identity that is associated with the sending authorization policy that permits
 14088  	// you to use the email address specified in the ReturnPath parameter.
 14089  	//
 14090  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 14091  	// attaches a policy to it that authorizes you to use feedback@example.com,
 14092  	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 14093  	// and the ReturnPath to be feedback@example.com.
 14094  	//
 14095  	// Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN
 14096  	// in the raw message of the email. If you use both the ReturnPathArn parameter
 14097  	// and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn
 14098  	// parameter.
 14099  	//
 14100  	// For information about when to use this parameter, see the description of
 14101  	// 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).
 14102  	ReturnPathArn *string `type:"string"`
 14103  
 14104  	// The identity's email address. If you do not provide a value for this parameter,
 14105  	// you must specify a "From" address in the raw text of the message. (You can
 14106  	// also specify both.)
 14107  	//
 14108  	// Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531
 14109  	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
 14110  	// a source email address (the part of the email address that precedes the @
 14111  	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
 14112  	// If the domain part of an address (the part after the @ sign) contains non-ASCII
 14113  	// characters, they must be encoded using Punycode, as described in RFC3492
 14114  	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
 14115  	// the friendly name) may contain non-ASCII characters. These characters must
 14116  	// be encoded using MIME encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
 14117  	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
 14118  	//
 14119  	// If you specify the Source parameter and have feedback forwarding enabled,
 14120  	// then bounces and complaints will be sent to this email address. This takes
 14121  	// precedence over any Return-Path header that you might include in the raw
 14122  	// text of the message.
 14123  	Source *string `type:"string"`
 14124  
 14125  	// This parameter is used only for sending authorization. It is the ARN of the
 14126  	// identity that is associated with the sending authorization policy that permits
 14127  	// you to send for the email address specified in the Source parameter.
 14128  	//
 14129  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 14130  	// attaches a policy to it that authorizes you to send from user@example.com,
 14131  	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 14132  	// and the Source to be user@example.com.
 14133  	//
 14134  	// Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN
 14135  	// in the raw message of the email. If you use both the SourceArn parameter
 14136  	// and the corresponding X-header, Amazon SES uses the value of the SourceArn
 14137  	// parameter.
 14138  	//
 14139  	// For information about when to use this parameter, see the description of
 14140  	// 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).
 14141  	SourceArn *string `type:"string"`
 14142  
 14143  	// A list of tags, in the form of name/value pairs, to apply to an email that
 14144  	// you send using SendRawEmail. Tags correspond to characteristics of the email
 14145  	// that you define, so that you can publish email sending events.
 14146  	Tags []*MessageTag `type:"list"`
 14147  }
 14148  
 14149  // String returns the string representation.
 14150  //
 14151  // API parameter values that are decorated as "sensitive" in the API will not
 14152  // be included in the string output. The member name will be present, but the
 14153  // value will be replaced with "sensitive".
 14154  func (s SendRawEmailInput) String() string {
 14155  	return awsutil.Prettify(s)
 14156  }
 14157  
 14158  // GoString returns the string representation.
 14159  //
 14160  // API parameter values that are decorated as "sensitive" in the API will not
 14161  // be included in the string output. The member name will be present, but the
 14162  // value will be replaced with "sensitive".
 14163  func (s SendRawEmailInput) GoString() string {
 14164  	return s.String()
 14165  }
 14166  
 14167  // Validate inspects the fields of the type to determine if they are valid.
 14168  func (s *SendRawEmailInput) Validate() error {
 14169  	invalidParams := request.ErrInvalidParams{Context: "SendRawEmailInput"}
 14170  	if s.RawMessage == nil {
 14171  		invalidParams.Add(request.NewErrParamRequired("RawMessage"))
 14172  	}
 14173  	if s.RawMessage != nil {
 14174  		if err := s.RawMessage.Validate(); err != nil {
 14175  			invalidParams.AddNested("RawMessage", err.(request.ErrInvalidParams))
 14176  		}
 14177  	}
 14178  	if s.Tags != nil {
 14179  		for i, v := range s.Tags {
 14180  			if v == nil {
 14181  				continue
 14182  			}
 14183  			if err := v.Validate(); err != nil {
 14184  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 14185  			}
 14186  		}
 14187  	}
 14188  
 14189  	if invalidParams.Len() > 0 {
 14190  		return invalidParams
 14191  	}
 14192  	return nil
 14193  }
 14194  
 14195  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 14196  func (s *SendRawEmailInput) SetConfigurationSetName(v string) *SendRawEmailInput {
 14197  	s.ConfigurationSetName = &v
 14198  	return s
 14199  }
 14200  
 14201  // SetDestinations sets the Destinations field's value.
 14202  func (s *SendRawEmailInput) SetDestinations(v []*string) *SendRawEmailInput {
 14203  	s.Destinations = v
 14204  	return s
 14205  }
 14206  
 14207  // SetFromArn sets the FromArn field's value.
 14208  func (s *SendRawEmailInput) SetFromArn(v string) *SendRawEmailInput {
 14209  	s.FromArn = &v
 14210  	return s
 14211  }
 14212  
 14213  // SetRawMessage sets the RawMessage field's value.
 14214  func (s *SendRawEmailInput) SetRawMessage(v *RawMessage) *SendRawEmailInput {
 14215  	s.RawMessage = v
 14216  	return s
 14217  }
 14218  
 14219  // SetReturnPathArn sets the ReturnPathArn field's value.
 14220  func (s *SendRawEmailInput) SetReturnPathArn(v string) *SendRawEmailInput {
 14221  	s.ReturnPathArn = &v
 14222  	return s
 14223  }
 14224  
 14225  // SetSource sets the Source field's value.
 14226  func (s *SendRawEmailInput) SetSource(v string) *SendRawEmailInput {
 14227  	s.Source = &v
 14228  	return s
 14229  }
 14230  
 14231  // SetSourceArn sets the SourceArn field's value.
 14232  func (s *SendRawEmailInput) SetSourceArn(v string) *SendRawEmailInput {
 14233  	s.SourceArn = &v
 14234  	return s
 14235  }
 14236  
 14237  // SetTags sets the Tags field's value.
 14238  func (s *SendRawEmailInput) SetTags(v []*MessageTag) *SendRawEmailInput {
 14239  	s.Tags = v
 14240  	return s
 14241  }
 14242  
 14243  // Represents a unique message ID.
 14244  type SendRawEmailOutput struct {
 14245  	_ struct{} `type:"structure"`
 14246  
 14247  	// The unique message identifier returned from the SendRawEmail action.
 14248  	//
 14249  	// MessageId is a required field
 14250  	MessageId *string `type:"string" required:"true"`
 14251  }
 14252  
 14253  // String returns the string representation.
 14254  //
 14255  // API parameter values that are decorated as "sensitive" in the API will not
 14256  // be included in the string output. The member name will be present, but the
 14257  // value will be replaced with "sensitive".
 14258  func (s SendRawEmailOutput) String() string {
 14259  	return awsutil.Prettify(s)
 14260  }
 14261  
 14262  // GoString returns the string representation.
 14263  //
 14264  // API parameter values that are decorated as "sensitive" in the API will not
 14265  // be included in the string output. The member name will be present, but the
 14266  // value will be replaced with "sensitive".
 14267  func (s SendRawEmailOutput) GoString() string {
 14268  	return s.String()
 14269  }
 14270  
 14271  // SetMessageId sets the MessageId field's value.
 14272  func (s *SendRawEmailOutput) SetMessageId(v string) *SendRawEmailOutput {
 14273  	s.MessageId = &v
 14274  	return s
 14275  }
 14276  
 14277  // Represents a request to send a templated email using Amazon SES. For more
 14278  // information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 14279  type SendTemplatedEmailInput struct {
 14280  	_ struct{} `type:"structure"`
 14281  
 14282  	// The name of the configuration set to use when you send an email using SendTemplatedEmail.
 14283  	ConfigurationSetName *string `type:"string"`
 14284  
 14285  	// The destination for this email, composed of To:, CC:, and BCC: fields. A
 14286  	// Destination can include up to 50 recipients across these three fields.
 14287  	//
 14288  	// Destination is a required field
 14289  	Destination *Destination `type:"structure" required:"true"`
 14290  
 14291  	// The reply-to email address(es) for the message. If the recipient replies
 14292  	// to the message, each reply-to address will receive the reply.
 14293  	ReplyToAddresses []*string `type:"list"`
 14294  
 14295  	// The email address that bounces and complaints will be forwarded to when feedback
 14296  	// forwarding is enabled. If the message cannot be delivered to the recipient,
 14297  	// then an error message will be returned from the recipient's ISP; this message
 14298  	// will then be forwarded to the email address specified by the ReturnPath parameter.
 14299  	// The ReturnPath parameter is never overwritten. This email address must be
 14300  	// either individually verified with Amazon SES, or from a domain that has been
 14301  	// verified with Amazon SES.
 14302  	ReturnPath *string `type:"string"`
 14303  
 14304  	// This parameter is used only for sending authorization. It is the ARN of the
 14305  	// identity that is associated with the sending authorization policy that permits
 14306  	// you to use the email address specified in the ReturnPath parameter.
 14307  	//
 14308  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 14309  	// attaches a policy to it that authorizes you to use feedback@example.com,
 14310  	// then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 14311  	// and the ReturnPath to be feedback@example.com.
 14312  	//
 14313  	// For more information about sending authorization, see the Amazon SES Developer
 14314  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 14315  	ReturnPathArn *string `type:"string"`
 14316  
 14317  	// The email address that is sending the email. This email address must be either
 14318  	// individually verified with Amazon SES, or from a domain that has been verified
 14319  	// with Amazon SES. For information about verifying identities, see the Amazon
 14320  	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html).
 14321  	//
 14322  	// If you are sending on behalf of another user and have been permitted to do
 14323  	// so by a sending authorization policy, then you must also specify the SourceArn
 14324  	// parameter. For more information about sending authorization, see the Amazon
 14325  	// SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 14326  	//
 14327  	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
 14328  	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
 14329  	// a source email address (the part of the email address that precedes the @
 14330  	// sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
 14331  	// If the domain part of an address (the part after the @ sign) contains non-ASCII
 14332  	// characters, they must be encoded using Punycode, as described in RFC3492
 14333  	// (https://tools.ietf.org/html/rfc3492.html). The sender name (also known as
 14334  	// the friendly name) may contain non-ASCII characters. These characters must
 14335  	// be encoded using MIME encoded-word syntax, as described inRFC 2047 (https://tools.ietf.org/html/rfc2047).
 14336  	// MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.
 14337  	//
 14338  	// Source is a required field
 14339  	Source *string `type:"string" required:"true"`
 14340  
 14341  	// This parameter is used only for sending authorization. It is the ARN of the
 14342  	// identity that is associated with the sending authorization policy that permits
 14343  	// you to send for the email address specified in the Source parameter.
 14344  	//
 14345  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 14346  	// attaches a policy to it that authorizes you to send from user@example.com,
 14347  	// then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 14348  	// and the Source to be user@example.com.
 14349  	//
 14350  	// For more information about sending authorization, see the Amazon SES Developer
 14351  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 14352  	SourceArn *string `type:"string"`
 14353  
 14354  	// A list of tags, in the form of name/value pairs, to apply to an email that
 14355  	// you send using SendTemplatedEmail. Tags correspond to characteristics of
 14356  	// the email that you define, so that you can publish email sending events.
 14357  	Tags []*MessageTag `type:"list"`
 14358  
 14359  	// The template to use when sending this email.
 14360  	//
 14361  	// Template is a required field
 14362  	Template *string `type:"string" required:"true"`
 14363  
 14364  	// The ARN of the template to use when sending this email.
 14365  	TemplateArn *string `type:"string"`
 14366  
 14367  	// A list of replacement values to apply to the template. This parameter is
 14368  	// a JSON object, typically consisting of key-value pairs in which the keys
 14369  	// correspond to replacement tags in the email template.
 14370  	//
 14371  	// TemplateData is a required field
 14372  	TemplateData *string `type:"string" required:"true"`
 14373  }
 14374  
 14375  // String returns the string representation.
 14376  //
 14377  // API parameter values that are decorated as "sensitive" in the API will not
 14378  // be included in the string output. The member name will be present, but the
 14379  // value will be replaced with "sensitive".
 14380  func (s SendTemplatedEmailInput) String() string {
 14381  	return awsutil.Prettify(s)
 14382  }
 14383  
 14384  // GoString returns the string representation.
 14385  //
 14386  // API parameter values that are decorated as "sensitive" in the API will not
 14387  // be included in the string output. The member name will be present, but the
 14388  // value will be replaced with "sensitive".
 14389  func (s SendTemplatedEmailInput) GoString() string {
 14390  	return s.String()
 14391  }
 14392  
 14393  // Validate inspects the fields of the type to determine if they are valid.
 14394  func (s *SendTemplatedEmailInput) Validate() error {
 14395  	invalidParams := request.ErrInvalidParams{Context: "SendTemplatedEmailInput"}
 14396  	if s.Destination == nil {
 14397  		invalidParams.Add(request.NewErrParamRequired("Destination"))
 14398  	}
 14399  	if s.Source == nil {
 14400  		invalidParams.Add(request.NewErrParamRequired("Source"))
 14401  	}
 14402  	if s.Template == nil {
 14403  		invalidParams.Add(request.NewErrParamRequired("Template"))
 14404  	}
 14405  	if s.TemplateData == nil {
 14406  		invalidParams.Add(request.NewErrParamRequired("TemplateData"))
 14407  	}
 14408  	if s.Tags != nil {
 14409  		for i, v := range s.Tags {
 14410  			if v == nil {
 14411  				continue
 14412  			}
 14413  			if err := v.Validate(); err != nil {
 14414  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 14415  			}
 14416  		}
 14417  	}
 14418  
 14419  	if invalidParams.Len() > 0 {
 14420  		return invalidParams
 14421  	}
 14422  	return nil
 14423  }
 14424  
 14425  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 14426  func (s *SendTemplatedEmailInput) SetConfigurationSetName(v string) *SendTemplatedEmailInput {
 14427  	s.ConfigurationSetName = &v
 14428  	return s
 14429  }
 14430  
 14431  // SetDestination sets the Destination field's value.
 14432  func (s *SendTemplatedEmailInput) SetDestination(v *Destination) *SendTemplatedEmailInput {
 14433  	s.Destination = v
 14434  	return s
 14435  }
 14436  
 14437  // SetReplyToAddresses sets the ReplyToAddresses field's value.
 14438  func (s *SendTemplatedEmailInput) SetReplyToAddresses(v []*string) *SendTemplatedEmailInput {
 14439  	s.ReplyToAddresses = v
 14440  	return s
 14441  }
 14442  
 14443  // SetReturnPath sets the ReturnPath field's value.
 14444  func (s *SendTemplatedEmailInput) SetReturnPath(v string) *SendTemplatedEmailInput {
 14445  	s.ReturnPath = &v
 14446  	return s
 14447  }
 14448  
 14449  // SetReturnPathArn sets the ReturnPathArn field's value.
 14450  func (s *SendTemplatedEmailInput) SetReturnPathArn(v string) *SendTemplatedEmailInput {
 14451  	s.ReturnPathArn = &v
 14452  	return s
 14453  }
 14454  
 14455  // SetSource sets the Source field's value.
 14456  func (s *SendTemplatedEmailInput) SetSource(v string) *SendTemplatedEmailInput {
 14457  	s.Source = &v
 14458  	return s
 14459  }
 14460  
 14461  // SetSourceArn sets the SourceArn field's value.
 14462  func (s *SendTemplatedEmailInput) SetSourceArn(v string) *SendTemplatedEmailInput {
 14463  	s.SourceArn = &v
 14464  	return s
 14465  }
 14466  
 14467  // SetTags sets the Tags field's value.
 14468  func (s *SendTemplatedEmailInput) SetTags(v []*MessageTag) *SendTemplatedEmailInput {
 14469  	s.Tags = v
 14470  	return s
 14471  }
 14472  
 14473  // SetTemplate sets the Template field's value.
 14474  func (s *SendTemplatedEmailInput) SetTemplate(v string) *SendTemplatedEmailInput {
 14475  	s.Template = &v
 14476  	return s
 14477  }
 14478  
 14479  // SetTemplateArn sets the TemplateArn field's value.
 14480  func (s *SendTemplatedEmailInput) SetTemplateArn(v string) *SendTemplatedEmailInput {
 14481  	s.TemplateArn = &v
 14482  	return s
 14483  }
 14484  
 14485  // SetTemplateData sets the TemplateData field's value.
 14486  func (s *SendTemplatedEmailInput) SetTemplateData(v string) *SendTemplatedEmailInput {
 14487  	s.TemplateData = &v
 14488  	return s
 14489  }
 14490  
 14491  type SendTemplatedEmailOutput struct {
 14492  	_ struct{} `type:"structure"`
 14493  
 14494  	// The unique message identifier returned from the SendTemplatedEmail action.
 14495  	//
 14496  	// MessageId is a required field
 14497  	MessageId *string `type:"string" required:"true"`
 14498  }
 14499  
 14500  // String returns the string representation.
 14501  //
 14502  // API parameter values that are decorated as "sensitive" in the API will not
 14503  // be included in the string output. The member name will be present, but the
 14504  // value will be replaced with "sensitive".
 14505  func (s SendTemplatedEmailOutput) String() string {
 14506  	return awsutil.Prettify(s)
 14507  }
 14508  
 14509  // GoString returns the string representation.
 14510  //
 14511  // API parameter values that are decorated as "sensitive" in the API will not
 14512  // be included in the string output. The member name will be present, but the
 14513  // value will be replaced with "sensitive".
 14514  func (s SendTemplatedEmailOutput) GoString() string {
 14515  	return s.String()
 14516  }
 14517  
 14518  // SetMessageId sets the MessageId field's value.
 14519  func (s *SendTemplatedEmailOutput) SetMessageId(v string) *SendTemplatedEmailOutput {
 14520  	s.MessageId = &v
 14521  	return s
 14522  }
 14523  
 14524  // Represents a request to set a receipt rule set as the active receipt rule
 14525  // set. You use receipt rule sets to receive email with Amazon SES. For more
 14526  // information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
 14527  type SetActiveReceiptRuleSetInput struct {
 14528  	_ struct{} `type:"structure"`
 14529  
 14530  	// The name of the receipt rule set to make active. Setting this value to null
 14531  	// disables all email receiving.
 14532  	RuleSetName *string `type:"string"`
 14533  }
 14534  
 14535  // String returns the string representation.
 14536  //
 14537  // API parameter values that are decorated as "sensitive" in the API will not
 14538  // be included in the string output. The member name will be present, but the
 14539  // value will be replaced with "sensitive".
 14540  func (s SetActiveReceiptRuleSetInput) String() string {
 14541  	return awsutil.Prettify(s)
 14542  }
 14543  
 14544  // GoString returns the string representation.
 14545  //
 14546  // API parameter values that are decorated as "sensitive" in the API will not
 14547  // be included in the string output. The member name will be present, but the
 14548  // value will be replaced with "sensitive".
 14549  func (s SetActiveReceiptRuleSetInput) GoString() string {
 14550  	return s.String()
 14551  }
 14552  
 14553  // SetRuleSetName sets the RuleSetName field's value.
 14554  func (s *SetActiveReceiptRuleSetInput) SetRuleSetName(v string) *SetActiveReceiptRuleSetInput {
 14555  	s.RuleSetName = &v
 14556  	return s
 14557  }
 14558  
 14559  // An empty element returned on a successful request.
 14560  type SetActiveReceiptRuleSetOutput struct {
 14561  	_ struct{} `type:"structure"`
 14562  }
 14563  
 14564  // String returns the string representation.
 14565  //
 14566  // API parameter values that are decorated as "sensitive" in the API will not
 14567  // be included in the string output. The member name will be present, but the
 14568  // value will be replaced with "sensitive".
 14569  func (s SetActiveReceiptRuleSetOutput) String() string {
 14570  	return awsutil.Prettify(s)
 14571  }
 14572  
 14573  // GoString returns the string representation.
 14574  //
 14575  // API parameter values that are decorated as "sensitive" in the API will not
 14576  // be included in the string output. The member name will be present, but the
 14577  // value will be replaced with "sensitive".
 14578  func (s SetActiveReceiptRuleSetOutput) GoString() string {
 14579  	return s.String()
 14580  }
 14581  
 14582  // Represents a request to enable or disable Amazon SES Easy DKIM signing for
 14583  // an identity. For more information about setting up Easy DKIM, see the Amazon
 14584  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 14585  type SetIdentityDkimEnabledInput struct {
 14586  	_ struct{} `type:"structure"`
 14587  
 14588  	// Sets whether DKIM signing is enabled for an identity. Set to true to enable
 14589  	// DKIM signing for this identity; false to disable it.
 14590  	//
 14591  	// DkimEnabled is a required field
 14592  	DkimEnabled *bool `type:"boolean" required:"true"`
 14593  
 14594  	// The identity for which DKIM signing should be enabled or disabled.
 14595  	//
 14596  	// Identity is a required field
 14597  	Identity *string `type:"string" required:"true"`
 14598  }
 14599  
 14600  // String returns the string representation.
 14601  //
 14602  // API parameter values that are decorated as "sensitive" in the API will not
 14603  // be included in the string output. The member name will be present, but the
 14604  // value will be replaced with "sensitive".
 14605  func (s SetIdentityDkimEnabledInput) String() string {
 14606  	return awsutil.Prettify(s)
 14607  }
 14608  
 14609  // GoString returns the string representation.
 14610  //
 14611  // API parameter values that are decorated as "sensitive" in the API will not
 14612  // be included in the string output. The member name will be present, but the
 14613  // value will be replaced with "sensitive".
 14614  func (s SetIdentityDkimEnabledInput) GoString() string {
 14615  	return s.String()
 14616  }
 14617  
 14618  // Validate inspects the fields of the type to determine if they are valid.
 14619  func (s *SetIdentityDkimEnabledInput) Validate() error {
 14620  	invalidParams := request.ErrInvalidParams{Context: "SetIdentityDkimEnabledInput"}
 14621  	if s.DkimEnabled == nil {
 14622  		invalidParams.Add(request.NewErrParamRequired("DkimEnabled"))
 14623  	}
 14624  	if s.Identity == nil {
 14625  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 14626  	}
 14627  
 14628  	if invalidParams.Len() > 0 {
 14629  		return invalidParams
 14630  	}
 14631  	return nil
 14632  }
 14633  
 14634  // SetDkimEnabled sets the DkimEnabled field's value.
 14635  func (s *SetIdentityDkimEnabledInput) SetDkimEnabled(v bool) *SetIdentityDkimEnabledInput {
 14636  	s.DkimEnabled = &v
 14637  	return s
 14638  }
 14639  
 14640  // SetIdentity sets the Identity field's value.
 14641  func (s *SetIdentityDkimEnabledInput) SetIdentity(v string) *SetIdentityDkimEnabledInput {
 14642  	s.Identity = &v
 14643  	return s
 14644  }
 14645  
 14646  // An empty element returned on a successful request.
 14647  type SetIdentityDkimEnabledOutput struct {
 14648  	_ struct{} `type:"structure"`
 14649  }
 14650  
 14651  // String returns the string representation.
 14652  //
 14653  // API parameter values that are decorated as "sensitive" in the API will not
 14654  // be included in the string output. The member name will be present, but the
 14655  // value will be replaced with "sensitive".
 14656  func (s SetIdentityDkimEnabledOutput) String() string {
 14657  	return awsutil.Prettify(s)
 14658  }
 14659  
 14660  // GoString returns the string representation.
 14661  //
 14662  // API parameter values that are decorated as "sensitive" in the API will not
 14663  // be included in the string output. The member name will be present, but the
 14664  // value will be replaced with "sensitive".
 14665  func (s SetIdentityDkimEnabledOutput) GoString() string {
 14666  	return s.String()
 14667  }
 14668  
 14669  // Represents a request to enable or disable whether Amazon SES forwards you
 14670  // bounce and complaint notifications through email. For information about email
 14671  // feedback forwarding, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-email.html).
 14672  type SetIdentityFeedbackForwardingEnabledInput struct {
 14673  	_ struct{} `type:"structure"`
 14674  
 14675  	// Sets whether Amazon SES will forward bounce and complaint notifications as
 14676  	// email. true specifies that Amazon SES will forward bounce and complaint notifications
 14677  	// as email, in addition to any Amazon SNS topic publishing otherwise specified.
 14678  	// false specifies that Amazon SES will publish bounce and complaint notifications
 14679  	// only through Amazon SNS. This value can only be set to false when Amazon
 14680  	// SNS topics are set for both Bounce and Complaint notification types.
 14681  	//
 14682  	// ForwardingEnabled is a required field
 14683  	ForwardingEnabled *bool `type:"boolean" required:"true"`
 14684  
 14685  	// The identity for which to set bounce and complaint notification forwarding.
 14686  	// Examples: user@example.com, example.com.
 14687  	//
 14688  	// Identity is a required field
 14689  	Identity *string `type:"string" required:"true"`
 14690  }
 14691  
 14692  // String returns the string representation.
 14693  //
 14694  // API parameter values that are decorated as "sensitive" in the API will not
 14695  // be included in the string output. The member name will be present, but the
 14696  // value will be replaced with "sensitive".
 14697  func (s SetIdentityFeedbackForwardingEnabledInput) String() string {
 14698  	return awsutil.Prettify(s)
 14699  }
 14700  
 14701  // GoString returns the string representation.
 14702  //
 14703  // API parameter values that are decorated as "sensitive" in the API will not
 14704  // be included in the string output. The member name will be present, but the
 14705  // value will be replaced with "sensitive".
 14706  func (s SetIdentityFeedbackForwardingEnabledInput) GoString() string {
 14707  	return s.String()
 14708  }
 14709  
 14710  // Validate inspects the fields of the type to determine if they are valid.
 14711  func (s *SetIdentityFeedbackForwardingEnabledInput) Validate() error {
 14712  	invalidParams := request.ErrInvalidParams{Context: "SetIdentityFeedbackForwardingEnabledInput"}
 14713  	if s.ForwardingEnabled == nil {
 14714  		invalidParams.Add(request.NewErrParamRequired("ForwardingEnabled"))
 14715  	}
 14716  	if s.Identity == nil {
 14717  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 14718  	}
 14719  
 14720  	if invalidParams.Len() > 0 {
 14721  		return invalidParams
 14722  	}
 14723  	return nil
 14724  }
 14725  
 14726  // SetForwardingEnabled sets the ForwardingEnabled field's value.
 14727  func (s *SetIdentityFeedbackForwardingEnabledInput) SetForwardingEnabled(v bool) *SetIdentityFeedbackForwardingEnabledInput {
 14728  	s.ForwardingEnabled = &v
 14729  	return s
 14730  }
 14731  
 14732  // SetIdentity sets the Identity field's value.
 14733  func (s *SetIdentityFeedbackForwardingEnabledInput) SetIdentity(v string) *SetIdentityFeedbackForwardingEnabledInput {
 14734  	s.Identity = &v
 14735  	return s
 14736  }
 14737  
 14738  // An empty element returned on a successful request.
 14739  type SetIdentityFeedbackForwardingEnabledOutput struct {
 14740  	_ struct{} `type:"structure"`
 14741  }
 14742  
 14743  // String returns the string representation.
 14744  //
 14745  // API parameter values that are decorated as "sensitive" in the API will not
 14746  // be included in the string output. The member name will be present, but the
 14747  // value will be replaced with "sensitive".
 14748  func (s SetIdentityFeedbackForwardingEnabledOutput) String() string {
 14749  	return awsutil.Prettify(s)
 14750  }
 14751  
 14752  // GoString returns the string representation.
 14753  //
 14754  // API parameter values that are decorated as "sensitive" in the API will not
 14755  // be included in the string output. The member name will be present, but the
 14756  // value will be replaced with "sensitive".
 14757  func (s SetIdentityFeedbackForwardingEnabledOutput) GoString() string {
 14758  	return s.String()
 14759  }
 14760  
 14761  // Represents a request to set whether Amazon SES includes the original email
 14762  // headers in the Amazon SNS notifications of a specified type. For information
 14763  // about notifications, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html).
 14764  type SetIdentityHeadersInNotificationsEnabledInput struct {
 14765  	_ struct{} `type:"structure"`
 14766  
 14767  	// Sets whether Amazon SES includes the original email headers in Amazon SNS
 14768  	// notifications of the specified notification type. A value of true specifies
 14769  	// that Amazon SES will include headers in notifications, and a value of false
 14770  	// specifies that Amazon SES will not include headers in notifications.
 14771  	//
 14772  	// This value can only be set when NotificationType is already set to use a
 14773  	// particular Amazon SNS topic.
 14774  	//
 14775  	// Enabled is a required field
 14776  	Enabled *bool `type:"boolean" required:"true"`
 14777  
 14778  	// The identity for which to enable or disable headers in notifications. Examples:
 14779  	// user@example.com, example.com.
 14780  	//
 14781  	// Identity is a required field
 14782  	Identity *string `type:"string" required:"true"`
 14783  
 14784  	// The notification type for which to enable or disable headers in notifications.
 14785  	//
 14786  	// NotificationType is a required field
 14787  	NotificationType *string `type:"string" required:"true" enum:"NotificationType"`
 14788  }
 14789  
 14790  // String returns the string representation.
 14791  //
 14792  // API parameter values that are decorated as "sensitive" in the API will not
 14793  // be included in the string output. The member name will be present, but the
 14794  // value will be replaced with "sensitive".
 14795  func (s SetIdentityHeadersInNotificationsEnabledInput) String() string {
 14796  	return awsutil.Prettify(s)
 14797  }
 14798  
 14799  // GoString returns the string representation.
 14800  //
 14801  // API parameter values that are decorated as "sensitive" in the API will not
 14802  // be included in the string output. The member name will be present, but the
 14803  // value will be replaced with "sensitive".
 14804  func (s SetIdentityHeadersInNotificationsEnabledInput) GoString() string {
 14805  	return s.String()
 14806  }
 14807  
 14808  // Validate inspects the fields of the type to determine if they are valid.
 14809  func (s *SetIdentityHeadersInNotificationsEnabledInput) Validate() error {
 14810  	invalidParams := request.ErrInvalidParams{Context: "SetIdentityHeadersInNotificationsEnabledInput"}
 14811  	if s.Enabled == nil {
 14812  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
 14813  	}
 14814  	if s.Identity == nil {
 14815  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 14816  	}
 14817  	if s.NotificationType == nil {
 14818  		invalidParams.Add(request.NewErrParamRequired("NotificationType"))
 14819  	}
 14820  
 14821  	if invalidParams.Len() > 0 {
 14822  		return invalidParams
 14823  	}
 14824  	return nil
 14825  }
 14826  
 14827  // SetEnabled sets the Enabled field's value.
 14828  func (s *SetIdentityHeadersInNotificationsEnabledInput) SetEnabled(v bool) *SetIdentityHeadersInNotificationsEnabledInput {
 14829  	s.Enabled = &v
 14830  	return s
 14831  }
 14832  
 14833  // SetIdentity sets the Identity field's value.
 14834  func (s *SetIdentityHeadersInNotificationsEnabledInput) SetIdentity(v string) *SetIdentityHeadersInNotificationsEnabledInput {
 14835  	s.Identity = &v
 14836  	return s
 14837  }
 14838  
 14839  // SetNotificationType sets the NotificationType field's value.
 14840  func (s *SetIdentityHeadersInNotificationsEnabledInput) SetNotificationType(v string) *SetIdentityHeadersInNotificationsEnabledInput {
 14841  	s.NotificationType = &v
 14842  	return s
 14843  }
 14844  
 14845  // An empty element returned on a successful request.
 14846  type SetIdentityHeadersInNotificationsEnabledOutput struct {
 14847  	_ struct{} `type:"structure"`
 14848  }
 14849  
 14850  // String returns the string representation.
 14851  //
 14852  // API parameter values that are decorated as "sensitive" in the API will not
 14853  // be included in the string output. The member name will be present, but the
 14854  // value will be replaced with "sensitive".
 14855  func (s SetIdentityHeadersInNotificationsEnabledOutput) String() string {
 14856  	return awsutil.Prettify(s)
 14857  }
 14858  
 14859  // GoString returns the string representation.
 14860  //
 14861  // API parameter values that are decorated as "sensitive" in the API will not
 14862  // be included in the string output. The member name will be present, but the
 14863  // value will be replaced with "sensitive".
 14864  func (s SetIdentityHeadersInNotificationsEnabledOutput) GoString() string {
 14865  	return s.String()
 14866  }
 14867  
 14868  // Represents a request to enable or disable the Amazon SES custom MAIL FROM
 14869  // domain setup for a verified identity. For information about using a custom
 14870  // MAIL FROM domain, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html).
 14871  type SetIdentityMailFromDomainInput struct {
 14872  	_ struct{} `type:"structure"`
 14873  
 14874  	// The action that you want Amazon SES to take if it cannot successfully read
 14875  	// the required MX record when you send an email. If you choose UseDefaultValue,
 14876  	// Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM
 14877  	// domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified
 14878  	// error and not send the email.
 14879  	//
 14880  	// The action specified in BehaviorOnMXFailure is taken when the custom MAIL
 14881  	// FROM domain setup is in the Pending, Failed, and TemporaryFailure states.
 14882  	BehaviorOnMXFailure *string `type:"string" enum:"BehaviorOnMXFailure"`
 14883  
 14884  	// The verified identity for which you want to enable or disable the specified
 14885  	// custom MAIL FROM domain.
 14886  	//
 14887  	// Identity is a required field
 14888  	Identity *string `type:"string" required:"true"`
 14889  
 14890  	// The custom MAIL FROM domain that you want the verified identity to use. The
 14891  	// MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not
 14892  	// be used in a "From" address if the MAIL FROM domain is the destination of
 14893  	// email feedback forwarding (for more information, see the Amazon SES Developer
 14894  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html)),
 14895  	// and 3) not be used to receive emails. A value of null disables the custom
 14896  	// MAIL FROM setting for the identity.
 14897  	MailFromDomain *string `type:"string"`
 14898  }
 14899  
 14900  // String returns the string representation.
 14901  //
 14902  // API parameter values that are decorated as "sensitive" in the API will not
 14903  // be included in the string output. The member name will be present, but the
 14904  // value will be replaced with "sensitive".
 14905  func (s SetIdentityMailFromDomainInput) String() string {
 14906  	return awsutil.Prettify(s)
 14907  }
 14908  
 14909  // GoString returns the string representation.
 14910  //
 14911  // API parameter values that are decorated as "sensitive" in the API will not
 14912  // be included in the string output. The member name will be present, but the
 14913  // value will be replaced with "sensitive".
 14914  func (s SetIdentityMailFromDomainInput) GoString() string {
 14915  	return s.String()
 14916  }
 14917  
 14918  // Validate inspects the fields of the type to determine if they are valid.
 14919  func (s *SetIdentityMailFromDomainInput) Validate() error {
 14920  	invalidParams := request.ErrInvalidParams{Context: "SetIdentityMailFromDomainInput"}
 14921  	if s.Identity == nil {
 14922  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 14923  	}
 14924  
 14925  	if invalidParams.Len() > 0 {
 14926  		return invalidParams
 14927  	}
 14928  	return nil
 14929  }
 14930  
 14931  // SetBehaviorOnMXFailure sets the BehaviorOnMXFailure field's value.
 14932  func (s *SetIdentityMailFromDomainInput) SetBehaviorOnMXFailure(v string) *SetIdentityMailFromDomainInput {
 14933  	s.BehaviorOnMXFailure = &v
 14934  	return s
 14935  }
 14936  
 14937  // SetIdentity sets the Identity field's value.
 14938  func (s *SetIdentityMailFromDomainInput) SetIdentity(v string) *SetIdentityMailFromDomainInput {
 14939  	s.Identity = &v
 14940  	return s
 14941  }
 14942  
 14943  // SetMailFromDomain sets the MailFromDomain field's value.
 14944  func (s *SetIdentityMailFromDomainInput) SetMailFromDomain(v string) *SetIdentityMailFromDomainInput {
 14945  	s.MailFromDomain = &v
 14946  	return s
 14947  }
 14948  
 14949  // An empty element returned on a successful request.
 14950  type SetIdentityMailFromDomainOutput struct {
 14951  	_ struct{} `type:"structure"`
 14952  }
 14953  
 14954  // String returns the string representation.
 14955  //
 14956  // API parameter values that are decorated as "sensitive" in the API will not
 14957  // be included in the string output. The member name will be present, but the
 14958  // value will be replaced with "sensitive".
 14959  func (s SetIdentityMailFromDomainOutput) String() string {
 14960  	return awsutil.Prettify(s)
 14961  }
 14962  
 14963  // GoString returns the string representation.
 14964  //
 14965  // API parameter values that are decorated as "sensitive" in the API will not
 14966  // be included in the string output. The member name will be present, but the
 14967  // value will be replaced with "sensitive".
 14968  func (s SetIdentityMailFromDomainOutput) GoString() string {
 14969  	return s.String()
 14970  }
 14971  
 14972  // Represents a request to specify the Amazon SNS topic to which Amazon SES
 14973  // will publish bounce, complaint, or delivery notifications for emails sent
 14974  // with that identity as the Source. For information about Amazon SES notifications,
 14975  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html).
 14976  type SetIdentityNotificationTopicInput struct {
 14977  	_ struct{} `type:"structure"`
 14978  
 14979  	// The identity (email address or domain) that you want to set the Amazon SNS
 14980  	// topic for.
 14981  	//
 14982  	// You can only specify a verified identity for this parameter.
 14983  	//
 14984  	// You can specify an identity by using its name or by using its Amazon Resource
 14985  	// Name (ARN). The following examples are all valid identities: sender@example.com,
 14986  	// example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.
 14987  	//
 14988  	// Identity is a required field
 14989  	Identity *string `type:"string" required:"true"`
 14990  
 14991  	// The type of notifications that will be published to the specified Amazon
 14992  	// SNS topic.
 14993  	//
 14994  	// NotificationType is a required field
 14995  	NotificationType *string `type:"string" required:"true" enum:"NotificationType"`
 14996  
 14997  	// The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter
 14998  	// is omitted from the request or a null value is passed, SnsTopic is cleared
 14999  	// and publishing is disabled.
 15000  	SnsTopic *string `type:"string"`
 15001  }
 15002  
 15003  // String returns the string representation.
 15004  //
 15005  // API parameter values that are decorated as "sensitive" in the API will not
 15006  // be included in the string output. The member name will be present, but the
 15007  // value will be replaced with "sensitive".
 15008  func (s SetIdentityNotificationTopicInput) String() string {
 15009  	return awsutil.Prettify(s)
 15010  }
 15011  
 15012  // GoString returns the string representation.
 15013  //
 15014  // API parameter values that are decorated as "sensitive" in the API will not
 15015  // be included in the string output. The member name will be present, but the
 15016  // value will be replaced with "sensitive".
 15017  func (s SetIdentityNotificationTopicInput) GoString() string {
 15018  	return s.String()
 15019  }
 15020  
 15021  // Validate inspects the fields of the type to determine if they are valid.
 15022  func (s *SetIdentityNotificationTopicInput) Validate() error {
 15023  	invalidParams := request.ErrInvalidParams{Context: "SetIdentityNotificationTopicInput"}
 15024  	if s.Identity == nil {
 15025  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 15026  	}
 15027  	if s.NotificationType == nil {
 15028  		invalidParams.Add(request.NewErrParamRequired("NotificationType"))
 15029  	}
 15030  
 15031  	if invalidParams.Len() > 0 {
 15032  		return invalidParams
 15033  	}
 15034  	return nil
 15035  }
 15036  
 15037  // SetIdentity sets the Identity field's value.
 15038  func (s *SetIdentityNotificationTopicInput) SetIdentity(v string) *SetIdentityNotificationTopicInput {
 15039  	s.Identity = &v
 15040  	return s
 15041  }
 15042  
 15043  // SetNotificationType sets the NotificationType field's value.
 15044  func (s *SetIdentityNotificationTopicInput) SetNotificationType(v string) *SetIdentityNotificationTopicInput {
 15045  	s.NotificationType = &v
 15046  	return s
 15047  }
 15048  
 15049  // SetSnsTopic sets the SnsTopic field's value.
 15050  func (s *SetIdentityNotificationTopicInput) SetSnsTopic(v string) *SetIdentityNotificationTopicInput {
 15051  	s.SnsTopic = &v
 15052  	return s
 15053  }
 15054  
 15055  // An empty element returned on a successful request.
 15056  type SetIdentityNotificationTopicOutput struct {
 15057  	_ struct{} `type:"structure"`
 15058  }
 15059  
 15060  // String returns the string representation.
 15061  //
 15062  // API parameter values that are decorated as "sensitive" in the API will not
 15063  // be included in the string output. The member name will be present, but the
 15064  // value will be replaced with "sensitive".
 15065  func (s SetIdentityNotificationTopicOutput) String() string {
 15066  	return awsutil.Prettify(s)
 15067  }
 15068  
 15069  // GoString returns the string representation.
 15070  //
 15071  // API parameter values that are decorated as "sensitive" in the API will not
 15072  // be included in the string output. The member name will be present, but the
 15073  // value will be replaced with "sensitive".
 15074  func (s SetIdentityNotificationTopicOutput) GoString() string {
 15075  	return s.String()
 15076  }
 15077  
 15078  // Represents a request to set the position of a receipt rule in a receipt rule
 15079  // set. You use receipt rule sets to receive email with Amazon SES. For more
 15080  // information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
 15081  type SetReceiptRulePositionInput struct {
 15082  	_ struct{} `type:"structure"`
 15083  
 15084  	// The name of the receipt rule after which to place the specified receipt rule.
 15085  	After *string `type:"string"`
 15086  
 15087  	// The name of the receipt rule to reposition.
 15088  	//
 15089  	// RuleName is a required field
 15090  	RuleName *string `type:"string" required:"true"`
 15091  
 15092  	// The name of the receipt rule set that contains the receipt rule to reposition.
 15093  	//
 15094  	// RuleSetName is a required field
 15095  	RuleSetName *string `type:"string" required:"true"`
 15096  }
 15097  
 15098  // String returns the string representation.
 15099  //
 15100  // API parameter values that are decorated as "sensitive" in the API will not
 15101  // be included in the string output. The member name will be present, but the
 15102  // value will be replaced with "sensitive".
 15103  func (s SetReceiptRulePositionInput) String() string {
 15104  	return awsutil.Prettify(s)
 15105  }
 15106  
 15107  // GoString returns the string representation.
 15108  //
 15109  // API parameter values that are decorated as "sensitive" in the API will not
 15110  // be included in the string output. The member name will be present, but the
 15111  // value will be replaced with "sensitive".
 15112  func (s SetReceiptRulePositionInput) GoString() string {
 15113  	return s.String()
 15114  }
 15115  
 15116  // Validate inspects the fields of the type to determine if they are valid.
 15117  func (s *SetReceiptRulePositionInput) Validate() error {
 15118  	invalidParams := request.ErrInvalidParams{Context: "SetReceiptRulePositionInput"}
 15119  	if s.RuleName == nil {
 15120  		invalidParams.Add(request.NewErrParamRequired("RuleName"))
 15121  	}
 15122  	if s.RuleSetName == nil {
 15123  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
 15124  	}
 15125  
 15126  	if invalidParams.Len() > 0 {
 15127  		return invalidParams
 15128  	}
 15129  	return nil
 15130  }
 15131  
 15132  // SetAfter sets the After field's value.
 15133  func (s *SetReceiptRulePositionInput) SetAfter(v string) *SetReceiptRulePositionInput {
 15134  	s.After = &v
 15135  	return s
 15136  }
 15137  
 15138  // SetRuleName sets the RuleName field's value.
 15139  func (s *SetReceiptRulePositionInput) SetRuleName(v string) *SetReceiptRulePositionInput {
 15140  	s.RuleName = &v
 15141  	return s
 15142  }
 15143  
 15144  // SetRuleSetName sets the RuleSetName field's value.
 15145  func (s *SetReceiptRulePositionInput) SetRuleSetName(v string) *SetReceiptRulePositionInput {
 15146  	s.RuleSetName = &v
 15147  	return s
 15148  }
 15149  
 15150  // An empty element returned on a successful request.
 15151  type SetReceiptRulePositionOutput struct {
 15152  	_ struct{} `type:"structure"`
 15153  }
 15154  
 15155  // String returns the string representation.
 15156  //
 15157  // API parameter values that are decorated as "sensitive" in the API will not
 15158  // be included in the string output. The member name will be present, but the
 15159  // value will be replaced with "sensitive".
 15160  func (s SetReceiptRulePositionOutput) String() string {
 15161  	return awsutil.Prettify(s)
 15162  }
 15163  
 15164  // GoString returns the string representation.
 15165  //
 15166  // API parameter values that are decorated as "sensitive" in the API will not
 15167  // be included in the string output. The member name will be present, but the
 15168  // value will be replaced with "sensitive".
 15169  func (s SetReceiptRulePositionOutput) GoString() string {
 15170  	return s.String()
 15171  }
 15172  
 15173  // When included in a receipt rule, this action terminates the evaluation of
 15174  // the receipt rule set and, optionally, publishes a notification to Amazon
 15175  // Simple Notification Service (Amazon SNS).
 15176  //
 15177  // For information about setting a stop action in a receipt rule, see the Amazon
 15178  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-stop.html).
 15179  type StopAction struct {
 15180  	_ struct{} `type:"structure"`
 15181  
 15182  	// The scope of the StopAction. The only acceptable value is RuleSet.
 15183  	//
 15184  	// Scope is a required field
 15185  	Scope *string `type:"string" required:"true" enum:"StopScope"`
 15186  
 15187  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
 15188  	// stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
 15189  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
 15190  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 15191  	TopicArn *string `type:"string"`
 15192  }
 15193  
 15194  // String returns the string representation.
 15195  //
 15196  // API parameter values that are decorated as "sensitive" in the API will not
 15197  // be included in the string output. The member name will be present, but the
 15198  // value will be replaced with "sensitive".
 15199  func (s StopAction) String() string {
 15200  	return awsutil.Prettify(s)
 15201  }
 15202  
 15203  // GoString returns the string representation.
 15204  //
 15205  // API parameter values that are decorated as "sensitive" in the API will not
 15206  // be included in the string output. The member name will be present, but the
 15207  // value will be replaced with "sensitive".
 15208  func (s StopAction) GoString() string {
 15209  	return s.String()
 15210  }
 15211  
 15212  // Validate inspects the fields of the type to determine if they are valid.
 15213  func (s *StopAction) Validate() error {
 15214  	invalidParams := request.ErrInvalidParams{Context: "StopAction"}
 15215  	if s.Scope == nil {
 15216  		invalidParams.Add(request.NewErrParamRequired("Scope"))
 15217  	}
 15218  
 15219  	if invalidParams.Len() > 0 {
 15220  		return invalidParams
 15221  	}
 15222  	return nil
 15223  }
 15224  
 15225  // SetScope sets the Scope field's value.
 15226  func (s *StopAction) SetScope(v string) *StopAction {
 15227  	s.Scope = &v
 15228  	return s
 15229  }
 15230  
 15231  // SetTopicArn sets the TopicArn field's value.
 15232  func (s *StopAction) SetTopicArn(v string) *StopAction {
 15233  	s.TopicArn = &v
 15234  	return s
 15235  }
 15236  
 15237  // The content of the email, composed of a subject line, an HTML part, and a
 15238  // text-only part.
 15239  type Template struct {
 15240  	_ struct{} `type:"structure"`
 15241  
 15242  	// The HTML body of the email.
 15243  	HtmlPart *string `type:"string"`
 15244  
 15245  	// The subject line of the email.
 15246  	SubjectPart *string `type:"string"`
 15247  
 15248  	// The name of the template. You will refer to this name when you send email
 15249  	// using the SendTemplatedEmail or SendBulkTemplatedEmail operations.
 15250  	//
 15251  	// TemplateName is a required field
 15252  	TemplateName *string `type:"string" required:"true"`
 15253  
 15254  	// The email body that will be visible to recipients whose email clients do
 15255  	// not display HTML.
 15256  	TextPart *string `type:"string"`
 15257  }
 15258  
 15259  // String returns the string representation.
 15260  //
 15261  // API parameter values that are decorated as "sensitive" in the API will not
 15262  // be included in the string output. The member name will be present, but the
 15263  // value will be replaced with "sensitive".
 15264  func (s Template) String() string {
 15265  	return awsutil.Prettify(s)
 15266  }
 15267  
 15268  // GoString returns the string representation.
 15269  //
 15270  // API parameter values that are decorated as "sensitive" in the API will not
 15271  // be included in the string output. The member name will be present, but the
 15272  // value will be replaced with "sensitive".
 15273  func (s Template) GoString() string {
 15274  	return s.String()
 15275  }
 15276  
 15277  // Validate inspects the fields of the type to determine if they are valid.
 15278  func (s *Template) Validate() error {
 15279  	invalidParams := request.ErrInvalidParams{Context: "Template"}
 15280  	if s.TemplateName == nil {
 15281  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 15282  	}
 15283  
 15284  	if invalidParams.Len() > 0 {
 15285  		return invalidParams
 15286  	}
 15287  	return nil
 15288  }
 15289  
 15290  // SetHtmlPart sets the HtmlPart field's value.
 15291  func (s *Template) SetHtmlPart(v string) *Template {
 15292  	s.HtmlPart = &v
 15293  	return s
 15294  }
 15295  
 15296  // SetSubjectPart sets the SubjectPart field's value.
 15297  func (s *Template) SetSubjectPart(v string) *Template {
 15298  	s.SubjectPart = &v
 15299  	return s
 15300  }
 15301  
 15302  // SetTemplateName sets the TemplateName field's value.
 15303  func (s *Template) SetTemplateName(v string) *Template {
 15304  	s.TemplateName = &v
 15305  	return s
 15306  }
 15307  
 15308  // SetTextPart sets the TextPart field's value.
 15309  func (s *Template) SetTextPart(v string) *Template {
 15310  	s.TextPart = &v
 15311  	return s
 15312  }
 15313  
 15314  // Contains information about an email template.
 15315  type TemplateMetadata struct {
 15316  	_ struct{} `type:"structure"`
 15317  
 15318  	// The time and date the template was created.
 15319  	CreatedTimestamp *time.Time `type:"timestamp"`
 15320  
 15321  	// The name of the template.
 15322  	Name *string `type:"string"`
 15323  }
 15324  
 15325  // String returns the string representation.
 15326  //
 15327  // API parameter values that are decorated as "sensitive" in the API will not
 15328  // be included in the string output. The member name will be present, but the
 15329  // value will be replaced with "sensitive".
 15330  func (s TemplateMetadata) String() string {
 15331  	return awsutil.Prettify(s)
 15332  }
 15333  
 15334  // GoString returns the string representation.
 15335  //
 15336  // API parameter values that are decorated as "sensitive" in the API will not
 15337  // be included in the string output. The member name will be present, but the
 15338  // value will be replaced with "sensitive".
 15339  func (s TemplateMetadata) GoString() string {
 15340  	return s.String()
 15341  }
 15342  
 15343  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 15344  func (s *TemplateMetadata) SetCreatedTimestamp(v time.Time) *TemplateMetadata {
 15345  	s.CreatedTimestamp = &v
 15346  	return s
 15347  }
 15348  
 15349  // SetName sets the Name field's value.
 15350  func (s *TemplateMetadata) SetName(v string) *TemplateMetadata {
 15351  	s.Name = &v
 15352  	return s
 15353  }
 15354  
 15355  type TestRenderTemplateInput struct {
 15356  	_ struct{} `type:"structure"`
 15357  
 15358  	// A list of replacement values to apply to the template. This parameter is
 15359  	// a JSON object, typically consisting of key-value pairs in which the keys
 15360  	// correspond to replacement tags in the email template.
 15361  	//
 15362  	// TemplateData is a required field
 15363  	TemplateData *string `type:"string" required:"true"`
 15364  
 15365  	// The name of the template that you want to render.
 15366  	//
 15367  	// TemplateName is a required field
 15368  	TemplateName *string `type:"string" required:"true"`
 15369  }
 15370  
 15371  // String returns the string representation.
 15372  //
 15373  // API parameter values that are decorated as "sensitive" in the API will not
 15374  // be included in the string output. The member name will be present, but the
 15375  // value will be replaced with "sensitive".
 15376  func (s TestRenderTemplateInput) String() string {
 15377  	return awsutil.Prettify(s)
 15378  }
 15379  
 15380  // GoString returns the string representation.
 15381  //
 15382  // API parameter values that are decorated as "sensitive" in the API will not
 15383  // be included in the string output. The member name will be present, but the
 15384  // value will be replaced with "sensitive".
 15385  func (s TestRenderTemplateInput) GoString() string {
 15386  	return s.String()
 15387  }
 15388  
 15389  // Validate inspects the fields of the type to determine if they are valid.
 15390  func (s *TestRenderTemplateInput) Validate() error {
 15391  	invalidParams := request.ErrInvalidParams{Context: "TestRenderTemplateInput"}
 15392  	if s.TemplateData == nil {
 15393  		invalidParams.Add(request.NewErrParamRequired("TemplateData"))
 15394  	}
 15395  	if s.TemplateName == nil {
 15396  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 15397  	}
 15398  
 15399  	if invalidParams.Len() > 0 {
 15400  		return invalidParams
 15401  	}
 15402  	return nil
 15403  }
 15404  
 15405  // SetTemplateData sets the TemplateData field's value.
 15406  func (s *TestRenderTemplateInput) SetTemplateData(v string) *TestRenderTemplateInput {
 15407  	s.TemplateData = &v
 15408  	return s
 15409  }
 15410  
 15411  // SetTemplateName sets the TemplateName field's value.
 15412  func (s *TestRenderTemplateInput) SetTemplateName(v string) *TestRenderTemplateInput {
 15413  	s.TemplateName = &v
 15414  	return s
 15415  }
 15416  
 15417  type TestRenderTemplateOutput struct {
 15418  	_ struct{} `type:"structure"`
 15419  
 15420  	// The complete MIME message rendered by applying the data in the TemplateData
 15421  	// parameter to the template specified in the TemplateName parameter.
 15422  	RenderedTemplate *string `type:"string"`
 15423  }
 15424  
 15425  // String returns the string representation.
 15426  //
 15427  // API parameter values that are decorated as "sensitive" in the API will not
 15428  // be included in the string output. The member name will be present, but the
 15429  // value will be replaced with "sensitive".
 15430  func (s TestRenderTemplateOutput) String() string {
 15431  	return awsutil.Prettify(s)
 15432  }
 15433  
 15434  // GoString returns the string representation.
 15435  //
 15436  // API parameter values that are decorated as "sensitive" in the API will not
 15437  // be included in the string output. The member name will be present, but the
 15438  // value will be replaced with "sensitive".
 15439  func (s TestRenderTemplateOutput) GoString() string {
 15440  	return s.String()
 15441  }
 15442  
 15443  // SetRenderedTemplate sets the RenderedTemplate field's value.
 15444  func (s *TestRenderTemplateOutput) SetRenderedTemplate(v string) *TestRenderTemplateOutput {
 15445  	s.RenderedTemplate = &v
 15446  	return s
 15447  }
 15448  
 15449  // A domain that is used to redirect email recipients to an Amazon SES-operated
 15450  // domain. This domain captures open and click events generated by Amazon SES
 15451  // emails.
 15452  //
 15453  // For more information, see Configuring Custom Domains to Handle Open and Click
 15454  // Tracking (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
 15455  // in the Amazon SES Developer Guide.
 15456  type TrackingOptions struct {
 15457  	_ struct{} `type:"structure"`
 15458  
 15459  	// The custom subdomain that will be used to redirect email recipients to the
 15460  	// Amazon SES event tracking domain.
 15461  	CustomRedirectDomain *string `type:"string"`
 15462  }
 15463  
 15464  // String returns the string representation.
 15465  //
 15466  // API parameter values that are decorated as "sensitive" in the API will not
 15467  // be included in the string output. The member name will be present, but the
 15468  // value will be replaced with "sensitive".
 15469  func (s TrackingOptions) String() string {
 15470  	return awsutil.Prettify(s)
 15471  }
 15472  
 15473  // GoString returns the string representation.
 15474  //
 15475  // API parameter values that are decorated as "sensitive" in the API will not
 15476  // be included in the string output. The member name will be present, but the
 15477  // value will be replaced with "sensitive".
 15478  func (s TrackingOptions) GoString() string {
 15479  	return s.String()
 15480  }
 15481  
 15482  // SetCustomRedirectDomain sets the CustomRedirectDomain field's value.
 15483  func (s *TrackingOptions) SetCustomRedirectDomain(v string) *TrackingOptions {
 15484  	s.CustomRedirectDomain = &v
 15485  	return s
 15486  }
 15487  
 15488  // Represents a request to enable or disable the email sending capabilities
 15489  // for your entire Amazon SES account.
 15490  type UpdateAccountSendingEnabledInput struct {
 15491  	_ struct{} `type:"structure"`
 15492  
 15493  	// Describes whether email sending is enabled or disabled for your Amazon SES
 15494  	// account in the current AWS Region.
 15495  	Enabled *bool `type:"boolean"`
 15496  }
 15497  
 15498  // String returns the string representation.
 15499  //
 15500  // API parameter values that are decorated as "sensitive" in the API will not
 15501  // be included in the string output. The member name will be present, but the
 15502  // value will be replaced with "sensitive".
 15503  func (s UpdateAccountSendingEnabledInput) String() string {
 15504  	return awsutil.Prettify(s)
 15505  }
 15506  
 15507  // GoString returns the string representation.
 15508  //
 15509  // API parameter values that are decorated as "sensitive" in the API will not
 15510  // be included in the string output. The member name will be present, but the
 15511  // value will be replaced with "sensitive".
 15512  func (s UpdateAccountSendingEnabledInput) GoString() string {
 15513  	return s.String()
 15514  }
 15515  
 15516  // SetEnabled sets the Enabled field's value.
 15517  func (s *UpdateAccountSendingEnabledInput) SetEnabled(v bool) *UpdateAccountSendingEnabledInput {
 15518  	s.Enabled = &v
 15519  	return s
 15520  }
 15521  
 15522  type UpdateAccountSendingEnabledOutput struct {
 15523  	_ struct{} `type:"structure"`
 15524  }
 15525  
 15526  // String returns the string representation.
 15527  //
 15528  // API parameter values that are decorated as "sensitive" in the API will not
 15529  // be included in the string output. The member name will be present, but the
 15530  // value will be replaced with "sensitive".
 15531  func (s UpdateAccountSendingEnabledOutput) String() string {
 15532  	return awsutil.Prettify(s)
 15533  }
 15534  
 15535  // GoString returns the string representation.
 15536  //
 15537  // API parameter values that are decorated as "sensitive" in the API will not
 15538  // be included in the string output. The member name will be present, but the
 15539  // value will be replaced with "sensitive".
 15540  func (s UpdateAccountSendingEnabledOutput) GoString() string {
 15541  	return s.String()
 15542  }
 15543  
 15544  // Represents a request to update the event destination of a configuration set.
 15545  // Configuration sets enable you to publish email sending events. For information
 15546  // about using configuration sets, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
 15547  type UpdateConfigurationSetEventDestinationInput struct {
 15548  	_ struct{} `type:"structure"`
 15549  
 15550  	// The name of the configuration set that contains the event destination that
 15551  	// you want to update.
 15552  	//
 15553  	// ConfigurationSetName is a required field
 15554  	ConfigurationSetName *string `type:"string" required:"true"`
 15555  
 15556  	// The event destination object that you want to apply to the specified configuration
 15557  	// set.
 15558  	//
 15559  	// EventDestination is a required field
 15560  	EventDestination *EventDestination `type:"structure" required:"true"`
 15561  }
 15562  
 15563  // String returns the string representation.
 15564  //
 15565  // API parameter values that are decorated as "sensitive" in the API will not
 15566  // be included in the string output. The member name will be present, but the
 15567  // value will be replaced with "sensitive".
 15568  func (s UpdateConfigurationSetEventDestinationInput) String() string {
 15569  	return awsutil.Prettify(s)
 15570  }
 15571  
 15572  // GoString returns the string representation.
 15573  //
 15574  // API parameter values that are decorated as "sensitive" in the API will not
 15575  // be included in the string output. The member name will be present, but the
 15576  // value will be replaced with "sensitive".
 15577  func (s UpdateConfigurationSetEventDestinationInput) GoString() string {
 15578  	return s.String()
 15579  }
 15580  
 15581  // Validate inspects the fields of the type to determine if they are valid.
 15582  func (s *UpdateConfigurationSetEventDestinationInput) Validate() error {
 15583  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetEventDestinationInput"}
 15584  	if s.ConfigurationSetName == nil {
 15585  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 15586  	}
 15587  	if s.EventDestination == nil {
 15588  		invalidParams.Add(request.NewErrParamRequired("EventDestination"))
 15589  	}
 15590  	if s.EventDestination != nil {
 15591  		if err := s.EventDestination.Validate(); err != nil {
 15592  			invalidParams.AddNested("EventDestination", err.(request.ErrInvalidParams))
 15593  		}
 15594  	}
 15595  
 15596  	if invalidParams.Len() > 0 {
 15597  		return invalidParams
 15598  	}
 15599  	return nil
 15600  }
 15601  
 15602  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 15603  func (s *UpdateConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *UpdateConfigurationSetEventDestinationInput {
 15604  	s.ConfigurationSetName = &v
 15605  	return s
 15606  }
 15607  
 15608  // SetEventDestination sets the EventDestination field's value.
 15609  func (s *UpdateConfigurationSetEventDestinationInput) SetEventDestination(v *EventDestination) *UpdateConfigurationSetEventDestinationInput {
 15610  	s.EventDestination = v
 15611  	return s
 15612  }
 15613  
 15614  // An empty element returned on a successful request.
 15615  type UpdateConfigurationSetEventDestinationOutput struct {
 15616  	_ struct{} `type:"structure"`
 15617  }
 15618  
 15619  // String returns the string representation.
 15620  //
 15621  // API parameter values that are decorated as "sensitive" in the API will not
 15622  // be included in the string output. The member name will be present, but the
 15623  // value will be replaced with "sensitive".
 15624  func (s UpdateConfigurationSetEventDestinationOutput) String() string {
 15625  	return awsutil.Prettify(s)
 15626  }
 15627  
 15628  // GoString returns the string representation.
 15629  //
 15630  // API parameter values that are decorated as "sensitive" in the API will not
 15631  // be included in the string output. The member name will be present, but the
 15632  // value will be replaced with "sensitive".
 15633  func (s UpdateConfigurationSetEventDestinationOutput) GoString() string {
 15634  	return s.String()
 15635  }
 15636  
 15637  // Represents a request to modify the reputation metric publishing settings
 15638  // for a configuration set.
 15639  type UpdateConfigurationSetReputationMetricsEnabledInput struct {
 15640  	_ struct{} `type:"structure"`
 15641  
 15642  	// The name of the configuration set that you want to update.
 15643  	//
 15644  	// ConfigurationSetName is a required field
 15645  	ConfigurationSetName *string `type:"string" required:"true"`
 15646  
 15647  	// Describes whether or not Amazon SES will publish reputation metrics for the
 15648  	// configuration set, such as bounce and complaint rates, to Amazon CloudWatch.
 15649  	//
 15650  	// Enabled is a required field
 15651  	Enabled *bool `type:"boolean" required:"true"`
 15652  }
 15653  
 15654  // String returns the string representation.
 15655  //
 15656  // API parameter values that are decorated as "sensitive" in the API will not
 15657  // be included in the string output. The member name will be present, but the
 15658  // value will be replaced with "sensitive".
 15659  func (s UpdateConfigurationSetReputationMetricsEnabledInput) String() string {
 15660  	return awsutil.Prettify(s)
 15661  }
 15662  
 15663  // GoString returns the string representation.
 15664  //
 15665  // API parameter values that are decorated as "sensitive" in the API will not
 15666  // be included in the string output. The member name will be present, but the
 15667  // value will be replaced with "sensitive".
 15668  func (s UpdateConfigurationSetReputationMetricsEnabledInput) GoString() string {
 15669  	return s.String()
 15670  }
 15671  
 15672  // Validate inspects the fields of the type to determine if they are valid.
 15673  func (s *UpdateConfigurationSetReputationMetricsEnabledInput) Validate() error {
 15674  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetReputationMetricsEnabledInput"}
 15675  	if s.ConfigurationSetName == nil {
 15676  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 15677  	}
 15678  	if s.Enabled == nil {
 15679  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
 15680  	}
 15681  
 15682  	if invalidParams.Len() > 0 {
 15683  		return invalidParams
 15684  	}
 15685  	return nil
 15686  }
 15687  
 15688  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 15689  func (s *UpdateConfigurationSetReputationMetricsEnabledInput) SetConfigurationSetName(v string) *UpdateConfigurationSetReputationMetricsEnabledInput {
 15690  	s.ConfigurationSetName = &v
 15691  	return s
 15692  }
 15693  
 15694  // SetEnabled sets the Enabled field's value.
 15695  func (s *UpdateConfigurationSetReputationMetricsEnabledInput) SetEnabled(v bool) *UpdateConfigurationSetReputationMetricsEnabledInput {
 15696  	s.Enabled = &v
 15697  	return s
 15698  }
 15699  
 15700  type UpdateConfigurationSetReputationMetricsEnabledOutput struct {
 15701  	_ struct{} `type:"structure"`
 15702  }
 15703  
 15704  // String returns the string representation.
 15705  //
 15706  // API parameter values that are decorated as "sensitive" in the API will not
 15707  // be included in the string output. The member name will be present, but the
 15708  // value will be replaced with "sensitive".
 15709  func (s UpdateConfigurationSetReputationMetricsEnabledOutput) String() string {
 15710  	return awsutil.Prettify(s)
 15711  }
 15712  
 15713  // GoString returns the string representation.
 15714  //
 15715  // API parameter values that are decorated as "sensitive" in the API will not
 15716  // be included in the string output. The member name will be present, but the
 15717  // value will be replaced with "sensitive".
 15718  func (s UpdateConfigurationSetReputationMetricsEnabledOutput) GoString() string {
 15719  	return s.String()
 15720  }
 15721  
 15722  // Represents a request to enable or disable the email sending capabilities
 15723  // for a specific configuration set.
 15724  type UpdateConfigurationSetSendingEnabledInput struct {
 15725  	_ struct{} `type:"structure"`
 15726  
 15727  	// The name of the configuration set that you want to update.
 15728  	//
 15729  	// ConfigurationSetName is a required field
 15730  	ConfigurationSetName *string `type:"string" required:"true"`
 15731  
 15732  	// Describes whether email sending is enabled or disabled for the configuration
 15733  	// set.
 15734  	//
 15735  	// Enabled is a required field
 15736  	Enabled *bool `type:"boolean" required:"true"`
 15737  }
 15738  
 15739  // String returns the string representation.
 15740  //
 15741  // API parameter values that are decorated as "sensitive" in the API will not
 15742  // be included in the string output. The member name will be present, but the
 15743  // value will be replaced with "sensitive".
 15744  func (s UpdateConfigurationSetSendingEnabledInput) String() string {
 15745  	return awsutil.Prettify(s)
 15746  }
 15747  
 15748  // GoString returns the string representation.
 15749  //
 15750  // API parameter values that are decorated as "sensitive" in the API will not
 15751  // be included in the string output. The member name will be present, but the
 15752  // value will be replaced with "sensitive".
 15753  func (s UpdateConfigurationSetSendingEnabledInput) GoString() string {
 15754  	return s.String()
 15755  }
 15756  
 15757  // Validate inspects the fields of the type to determine if they are valid.
 15758  func (s *UpdateConfigurationSetSendingEnabledInput) Validate() error {
 15759  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetSendingEnabledInput"}
 15760  	if s.ConfigurationSetName == nil {
 15761  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 15762  	}
 15763  	if s.Enabled == nil {
 15764  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
 15765  	}
 15766  
 15767  	if invalidParams.Len() > 0 {
 15768  		return invalidParams
 15769  	}
 15770  	return nil
 15771  }
 15772  
 15773  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 15774  func (s *UpdateConfigurationSetSendingEnabledInput) SetConfigurationSetName(v string) *UpdateConfigurationSetSendingEnabledInput {
 15775  	s.ConfigurationSetName = &v
 15776  	return s
 15777  }
 15778  
 15779  // SetEnabled sets the Enabled field's value.
 15780  func (s *UpdateConfigurationSetSendingEnabledInput) SetEnabled(v bool) *UpdateConfigurationSetSendingEnabledInput {
 15781  	s.Enabled = &v
 15782  	return s
 15783  }
 15784  
 15785  type UpdateConfigurationSetSendingEnabledOutput struct {
 15786  	_ struct{} `type:"structure"`
 15787  }
 15788  
 15789  // String returns the string representation.
 15790  //
 15791  // API parameter values that are decorated as "sensitive" in the API will not
 15792  // be included in the string output. The member name will be present, but the
 15793  // value will be replaced with "sensitive".
 15794  func (s UpdateConfigurationSetSendingEnabledOutput) String() string {
 15795  	return awsutil.Prettify(s)
 15796  }
 15797  
 15798  // GoString returns the string representation.
 15799  //
 15800  // API parameter values that are decorated as "sensitive" in the API will not
 15801  // be included in the string output. The member name will be present, but the
 15802  // value will be replaced with "sensitive".
 15803  func (s UpdateConfigurationSetSendingEnabledOutput) GoString() string {
 15804  	return s.String()
 15805  }
 15806  
 15807  // Represents a request to update the tracking options for a configuration set.
 15808  type UpdateConfigurationSetTrackingOptionsInput struct {
 15809  	_ struct{} `type:"structure"`
 15810  
 15811  	// The name of the configuration set for which you want to update the custom
 15812  	// tracking domain.
 15813  	//
 15814  	// ConfigurationSetName is a required field
 15815  	ConfigurationSetName *string `type:"string" required:"true"`
 15816  
 15817  	// A domain that is used to redirect email recipients to an Amazon SES-operated
 15818  	// domain. This domain captures open and click events generated by Amazon SES
 15819  	// emails.
 15820  	//
 15821  	// For more information, see Configuring Custom Domains to Handle Open and Click
 15822  	// Tracking (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
 15823  	// in the Amazon SES Developer Guide.
 15824  	//
 15825  	// TrackingOptions is a required field
 15826  	TrackingOptions *TrackingOptions `type:"structure" required:"true"`
 15827  }
 15828  
 15829  // String returns the string representation.
 15830  //
 15831  // API parameter values that are decorated as "sensitive" in the API will not
 15832  // be included in the string output. The member name will be present, but the
 15833  // value will be replaced with "sensitive".
 15834  func (s UpdateConfigurationSetTrackingOptionsInput) String() string {
 15835  	return awsutil.Prettify(s)
 15836  }
 15837  
 15838  // GoString returns the string representation.
 15839  //
 15840  // API parameter values that are decorated as "sensitive" in the API will not
 15841  // be included in the string output. The member name will be present, but the
 15842  // value will be replaced with "sensitive".
 15843  func (s UpdateConfigurationSetTrackingOptionsInput) GoString() string {
 15844  	return s.String()
 15845  }
 15846  
 15847  // Validate inspects the fields of the type to determine if they are valid.
 15848  func (s *UpdateConfigurationSetTrackingOptionsInput) Validate() error {
 15849  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetTrackingOptionsInput"}
 15850  	if s.ConfigurationSetName == nil {
 15851  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 15852  	}
 15853  	if s.TrackingOptions == nil {
 15854  		invalidParams.Add(request.NewErrParamRequired("TrackingOptions"))
 15855  	}
 15856  
 15857  	if invalidParams.Len() > 0 {
 15858  		return invalidParams
 15859  	}
 15860  	return nil
 15861  }
 15862  
 15863  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 15864  func (s *UpdateConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *UpdateConfigurationSetTrackingOptionsInput {
 15865  	s.ConfigurationSetName = &v
 15866  	return s
 15867  }
 15868  
 15869  // SetTrackingOptions sets the TrackingOptions field's value.
 15870  func (s *UpdateConfigurationSetTrackingOptionsInput) SetTrackingOptions(v *TrackingOptions) *UpdateConfigurationSetTrackingOptionsInput {
 15871  	s.TrackingOptions = v
 15872  	return s
 15873  }
 15874  
 15875  // An empty element returned on a successful request.
 15876  type UpdateConfigurationSetTrackingOptionsOutput struct {
 15877  	_ struct{} `type:"structure"`
 15878  }
 15879  
 15880  // String returns the string representation.
 15881  //
 15882  // API parameter values that are decorated as "sensitive" in the API will not
 15883  // be included in the string output. The member name will be present, but the
 15884  // value will be replaced with "sensitive".
 15885  func (s UpdateConfigurationSetTrackingOptionsOutput) String() string {
 15886  	return awsutil.Prettify(s)
 15887  }
 15888  
 15889  // GoString returns the string representation.
 15890  //
 15891  // API parameter values that are decorated as "sensitive" in the API will not
 15892  // be included in the string output. The member name will be present, but the
 15893  // value will be replaced with "sensitive".
 15894  func (s UpdateConfigurationSetTrackingOptionsOutput) GoString() string {
 15895  	return s.String()
 15896  }
 15897  
 15898  // Represents a request to update an existing custom verification email template.
 15899  type UpdateCustomVerificationEmailTemplateInput struct {
 15900  	_ struct{} `type:"structure"`
 15901  
 15902  	// The URL that the recipient of the verification email is sent to if his or
 15903  	// her address is not successfully verified.
 15904  	FailureRedirectionURL *string `type:"string"`
 15905  
 15906  	// The email address that the custom verification email is sent from.
 15907  	FromEmailAddress *string `type:"string"`
 15908  
 15909  	// The URL that the recipient of the verification email is sent to if his or
 15910  	// her address is successfully verified.
 15911  	SuccessRedirectionURL *string `type:"string"`
 15912  
 15913  	// The content of the custom verification email. The total size of the email
 15914  	// must be less than 10 MB. The message body may contain HTML, with some limitations.
 15915  	// For more information, see Custom Verification Email Frequently Asked Questions
 15916  	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html#custom-verification-emails-faq)
 15917  	// in the Amazon SES Developer Guide.
 15918  	TemplateContent *string `type:"string"`
 15919  
 15920  	// The name of the custom verification email template that you want to update.
 15921  	//
 15922  	// TemplateName is a required field
 15923  	TemplateName *string `type:"string" required:"true"`
 15924  
 15925  	// The subject line of the custom verification email.
 15926  	TemplateSubject *string `type:"string"`
 15927  }
 15928  
 15929  // String returns the string representation.
 15930  //
 15931  // API parameter values that are decorated as "sensitive" in the API will not
 15932  // be included in the string output. The member name will be present, but the
 15933  // value will be replaced with "sensitive".
 15934  func (s UpdateCustomVerificationEmailTemplateInput) String() string {
 15935  	return awsutil.Prettify(s)
 15936  }
 15937  
 15938  // GoString returns the string representation.
 15939  //
 15940  // API parameter values that are decorated as "sensitive" in the API will not
 15941  // be included in the string output. The member name will be present, but the
 15942  // value will be replaced with "sensitive".
 15943  func (s UpdateCustomVerificationEmailTemplateInput) GoString() string {
 15944  	return s.String()
 15945  }
 15946  
 15947  // Validate inspects the fields of the type to determine if they are valid.
 15948  func (s *UpdateCustomVerificationEmailTemplateInput) Validate() error {
 15949  	invalidParams := request.ErrInvalidParams{Context: "UpdateCustomVerificationEmailTemplateInput"}
 15950  	if s.TemplateName == nil {
 15951  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 15952  	}
 15953  
 15954  	if invalidParams.Len() > 0 {
 15955  		return invalidParams
 15956  	}
 15957  	return nil
 15958  }
 15959  
 15960  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
 15961  func (s *UpdateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput {
 15962  	s.FailureRedirectionURL = &v
 15963  	return s
 15964  }
 15965  
 15966  // SetFromEmailAddress sets the FromEmailAddress field's value.
 15967  func (s *UpdateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *UpdateCustomVerificationEmailTemplateInput {
 15968  	s.FromEmailAddress = &v
 15969  	return s
 15970  }
 15971  
 15972  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
 15973  func (s *UpdateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput {
 15974  	s.SuccessRedirectionURL = &v
 15975  	return s
 15976  }
 15977  
 15978  // SetTemplateContent sets the TemplateContent field's value.
 15979  func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *UpdateCustomVerificationEmailTemplateInput {
 15980  	s.TemplateContent = &v
 15981  	return s
 15982  }
 15983  
 15984  // SetTemplateName sets the TemplateName field's value.
 15985  func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *UpdateCustomVerificationEmailTemplateInput {
 15986  	s.TemplateName = &v
 15987  	return s
 15988  }
 15989  
 15990  // SetTemplateSubject sets the TemplateSubject field's value.
 15991  func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *UpdateCustomVerificationEmailTemplateInput {
 15992  	s.TemplateSubject = &v
 15993  	return s
 15994  }
 15995  
 15996  type UpdateCustomVerificationEmailTemplateOutput struct {
 15997  	_ struct{} `type:"structure"`
 15998  }
 15999  
 16000  // String returns the string representation.
 16001  //
 16002  // API parameter values that are decorated as "sensitive" in the API will not
 16003  // be included in the string output. The member name will be present, but the
 16004  // value will be replaced with "sensitive".
 16005  func (s UpdateCustomVerificationEmailTemplateOutput) String() string {
 16006  	return awsutil.Prettify(s)
 16007  }
 16008  
 16009  // GoString returns the string representation.
 16010  //
 16011  // API parameter values that are decorated as "sensitive" in the API will not
 16012  // be included in the string output. The member name will be present, but the
 16013  // value will be replaced with "sensitive".
 16014  func (s UpdateCustomVerificationEmailTemplateOutput) GoString() string {
 16015  	return s.String()
 16016  }
 16017  
 16018  // Represents a request to update a receipt rule. You use receipt rules to receive
 16019  // email with Amazon SES. For more information, see the Amazon SES Developer
 16020  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html).
 16021  type UpdateReceiptRuleInput struct {
 16022  	_ struct{} `type:"structure"`
 16023  
 16024  	// A data structure that contains the updated receipt rule information.
 16025  	//
 16026  	// Rule is a required field
 16027  	Rule *ReceiptRule `type:"structure" required:"true"`
 16028  
 16029  	// The name of the receipt rule set that the receipt rule belongs to.
 16030  	//
 16031  	// RuleSetName is a required field
 16032  	RuleSetName *string `type:"string" required:"true"`
 16033  }
 16034  
 16035  // String returns the string representation.
 16036  //
 16037  // API parameter values that are decorated as "sensitive" in the API will not
 16038  // be included in the string output. The member name will be present, but the
 16039  // value will be replaced with "sensitive".
 16040  func (s UpdateReceiptRuleInput) String() string {
 16041  	return awsutil.Prettify(s)
 16042  }
 16043  
 16044  // GoString returns the string representation.
 16045  //
 16046  // API parameter values that are decorated as "sensitive" in the API will not
 16047  // be included in the string output. The member name will be present, but the
 16048  // value will be replaced with "sensitive".
 16049  func (s UpdateReceiptRuleInput) GoString() string {
 16050  	return s.String()
 16051  }
 16052  
 16053  // Validate inspects the fields of the type to determine if they are valid.
 16054  func (s *UpdateReceiptRuleInput) Validate() error {
 16055  	invalidParams := request.ErrInvalidParams{Context: "UpdateReceiptRuleInput"}
 16056  	if s.Rule == nil {
 16057  		invalidParams.Add(request.NewErrParamRequired("Rule"))
 16058  	}
 16059  	if s.RuleSetName == nil {
 16060  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
 16061  	}
 16062  	if s.Rule != nil {
 16063  		if err := s.Rule.Validate(); err != nil {
 16064  			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
 16065  		}
 16066  	}
 16067  
 16068  	if invalidParams.Len() > 0 {
 16069  		return invalidParams
 16070  	}
 16071  	return nil
 16072  }
 16073  
 16074  // SetRule sets the Rule field's value.
 16075  func (s *UpdateReceiptRuleInput) SetRule(v *ReceiptRule) *UpdateReceiptRuleInput {
 16076  	s.Rule = v
 16077  	return s
 16078  }
 16079  
 16080  // SetRuleSetName sets the RuleSetName field's value.
 16081  func (s *UpdateReceiptRuleInput) SetRuleSetName(v string) *UpdateReceiptRuleInput {
 16082  	s.RuleSetName = &v
 16083  	return s
 16084  }
 16085  
 16086  // An empty element returned on a successful request.
 16087  type UpdateReceiptRuleOutput struct {
 16088  	_ struct{} `type:"structure"`
 16089  }
 16090  
 16091  // String returns the string representation.
 16092  //
 16093  // API parameter values that are decorated as "sensitive" in the API will not
 16094  // be included in the string output. The member name will be present, but the
 16095  // value will be replaced with "sensitive".
 16096  func (s UpdateReceiptRuleOutput) String() string {
 16097  	return awsutil.Prettify(s)
 16098  }
 16099  
 16100  // GoString returns the string representation.
 16101  //
 16102  // API parameter values that are decorated as "sensitive" in the API will not
 16103  // be included in the string output. The member name will be present, but the
 16104  // value will be replaced with "sensitive".
 16105  func (s UpdateReceiptRuleOutput) GoString() string {
 16106  	return s.String()
 16107  }
 16108  
 16109  type UpdateTemplateInput struct {
 16110  	_ struct{} `type:"structure"`
 16111  
 16112  	// The content of the email, composed of a subject line, an HTML part, and a
 16113  	// text-only part.
 16114  	//
 16115  	// Template is a required field
 16116  	Template *Template `type:"structure" required:"true"`
 16117  }
 16118  
 16119  // String returns the string representation.
 16120  //
 16121  // API parameter values that are decorated as "sensitive" in the API will not
 16122  // be included in the string output. The member name will be present, but the
 16123  // value will be replaced with "sensitive".
 16124  func (s UpdateTemplateInput) String() string {
 16125  	return awsutil.Prettify(s)
 16126  }
 16127  
 16128  // GoString returns the string representation.
 16129  //
 16130  // API parameter values that are decorated as "sensitive" in the API will not
 16131  // be included in the string output. The member name will be present, but the
 16132  // value will be replaced with "sensitive".
 16133  func (s UpdateTemplateInput) GoString() string {
 16134  	return s.String()
 16135  }
 16136  
 16137  // Validate inspects the fields of the type to determine if they are valid.
 16138  func (s *UpdateTemplateInput) Validate() error {
 16139  	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"}
 16140  	if s.Template == nil {
 16141  		invalidParams.Add(request.NewErrParamRequired("Template"))
 16142  	}
 16143  	if s.Template != nil {
 16144  		if err := s.Template.Validate(); err != nil {
 16145  			invalidParams.AddNested("Template", err.(request.ErrInvalidParams))
 16146  		}
 16147  	}
 16148  
 16149  	if invalidParams.Len() > 0 {
 16150  		return invalidParams
 16151  	}
 16152  	return nil
 16153  }
 16154  
 16155  // SetTemplate sets the Template field's value.
 16156  func (s *UpdateTemplateInput) SetTemplate(v *Template) *UpdateTemplateInput {
 16157  	s.Template = v
 16158  	return s
 16159  }
 16160  
 16161  type UpdateTemplateOutput struct {
 16162  	_ struct{} `type:"structure"`
 16163  }
 16164  
 16165  // String returns the string representation.
 16166  //
 16167  // API parameter values that are decorated as "sensitive" in the API will not
 16168  // be included in the string output. The member name will be present, but the
 16169  // value will be replaced with "sensitive".
 16170  func (s UpdateTemplateOutput) String() string {
 16171  	return awsutil.Prettify(s)
 16172  }
 16173  
 16174  // GoString returns the string representation.
 16175  //
 16176  // API parameter values that are decorated as "sensitive" in the API will not
 16177  // be included in the string output. The member name will be present, but the
 16178  // value will be replaced with "sensitive".
 16179  func (s UpdateTemplateOutput) GoString() string {
 16180  	return s.String()
 16181  }
 16182  
 16183  // Represents a request to generate the CNAME records needed to set up Easy
 16184  // DKIM with Amazon SES. For more information about setting up Easy DKIM, see
 16185  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 16186  type VerifyDomainDkimInput struct {
 16187  	_ struct{} `type:"structure"`
 16188  
 16189  	// The name of the domain to be verified for Easy DKIM signing.
 16190  	//
 16191  	// Domain is a required field
 16192  	Domain *string `type:"string" required:"true"`
 16193  }
 16194  
 16195  // String returns the string representation.
 16196  //
 16197  // API parameter values that are decorated as "sensitive" in the API will not
 16198  // be included in the string output. The member name will be present, but the
 16199  // value will be replaced with "sensitive".
 16200  func (s VerifyDomainDkimInput) String() string {
 16201  	return awsutil.Prettify(s)
 16202  }
 16203  
 16204  // GoString returns the string representation.
 16205  //
 16206  // API parameter values that are decorated as "sensitive" in the API will not
 16207  // be included in the string output. The member name will be present, but the
 16208  // value will be replaced with "sensitive".
 16209  func (s VerifyDomainDkimInput) GoString() string {
 16210  	return s.String()
 16211  }
 16212  
 16213  // Validate inspects the fields of the type to determine if they are valid.
 16214  func (s *VerifyDomainDkimInput) Validate() error {
 16215  	invalidParams := request.ErrInvalidParams{Context: "VerifyDomainDkimInput"}
 16216  	if s.Domain == nil {
 16217  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 16218  	}
 16219  
 16220  	if invalidParams.Len() > 0 {
 16221  		return invalidParams
 16222  	}
 16223  	return nil
 16224  }
 16225  
 16226  // SetDomain sets the Domain field's value.
 16227  func (s *VerifyDomainDkimInput) SetDomain(v string) *VerifyDomainDkimInput {
 16228  	s.Domain = &v
 16229  	return s
 16230  }
 16231  
 16232  // Returns CNAME records that you must publish to the DNS server of your domain
 16233  // to set up Easy DKIM with Amazon SES.
 16234  type VerifyDomainDkimOutput struct {
 16235  	_ struct{} `type:"structure"`
 16236  
 16237  	// A set of character strings that represent the domain's identity. If the identity
 16238  	// is an email address, the tokens represent the domain of that address.
 16239  	//
 16240  	// Using these tokens, you need to create DNS CNAME records that point to DKIM
 16241  	// public keys that are hosted by Amazon SES. Amazon Web Services eventually
 16242  	// detects that you've updated your DNS records. This detection process might
 16243  	// take up to 72 hours. After successful detection, Amazon SES is able to DKIM-sign
 16244  	// email originating from that domain. (This only applies to domain identities,
 16245  	// not email address identities.)
 16246  	//
 16247  	// For more information about creating DNS records using DKIM tokens, see the
 16248  	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 16249  	//
 16250  	// DkimTokens is a required field
 16251  	DkimTokens []*string `type:"list" required:"true"`
 16252  }
 16253  
 16254  // String returns the string representation.
 16255  //
 16256  // API parameter values that are decorated as "sensitive" in the API will not
 16257  // be included in the string output. The member name will be present, but the
 16258  // value will be replaced with "sensitive".
 16259  func (s VerifyDomainDkimOutput) String() string {
 16260  	return awsutil.Prettify(s)
 16261  }
 16262  
 16263  // GoString returns the string representation.
 16264  //
 16265  // API parameter values that are decorated as "sensitive" in the API will not
 16266  // be included in the string output. The member name will be present, but the
 16267  // value will be replaced with "sensitive".
 16268  func (s VerifyDomainDkimOutput) GoString() string {
 16269  	return s.String()
 16270  }
 16271  
 16272  // SetDkimTokens sets the DkimTokens field's value.
 16273  func (s *VerifyDomainDkimOutput) SetDkimTokens(v []*string) *VerifyDomainDkimOutput {
 16274  	s.DkimTokens = v
 16275  	return s
 16276  }
 16277  
 16278  // Represents a request to begin Amazon SES domain verification and to generate
 16279  // the TXT records that you must publish to the DNS server of your domain to
 16280  // complete the verification. For information about domain verification, see
 16281  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html).
 16282  type VerifyDomainIdentityInput struct {
 16283  	_ struct{} `type:"structure"`
 16284  
 16285  	// The domain to be verified.
 16286  	//
 16287  	// Domain is a required field
 16288  	Domain *string `type:"string" required:"true"`
 16289  }
 16290  
 16291  // String returns the string representation.
 16292  //
 16293  // API parameter values that are decorated as "sensitive" in the API will not
 16294  // be included in the string output. The member name will be present, but the
 16295  // value will be replaced with "sensitive".
 16296  func (s VerifyDomainIdentityInput) String() string {
 16297  	return awsutil.Prettify(s)
 16298  }
 16299  
 16300  // GoString returns the string representation.
 16301  //
 16302  // API parameter values that are decorated as "sensitive" in the API will not
 16303  // be included in the string output. The member name will be present, but the
 16304  // value will be replaced with "sensitive".
 16305  func (s VerifyDomainIdentityInput) GoString() string {
 16306  	return s.String()
 16307  }
 16308  
 16309  // Validate inspects the fields of the type to determine if they are valid.
 16310  func (s *VerifyDomainIdentityInput) Validate() error {
 16311  	invalidParams := request.ErrInvalidParams{Context: "VerifyDomainIdentityInput"}
 16312  	if s.Domain == nil {
 16313  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 16314  	}
 16315  
 16316  	if invalidParams.Len() > 0 {
 16317  		return invalidParams
 16318  	}
 16319  	return nil
 16320  }
 16321  
 16322  // SetDomain sets the Domain field's value.
 16323  func (s *VerifyDomainIdentityInput) SetDomain(v string) *VerifyDomainIdentityInput {
 16324  	s.Domain = &v
 16325  	return s
 16326  }
 16327  
 16328  // Returns a TXT record that you must publish to the DNS server of your domain
 16329  // to complete domain verification with Amazon SES.
 16330  type VerifyDomainIdentityOutput struct {
 16331  	_ struct{} `type:"structure"`
 16332  
 16333  	// A TXT record that you must place in the DNS settings of the domain to complete
 16334  	// domain verification with Amazon SES.
 16335  	//
 16336  	// As Amazon SES searches for the TXT record, the domain's verification status
 16337  	// is "Pending". When Amazon SES detects the record, the domain's verification
 16338  	// status changes to "Success". If Amazon SES is unable to detect the record
 16339  	// within 72 hours, the domain's verification status changes to "Failed." In
 16340  	// that case, if you still want to verify the domain, you must restart the verification
 16341  	// process from the beginning.
 16342  	//
 16343  	// VerificationToken is a required field
 16344  	VerificationToken *string `type:"string" required:"true"`
 16345  }
 16346  
 16347  // String returns the string representation.
 16348  //
 16349  // API parameter values that are decorated as "sensitive" in the API will not
 16350  // be included in the string output. The member name will be present, but the
 16351  // value will be replaced with "sensitive".
 16352  func (s VerifyDomainIdentityOutput) String() string {
 16353  	return awsutil.Prettify(s)
 16354  }
 16355  
 16356  // GoString returns the string representation.
 16357  //
 16358  // API parameter values that are decorated as "sensitive" in the API will not
 16359  // be included in the string output. The member name will be present, but the
 16360  // value will be replaced with "sensitive".
 16361  func (s VerifyDomainIdentityOutput) GoString() string {
 16362  	return s.String()
 16363  }
 16364  
 16365  // SetVerificationToken sets the VerificationToken field's value.
 16366  func (s *VerifyDomainIdentityOutput) SetVerificationToken(v string) *VerifyDomainIdentityOutput {
 16367  	s.VerificationToken = &v
 16368  	return s
 16369  }
 16370  
 16371  // Represents a request to begin email address verification with Amazon SES.
 16372  // For information about email address verification, see the Amazon SES Developer
 16373  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
 16374  type VerifyEmailAddressInput struct {
 16375  	_ struct{} `type:"structure"`
 16376  
 16377  	// The email address to be verified.
 16378  	//
 16379  	// EmailAddress is a required field
 16380  	EmailAddress *string `type:"string" required:"true"`
 16381  }
 16382  
 16383  // String returns the string representation.
 16384  //
 16385  // API parameter values that are decorated as "sensitive" in the API will not
 16386  // be included in the string output. The member name will be present, but the
 16387  // value will be replaced with "sensitive".
 16388  func (s VerifyEmailAddressInput) String() string {
 16389  	return awsutil.Prettify(s)
 16390  }
 16391  
 16392  // GoString returns the string representation.
 16393  //
 16394  // API parameter values that are decorated as "sensitive" in the API will not
 16395  // be included in the string output. The member name will be present, but the
 16396  // value will be replaced with "sensitive".
 16397  func (s VerifyEmailAddressInput) GoString() string {
 16398  	return s.String()
 16399  }
 16400  
 16401  // Validate inspects the fields of the type to determine if they are valid.
 16402  func (s *VerifyEmailAddressInput) Validate() error {
 16403  	invalidParams := request.ErrInvalidParams{Context: "VerifyEmailAddressInput"}
 16404  	if s.EmailAddress == nil {
 16405  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 16406  	}
 16407  
 16408  	if invalidParams.Len() > 0 {
 16409  		return invalidParams
 16410  	}
 16411  	return nil
 16412  }
 16413  
 16414  // SetEmailAddress sets the EmailAddress field's value.
 16415  func (s *VerifyEmailAddressInput) SetEmailAddress(v string) *VerifyEmailAddressInput {
 16416  	s.EmailAddress = &v
 16417  	return s
 16418  }
 16419  
 16420  type VerifyEmailAddressOutput struct {
 16421  	_ struct{} `type:"structure"`
 16422  }
 16423  
 16424  // String returns the string representation.
 16425  //
 16426  // API parameter values that are decorated as "sensitive" in the API will not
 16427  // be included in the string output. The member name will be present, but the
 16428  // value will be replaced with "sensitive".
 16429  func (s VerifyEmailAddressOutput) String() string {
 16430  	return awsutil.Prettify(s)
 16431  }
 16432  
 16433  // GoString returns the string representation.
 16434  //
 16435  // API parameter values that are decorated as "sensitive" in the API will not
 16436  // be included in the string output. The member name will be present, but the
 16437  // value will be replaced with "sensitive".
 16438  func (s VerifyEmailAddressOutput) GoString() string {
 16439  	return s.String()
 16440  }
 16441  
 16442  // Represents a request to begin email address verification with Amazon SES.
 16443  // For information about email address verification, see the Amazon SES Developer
 16444  // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
 16445  type VerifyEmailIdentityInput struct {
 16446  	_ struct{} `type:"structure"`
 16447  
 16448  	// The email address to be verified.
 16449  	//
 16450  	// EmailAddress is a required field
 16451  	EmailAddress *string `type:"string" required:"true"`
 16452  }
 16453  
 16454  // String returns the string representation.
 16455  //
 16456  // API parameter values that are decorated as "sensitive" in the API will not
 16457  // be included in the string output. The member name will be present, but the
 16458  // value will be replaced with "sensitive".
 16459  func (s VerifyEmailIdentityInput) String() string {
 16460  	return awsutil.Prettify(s)
 16461  }
 16462  
 16463  // GoString returns the string representation.
 16464  //
 16465  // API parameter values that are decorated as "sensitive" in the API will not
 16466  // be included in the string output. The member name will be present, but the
 16467  // value will be replaced with "sensitive".
 16468  func (s VerifyEmailIdentityInput) GoString() string {
 16469  	return s.String()
 16470  }
 16471  
 16472  // Validate inspects the fields of the type to determine if they are valid.
 16473  func (s *VerifyEmailIdentityInput) Validate() error {
 16474  	invalidParams := request.ErrInvalidParams{Context: "VerifyEmailIdentityInput"}
 16475  	if s.EmailAddress == nil {
 16476  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 16477  	}
 16478  
 16479  	if invalidParams.Len() > 0 {
 16480  		return invalidParams
 16481  	}
 16482  	return nil
 16483  }
 16484  
 16485  // SetEmailAddress sets the EmailAddress field's value.
 16486  func (s *VerifyEmailIdentityInput) SetEmailAddress(v string) *VerifyEmailIdentityInput {
 16487  	s.EmailAddress = &v
 16488  	return s
 16489  }
 16490  
 16491  // An empty element returned on a successful request.
 16492  type VerifyEmailIdentityOutput struct {
 16493  	_ struct{} `type:"structure"`
 16494  }
 16495  
 16496  // String returns the string representation.
 16497  //
 16498  // API parameter values that are decorated as "sensitive" in the API will not
 16499  // be included in the string output. The member name will be present, but the
 16500  // value will be replaced with "sensitive".
 16501  func (s VerifyEmailIdentityOutput) String() string {
 16502  	return awsutil.Prettify(s)
 16503  }
 16504  
 16505  // GoString returns the string representation.
 16506  //
 16507  // API parameter values that are decorated as "sensitive" in the API will not
 16508  // be included in the string output. The member name will be present, but the
 16509  // value will be replaced with "sensitive".
 16510  func (s VerifyEmailIdentityOutput) GoString() string {
 16511  	return s.String()
 16512  }
 16513  
 16514  // When included in a receipt rule, this action calls Amazon WorkMail and, optionally,
 16515  // publishes a notification to Amazon Simple Notification Service (Amazon SNS).
 16516  // You will typically not use this action directly because Amazon WorkMail adds
 16517  // the rule automatically during its setup procedure.
 16518  //
 16519  // For information using a receipt rule to call Amazon WorkMail, see the Amazon
 16520  // SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-workmail.html).
 16521  type WorkmailAction struct {
 16522  	_ struct{} `type:"structure"`
 16523  
 16524  	// The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail
 16525  	// organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7.
 16526  	// For information about Amazon WorkMail organizations, see the Amazon WorkMail
 16527  	// Administrator Guide (https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html).
 16528  	//
 16529  	// OrganizationArn is a required field
 16530  	OrganizationArn *string `type:"string" required:"true"`
 16531  
 16532  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
 16533  	// WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic.
 16534  	// For more information about Amazon SNS topics, see the Amazon SNS Developer
 16535  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 16536  	TopicArn *string `type:"string"`
 16537  }
 16538  
 16539  // String returns the string representation.
 16540  //
 16541  // API parameter values that are decorated as "sensitive" in the API will not
 16542  // be included in the string output. The member name will be present, but the
 16543  // value will be replaced with "sensitive".
 16544  func (s WorkmailAction) String() string {
 16545  	return awsutil.Prettify(s)
 16546  }
 16547  
 16548  // GoString returns the string representation.
 16549  //
 16550  // API parameter values that are decorated as "sensitive" in the API will not
 16551  // be included in the string output. The member name will be present, but the
 16552  // value will be replaced with "sensitive".
 16553  func (s WorkmailAction) GoString() string {
 16554  	return s.String()
 16555  }
 16556  
 16557  // Validate inspects the fields of the type to determine if they are valid.
 16558  func (s *WorkmailAction) Validate() error {
 16559  	invalidParams := request.ErrInvalidParams{Context: "WorkmailAction"}
 16560  	if s.OrganizationArn == nil {
 16561  		invalidParams.Add(request.NewErrParamRequired("OrganizationArn"))
 16562  	}
 16563  
 16564  	if invalidParams.Len() > 0 {
 16565  		return invalidParams
 16566  	}
 16567  	return nil
 16568  }
 16569  
 16570  // SetOrganizationArn sets the OrganizationArn field's value.
 16571  func (s *WorkmailAction) SetOrganizationArn(v string) *WorkmailAction {
 16572  	s.OrganizationArn = &v
 16573  	return s
 16574  }
 16575  
 16576  // SetTopicArn sets the TopicArn field's value.
 16577  func (s *WorkmailAction) SetTopicArn(v string) *WorkmailAction {
 16578  	s.TopicArn = &v
 16579  	return s
 16580  }
 16581  
 16582  const (
 16583  	// BehaviorOnMXFailureUseDefaultValue is a BehaviorOnMXFailure enum value
 16584  	BehaviorOnMXFailureUseDefaultValue = "UseDefaultValue"
 16585  
 16586  	// BehaviorOnMXFailureRejectMessage is a BehaviorOnMXFailure enum value
 16587  	BehaviorOnMXFailureRejectMessage = "RejectMessage"
 16588  )
 16589  
 16590  // BehaviorOnMXFailure_Values returns all elements of the BehaviorOnMXFailure enum
 16591  func BehaviorOnMXFailure_Values() []string {
 16592  	return []string{
 16593  		BehaviorOnMXFailureUseDefaultValue,
 16594  		BehaviorOnMXFailureRejectMessage,
 16595  	}
 16596  }
 16597  
 16598  const (
 16599  	// BounceTypeDoesNotExist is a BounceType enum value
 16600  	BounceTypeDoesNotExist = "DoesNotExist"
 16601  
 16602  	// BounceTypeMessageTooLarge is a BounceType enum value
 16603  	BounceTypeMessageTooLarge = "MessageTooLarge"
 16604  
 16605  	// BounceTypeExceededQuota is a BounceType enum value
 16606  	BounceTypeExceededQuota = "ExceededQuota"
 16607  
 16608  	// BounceTypeContentRejected is a BounceType enum value
 16609  	BounceTypeContentRejected = "ContentRejected"
 16610  
 16611  	// BounceTypeUndefined is a BounceType enum value
 16612  	BounceTypeUndefined = "Undefined"
 16613  
 16614  	// BounceTypeTemporaryFailure is a BounceType enum value
 16615  	BounceTypeTemporaryFailure = "TemporaryFailure"
 16616  )
 16617  
 16618  // BounceType_Values returns all elements of the BounceType enum
 16619  func BounceType_Values() []string {
 16620  	return []string{
 16621  		BounceTypeDoesNotExist,
 16622  		BounceTypeMessageTooLarge,
 16623  		BounceTypeExceededQuota,
 16624  		BounceTypeContentRejected,
 16625  		BounceTypeUndefined,
 16626  		BounceTypeTemporaryFailure,
 16627  	}
 16628  }
 16629  
 16630  const (
 16631  	// BulkEmailStatusSuccess is a BulkEmailStatus enum value
 16632  	BulkEmailStatusSuccess = "Success"
 16633  
 16634  	// BulkEmailStatusMessageRejected is a BulkEmailStatus enum value
 16635  	BulkEmailStatusMessageRejected = "MessageRejected"
 16636  
 16637  	// BulkEmailStatusMailFromDomainNotVerified is a BulkEmailStatus enum value
 16638  	BulkEmailStatusMailFromDomainNotVerified = "MailFromDomainNotVerified"
 16639  
 16640  	// BulkEmailStatusConfigurationSetDoesNotExist is a BulkEmailStatus enum value
 16641  	BulkEmailStatusConfigurationSetDoesNotExist = "ConfigurationSetDoesNotExist"
 16642  
 16643  	// BulkEmailStatusTemplateDoesNotExist is a BulkEmailStatus enum value
 16644  	BulkEmailStatusTemplateDoesNotExist = "TemplateDoesNotExist"
 16645  
 16646  	// BulkEmailStatusAccountSuspended is a BulkEmailStatus enum value
 16647  	BulkEmailStatusAccountSuspended = "AccountSuspended"
 16648  
 16649  	// BulkEmailStatusAccountThrottled is a BulkEmailStatus enum value
 16650  	BulkEmailStatusAccountThrottled = "AccountThrottled"
 16651  
 16652  	// BulkEmailStatusAccountDailyQuotaExceeded is a BulkEmailStatus enum value
 16653  	BulkEmailStatusAccountDailyQuotaExceeded = "AccountDailyQuotaExceeded"
 16654  
 16655  	// BulkEmailStatusInvalidSendingPoolName is a BulkEmailStatus enum value
 16656  	BulkEmailStatusInvalidSendingPoolName = "InvalidSendingPoolName"
 16657  
 16658  	// BulkEmailStatusAccountSendingPaused is a BulkEmailStatus enum value
 16659  	BulkEmailStatusAccountSendingPaused = "AccountSendingPaused"
 16660  
 16661  	// BulkEmailStatusConfigurationSetSendingPaused is a BulkEmailStatus enum value
 16662  	BulkEmailStatusConfigurationSetSendingPaused = "ConfigurationSetSendingPaused"
 16663  
 16664  	// BulkEmailStatusInvalidParameterValue is a BulkEmailStatus enum value
 16665  	BulkEmailStatusInvalidParameterValue = "InvalidParameterValue"
 16666  
 16667  	// BulkEmailStatusTransientFailure is a BulkEmailStatus enum value
 16668  	BulkEmailStatusTransientFailure = "TransientFailure"
 16669  
 16670  	// BulkEmailStatusFailed is a BulkEmailStatus enum value
 16671  	BulkEmailStatusFailed = "Failed"
 16672  )
 16673  
 16674  // BulkEmailStatus_Values returns all elements of the BulkEmailStatus enum
 16675  func BulkEmailStatus_Values() []string {
 16676  	return []string{
 16677  		BulkEmailStatusSuccess,
 16678  		BulkEmailStatusMessageRejected,
 16679  		BulkEmailStatusMailFromDomainNotVerified,
 16680  		BulkEmailStatusConfigurationSetDoesNotExist,
 16681  		BulkEmailStatusTemplateDoesNotExist,
 16682  		BulkEmailStatusAccountSuspended,
 16683  		BulkEmailStatusAccountThrottled,
 16684  		BulkEmailStatusAccountDailyQuotaExceeded,
 16685  		BulkEmailStatusInvalidSendingPoolName,
 16686  		BulkEmailStatusAccountSendingPaused,
 16687  		BulkEmailStatusConfigurationSetSendingPaused,
 16688  		BulkEmailStatusInvalidParameterValue,
 16689  		BulkEmailStatusTransientFailure,
 16690  		BulkEmailStatusFailed,
 16691  	}
 16692  }
 16693  
 16694  const (
 16695  	// ConfigurationSetAttributeEventDestinations is a ConfigurationSetAttribute enum value
 16696  	ConfigurationSetAttributeEventDestinations = "eventDestinations"
 16697  
 16698  	// ConfigurationSetAttributeTrackingOptions is a ConfigurationSetAttribute enum value
 16699  	ConfigurationSetAttributeTrackingOptions = "trackingOptions"
 16700  
 16701  	// ConfigurationSetAttributeDeliveryOptions is a ConfigurationSetAttribute enum value
 16702  	ConfigurationSetAttributeDeliveryOptions = "deliveryOptions"
 16703  
 16704  	// ConfigurationSetAttributeReputationOptions is a ConfigurationSetAttribute enum value
 16705  	ConfigurationSetAttributeReputationOptions = "reputationOptions"
 16706  )
 16707  
 16708  // ConfigurationSetAttribute_Values returns all elements of the ConfigurationSetAttribute enum
 16709  func ConfigurationSetAttribute_Values() []string {
 16710  	return []string{
 16711  		ConfigurationSetAttributeEventDestinations,
 16712  		ConfigurationSetAttributeTrackingOptions,
 16713  		ConfigurationSetAttributeDeliveryOptions,
 16714  		ConfigurationSetAttributeReputationOptions,
 16715  	}
 16716  }
 16717  
 16718  const (
 16719  	// CustomMailFromStatusPending is a CustomMailFromStatus enum value
 16720  	CustomMailFromStatusPending = "Pending"
 16721  
 16722  	// CustomMailFromStatusSuccess is a CustomMailFromStatus enum value
 16723  	CustomMailFromStatusSuccess = "Success"
 16724  
 16725  	// CustomMailFromStatusFailed is a CustomMailFromStatus enum value
 16726  	CustomMailFromStatusFailed = "Failed"
 16727  
 16728  	// CustomMailFromStatusTemporaryFailure is a CustomMailFromStatus enum value
 16729  	CustomMailFromStatusTemporaryFailure = "TemporaryFailure"
 16730  )
 16731  
 16732  // CustomMailFromStatus_Values returns all elements of the CustomMailFromStatus enum
 16733  func CustomMailFromStatus_Values() []string {
 16734  	return []string{
 16735  		CustomMailFromStatusPending,
 16736  		CustomMailFromStatusSuccess,
 16737  		CustomMailFromStatusFailed,
 16738  		CustomMailFromStatusTemporaryFailure,
 16739  	}
 16740  }
 16741  
 16742  const (
 16743  	// DimensionValueSourceMessageTag is a DimensionValueSource enum value
 16744  	DimensionValueSourceMessageTag = "messageTag"
 16745  
 16746  	// DimensionValueSourceEmailHeader is a DimensionValueSource enum value
 16747  	DimensionValueSourceEmailHeader = "emailHeader"
 16748  
 16749  	// DimensionValueSourceLinkTag is a DimensionValueSource enum value
 16750  	DimensionValueSourceLinkTag = "linkTag"
 16751  )
 16752  
 16753  // DimensionValueSource_Values returns all elements of the DimensionValueSource enum
 16754  func DimensionValueSource_Values() []string {
 16755  	return []string{
 16756  		DimensionValueSourceMessageTag,
 16757  		DimensionValueSourceEmailHeader,
 16758  		DimensionValueSourceLinkTag,
 16759  	}
 16760  }
 16761  
 16762  const (
 16763  	// DsnActionFailed is a DsnAction enum value
 16764  	DsnActionFailed = "failed"
 16765  
 16766  	// DsnActionDelayed is a DsnAction enum value
 16767  	DsnActionDelayed = "delayed"
 16768  
 16769  	// DsnActionDelivered is a DsnAction enum value
 16770  	DsnActionDelivered = "delivered"
 16771  
 16772  	// DsnActionRelayed is a DsnAction enum value
 16773  	DsnActionRelayed = "relayed"
 16774  
 16775  	// DsnActionExpanded is a DsnAction enum value
 16776  	DsnActionExpanded = "expanded"
 16777  )
 16778  
 16779  // DsnAction_Values returns all elements of the DsnAction enum
 16780  func DsnAction_Values() []string {
 16781  	return []string{
 16782  		DsnActionFailed,
 16783  		DsnActionDelayed,
 16784  		DsnActionDelivered,
 16785  		DsnActionRelayed,
 16786  		DsnActionExpanded,
 16787  	}
 16788  }
 16789  
 16790  const (
 16791  	// EventTypeSend is a EventType enum value
 16792  	EventTypeSend = "send"
 16793  
 16794  	// EventTypeReject is a EventType enum value
 16795  	EventTypeReject = "reject"
 16796  
 16797  	// EventTypeBounce is a EventType enum value
 16798  	EventTypeBounce = "bounce"
 16799  
 16800  	// EventTypeComplaint is a EventType enum value
 16801  	EventTypeComplaint = "complaint"
 16802  
 16803  	// EventTypeDelivery is a EventType enum value
 16804  	EventTypeDelivery = "delivery"
 16805  
 16806  	// EventTypeOpen is a EventType enum value
 16807  	EventTypeOpen = "open"
 16808  
 16809  	// EventTypeClick is a EventType enum value
 16810  	EventTypeClick = "click"
 16811  
 16812  	// EventTypeRenderingFailure is a EventType enum value
 16813  	EventTypeRenderingFailure = "renderingFailure"
 16814  )
 16815  
 16816  // EventType_Values returns all elements of the EventType enum
 16817  func EventType_Values() []string {
 16818  	return []string{
 16819  		EventTypeSend,
 16820  		EventTypeReject,
 16821  		EventTypeBounce,
 16822  		EventTypeComplaint,
 16823  		EventTypeDelivery,
 16824  		EventTypeOpen,
 16825  		EventTypeClick,
 16826  		EventTypeRenderingFailure,
 16827  	}
 16828  }
 16829  
 16830  const (
 16831  	// IdentityTypeEmailAddress is a IdentityType enum value
 16832  	IdentityTypeEmailAddress = "EmailAddress"
 16833  
 16834  	// IdentityTypeDomain is a IdentityType enum value
 16835  	IdentityTypeDomain = "Domain"
 16836  )
 16837  
 16838  // IdentityType_Values returns all elements of the IdentityType enum
 16839  func IdentityType_Values() []string {
 16840  	return []string{
 16841  		IdentityTypeEmailAddress,
 16842  		IdentityTypeDomain,
 16843  	}
 16844  }
 16845  
 16846  const (
 16847  	// InvocationTypeEvent is a InvocationType enum value
 16848  	InvocationTypeEvent = "Event"
 16849  
 16850  	// InvocationTypeRequestResponse is a InvocationType enum value
 16851  	InvocationTypeRequestResponse = "RequestResponse"
 16852  )
 16853  
 16854  // InvocationType_Values returns all elements of the InvocationType enum
 16855  func InvocationType_Values() []string {
 16856  	return []string{
 16857  		InvocationTypeEvent,
 16858  		InvocationTypeRequestResponse,
 16859  	}
 16860  }
 16861  
 16862  const (
 16863  	// NotificationTypeBounce is a NotificationType enum value
 16864  	NotificationTypeBounce = "Bounce"
 16865  
 16866  	// NotificationTypeComplaint is a NotificationType enum value
 16867  	NotificationTypeComplaint = "Complaint"
 16868  
 16869  	// NotificationTypeDelivery is a NotificationType enum value
 16870  	NotificationTypeDelivery = "Delivery"
 16871  )
 16872  
 16873  // NotificationType_Values returns all elements of the NotificationType enum
 16874  func NotificationType_Values() []string {
 16875  	return []string{
 16876  		NotificationTypeBounce,
 16877  		NotificationTypeComplaint,
 16878  		NotificationTypeDelivery,
 16879  	}
 16880  }
 16881  
 16882  const (
 16883  	// ReceiptFilterPolicyBlock is a ReceiptFilterPolicy enum value
 16884  	ReceiptFilterPolicyBlock = "Block"
 16885  
 16886  	// ReceiptFilterPolicyAllow is a ReceiptFilterPolicy enum value
 16887  	ReceiptFilterPolicyAllow = "Allow"
 16888  )
 16889  
 16890  // ReceiptFilterPolicy_Values returns all elements of the ReceiptFilterPolicy enum
 16891  func ReceiptFilterPolicy_Values() []string {
 16892  	return []string{
 16893  		ReceiptFilterPolicyBlock,
 16894  		ReceiptFilterPolicyAllow,
 16895  	}
 16896  }
 16897  
 16898  const (
 16899  	// SNSActionEncodingUtf8 is a SNSActionEncoding enum value
 16900  	SNSActionEncodingUtf8 = "UTF-8"
 16901  
 16902  	// SNSActionEncodingBase64 is a SNSActionEncoding enum value
 16903  	SNSActionEncodingBase64 = "Base64"
 16904  )
 16905  
 16906  // SNSActionEncoding_Values returns all elements of the SNSActionEncoding enum
 16907  func SNSActionEncoding_Values() []string {
 16908  	return []string{
 16909  		SNSActionEncodingUtf8,
 16910  		SNSActionEncodingBase64,
 16911  	}
 16912  }
 16913  
 16914  const (
 16915  	// StopScopeRuleSet is a StopScope enum value
 16916  	StopScopeRuleSet = "RuleSet"
 16917  )
 16918  
 16919  // StopScope_Values returns all elements of the StopScope enum
 16920  func StopScope_Values() []string {
 16921  	return []string{
 16922  		StopScopeRuleSet,
 16923  	}
 16924  }
 16925  
 16926  const (
 16927  	// TlsPolicyRequire is a TlsPolicy enum value
 16928  	TlsPolicyRequire = "Require"
 16929  
 16930  	// TlsPolicyOptional is a TlsPolicy enum value
 16931  	TlsPolicyOptional = "Optional"
 16932  )
 16933  
 16934  // TlsPolicy_Values returns all elements of the TlsPolicy enum
 16935  func TlsPolicy_Values() []string {
 16936  	return []string{
 16937  		TlsPolicyRequire,
 16938  		TlsPolicyOptional,
 16939  	}
 16940  }
 16941  
 16942  const (
 16943  	// VerificationStatusPending is a VerificationStatus enum value
 16944  	VerificationStatusPending = "Pending"
 16945  
 16946  	// VerificationStatusSuccess is a VerificationStatus enum value
 16947  	VerificationStatusSuccess = "Success"
 16948  
 16949  	// VerificationStatusFailed is a VerificationStatus enum value
 16950  	VerificationStatusFailed = "Failed"
 16951  
 16952  	// VerificationStatusTemporaryFailure is a VerificationStatus enum value
 16953  	VerificationStatusTemporaryFailure = "TemporaryFailure"
 16954  
 16955  	// VerificationStatusNotStarted is a VerificationStatus enum value
 16956  	VerificationStatusNotStarted = "NotStarted"
 16957  )
 16958  
 16959  // VerificationStatus_Values returns all elements of the VerificationStatus enum
 16960  func VerificationStatus_Values() []string {
 16961  	return []string{
 16962  		VerificationStatusPending,
 16963  		VerificationStatusSuccess,
 16964  		VerificationStatusFailed,
 16965  		VerificationStatusTemporaryFailure,
 16966  		VerificationStatusNotStarted,
 16967  	}
 16968  }