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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package sesv2
     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/restjson"
    14  )
    15  
    16  const opCreateConfigurationSet = "CreateConfigurationSet"
    17  
    18  // CreateConfigurationSetRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateConfigurationSet 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 CreateConfigurationSet for more information on using the CreateConfigurationSet
    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 CreateConfigurationSetRequest method.
    34  //    req, resp := client.CreateConfigurationSetRequest(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/sesv2-2019-09-27/CreateConfigurationSet
    42  func (c *SESV2) CreateConfigurationSetRequest(input *CreateConfigurationSetInput) (req *request.Request, output *CreateConfigurationSetOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateConfigurationSet,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/v2/email/configuration-sets",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateConfigurationSetInput{}
    51  	}
    52  
    53  	output = &CreateConfigurationSetOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // CreateConfigurationSet API operation for Amazon Simple Email Service.
    60  //
    61  // Create a configuration set. Configuration sets are groups of rules that you
    62  // can apply to the emails that you send. You apply a configuration set to an
    63  // email by specifying the name of the configuration set when you call the Amazon
    64  // SES API v2. When you apply a configuration set to an email, all of the rules
    65  // in that configuration set are applied to the email.
    66  //
    67  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    68  // with awserr.Error's Code and Message methods to get detailed information about
    69  // the error.
    70  //
    71  // See the AWS API reference guide for Amazon Simple Email Service's
    72  // API operation CreateConfigurationSet for usage and error information.
    73  //
    74  // Returned Error Types:
    75  //   * AlreadyExistsException
    76  //   The resource specified in your request already exists.
    77  //
    78  //   * NotFoundException
    79  //   The resource you attempted to access doesn't exist.
    80  //
    81  //   * TooManyRequestsException
    82  //   Too many requests have been made to the operation.
    83  //
    84  //   * LimitExceededException
    85  //   There are too many instances of the specified resource type.
    86  //
    87  //   * BadRequestException
    88  //   The input you provided is invalid.
    89  //
    90  //   * ConcurrentModificationException
    91  //   The resource is being modified by another operation or thread.
    92  //
    93  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateConfigurationSet
    94  func (c *SESV2) CreateConfigurationSet(input *CreateConfigurationSetInput) (*CreateConfigurationSetOutput, error) {
    95  	req, out := c.CreateConfigurationSetRequest(input)
    96  	return out, req.Send()
    97  }
    98  
    99  // CreateConfigurationSetWithContext is the same as CreateConfigurationSet with the addition of
   100  // the ability to pass a context and additional request options.
   101  //
   102  // See CreateConfigurationSet for details on how to use this API operation.
   103  //
   104  // The context must be non-nil and will be used for request cancellation. If
   105  // the context is nil a panic will occur. In the future the SDK may create
   106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   107  // for more information on using Contexts.
   108  func (c *SESV2) CreateConfigurationSetWithContext(ctx aws.Context, input *CreateConfigurationSetInput, opts ...request.Option) (*CreateConfigurationSetOutput, error) {
   109  	req, out := c.CreateConfigurationSetRequest(input)
   110  	req.SetContext(ctx)
   111  	req.ApplyOptions(opts...)
   112  	return out, req.Send()
   113  }
   114  
   115  const opCreateConfigurationSetEventDestination = "CreateConfigurationSetEventDestination"
   116  
   117  // CreateConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the
   118  // client's request for the CreateConfigurationSetEventDestination operation. The "output" return
   119  // value will be populated with the request's response once the request completes
   120  // successfully.
   121  //
   122  // Use "Send" method on the returned Request to send the API call to the service.
   123  // the "output" return value is not valid until after Send returns without error.
   124  //
   125  // See CreateConfigurationSetEventDestination for more information on using the CreateConfigurationSetEventDestination
   126  // API call, and error handling.
   127  //
   128  // This method is useful when you want to inject custom logic or configuration
   129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   130  //
   131  //
   132  //    // Example sending a request using the CreateConfigurationSetEventDestinationRequest method.
   133  //    req, resp := client.CreateConfigurationSetEventDestinationRequest(params)
   134  //
   135  //    err := req.Send()
   136  //    if err == nil { // resp is now filled
   137  //        fmt.Println(resp)
   138  //    }
   139  //
   140  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateConfigurationSetEventDestination
   141  func (c *SESV2) CreateConfigurationSetEventDestinationRequest(input *CreateConfigurationSetEventDestinationInput) (req *request.Request, output *CreateConfigurationSetEventDestinationOutput) {
   142  	op := &request.Operation{
   143  		Name:       opCreateConfigurationSetEventDestination,
   144  		HTTPMethod: "POST",
   145  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations",
   146  	}
   147  
   148  	if input == nil {
   149  		input = &CreateConfigurationSetEventDestinationInput{}
   150  	}
   151  
   152  	output = &CreateConfigurationSetEventDestinationOutput{}
   153  	req = c.newRequest(op, input, output)
   154  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   155  	return
   156  }
   157  
   158  // CreateConfigurationSetEventDestination API operation for Amazon Simple Email Service.
   159  //
   160  // Create an event destination. Events include message sends, deliveries, opens,
   161  // clicks, bounces, and complaints. Event destinations are places that you can
   162  // send information about these events to. For example, you can send event data
   163  // to Amazon SNS to receive notifications when you receive bounces or complaints,
   164  // or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for
   165  // long-term storage.
   166  //
   167  // A single configuration set can include more than one event destination.
   168  //
   169  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   170  // with awserr.Error's Code and Message methods to get detailed information about
   171  // the error.
   172  //
   173  // See the AWS API reference guide for Amazon Simple Email Service's
   174  // API operation CreateConfigurationSetEventDestination for usage and error information.
   175  //
   176  // Returned Error Types:
   177  //   * NotFoundException
   178  //   The resource you attempted to access doesn't exist.
   179  //
   180  //   * AlreadyExistsException
   181  //   The resource specified in your request already exists.
   182  //
   183  //   * LimitExceededException
   184  //   There are too many instances of the specified resource type.
   185  //
   186  //   * TooManyRequestsException
   187  //   Too many requests have been made to the operation.
   188  //
   189  //   * BadRequestException
   190  //   The input you provided is invalid.
   191  //
   192  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateConfigurationSetEventDestination
   193  func (c *SESV2) CreateConfigurationSetEventDestination(input *CreateConfigurationSetEventDestinationInput) (*CreateConfigurationSetEventDestinationOutput, error) {
   194  	req, out := c.CreateConfigurationSetEventDestinationRequest(input)
   195  	return out, req.Send()
   196  }
   197  
   198  // CreateConfigurationSetEventDestinationWithContext is the same as CreateConfigurationSetEventDestination with the addition of
   199  // the ability to pass a context and additional request options.
   200  //
   201  // See CreateConfigurationSetEventDestination for details on how to use this API operation.
   202  //
   203  // The context must be non-nil and will be used for request cancellation. If
   204  // the context is nil a panic will occur. In the future the SDK may create
   205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   206  // for more information on using Contexts.
   207  func (c *SESV2) CreateConfigurationSetEventDestinationWithContext(ctx aws.Context, input *CreateConfigurationSetEventDestinationInput, opts ...request.Option) (*CreateConfigurationSetEventDestinationOutput, error) {
   208  	req, out := c.CreateConfigurationSetEventDestinationRequest(input)
   209  	req.SetContext(ctx)
   210  	req.ApplyOptions(opts...)
   211  	return out, req.Send()
   212  }
   213  
   214  const opCreateContact = "CreateContact"
   215  
   216  // CreateContactRequest generates a "aws/request.Request" representing the
   217  // client's request for the CreateContact operation. The "output" return
   218  // value will be populated with the request's response once the request completes
   219  // successfully.
   220  //
   221  // Use "Send" method on the returned Request to send the API call to the service.
   222  // the "output" return value is not valid until after Send returns without error.
   223  //
   224  // See CreateContact for more information on using the CreateContact
   225  // API call, and error handling.
   226  //
   227  // This method is useful when you want to inject custom logic or configuration
   228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   229  //
   230  //
   231  //    // Example sending a request using the CreateContactRequest method.
   232  //    req, resp := client.CreateContactRequest(params)
   233  //
   234  //    err := req.Send()
   235  //    if err == nil { // resp is now filled
   236  //        fmt.Println(resp)
   237  //    }
   238  //
   239  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContact
   240  func (c *SESV2) CreateContactRequest(input *CreateContactInput) (req *request.Request, output *CreateContactOutput) {
   241  	op := &request.Operation{
   242  		Name:       opCreateContact,
   243  		HTTPMethod: "POST",
   244  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}/contacts",
   245  	}
   246  
   247  	if input == nil {
   248  		input = &CreateContactInput{}
   249  	}
   250  
   251  	output = &CreateContactOutput{}
   252  	req = c.newRequest(op, input, output)
   253  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   254  	return
   255  }
   256  
   257  // CreateContact API operation for Amazon Simple Email Service.
   258  //
   259  // Creates a contact, which is an end-user who is receiving the email, and adds
   260  // them to a contact list.
   261  //
   262  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   263  // with awserr.Error's Code and Message methods to get detailed information about
   264  // the error.
   265  //
   266  // See the AWS API reference guide for Amazon Simple Email Service's
   267  // API operation CreateContact for usage and error information.
   268  //
   269  // Returned Error Types:
   270  //   * BadRequestException
   271  //   The input you provided is invalid.
   272  //
   273  //   * TooManyRequestsException
   274  //   Too many requests have been made to the operation.
   275  //
   276  //   * NotFoundException
   277  //   The resource you attempted to access doesn't exist.
   278  //
   279  //   * AlreadyExistsException
   280  //   The resource specified in your request already exists.
   281  //
   282  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContact
   283  func (c *SESV2) CreateContact(input *CreateContactInput) (*CreateContactOutput, error) {
   284  	req, out := c.CreateContactRequest(input)
   285  	return out, req.Send()
   286  }
   287  
   288  // CreateContactWithContext is the same as CreateContact with the addition of
   289  // the ability to pass a context and additional request options.
   290  //
   291  // See CreateContact for details on how to use this API operation.
   292  //
   293  // The context must be non-nil and will be used for request cancellation. If
   294  // the context is nil a panic will occur. In the future the SDK may create
   295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   296  // for more information on using Contexts.
   297  func (c *SESV2) CreateContactWithContext(ctx aws.Context, input *CreateContactInput, opts ...request.Option) (*CreateContactOutput, error) {
   298  	req, out := c.CreateContactRequest(input)
   299  	req.SetContext(ctx)
   300  	req.ApplyOptions(opts...)
   301  	return out, req.Send()
   302  }
   303  
   304  const opCreateContactList = "CreateContactList"
   305  
   306  // CreateContactListRequest generates a "aws/request.Request" representing the
   307  // client's request for the CreateContactList operation. The "output" return
   308  // value will be populated with the request's response once the request completes
   309  // successfully.
   310  //
   311  // Use "Send" method on the returned Request to send the API call to the service.
   312  // the "output" return value is not valid until after Send returns without error.
   313  //
   314  // See CreateContactList for more information on using the CreateContactList
   315  // API call, and error handling.
   316  //
   317  // This method is useful when you want to inject custom logic or configuration
   318  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   319  //
   320  //
   321  //    // Example sending a request using the CreateContactListRequest method.
   322  //    req, resp := client.CreateContactListRequest(params)
   323  //
   324  //    err := req.Send()
   325  //    if err == nil { // resp is now filled
   326  //        fmt.Println(resp)
   327  //    }
   328  //
   329  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactList
   330  func (c *SESV2) CreateContactListRequest(input *CreateContactListInput) (req *request.Request, output *CreateContactListOutput) {
   331  	op := &request.Operation{
   332  		Name:       opCreateContactList,
   333  		HTTPMethod: "POST",
   334  		HTTPPath:   "/v2/email/contact-lists",
   335  	}
   336  
   337  	if input == nil {
   338  		input = &CreateContactListInput{}
   339  	}
   340  
   341  	output = &CreateContactListOutput{}
   342  	req = c.newRequest(op, input, output)
   343  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   344  	return
   345  }
   346  
   347  // CreateContactList API operation for Amazon Simple Email Service.
   348  //
   349  // Creates a contact list.
   350  //
   351  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   352  // with awserr.Error's Code and Message methods to get detailed information about
   353  // the error.
   354  //
   355  // See the AWS API reference guide for Amazon Simple Email Service's
   356  // API operation CreateContactList for usage and error information.
   357  //
   358  // Returned Error Types:
   359  //   * BadRequestException
   360  //   The input you provided is invalid.
   361  //
   362  //   * TooManyRequestsException
   363  //   Too many requests have been made to the operation.
   364  //
   365  //   * AlreadyExistsException
   366  //   The resource specified in your request already exists.
   367  //
   368  //   * LimitExceededException
   369  //   There are too many instances of the specified resource type.
   370  //
   371  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateContactList
   372  func (c *SESV2) CreateContactList(input *CreateContactListInput) (*CreateContactListOutput, error) {
   373  	req, out := c.CreateContactListRequest(input)
   374  	return out, req.Send()
   375  }
   376  
   377  // CreateContactListWithContext is the same as CreateContactList with the addition of
   378  // the ability to pass a context and additional request options.
   379  //
   380  // See CreateContactList for details on how to use this API operation.
   381  //
   382  // The context must be non-nil and will be used for request cancellation. If
   383  // the context is nil a panic will occur. In the future the SDK may create
   384  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   385  // for more information on using Contexts.
   386  func (c *SESV2) CreateContactListWithContext(ctx aws.Context, input *CreateContactListInput, opts ...request.Option) (*CreateContactListOutput, error) {
   387  	req, out := c.CreateContactListRequest(input)
   388  	req.SetContext(ctx)
   389  	req.ApplyOptions(opts...)
   390  	return out, req.Send()
   391  }
   392  
   393  const opCreateCustomVerificationEmailTemplate = "CreateCustomVerificationEmailTemplate"
   394  
   395  // CreateCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
   396  // client's request for the CreateCustomVerificationEmailTemplate operation. The "output" return
   397  // value will be populated with the request's response once the request completes
   398  // successfully.
   399  //
   400  // Use "Send" method on the returned Request to send the API call to the service.
   401  // the "output" return value is not valid until after Send returns without error.
   402  //
   403  // See CreateCustomVerificationEmailTemplate for more information on using the CreateCustomVerificationEmailTemplate
   404  // API call, and error handling.
   405  //
   406  // This method is useful when you want to inject custom logic or configuration
   407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   408  //
   409  //
   410  //    // Example sending a request using the CreateCustomVerificationEmailTemplateRequest method.
   411  //    req, resp := client.CreateCustomVerificationEmailTemplateRequest(params)
   412  //
   413  //    err := req.Send()
   414  //    if err == nil { // resp is now filled
   415  //        fmt.Println(resp)
   416  //    }
   417  //
   418  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateCustomVerificationEmailTemplate
   419  func (c *SESV2) CreateCustomVerificationEmailTemplateRequest(input *CreateCustomVerificationEmailTemplateInput) (req *request.Request, output *CreateCustomVerificationEmailTemplateOutput) {
   420  	op := &request.Operation{
   421  		Name:       opCreateCustomVerificationEmailTemplate,
   422  		HTTPMethod: "POST",
   423  		HTTPPath:   "/v2/email/custom-verification-email-templates",
   424  	}
   425  
   426  	if input == nil {
   427  		input = &CreateCustomVerificationEmailTemplateInput{}
   428  	}
   429  
   430  	output = &CreateCustomVerificationEmailTemplateOutput{}
   431  	req = c.newRequest(op, input, output)
   432  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   433  	return
   434  }
   435  
   436  // CreateCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
   437  //
   438  // Creates a new custom verification email template.
   439  //
   440  // For more information about custom verification email templates, see Using
   441  // Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html)
   442  // in the Amazon SES Developer Guide.
   443  //
   444  // You can execute this operation no more than once per second.
   445  //
   446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   447  // with awserr.Error's Code and Message methods to get detailed information about
   448  // the error.
   449  //
   450  // See the AWS API reference guide for Amazon Simple Email Service's
   451  // API operation CreateCustomVerificationEmailTemplate for usage and error information.
   452  //
   453  // Returned Error Types:
   454  //   * BadRequestException
   455  //   The input you provided is invalid.
   456  //
   457  //   * AlreadyExistsException
   458  //   The resource specified in your request already exists.
   459  //
   460  //   * NotFoundException
   461  //   The resource you attempted to access doesn't exist.
   462  //
   463  //   * TooManyRequestsException
   464  //   Too many requests have been made to the operation.
   465  //
   466  //   * LimitExceededException
   467  //   There are too many instances of the specified resource type.
   468  //
   469  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateCustomVerificationEmailTemplate
   470  func (c *SESV2) CreateCustomVerificationEmailTemplate(input *CreateCustomVerificationEmailTemplateInput) (*CreateCustomVerificationEmailTemplateOutput, error) {
   471  	req, out := c.CreateCustomVerificationEmailTemplateRequest(input)
   472  	return out, req.Send()
   473  }
   474  
   475  // CreateCustomVerificationEmailTemplateWithContext is the same as CreateCustomVerificationEmailTemplate with the addition of
   476  // the ability to pass a context and additional request options.
   477  //
   478  // See CreateCustomVerificationEmailTemplate for details on how to use this API operation.
   479  //
   480  // The context must be non-nil and will be used for request cancellation. If
   481  // the context is nil a panic will occur. In the future the SDK may create
   482  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   483  // for more information on using Contexts.
   484  func (c *SESV2) CreateCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *CreateCustomVerificationEmailTemplateInput, opts ...request.Option) (*CreateCustomVerificationEmailTemplateOutput, error) {
   485  	req, out := c.CreateCustomVerificationEmailTemplateRequest(input)
   486  	req.SetContext(ctx)
   487  	req.ApplyOptions(opts...)
   488  	return out, req.Send()
   489  }
   490  
   491  const opCreateDedicatedIpPool = "CreateDedicatedIpPool"
   492  
   493  // CreateDedicatedIpPoolRequest generates a "aws/request.Request" representing the
   494  // client's request for the CreateDedicatedIpPool operation. The "output" return
   495  // value will be populated with the request's response once the request completes
   496  // successfully.
   497  //
   498  // Use "Send" method on the returned Request to send the API call to the service.
   499  // the "output" return value is not valid until after Send returns without error.
   500  //
   501  // See CreateDedicatedIpPool for more information on using the CreateDedicatedIpPool
   502  // API call, and error handling.
   503  //
   504  // This method is useful when you want to inject custom logic or configuration
   505  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   506  //
   507  //
   508  //    // Example sending a request using the CreateDedicatedIpPoolRequest method.
   509  //    req, resp := client.CreateDedicatedIpPoolRequest(params)
   510  //
   511  //    err := req.Send()
   512  //    if err == nil { // resp is now filled
   513  //        fmt.Println(resp)
   514  //    }
   515  //
   516  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateDedicatedIpPool
   517  func (c *SESV2) CreateDedicatedIpPoolRequest(input *CreateDedicatedIpPoolInput) (req *request.Request, output *CreateDedicatedIpPoolOutput) {
   518  	op := &request.Operation{
   519  		Name:       opCreateDedicatedIpPool,
   520  		HTTPMethod: "POST",
   521  		HTTPPath:   "/v2/email/dedicated-ip-pools",
   522  	}
   523  
   524  	if input == nil {
   525  		input = &CreateDedicatedIpPoolInput{}
   526  	}
   527  
   528  	output = &CreateDedicatedIpPoolOutput{}
   529  	req = c.newRequest(op, input, output)
   530  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   531  	return
   532  }
   533  
   534  // CreateDedicatedIpPool API operation for Amazon Simple Email Service.
   535  //
   536  // Create a new pool of dedicated IP addresses. A pool can include one or more
   537  // dedicated IP addresses that are associated with your Amazon Web Services
   538  // account. You can associate a pool with a configuration set. When you send
   539  // an email that uses that configuration set, the message is sent from one of
   540  // the addresses in the associated pool.
   541  //
   542  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   543  // with awserr.Error's Code and Message methods to get detailed information about
   544  // the error.
   545  //
   546  // See the AWS API reference guide for Amazon Simple Email Service's
   547  // API operation CreateDedicatedIpPool for usage and error information.
   548  //
   549  // Returned Error Types:
   550  //   * AlreadyExistsException
   551  //   The resource specified in your request already exists.
   552  //
   553  //   * LimitExceededException
   554  //   There are too many instances of the specified resource type.
   555  //
   556  //   * TooManyRequestsException
   557  //   Too many requests have been made to the operation.
   558  //
   559  //   * BadRequestException
   560  //   The input you provided is invalid.
   561  //
   562  //   * ConcurrentModificationException
   563  //   The resource is being modified by another operation or thread.
   564  //
   565  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateDedicatedIpPool
   566  func (c *SESV2) CreateDedicatedIpPool(input *CreateDedicatedIpPoolInput) (*CreateDedicatedIpPoolOutput, error) {
   567  	req, out := c.CreateDedicatedIpPoolRequest(input)
   568  	return out, req.Send()
   569  }
   570  
   571  // CreateDedicatedIpPoolWithContext is the same as CreateDedicatedIpPool with the addition of
   572  // the ability to pass a context and additional request options.
   573  //
   574  // See CreateDedicatedIpPool for details on how to use this API operation.
   575  //
   576  // The context must be non-nil and will be used for request cancellation. If
   577  // the context is nil a panic will occur. In the future the SDK may create
   578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   579  // for more information on using Contexts.
   580  func (c *SESV2) CreateDedicatedIpPoolWithContext(ctx aws.Context, input *CreateDedicatedIpPoolInput, opts ...request.Option) (*CreateDedicatedIpPoolOutput, error) {
   581  	req, out := c.CreateDedicatedIpPoolRequest(input)
   582  	req.SetContext(ctx)
   583  	req.ApplyOptions(opts...)
   584  	return out, req.Send()
   585  }
   586  
   587  const opCreateDeliverabilityTestReport = "CreateDeliverabilityTestReport"
   588  
   589  // CreateDeliverabilityTestReportRequest generates a "aws/request.Request" representing the
   590  // client's request for the CreateDeliverabilityTestReport operation. The "output" return
   591  // value will be populated with the request's response once the request completes
   592  // successfully.
   593  //
   594  // Use "Send" method on the returned Request to send the API call to the service.
   595  // the "output" return value is not valid until after Send returns without error.
   596  //
   597  // See CreateDeliverabilityTestReport for more information on using the CreateDeliverabilityTestReport
   598  // API call, and error handling.
   599  //
   600  // This method is useful when you want to inject custom logic or configuration
   601  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   602  //
   603  //
   604  //    // Example sending a request using the CreateDeliverabilityTestReportRequest method.
   605  //    req, resp := client.CreateDeliverabilityTestReportRequest(params)
   606  //
   607  //    err := req.Send()
   608  //    if err == nil { // resp is now filled
   609  //        fmt.Println(resp)
   610  //    }
   611  //
   612  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateDeliverabilityTestReport
   613  func (c *SESV2) CreateDeliverabilityTestReportRequest(input *CreateDeliverabilityTestReportInput) (req *request.Request, output *CreateDeliverabilityTestReportOutput) {
   614  	op := &request.Operation{
   615  		Name:       opCreateDeliverabilityTestReport,
   616  		HTTPMethod: "POST",
   617  		HTTPPath:   "/v2/email/deliverability-dashboard/test",
   618  	}
   619  
   620  	if input == nil {
   621  		input = &CreateDeliverabilityTestReportInput{}
   622  	}
   623  
   624  	output = &CreateDeliverabilityTestReportOutput{}
   625  	req = c.newRequest(op, input, output)
   626  	return
   627  }
   628  
   629  // CreateDeliverabilityTestReport API operation for Amazon Simple Email Service.
   630  //
   631  // Create a new predictive inbox placement test. Predictive inbox placement
   632  // tests can help you predict how your messages will be handled by various email
   633  // providers around the world. When you perform a predictive inbox placement
   634  // test, you provide a sample message that contains the content that you plan
   635  // to send to your customers. Amazon SES then sends that message to special
   636  // email addresses spread across several major email providers. After about
   637  // 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport
   638  // operation to view the results of the test.
   639  //
   640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   641  // with awserr.Error's Code and Message methods to get detailed information about
   642  // the error.
   643  //
   644  // See the AWS API reference guide for Amazon Simple Email Service's
   645  // API operation CreateDeliverabilityTestReport for usage and error information.
   646  //
   647  // Returned Error Types:
   648  //   * AccountSuspendedException
   649  //   The message can't be sent because the account's ability to send email has
   650  //   been permanently restricted.
   651  //
   652  //   * SendingPausedException
   653  //   The message can't be sent because the account's ability to send email is
   654  //   currently paused.
   655  //
   656  //   * MessageRejected
   657  //   The message can't be sent because it contains invalid content.
   658  //
   659  //   * MailFromDomainNotVerifiedException
   660  //   The message can't be sent because the sending domain isn't verified.
   661  //
   662  //   * NotFoundException
   663  //   The resource you attempted to access doesn't exist.
   664  //
   665  //   * TooManyRequestsException
   666  //   Too many requests have been made to the operation.
   667  //
   668  //   * LimitExceededException
   669  //   There are too many instances of the specified resource type.
   670  //
   671  //   * BadRequestException
   672  //   The input you provided is invalid.
   673  //
   674  //   * ConcurrentModificationException
   675  //   The resource is being modified by another operation or thread.
   676  //
   677  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateDeliverabilityTestReport
   678  func (c *SESV2) CreateDeliverabilityTestReport(input *CreateDeliverabilityTestReportInput) (*CreateDeliverabilityTestReportOutput, error) {
   679  	req, out := c.CreateDeliverabilityTestReportRequest(input)
   680  	return out, req.Send()
   681  }
   682  
   683  // CreateDeliverabilityTestReportWithContext is the same as CreateDeliverabilityTestReport with the addition of
   684  // the ability to pass a context and additional request options.
   685  //
   686  // See CreateDeliverabilityTestReport for details on how to use this API operation.
   687  //
   688  // The context must be non-nil and will be used for request cancellation. If
   689  // the context is nil a panic will occur. In the future the SDK may create
   690  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   691  // for more information on using Contexts.
   692  func (c *SESV2) CreateDeliverabilityTestReportWithContext(ctx aws.Context, input *CreateDeliverabilityTestReportInput, opts ...request.Option) (*CreateDeliverabilityTestReportOutput, error) {
   693  	req, out := c.CreateDeliverabilityTestReportRequest(input)
   694  	req.SetContext(ctx)
   695  	req.ApplyOptions(opts...)
   696  	return out, req.Send()
   697  }
   698  
   699  const opCreateEmailIdentity = "CreateEmailIdentity"
   700  
   701  // CreateEmailIdentityRequest generates a "aws/request.Request" representing the
   702  // client's request for the CreateEmailIdentity operation. The "output" return
   703  // value will be populated with the request's response once the request completes
   704  // successfully.
   705  //
   706  // Use "Send" method on the returned Request to send the API call to the service.
   707  // the "output" return value is not valid until after Send returns without error.
   708  //
   709  // See CreateEmailIdentity for more information on using the CreateEmailIdentity
   710  // API call, and error handling.
   711  //
   712  // This method is useful when you want to inject custom logic or configuration
   713  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   714  //
   715  //
   716  //    // Example sending a request using the CreateEmailIdentityRequest method.
   717  //    req, resp := client.CreateEmailIdentityRequest(params)
   718  //
   719  //    err := req.Send()
   720  //    if err == nil { // resp is now filled
   721  //        fmt.Println(resp)
   722  //    }
   723  //
   724  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentity
   725  func (c *SESV2) CreateEmailIdentityRequest(input *CreateEmailIdentityInput) (req *request.Request, output *CreateEmailIdentityOutput) {
   726  	op := &request.Operation{
   727  		Name:       opCreateEmailIdentity,
   728  		HTTPMethod: "POST",
   729  		HTTPPath:   "/v2/email/identities",
   730  	}
   731  
   732  	if input == nil {
   733  		input = &CreateEmailIdentityInput{}
   734  	}
   735  
   736  	output = &CreateEmailIdentityOutput{}
   737  	req = c.newRequest(op, input, output)
   738  	return
   739  }
   740  
   741  // CreateEmailIdentity API operation for Amazon Simple Email Service.
   742  //
   743  // Starts the process of verifying an email identity. An identity is an email
   744  // address or domain that you use when you send email. Before you can use an
   745  // identity to send email, you first have to verify it. By verifying an identity,
   746  // you demonstrate that you're the owner of the identity, and that you've given
   747  // Amazon SES API v2 permission to send email from the identity.
   748  //
   749  // When you verify an email address, Amazon SES sends an email to the address.
   750  // Your email address is verified as soon as you follow the link in the verification
   751  // email.
   752  //
   753  // When you verify a domain without specifying the DkimSigningAttributes object,
   754  // this operation provides a set of DKIM tokens. You can convert these tokens
   755  // into CNAME records, which you then add to the DNS configuration for your
   756  // domain. Your domain is verified when Amazon SES detects these records in
   757  // the DNS configuration for your domain. This verification method is known
   758  // as Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
   759  //
   760  // Alternatively, you can perform the verification process by providing your
   761  // own public-private key pair. This verification method is known as Bring Your
   762  // Own DKIM (BYODKIM). To use BYODKIM, your call to the CreateEmailIdentity
   763  // operation has to include the DkimSigningAttributes object. When you specify
   764  // this object, you provide a selector (a component of the DNS record name that
   765  // identifies the public key to use for DKIM authentication) and a private key.
   766  //
   767  // When you verify a domain, this operation provides a set of DKIM tokens, which
   768  // you can convert into CNAME tokens. You add these CNAME tokens to the DNS
   769  // configuration for your domain. Your domain is verified when Amazon SES detects
   770  // these records in the DNS configuration for your domain. For some DNS providers,
   771  // it can take 72 hours or more to complete the domain verification process.
   772  //
   773  // Additionally, you can associate an existing configuration set with the email
   774  // identity that you're verifying.
   775  //
   776  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   777  // with awserr.Error's Code and Message methods to get detailed information about
   778  // the error.
   779  //
   780  // See the AWS API reference guide for Amazon Simple Email Service's
   781  // API operation CreateEmailIdentity for usage and error information.
   782  //
   783  // Returned Error Types:
   784  //   * AlreadyExistsException
   785  //   The resource specified in your request already exists.
   786  //
   787  //   * LimitExceededException
   788  //   There are too many instances of the specified resource type.
   789  //
   790  //   * TooManyRequestsException
   791  //   Too many requests have been made to the operation.
   792  //
   793  //   * BadRequestException
   794  //   The input you provided is invalid.
   795  //
   796  //   * ConcurrentModificationException
   797  //   The resource is being modified by another operation or thread.
   798  //
   799  //   * NotFoundException
   800  //   The resource you attempted to access doesn't exist.
   801  //
   802  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentity
   803  func (c *SESV2) CreateEmailIdentity(input *CreateEmailIdentityInput) (*CreateEmailIdentityOutput, error) {
   804  	req, out := c.CreateEmailIdentityRequest(input)
   805  	return out, req.Send()
   806  }
   807  
   808  // CreateEmailIdentityWithContext is the same as CreateEmailIdentity with the addition of
   809  // the ability to pass a context and additional request options.
   810  //
   811  // See CreateEmailIdentity for details on how to use this API operation.
   812  //
   813  // The context must be non-nil and will be used for request cancellation. If
   814  // the context is nil a panic will occur. In the future the SDK may create
   815  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   816  // for more information on using Contexts.
   817  func (c *SESV2) CreateEmailIdentityWithContext(ctx aws.Context, input *CreateEmailIdentityInput, opts ...request.Option) (*CreateEmailIdentityOutput, error) {
   818  	req, out := c.CreateEmailIdentityRequest(input)
   819  	req.SetContext(ctx)
   820  	req.ApplyOptions(opts...)
   821  	return out, req.Send()
   822  }
   823  
   824  const opCreateEmailIdentityPolicy = "CreateEmailIdentityPolicy"
   825  
   826  // CreateEmailIdentityPolicyRequest generates a "aws/request.Request" representing the
   827  // client's request for the CreateEmailIdentityPolicy operation. The "output" return
   828  // value will be populated with the request's response once the request completes
   829  // successfully.
   830  //
   831  // Use "Send" method on the returned Request to send the API call to the service.
   832  // the "output" return value is not valid until after Send returns without error.
   833  //
   834  // See CreateEmailIdentityPolicy for more information on using the CreateEmailIdentityPolicy
   835  // API call, and error handling.
   836  //
   837  // This method is useful when you want to inject custom logic or configuration
   838  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   839  //
   840  //
   841  //    // Example sending a request using the CreateEmailIdentityPolicyRequest method.
   842  //    req, resp := client.CreateEmailIdentityPolicyRequest(params)
   843  //
   844  //    err := req.Send()
   845  //    if err == nil { // resp is now filled
   846  //        fmt.Println(resp)
   847  //    }
   848  //
   849  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentityPolicy
   850  func (c *SESV2) CreateEmailIdentityPolicyRequest(input *CreateEmailIdentityPolicyInput) (req *request.Request, output *CreateEmailIdentityPolicyOutput) {
   851  	op := &request.Operation{
   852  		Name:       opCreateEmailIdentityPolicy,
   853  		HTTPMethod: "POST",
   854  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}",
   855  	}
   856  
   857  	if input == nil {
   858  		input = &CreateEmailIdentityPolicyInput{}
   859  	}
   860  
   861  	output = &CreateEmailIdentityPolicyOutput{}
   862  	req = c.newRequest(op, input, output)
   863  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   864  	return
   865  }
   866  
   867  // CreateEmailIdentityPolicy API operation for Amazon Simple Email Service.
   868  //
   869  // Creates the specified sending authorization policy for the given identity
   870  // (an email address or a domain).
   871  //
   872  // This API is for the identity owner only. If you have not verified the identity,
   873  // this API will return an error.
   874  //
   875  // Sending authorization is a feature that enables an identity owner to authorize
   876  // other senders to use its identities. For information about using sending
   877  // authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
   878  //
   879  // You can execute this operation no more than once per second.
   880  //
   881  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   882  // with awserr.Error's Code and Message methods to get detailed information about
   883  // the error.
   884  //
   885  // See the AWS API reference guide for Amazon Simple Email Service's
   886  // API operation CreateEmailIdentityPolicy for usage and error information.
   887  //
   888  // Returned Error Types:
   889  //   * NotFoundException
   890  //   The resource you attempted to access doesn't exist.
   891  //
   892  //   * AlreadyExistsException
   893  //   The resource specified in your request already exists.
   894  //
   895  //   * TooManyRequestsException
   896  //   Too many requests have been made to the operation.
   897  //
   898  //   * LimitExceededException
   899  //   There are too many instances of the specified resource type.
   900  //
   901  //   * BadRequestException
   902  //   The input you provided is invalid.
   903  //
   904  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentityPolicy
   905  func (c *SESV2) CreateEmailIdentityPolicy(input *CreateEmailIdentityPolicyInput) (*CreateEmailIdentityPolicyOutput, error) {
   906  	req, out := c.CreateEmailIdentityPolicyRequest(input)
   907  	return out, req.Send()
   908  }
   909  
   910  // CreateEmailIdentityPolicyWithContext is the same as CreateEmailIdentityPolicy with the addition of
   911  // the ability to pass a context and additional request options.
   912  //
   913  // See CreateEmailIdentityPolicy for details on how to use this API operation.
   914  //
   915  // The context must be non-nil and will be used for request cancellation. If
   916  // the context is nil a panic will occur. In the future the SDK may create
   917  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   918  // for more information on using Contexts.
   919  func (c *SESV2) CreateEmailIdentityPolicyWithContext(ctx aws.Context, input *CreateEmailIdentityPolicyInput, opts ...request.Option) (*CreateEmailIdentityPolicyOutput, error) {
   920  	req, out := c.CreateEmailIdentityPolicyRequest(input)
   921  	req.SetContext(ctx)
   922  	req.ApplyOptions(opts...)
   923  	return out, req.Send()
   924  }
   925  
   926  const opCreateEmailTemplate = "CreateEmailTemplate"
   927  
   928  // CreateEmailTemplateRequest generates a "aws/request.Request" representing the
   929  // client's request for the CreateEmailTemplate operation. The "output" return
   930  // value will be populated with the request's response once the request completes
   931  // successfully.
   932  //
   933  // Use "Send" method on the returned Request to send the API call to the service.
   934  // the "output" return value is not valid until after Send returns without error.
   935  //
   936  // See CreateEmailTemplate for more information on using the CreateEmailTemplate
   937  // API call, and error handling.
   938  //
   939  // This method is useful when you want to inject custom logic or configuration
   940  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   941  //
   942  //
   943  //    // Example sending a request using the CreateEmailTemplateRequest method.
   944  //    req, resp := client.CreateEmailTemplateRequest(params)
   945  //
   946  //    err := req.Send()
   947  //    if err == nil { // resp is now filled
   948  //        fmt.Println(resp)
   949  //    }
   950  //
   951  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailTemplate
   952  func (c *SESV2) CreateEmailTemplateRequest(input *CreateEmailTemplateInput) (req *request.Request, output *CreateEmailTemplateOutput) {
   953  	op := &request.Operation{
   954  		Name:       opCreateEmailTemplate,
   955  		HTTPMethod: "POST",
   956  		HTTPPath:   "/v2/email/templates",
   957  	}
   958  
   959  	if input == nil {
   960  		input = &CreateEmailTemplateInput{}
   961  	}
   962  
   963  	output = &CreateEmailTemplateOutput{}
   964  	req = c.newRequest(op, input, output)
   965  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   966  	return
   967  }
   968  
   969  // CreateEmailTemplate API operation for Amazon Simple Email Service.
   970  //
   971  // Creates an email template. Email templates enable you to send personalized
   972  // email to one or more destinations in a single API operation. For more information,
   973  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
   974  //
   975  // You can execute this operation no more than once per second.
   976  //
   977  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   978  // with awserr.Error's Code and Message methods to get detailed information about
   979  // the error.
   980  //
   981  // See the AWS API reference guide for Amazon Simple Email Service's
   982  // API operation CreateEmailTemplate for usage and error information.
   983  //
   984  // Returned Error Types:
   985  //   * AlreadyExistsException
   986  //   The resource specified in your request already exists.
   987  //
   988  //   * TooManyRequestsException
   989  //   Too many requests have been made to the operation.
   990  //
   991  //   * BadRequestException
   992  //   The input you provided is invalid.
   993  //
   994  //   * LimitExceededException
   995  //   There are too many instances of the specified resource type.
   996  //
   997  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailTemplate
   998  func (c *SESV2) CreateEmailTemplate(input *CreateEmailTemplateInput) (*CreateEmailTemplateOutput, error) {
   999  	req, out := c.CreateEmailTemplateRequest(input)
  1000  	return out, req.Send()
  1001  }
  1002  
  1003  // CreateEmailTemplateWithContext is the same as CreateEmailTemplate with the addition of
  1004  // the ability to pass a context and additional request options.
  1005  //
  1006  // See CreateEmailTemplate for details on how to use this API operation.
  1007  //
  1008  // The context must be non-nil and will be used for request cancellation. If
  1009  // the context is nil a panic will occur. In the future the SDK may create
  1010  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1011  // for more information on using Contexts.
  1012  func (c *SESV2) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEmailTemplateInput, opts ...request.Option) (*CreateEmailTemplateOutput, error) {
  1013  	req, out := c.CreateEmailTemplateRequest(input)
  1014  	req.SetContext(ctx)
  1015  	req.ApplyOptions(opts...)
  1016  	return out, req.Send()
  1017  }
  1018  
  1019  const opCreateImportJob = "CreateImportJob"
  1020  
  1021  // CreateImportJobRequest generates a "aws/request.Request" representing the
  1022  // client's request for the CreateImportJob operation. The "output" return
  1023  // value will be populated with the request's response once the request completes
  1024  // successfully.
  1025  //
  1026  // Use "Send" method on the returned Request to send the API call to the service.
  1027  // the "output" return value is not valid until after Send returns without error.
  1028  //
  1029  // See CreateImportJob for more information on using the CreateImportJob
  1030  // API call, and error handling.
  1031  //
  1032  // This method is useful when you want to inject custom logic or configuration
  1033  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1034  //
  1035  //
  1036  //    // Example sending a request using the CreateImportJobRequest method.
  1037  //    req, resp := client.CreateImportJobRequest(params)
  1038  //
  1039  //    err := req.Send()
  1040  //    if err == nil { // resp is now filled
  1041  //        fmt.Println(resp)
  1042  //    }
  1043  //
  1044  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJob
  1045  func (c *SESV2) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) {
  1046  	op := &request.Operation{
  1047  		Name:       opCreateImportJob,
  1048  		HTTPMethod: "POST",
  1049  		HTTPPath:   "/v2/email/import-jobs",
  1050  	}
  1051  
  1052  	if input == nil {
  1053  		input = &CreateImportJobInput{}
  1054  	}
  1055  
  1056  	output = &CreateImportJobOutput{}
  1057  	req = c.newRequest(op, input, output)
  1058  	return
  1059  }
  1060  
  1061  // CreateImportJob API operation for Amazon Simple Email Service.
  1062  //
  1063  // Creates an import job for a data destination.
  1064  //
  1065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1066  // with awserr.Error's Code and Message methods to get detailed information about
  1067  // the error.
  1068  //
  1069  // See the AWS API reference guide for Amazon Simple Email Service's
  1070  // API operation CreateImportJob for usage and error information.
  1071  //
  1072  // Returned Error Types:
  1073  //   * BadRequestException
  1074  //   The input you provided is invalid.
  1075  //
  1076  //   * LimitExceededException
  1077  //   There are too many instances of the specified resource type.
  1078  //
  1079  //   * TooManyRequestsException
  1080  //   Too many requests have been made to the operation.
  1081  //
  1082  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJob
  1083  func (c *SESV2) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) {
  1084  	req, out := c.CreateImportJobRequest(input)
  1085  	return out, req.Send()
  1086  }
  1087  
  1088  // CreateImportJobWithContext is the same as CreateImportJob with the addition of
  1089  // the ability to pass a context and additional request options.
  1090  //
  1091  // See CreateImportJob for details on how to use this API operation.
  1092  //
  1093  // The context must be non-nil and will be used for request cancellation. If
  1094  // the context is nil a panic will occur. In the future the SDK may create
  1095  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1096  // for more information on using Contexts.
  1097  func (c *SESV2) CreateImportJobWithContext(ctx aws.Context, input *CreateImportJobInput, opts ...request.Option) (*CreateImportJobOutput, error) {
  1098  	req, out := c.CreateImportJobRequest(input)
  1099  	req.SetContext(ctx)
  1100  	req.ApplyOptions(opts...)
  1101  	return out, req.Send()
  1102  }
  1103  
  1104  const opDeleteConfigurationSet = "DeleteConfigurationSet"
  1105  
  1106  // DeleteConfigurationSetRequest generates a "aws/request.Request" representing the
  1107  // client's request for the DeleteConfigurationSet operation. The "output" return
  1108  // value will be populated with the request's response once the request completes
  1109  // successfully.
  1110  //
  1111  // Use "Send" method on the returned Request to send the API call to the service.
  1112  // the "output" return value is not valid until after Send returns without error.
  1113  //
  1114  // See DeleteConfigurationSet for more information on using the DeleteConfigurationSet
  1115  // API call, and error handling.
  1116  //
  1117  // This method is useful when you want to inject custom logic or configuration
  1118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1119  //
  1120  //
  1121  //    // Example sending a request using the DeleteConfigurationSetRequest method.
  1122  //    req, resp := client.DeleteConfigurationSetRequest(params)
  1123  //
  1124  //    err := req.Send()
  1125  //    if err == nil { // resp is now filled
  1126  //        fmt.Println(resp)
  1127  //    }
  1128  //
  1129  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteConfigurationSet
  1130  func (c *SESV2) DeleteConfigurationSetRequest(input *DeleteConfigurationSetInput) (req *request.Request, output *DeleteConfigurationSetOutput) {
  1131  	op := &request.Operation{
  1132  		Name:       opDeleteConfigurationSet,
  1133  		HTTPMethod: "DELETE",
  1134  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}",
  1135  	}
  1136  
  1137  	if input == nil {
  1138  		input = &DeleteConfigurationSetInput{}
  1139  	}
  1140  
  1141  	output = &DeleteConfigurationSetOutput{}
  1142  	req = c.newRequest(op, input, output)
  1143  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1144  	return
  1145  }
  1146  
  1147  // DeleteConfigurationSet API operation for Amazon Simple Email Service.
  1148  //
  1149  // Delete an existing configuration set.
  1150  //
  1151  // Configuration sets are groups of rules that you can apply to the emails you
  1152  // send. You apply a configuration set to an email by including a reference
  1153  // to the configuration set in the headers of the email. When you apply a configuration
  1154  // set to an email, all of the rules in that configuration set are applied to
  1155  // the email.
  1156  //
  1157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1158  // with awserr.Error's Code and Message methods to get detailed information about
  1159  // the error.
  1160  //
  1161  // See the AWS API reference guide for Amazon Simple Email Service's
  1162  // API operation DeleteConfigurationSet for usage and error information.
  1163  //
  1164  // Returned Error Types:
  1165  //   * NotFoundException
  1166  //   The resource you attempted to access doesn't exist.
  1167  //
  1168  //   * TooManyRequestsException
  1169  //   Too many requests have been made to the operation.
  1170  //
  1171  //   * BadRequestException
  1172  //   The input you provided is invalid.
  1173  //
  1174  //   * ConcurrentModificationException
  1175  //   The resource is being modified by another operation or thread.
  1176  //
  1177  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteConfigurationSet
  1178  func (c *SESV2) DeleteConfigurationSet(input *DeleteConfigurationSetInput) (*DeleteConfigurationSetOutput, error) {
  1179  	req, out := c.DeleteConfigurationSetRequest(input)
  1180  	return out, req.Send()
  1181  }
  1182  
  1183  // DeleteConfigurationSetWithContext is the same as DeleteConfigurationSet with the addition of
  1184  // the ability to pass a context and additional request options.
  1185  //
  1186  // See DeleteConfigurationSet for details on how to use this API operation.
  1187  //
  1188  // The context must be non-nil and will be used for request cancellation. If
  1189  // the context is nil a panic will occur. In the future the SDK may create
  1190  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1191  // for more information on using Contexts.
  1192  func (c *SESV2) DeleteConfigurationSetWithContext(ctx aws.Context, input *DeleteConfigurationSetInput, opts ...request.Option) (*DeleteConfigurationSetOutput, error) {
  1193  	req, out := c.DeleteConfigurationSetRequest(input)
  1194  	req.SetContext(ctx)
  1195  	req.ApplyOptions(opts...)
  1196  	return out, req.Send()
  1197  }
  1198  
  1199  const opDeleteConfigurationSetEventDestination = "DeleteConfigurationSetEventDestination"
  1200  
  1201  // DeleteConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the
  1202  // client's request for the DeleteConfigurationSetEventDestination operation. The "output" return
  1203  // value will be populated with the request's response once the request completes
  1204  // successfully.
  1205  //
  1206  // Use "Send" method on the returned Request to send the API call to the service.
  1207  // the "output" return value is not valid until after Send returns without error.
  1208  //
  1209  // See DeleteConfigurationSetEventDestination for more information on using the DeleteConfigurationSetEventDestination
  1210  // API call, and error handling.
  1211  //
  1212  // This method is useful when you want to inject custom logic or configuration
  1213  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1214  //
  1215  //
  1216  //    // Example sending a request using the DeleteConfigurationSetEventDestinationRequest method.
  1217  //    req, resp := client.DeleteConfigurationSetEventDestinationRequest(params)
  1218  //
  1219  //    err := req.Send()
  1220  //    if err == nil { // resp is now filled
  1221  //        fmt.Println(resp)
  1222  //    }
  1223  //
  1224  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteConfigurationSetEventDestination
  1225  func (c *SESV2) DeleteConfigurationSetEventDestinationRequest(input *DeleteConfigurationSetEventDestinationInput) (req *request.Request, output *DeleteConfigurationSetEventDestinationOutput) {
  1226  	op := &request.Operation{
  1227  		Name:       opDeleteConfigurationSetEventDestination,
  1228  		HTTPMethod: "DELETE",
  1229  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}",
  1230  	}
  1231  
  1232  	if input == nil {
  1233  		input = &DeleteConfigurationSetEventDestinationInput{}
  1234  	}
  1235  
  1236  	output = &DeleteConfigurationSetEventDestinationOutput{}
  1237  	req = c.newRequest(op, input, output)
  1238  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1239  	return
  1240  }
  1241  
  1242  // DeleteConfigurationSetEventDestination API operation for Amazon Simple Email Service.
  1243  //
  1244  // Delete an event destination.
  1245  //
  1246  // Events include message sends, deliveries, opens, clicks, bounces, and complaints.
  1247  // Event destinations are places that you can send information about these events
  1248  // to. For example, you can send event data to Amazon SNS to receive notifications
  1249  // when you receive bounces or complaints, or you can use Amazon Kinesis Data
  1250  // Firehose to stream data to Amazon S3 for long-term storage.
  1251  //
  1252  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1253  // with awserr.Error's Code and Message methods to get detailed information about
  1254  // the error.
  1255  //
  1256  // See the AWS API reference guide for Amazon Simple Email Service's
  1257  // API operation DeleteConfigurationSetEventDestination for usage and error information.
  1258  //
  1259  // Returned Error Types:
  1260  //   * NotFoundException
  1261  //   The resource you attempted to access doesn't exist.
  1262  //
  1263  //   * TooManyRequestsException
  1264  //   Too many requests have been made to the operation.
  1265  //
  1266  //   * BadRequestException
  1267  //   The input you provided is invalid.
  1268  //
  1269  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteConfigurationSetEventDestination
  1270  func (c *SESV2) DeleteConfigurationSetEventDestination(input *DeleteConfigurationSetEventDestinationInput) (*DeleteConfigurationSetEventDestinationOutput, error) {
  1271  	req, out := c.DeleteConfigurationSetEventDestinationRequest(input)
  1272  	return out, req.Send()
  1273  }
  1274  
  1275  // DeleteConfigurationSetEventDestinationWithContext is the same as DeleteConfigurationSetEventDestination with the addition of
  1276  // the ability to pass a context and additional request options.
  1277  //
  1278  // See DeleteConfigurationSetEventDestination for details on how to use this API operation.
  1279  //
  1280  // The context must be non-nil and will be used for request cancellation. If
  1281  // the context is nil a panic will occur. In the future the SDK may create
  1282  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1283  // for more information on using Contexts.
  1284  func (c *SESV2) DeleteConfigurationSetEventDestinationWithContext(ctx aws.Context, input *DeleteConfigurationSetEventDestinationInput, opts ...request.Option) (*DeleteConfigurationSetEventDestinationOutput, error) {
  1285  	req, out := c.DeleteConfigurationSetEventDestinationRequest(input)
  1286  	req.SetContext(ctx)
  1287  	req.ApplyOptions(opts...)
  1288  	return out, req.Send()
  1289  }
  1290  
  1291  const opDeleteContact = "DeleteContact"
  1292  
  1293  // DeleteContactRequest generates a "aws/request.Request" representing the
  1294  // client's request for the DeleteContact operation. The "output" return
  1295  // value will be populated with the request's response once the request completes
  1296  // successfully.
  1297  //
  1298  // Use "Send" method on the returned Request to send the API call to the service.
  1299  // the "output" return value is not valid until after Send returns without error.
  1300  //
  1301  // See DeleteContact for more information on using the DeleteContact
  1302  // API call, and error handling.
  1303  //
  1304  // This method is useful when you want to inject custom logic or configuration
  1305  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1306  //
  1307  //
  1308  //    // Example sending a request using the DeleteContactRequest method.
  1309  //    req, resp := client.DeleteContactRequest(params)
  1310  //
  1311  //    err := req.Send()
  1312  //    if err == nil { // resp is now filled
  1313  //        fmt.Println(resp)
  1314  //    }
  1315  //
  1316  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContact
  1317  func (c *SESV2) DeleteContactRequest(input *DeleteContactInput) (req *request.Request, output *DeleteContactOutput) {
  1318  	op := &request.Operation{
  1319  		Name:       opDeleteContact,
  1320  		HTTPMethod: "DELETE",
  1321  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}",
  1322  	}
  1323  
  1324  	if input == nil {
  1325  		input = &DeleteContactInput{}
  1326  	}
  1327  
  1328  	output = &DeleteContactOutput{}
  1329  	req = c.newRequest(op, input, output)
  1330  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1331  	return
  1332  }
  1333  
  1334  // DeleteContact API operation for Amazon Simple Email Service.
  1335  //
  1336  // Removes a contact from a contact list.
  1337  //
  1338  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1339  // with awserr.Error's Code and Message methods to get detailed information about
  1340  // the error.
  1341  //
  1342  // See the AWS API reference guide for Amazon Simple Email Service's
  1343  // API operation DeleteContact for usage and error information.
  1344  //
  1345  // Returned Error Types:
  1346  //   * BadRequestException
  1347  //   The input you provided is invalid.
  1348  //
  1349  //   * TooManyRequestsException
  1350  //   Too many requests have been made to the operation.
  1351  //
  1352  //   * NotFoundException
  1353  //   The resource you attempted to access doesn't exist.
  1354  //
  1355  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContact
  1356  func (c *SESV2) DeleteContact(input *DeleteContactInput) (*DeleteContactOutput, error) {
  1357  	req, out := c.DeleteContactRequest(input)
  1358  	return out, req.Send()
  1359  }
  1360  
  1361  // DeleteContactWithContext is the same as DeleteContact with the addition of
  1362  // the ability to pass a context and additional request options.
  1363  //
  1364  // See DeleteContact for details on how to use this API operation.
  1365  //
  1366  // The context must be non-nil and will be used for request cancellation. If
  1367  // the context is nil a panic will occur. In the future the SDK may create
  1368  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1369  // for more information on using Contexts.
  1370  func (c *SESV2) DeleteContactWithContext(ctx aws.Context, input *DeleteContactInput, opts ...request.Option) (*DeleteContactOutput, error) {
  1371  	req, out := c.DeleteContactRequest(input)
  1372  	req.SetContext(ctx)
  1373  	req.ApplyOptions(opts...)
  1374  	return out, req.Send()
  1375  }
  1376  
  1377  const opDeleteContactList = "DeleteContactList"
  1378  
  1379  // DeleteContactListRequest generates a "aws/request.Request" representing the
  1380  // client's request for the DeleteContactList operation. The "output" return
  1381  // value will be populated with the request's response once the request completes
  1382  // successfully.
  1383  //
  1384  // Use "Send" method on the returned Request to send the API call to the service.
  1385  // the "output" return value is not valid until after Send returns without error.
  1386  //
  1387  // See DeleteContactList for more information on using the DeleteContactList
  1388  // API call, and error handling.
  1389  //
  1390  // This method is useful when you want to inject custom logic or configuration
  1391  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1392  //
  1393  //
  1394  //    // Example sending a request using the DeleteContactListRequest method.
  1395  //    req, resp := client.DeleteContactListRequest(params)
  1396  //
  1397  //    err := req.Send()
  1398  //    if err == nil { // resp is now filled
  1399  //        fmt.Println(resp)
  1400  //    }
  1401  //
  1402  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactList
  1403  func (c *SESV2) DeleteContactListRequest(input *DeleteContactListInput) (req *request.Request, output *DeleteContactListOutput) {
  1404  	op := &request.Operation{
  1405  		Name:       opDeleteContactList,
  1406  		HTTPMethod: "DELETE",
  1407  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}",
  1408  	}
  1409  
  1410  	if input == nil {
  1411  		input = &DeleteContactListInput{}
  1412  	}
  1413  
  1414  	output = &DeleteContactListOutput{}
  1415  	req = c.newRequest(op, input, output)
  1416  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1417  	return
  1418  }
  1419  
  1420  // DeleteContactList API operation for Amazon Simple Email Service.
  1421  //
  1422  // Deletes a contact list and all of the contacts on that list.
  1423  //
  1424  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1425  // with awserr.Error's Code and Message methods to get detailed information about
  1426  // the error.
  1427  //
  1428  // See the AWS API reference guide for Amazon Simple Email Service's
  1429  // API operation DeleteContactList for usage and error information.
  1430  //
  1431  // Returned Error Types:
  1432  //   * TooManyRequestsException
  1433  //   Too many requests have been made to the operation.
  1434  //
  1435  //   * NotFoundException
  1436  //   The resource you attempted to access doesn't exist.
  1437  //
  1438  //   * BadRequestException
  1439  //   The input you provided is invalid.
  1440  //
  1441  //   * ConcurrentModificationException
  1442  //   The resource is being modified by another operation or thread.
  1443  //
  1444  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteContactList
  1445  func (c *SESV2) DeleteContactList(input *DeleteContactListInput) (*DeleteContactListOutput, error) {
  1446  	req, out := c.DeleteContactListRequest(input)
  1447  	return out, req.Send()
  1448  }
  1449  
  1450  // DeleteContactListWithContext is the same as DeleteContactList with the addition of
  1451  // the ability to pass a context and additional request options.
  1452  //
  1453  // See DeleteContactList for details on how to use this API operation.
  1454  //
  1455  // The context must be non-nil and will be used for request cancellation. If
  1456  // the context is nil a panic will occur. In the future the SDK may create
  1457  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1458  // for more information on using Contexts.
  1459  func (c *SESV2) DeleteContactListWithContext(ctx aws.Context, input *DeleteContactListInput, opts ...request.Option) (*DeleteContactListOutput, error) {
  1460  	req, out := c.DeleteContactListRequest(input)
  1461  	req.SetContext(ctx)
  1462  	req.ApplyOptions(opts...)
  1463  	return out, req.Send()
  1464  }
  1465  
  1466  const opDeleteCustomVerificationEmailTemplate = "DeleteCustomVerificationEmailTemplate"
  1467  
  1468  // DeleteCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
  1469  // client's request for the DeleteCustomVerificationEmailTemplate operation. The "output" return
  1470  // value will be populated with the request's response once the request completes
  1471  // successfully.
  1472  //
  1473  // Use "Send" method on the returned Request to send the API call to the service.
  1474  // the "output" return value is not valid until after Send returns without error.
  1475  //
  1476  // See DeleteCustomVerificationEmailTemplate for more information on using the DeleteCustomVerificationEmailTemplate
  1477  // API call, and error handling.
  1478  //
  1479  // This method is useful when you want to inject custom logic or configuration
  1480  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1481  //
  1482  //
  1483  //    // Example sending a request using the DeleteCustomVerificationEmailTemplateRequest method.
  1484  //    req, resp := client.DeleteCustomVerificationEmailTemplateRequest(params)
  1485  //
  1486  //    err := req.Send()
  1487  //    if err == nil { // resp is now filled
  1488  //        fmt.Println(resp)
  1489  //    }
  1490  //
  1491  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteCustomVerificationEmailTemplate
  1492  func (c *SESV2) DeleteCustomVerificationEmailTemplateRequest(input *DeleteCustomVerificationEmailTemplateInput) (req *request.Request, output *DeleteCustomVerificationEmailTemplateOutput) {
  1493  	op := &request.Operation{
  1494  		Name:       opDeleteCustomVerificationEmailTemplate,
  1495  		HTTPMethod: "DELETE",
  1496  		HTTPPath:   "/v2/email/custom-verification-email-templates/{TemplateName}",
  1497  	}
  1498  
  1499  	if input == nil {
  1500  		input = &DeleteCustomVerificationEmailTemplateInput{}
  1501  	}
  1502  
  1503  	output = &DeleteCustomVerificationEmailTemplateOutput{}
  1504  	req = c.newRequest(op, input, output)
  1505  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1506  	return
  1507  }
  1508  
  1509  // DeleteCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
  1510  //
  1511  // Deletes an existing custom verification email template.
  1512  //
  1513  // For more information about custom verification email templates, see Using
  1514  // Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html)
  1515  // in the Amazon SES Developer Guide.
  1516  //
  1517  // You can execute this operation no more than once per second.
  1518  //
  1519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1520  // with awserr.Error's Code and Message methods to get detailed information about
  1521  // the error.
  1522  //
  1523  // See the AWS API reference guide for Amazon Simple Email Service's
  1524  // API operation DeleteCustomVerificationEmailTemplate for usage and error information.
  1525  //
  1526  // Returned Error Types:
  1527  //   * NotFoundException
  1528  //   The resource you attempted to access doesn't exist.
  1529  //
  1530  //   * TooManyRequestsException
  1531  //   Too many requests have been made to the operation.
  1532  //
  1533  //   * BadRequestException
  1534  //   The input you provided is invalid.
  1535  //
  1536  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteCustomVerificationEmailTemplate
  1537  func (c *SESV2) DeleteCustomVerificationEmailTemplate(input *DeleteCustomVerificationEmailTemplateInput) (*DeleteCustomVerificationEmailTemplateOutput, error) {
  1538  	req, out := c.DeleteCustomVerificationEmailTemplateRequest(input)
  1539  	return out, req.Send()
  1540  }
  1541  
  1542  // DeleteCustomVerificationEmailTemplateWithContext is the same as DeleteCustomVerificationEmailTemplate with the addition of
  1543  // the ability to pass a context and additional request options.
  1544  //
  1545  // See DeleteCustomVerificationEmailTemplate for details on how to use this API operation.
  1546  //
  1547  // The context must be non-nil and will be used for request cancellation. If
  1548  // the context is nil a panic will occur. In the future the SDK may create
  1549  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1550  // for more information on using Contexts.
  1551  func (c *SESV2) DeleteCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *DeleteCustomVerificationEmailTemplateInput, opts ...request.Option) (*DeleteCustomVerificationEmailTemplateOutput, error) {
  1552  	req, out := c.DeleteCustomVerificationEmailTemplateRequest(input)
  1553  	req.SetContext(ctx)
  1554  	req.ApplyOptions(opts...)
  1555  	return out, req.Send()
  1556  }
  1557  
  1558  const opDeleteDedicatedIpPool = "DeleteDedicatedIpPool"
  1559  
  1560  // DeleteDedicatedIpPoolRequest generates a "aws/request.Request" representing the
  1561  // client's request for the DeleteDedicatedIpPool operation. The "output" return
  1562  // value will be populated with the request's response once the request completes
  1563  // successfully.
  1564  //
  1565  // Use "Send" method on the returned Request to send the API call to the service.
  1566  // the "output" return value is not valid until after Send returns without error.
  1567  //
  1568  // See DeleteDedicatedIpPool for more information on using the DeleteDedicatedIpPool
  1569  // API call, and error handling.
  1570  //
  1571  // This method is useful when you want to inject custom logic or configuration
  1572  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1573  //
  1574  //
  1575  //    // Example sending a request using the DeleteDedicatedIpPoolRequest method.
  1576  //    req, resp := client.DeleteDedicatedIpPoolRequest(params)
  1577  //
  1578  //    err := req.Send()
  1579  //    if err == nil { // resp is now filled
  1580  //        fmt.Println(resp)
  1581  //    }
  1582  //
  1583  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool
  1584  func (c *SESV2) DeleteDedicatedIpPoolRequest(input *DeleteDedicatedIpPoolInput) (req *request.Request, output *DeleteDedicatedIpPoolOutput) {
  1585  	op := &request.Operation{
  1586  		Name:       opDeleteDedicatedIpPool,
  1587  		HTTPMethod: "DELETE",
  1588  		HTTPPath:   "/v2/email/dedicated-ip-pools/{PoolName}",
  1589  	}
  1590  
  1591  	if input == nil {
  1592  		input = &DeleteDedicatedIpPoolInput{}
  1593  	}
  1594  
  1595  	output = &DeleteDedicatedIpPoolOutput{}
  1596  	req = c.newRequest(op, input, output)
  1597  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1598  	return
  1599  }
  1600  
  1601  // DeleteDedicatedIpPool API operation for Amazon Simple Email Service.
  1602  //
  1603  // Delete a dedicated IP pool.
  1604  //
  1605  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1606  // with awserr.Error's Code and Message methods to get detailed information about
  1607  // the error.
  1608  //
  1609  // See the AWS API reference guide for Amazon Simple Email Service's
  1610  // API operation DeleteDedicatedIpPool for usage and error information.
  1611  //
  1612  // Returned Error Types:
  1613  //   * NotFoundException
  1614  //   The resource you attempted to access doesn't exist.
  1615  //
  1616  //   * TooManyRequestsException
  1617  //   Too many requests have been made to the operation.
  1618  //
  1619  //   * BadRequestException
  1620  //   The input you provided is invalid.
  1621  //
  1622  //   * ConcurrentModificationException
  1623  //   The resource is being modified by another operation or thread.
  1624  //
  1625  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool
  1626  func (c *SESV2) DeleteDedicatedIpPool(input *DeleteDedicatedIpPoolInput) (*DeleteDedicatedIpPoolOutput, error) {
  1627  	req, out := c.DeleteDedicatedIpPoolRequest(input)
  1628  	return out, req.Send()
  1629  }
  1630  
  1631  // DeleteDedicatedIpPoolWithContext is the same as DeleteDedicatedIpPool with the addition of
  1632  // the ability to pass a context and additional request options.
  1633  //
  1634  // See DeleteDedicatedIpPool for details on how to use this API operation.
  1635  //
  1636  // The context must be non-nil and will be used for request cancellation. If
  1637  // the context is nil a panic will occur. In the future the SDK may create
  1638  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1639  // for more information on using Contexts.
  1640  func (c *SESV2) DeleteDedicatedIpPoolWithContext(ctx aws.Context, input *DeleteDedicatedIpPoolInput, opts ...request.Option) (*DeleteDedicatedIpPoolOutput, error) {
  1641  	req, out := c.DeleteDedicatedIpPoolRequest(input)
  1642  	req.SetContext(ctx)
  1643  	req.ApplyOptions(opts...)
  1644  	return out, req.Send()
  1645  }
  1646  
  1647  const opDeleteEmailIdentity = "DeleteEmailIdentity"
  1648  
  1649  // DeleteEmailIdentityRequest generates a "aws/request.Request" representing the
  1650  // client's request for the DeleteEmailIdentity operation. The "output" return
  1651  // value will be populated with the request's response once the request completes
  1652  // successfully.
  1653  //
  1654  // Use "Send" method on the returned Request to send the API call to the service.
  1655  // the "output" return value is not valid until after Send returns without error.
  1656  //
  1657  // See DeleteEmailIdentity for more information on using the DeleteEmailIdentity
  1658  // API call, and error handling.
  1659  //
  1660  // This method is useful when you want to inject custom logic or configuration
  1661  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1662  //
  1663  //
  1664  //    // Example sending a request using the DeleteEmailIdentityRequest method.
  1665  //    req, resp := client.DeleteEmailIdentityRequest(params)
  1666  //
  1667  //    err := req.Send()
  1668  //    if err == nil { // resp is now filled
  1669  //        fmt.Println(resp)
  1670  //    }
  1671  //
  1672  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentity
  1673  func (c *SESV2) DeleteEmailIdentityRequest(input *DeleteEmailIdentityInput) (req *request.Request, output *DeleteEmailIdentityOutput) {
  1674  	op := &request.Operation{
  1675  		Name:       opDeleteEmailIdentity,
  1676  		HTTPMethod: "DELETE",
  1677  		HTTPPath:   "/v2/email/identities/{EmailIdentity}",
  1678  	}
  1679  
  1680  	if input == nil {
  1681  		input = &DeleteEmailIdentityInput{}
  1682  	}
  1683  
  1684  	output = &DeleteEmailIdentityOutput{}
  1685  	req = c.newRequest(op, input, output)
  1686  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1687  	return
  1688  }
  1689  
  1690  // DeleteEmailIdentity API operation for Amazon Simple Email Service.
  1691  //
  1692  // Deletes an email identity. An identity can be either an email address or
  1693  // a domain name.
  1694  //
  1695  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1696  // with awserr.Error's Code and Message methods to get detailed information about
  1697  // the error.
  1698  //
  1699  // See the AWS API reference guide for Amazon Simple Email Service's
  1700  // API operation DeleteEmailIdentity for usage and error information.
  1701  //
  1702  // Returned Error Types:
  1703  //   * NotFoundException
  1704  //   The resource you attempted to access doesn't exist.
  1705  //
  1706  //   * TooManyRequestsException
  1707  //   Too many requests have been made to the operation.
  1708  //
  1709  //   * BadRequestException
  1710  //   The input you provided is invalid.
  1711  //
  1712  //   * ConcurrentModificationException
  1713  //   The resource is being modified by another operation or thread.
  1714  //
  1715  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentity
  1716  func (c *SESV2) DeleteEmailIdentity(input *DeleteEmailIdentityInput) (*DeleteEmailIdentityOutput, error) {
  1717  	req, out := c.DeleteEmailIdentityRequest(input)
  1718  	return out, req.Send()
  1719  }
  1720  
  1721  // DeleteEmailIdentityWithContext is the same as DeleteEmailIdentity with the addition of
  1722  // the ability to pass a context and additional request options.
  1723  //
  1724  // See DeleteEmailIdentity for details on how to use this API operation.
  1725  //
  1726  // The context must be non-nil and will be used for request cancellation. If
  1727  // the context is nil a panic will occur. In the future the SDK may create
  1728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1729  // for more information on using Contexts.
  1730  func (c *SESV2) DeleteEmailIdentityWithContext(ctx aws.Context, input *DeleteEmailIdentityInput, opts ...request.Option) (*DeleteEmailIdentityOutput, error) {
  1731  	req, out := c.DeleteEmailIdentityRequest(input)
  1732  	req.SetContext(ctx)
  1733  	req.ApplyOptions(opts...)
  1734  	return out, req.Send()
  1735  }
  1736  
  1737  const opDeleteEmailIdentityPolicy = "DeleteEmailIdentityPolicy"
  1738  
  1739  // DeleteEmailIdentityPolicyRequest generates a "aws/request.Request" representing the
  1740  // client's request for the DeleteEmailIdentityPolicy operation. The "output" return
  1741  // value will be populated with the request's response once the request completes
  1742  // successfully.
  1743  //
  1744  // Use "Send" method on the returned Request to send the API call to the service.
  1745  // the "output" return value is not valid until after Send returns without error.
  1746  //
  1747  // See DeleteEmailIdentityPolicy for more information on using the DeleteEmailIdentityPolicy
  1748  // API call, and error handling.
  1749  //
  1750  // This method is useful when you want to inject custom logic or configuration
  1751  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1752  //
  1753  //
  1754  //    // Example sending a request using the DeleteEmailIdentityPolicyRequest method.
  1755  //    req, resp := client.DeleteEmailIdentityPolicyRequest(params)
  1756  //
  1757  //    err := req.Send()
  1758  //    if err == nil { // resp is now filled
  1759  //        fmt.Println(resp)
  1760  //    }
  1761  //
  1762  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentityPolicy
  1763  func (c *SESV2) DeleteEmailIdentityPolicyRequest(input *DeleteEmailIdentityPolicyInput) (req *request.Request, output *DeleteEmailIdentityPolicyOutput) {
  1764  	op := &request.Operation{
  1765  		Name:       opDeleteEmailIdentityPolicy,
  1766  		HTTPMethod: "DELETE",
  1767  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}",
  1768  	}
  1769  
  1770  	if input == nil {
  1771  		input = &DeleteEmailIdentityPolicyInput{}
  1772  	}
  1773  
  1774  	output = &DeleteEmailIdentityPolicyOutput{}
  1775  	req = c.newRequest(op, input, output)
  1776  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1777  	return
  1778  }
  1779  
  1780  // DeleteEmailIdentityPolicy API operation for Amazon Simple Email Service.
  1781  //
  1782  // Deletes the specified sending authorization policy for the given identity
  1783  // (an email address or a domain). This API returns successfully even if a policy
  1784  // with the specified name does not exist.
  1785  //
  1786  // This API is for the identity owner only. If you have not verified the identity,
  1787  // this API will return an error.
  1788  //
  1789  // Sending authorization is a feature that enables an identity owner to authorize
  1790  // other senders to use its identities. For information about using sending
  1791  // authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
  1792  //
  1793  // You can execute this operation no more than once per second.
  1794  //
  1795  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1796  // with awserr.Error's Code and Message methods to get detailed information about
  1797  // the error.
  1798  //
  1799  // See the AWS API reference guide for Amazon Simple Email Service's
  1800  // API operation DeleteEmailIdentityPolicy for usage and error information.
  1801  //
  1802  // Returned Error Types:
  1803  //   * NotFoundException
  1804  //   The resource you attempted to access doesn't exist.
  1805  //
  1806  //   * TooManyRequestsException
  1807  //   Too many requests have been made to the operation.
  1808  //
  1809  //   * BadRequestException
  1810  //   The input you provided is invalid.
  1811  //
  1812  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentityPolicy
  1813  func (c *SESV2) DeleteEmailIdentityPolicy(input *DeleteEmailIdentityPolicyInput) (*DeleteEmailIdentityPolicyOutput, error) {
  1814  	req, out := c.DeleteEmailIdentityPolicyRequest(input)
  1815  	return out, req.Send()
  1816  }
  1817  
  1818  // DeleteEmailIdentityPolicyWithContext is the same as DeleteEmailIdentityPolicy with the addition of
  1819  // the ability to pass a context and additional request options.
  1820  //
  1821  // See DeleteEmailIdentityPolicy for details on how to use this API operation.
  1822  //
  1823  // The context must be non-nil and will be used for request cancellation. If
  1824  // the context is nil a panic will occur. In the future the SDK may create
  1825  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1826  // for more information on using Contexts.
  1827  func (c *SESV2) DeleteEmailIdentityPolicyWithContext(ctx aws.Context, input *DeleteEmailIdentityPolicyInput, opts ...request.Option) (*DeleteEmailIdentityPolicyOutput, error) {
  1828  	req, out := c.DeleteEmailIdentityPolicyRequest(input)
  1829  	req.SetContext(ctx)
  1830  	req.ApplyOptions(opts...)
  1831  	return out, req.Send()
  1832  }
  1833  
  1834  const opDeleteEmailTemplate = "DeleteEmailTemplate"
  1835  
  1836  // DeleteEmailTemplateRequest generates a "aws/request.Request" representing the
  1837  // client's request for the DeleteEmailTemplate operation. The "output" return
  1838  // value will be populated with the request's response once the request completes
  1839  // successfully.
  1840  //
  1841  // Use "Send" method on the returned Request to send the API call to the service.
  1842  // the "output" return value is not valid until after Send returns without error.
  1843  //
  1844  // See DeleteEmailTemplate for more information on using the DeleteEmailTemplate
  1845  // API call, and error handling.
  1846  //
  1847  // This method is useful when you want to inject custom logic or configuration
  1848  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1849  //
  1850  //
  1851  //    // Example sending a request using the DeleteEmailTemplateRequest method.
  1852  //    req, resp := client.DeleteEmailTemplateRequest(params)
  1853  //
  1854  //    err := req.Send()
  1855  //    if err == nil { // resp is now filled
  1856  //        fmt.Println(resp)
  1857  //    }
  1858  //
  1859  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailTemplate
  1860  func (c *SESV2) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) {
  1861  	op := &request.Operation{
  1862  		Name:       opDeleteEmailTemplate,
  1863  		HTTPMethod: "DELETE",
  1864  		HTTPPath:   "/v2/email/templates/{TemplateName}",
  1865  	}
  1866  
  1867  	if input == nil {
  1868  		input = &DeleteEmailTemplateInput{}
  1869  	}
  1870  
  1871  	output = &DeleteEmailTemplateOutput{}
  1872  	req = c.newRequest(op, input, output)
  1873  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1874  	return
  1875  }
  1876  
  1877  // DeleteEmailTemplate API operation for Amazon Simple Email Service.
  1878  //
  1879  // Deletes an email template.
  1880  //
  1881  // You can execute this operation no more than once per second.
  1882  //
  1883  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1884  // with awserr.Error's Code and Message methods to get detailed information about
  1885  // the error.
  1886  //
  1887  // See the AWS API reference guide for Amazon Simple Email Service's
  1888  // API operation DeleteEmailTemplate for usage and error information.
  1889  //
  1890  // Returned Error Types:
  1891  //   * NotFoundException
  1892  //   The resource you attempted to access doesn't exist.
  1893  //
  1894  //   * TooManyRequestsException
  1895  //   Too many requests have been made to the operation.
  1896  //
  1897  //   * BadRequestException
  1898  //   The input you provided is invalid.
  1899  //
  1900  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailTemplate
  1901  func (c *SESV2) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) {
  1902  	req, out := c.DeleteEmailTemplateRequest(input)
  1903  	return out, req.Send()
  1904  }
  1905  
  1906  // DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of
  1907  // the ability to pass a context and additional request options.
  1908  //
  1909  // See DeleteEmailTemplate for details on how to use this API operation.
  1910  //
  1911  // The context must be non-nil and will be used for request cancellation. If
  1912  // the context is nil a panic will occur. In the future the SDK may create
  1913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1914  // for more information on using Contexts.
  1915  func (c *SESV2) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) {
  1916  	req, out := c.DeleteEmailTemplateRequest(input)
  1917  	req.SetContext(ctx)
  1918  	req.ApplyOptions(opts...)
  1919  	return out, req.Send()
  1920  }
  1921  
  1922  const opDeleteSuppressedDestination = "DeleteSuppressedDestination"
  1923  
  1924  // DeleteSuppressedDestinationRequest generates a "aws/request.Request" representing the
  1925  // client's request for the DeleteSuppressedDestination operation. The "output" return
  1926  // value will be populated with the request's response once the request completes
  1927  // successfully.
  1928  //
  1929  // Use "Send" method on the returned Request to send the API call to the service.
  1930  // the "output" return value is not valid until after Send returns without error.
  1931  //
  1932  // See DeleteSuppressedDestination for more information on using the DeleteSuppressedDestination
  1933  // API call, and error handling.
  1934  //
  1935  // This method is useful when you want to inject custom logic or configuration
  1936  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1937  //
  1938  //
  1939  //    // Example sending a request using the DeleteSuppressedDestinationRequest method.
  1940  //    req, resp := client.DeleteSuppressedDestinationRequest(params)
  1941  //
  1942  //    err := req.Send()
  1943  //    if err == nil { // resp is now filled
  1944  //        fmt.Println(resp)
  1945  //    }
  1946  //
  1947  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteSuppressedDestination
  1948  func (c *SESV2) DeleteSuppressedDestinationRequest(input *DeleteSuppressedDestinationInput) (req *request.Request, output *DeleteSuppressedDestinationOutput) {
  1949  	op := &request.Operation{
  1950  		Name:       opDeleteSuppressedDestination,
  1951  		HTTPMethod: "DELETE",
  1952  		HTTPPath:   "/v2/email/suppression/addresses/{EmailAddress}",
  1953  	}
  1954  
  1955  	if input == nil {
  1956  		input = &DeleteSuppressedDestinationInput{}
  1957  	}
  1958  
  1959  	output = &DeleteSuppressedDestinationOutput{}
  1960  	req = c.newRequest(op, input, output)
  1961  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1962  	return
  1963  }
  1964  
  1965  // DeleteSuppressedDestination API operation for Amazon Simple Email Service.
  1966  //
  1967  // Removes an email address from the suppression list for your account.
  1968  //
  1969  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1970  // with awserr.Error's Code and Message methods to get detailed information about
  1971  // the error.
  1972  //
  1973  // See the AWS API reference guide for Amazon Simple Email Service's
  1974  // API operation DeleteSuppressedDestination for usage and error information.
  1975  //
  1976  // Returned Error Types:
  1977  //   * NotFoundException
  1978  //   The resource you attempted to access doesn't exist.
  1979  //
  1980  //   * BadRequestException
  1981  //   The input you provided is invalid.
  1982  //
  1983  //   * TooManyRequestsException
  1984  //   Too many requests have been made to the operation.
  1985  //
  1986  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteSuppressedDestination
  1987  func (c *SESV2) DeleteSuppressedDestination(input *DeleteSuppressedDestinationInput) (*DeleteSuppressedDestinationOutput, error) {
  1988  	req, out := c.DeleteSuppressedDestinationRequest(input)
  1989  	return out, req.Send()
  1990  }
  1991  
  1992  // DeleteSuppressedDestinationWithContext is the same as DeleteSuppressedDestination with the addition of
  1993  // the ability to pass a context and additional request options.
  1994  //
  1995  // See DeleteSuppressedDestination for details on how to use this API operation.
  1996  //
  1997  // The context must be non-nil and will be used for request cancellation. If
  1998  // the context is nil a panic will occur. In the future the SDK may create
  1999  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2000  // for more information on using Contexts.
  2001  func (c *SESV2) DeleteSuppressedDestinationWithContext(ctx aws.Context, input *DeleteSuppressedDestinationInput, opts ...request.Option) (*DeleteSuppressedDestinationOutput, error) {
  2002  	req, out := c.DeleteSuppressedDestinationRequest(input)
  2003  	req.SetContext(ctx)
  2004  	req.ApplyOptions(opts...)
  2005  	return out, req.Send()
  2006  }
  2007  
  2008  const opGetAccount = "GetAccount"
  2009  
  2010  // GetAccountRequest generates a "aws/request.Request" representing the
  2011  // client's request for the GetAccount operation. The "output" return
  2012  // value will be populated with the request's response once the request completes
  2013  // successfully.
  2014  //
  2015  // Use "Send" method on the returned Request to send the API call to the service.
  2016  // the "output" return value is not valid until after Send returns without error.
  2017  //
  2018  // See GetAccount for more information on using the GetAccount
  2019  // API call, and error handling.
  2020  //
  2021  // This method is useful when you want to inject custom logic or configuration
  2022  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2023  //
  2024  //
  2025  //    // Example sending a request using the GetAccountRequest method.
  2026  //    req, resp := client.GetAccountRequest(params)
  2027  //
  2028  //    err := req.Send()
  2029  //    if err == nil { // resp is now filled
  2030  //        fmt.Println(resp)
  2031  //    }
  2032  //
  2033  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetAccount
  2034  func (c *SESV2) GetAccountRequest(input *GetAccountInput) (req *request.Request, output *GetAccountOutput) {
  2035  	op := &request.Operation{
  2036  		Name:       opGetAccount,
  2037  		HTTPMethod: "GET",
  2038  		HTTPPath:   "/v2/email/account",
  2039  	}
  2040  
  2041  	if input == nil {
  2042  		input = &GetAccountInput{}
  2043  	}
  2044  
  2045  	output = &GetAccountOutput{}
  2046  	req = c.newRequest(op, input, output)
  2047  	return
  2048  }
  2049  
  2050  // GetAccount API operation for Amazon Simple Email Service.
  2051  //
  2052  // Obtain information about the email-sending status and capabilities of your
  2053  // Amazon SES account in the current Amazon Web Services Region.
  2054  //
  2055  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2056  // with awserr.Error's Code and Message methods to get detailed information about
  2057  // the error.
  2058  //
  2059  // See the AWS API reference guide for Amazon Simple Email Service's
  2060  // API operation GetAccount for usage and error information.
  2061  //
  2062  // Returned Error Types:
  2063  //   * TooManyRequestsException
  2064  //   Too many requests have been made to the operation.
  2065  //
  2066  //   * BadRequestException
  2067  //   The input you provided is invalid.
  2068  //
  2069  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetAccount
  2070  func (c *SESV2) GetAccount(input *GetAccountInput) (*GetAccountOutput, error) {
  2071  	req, out := c.GetAccountRequest(input)
  2072  	return out, req.Send()
  2073  }
  2074  
  2075  // GetAccountWithContext is the same as GetAccount with the addition of
  2076  // the ability to pass a context and additional request options.
  2077  //
  2078  // See GetAccount for details on how to use this API operation.
  2079  //
  2080  // The context must be non-nil and will be used for request cancellation. If
  2081  // the context is nil a panic will occur. In the future the SDK may create
  2082  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2083  // for more information on using Contexts.
  2084  func (c *SESV2) GetAccountWithContext(ctx aws.Context, input *GetAccountInput, opts ...request.Option) (*GetAccountOutput, error) {
  2085  	req, out := c.GetAccountRequest(input)
  2086  	req.SetContext(ctx)
  2087  	req.ApplyOptions(opts...)
  2088  	return out, req.Send()
  2089  }
  2090  
  2091  const opGetBlacklistReports = "GetBlacklistReports"
  2092  
  2093  // GetBlacklistReportsRequest generates a "aws/request.Request" representing the
  2094  // client's request for the GetBlacklistReports operation. The "output" return
  2095  // value will be populated with the request's response once the request completes
  2096  // successfully.
  2097  //
  2098  // Use "Send" method on the returned Request to send the API call to the service.
  2099  // the "output" return value is not valid until after Send returns without error.
  2100  //
  2101  // See GetBlacklistReports for more information on using the GetBlacklistReports
  2102  // API call, and error handling.
  2103  //
  2104  // This method is useful when you want to inject custom logic or configuration
  2105  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2106  //
  2107  //
  2108  //    // Example sending a request using the GetBlacklistReportsRequest method.
  2109  //    req, resp := client.GetBlacklistReportsRequest(params)
  2110  //
  2111  //    err := req.Send()
  2112  //    if err == nil { // resp is now filled
  2113  //        fmt.Println(resp)
  2114  //    }
  2115  //
  2116  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetBlacklistReports
  2117  func (c *SESV2) GetBlacklistReportsRequest(input *GetBlacklistReportsInput) (req *request.Request, output *GetBlacklistReportsOutput) {
  2118  	op := &request.Operation{
  2119  		Name:       opGetBlacklistReports,
  2120  		HTTPMethod: "GET",
  2121  		HTTPPath:   "/v2/email/deliverability-dashboard/blacklist-report",
  2122  	}
  2123  
  2124  	if input == nil {
  2125  		input = &GetBlacklistReportsInput{}
  2126  	}
  2127  
  2128  	output = &GetBlacklistReportsOutput{}
  2129  	req = c.newRequest(op, input, output)
  2130  	return
  2131  }
  2132  
  2133  // GetBlacklistReports API operation for Amazon Simple Email Service.
  2134  //
  2135  // Retrieve a list of the blacklists that your dedicated IP addresses appear
  2136  // on.
  2137  //
  2138  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2139  // with awserr.Error's Code and Message methods to get detailed information about
  2140  // the error.
  2141  //
  2142  // See the AWS API reference guide for Amazon Simple Email Service's
  2143  // API operation GetBlacklistReports for usage and error information.
  2144  //
  2145  // Returned Error Types:
  2146  //   * TooManyRequestsException
  2147  //   Too many requests have been made to the operation.
  2148  //
  2149  //   * NotFoundException
  2150  //   The resource you attempted to access doesn't exist.
  2151  //
  2152  //   * BadRequestException
  2153  //   The input you provided is invalid.
  2154  //
  2155  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetBlacklistReports
  2156  func (c *SESV2) GetBlacklistReports(input *GetBlacklistReportsInput) (*GetBlacklistReportsOutput, error) {
  2157  	req, out := c.GetBlacklistReportsRequest(input)
  2158  	return out, req.Send()
  2159  }
  2160  
  2161  // GetBlacklistReportsWithContext is the same as GetBlacklistReports with the addition of
  2162  // the ability to pass a context and additional request options.
  2163  //
  2164  // See GetBlacklistReports for details on how to use this API operation.
  2165  //
  2166  // The context must be non-nil and will be used for request cancellation. If
  2167  // the context is nil a panic will occur. In the future the SDK may create
  2168  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2169  // for more information on using Contexts.
  2170  func (c *SESV2) GetBlacklistReportsWithContext(ctx aws.Context, input *GetBlacklistReportsInput, opts ...request.Option) (*GetBlacklistReportsOutput, error) {
  2171  	req, out := c.GetBlacklistReportsRequest(input)
  2172  	req.SetContext(ctx)
  2173  	req.ApplyOptions(opts...)
  2174  	return out, req.Send()
  2175  }
  2176  
  2177  const opGetConfigurationSet = "GetConfigurationSet"
  2178  
  2179  // GetConfigurationSetRequest generates a "aws/request.Request" representing the
  2180  // client's request for the GetConfigurationSet operation. The "output" return
  2181  // value will be populated with the request's response once the request completes
  2182  // successfully.
  2183  //
  2184  // Use "Send" method on the returned Request to send the API call to the service.
  2185  // the "output" return value is not valid until after Send returns without error.
  2186  //
  2187  // See GetConfigurationSet for more information on using the GetConfigurationSet
  2188  // API call, and error handling.
  2189  //
  2190  // This method is useful when you want to inject custom logic or configuration
  2191  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2192  //
  2193  //
  2194  //    // Example sending a request using the GetConfigurationSetRequest method.
  2195  //    req, resp := client.GetConfigurationSetRequest(params)
  2196  //
  2197  //    err := req.Send()
  2198  //    if err == nil { // resp is now filled
  2199  //        fmt.Println(resp)
  2200  //    }
  2201  //
  2202  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetConfigurationSet
  2203  func (c *SESV2) GetConfigurationSetRequest(input *GetConfigurationSetInput) (req *request.Request, output *GetConfigurationSetOutput) {
  2204  	op := &request.Operation{
  2205  		Name:       opGetConfigurationSet,
  2206  		HTTPMethod: "GET",
  2207  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}",
  2208  	}
  2209  
  2210  	if input == nil {
  2211  		input = &GetConfigurationSetInput{}
  2212  	}
  2213  
  2214  	output = &GetConfigurationSetOutput{}
  2215  	req = c.newRequest(op, input, output)
  2216  	return
  2217  }
  2218  
  2219  // GetConfigurationSet API operation for Amazon Simple Email Service.
  2220  //
  2221  // Get information about an existing configuration set, including the dedicated
  2222  // IP pool that it's associated with, whether or not it's enabled for sending
  2223  // email, and more.
  2224  //
  2225  // Configuration sets are groups of rules that you can apply to the emails you
  2226  // send. You apply a configuration set to an email by including a reference
  2227  // to the configuration set in the headers of the email. When you apply a configuration
  2228  // set to an email, all of the rules in that configuration set are applied to
  2229  // the email.
  2230  //
  2231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2232  // with awserr.Error's Code and Message methods to get detailed information about
  2233  // the error.
  2234  //
  2235  // See the AWS API reference guide for Amazon Simple Email Service's
  2236  // API operation GetConfigurationSet for usage and error information.
  2237  //
  2238  // Returned Error Types:
  2239  //   * NotFoundException
  2240  //   The resource you attempted to access doesn't exist.
  2241  //
  2242  //   * TooManyRequestsException
  2243  //   Too many requests have been made to the operation.
  2244  //
  2245  //   * BadRequestException
  2246  //   The input you provided is invalid.
  2247  //
  2248  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetConfigurationSet
  2249  func (c *SESV2) GetConfigurationSet(input *GetConfigurationSetInput) (*GetConfigurationSetOutput, error) {
  2250  	req, out := c.GetConfigurationSetRequest(input)
  2251  	return out, req.Send()
  2252  }
  2253  
  2254  // GetConfigurationSetWithContext is the same as GetConfigurationSet with the addition of
  2255  // the ability to pass a context and additional request options.
  2256  //
  2257  // See GetConfigurationSet for details on how to use this API operation.
  2258  //
  2259  // The context must be non-nil and will be used for request cancellation. If
  2260  // the context is nil a panic will occur. In the future the SDK may create
  2261  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2262  // for more information on using Contexts.
  2263  func (c *SESV2) GetConfigurationSetWithContext(ctx aws.Context, input *GetConfigurationSetInput, opts ...request.Option) (*GetConfigurationSetOutput, error) {
  2264  	req, out := c.GetConfigurationSetRequest(input)
  2265  	req.SetContext(ctx)
  2266  	req.ApplyOptions(opts...)
  2267  	return out, req.Send()
  2268  }
  2269  
  2270  const opGetConfigurationSetEventDestinations = "GetConfigurationSetEventDestinations"
  2271  
  2272  // GetConfigurationSetEventDestinationsRequest generates a "aws/request.Request" representing the
  2273  // client's request for the GetConfigurationSetEventDestinations operation. The "output" return
  2274  // value will be populated with the request's response once the request completes
  2275  // successfully.
  2276  //
  2277  // Use "Send" method on the returned Request to send the API call to the service.
  2278  // the "output" return value is not valid until after Send returns without error.
  2279  //
  2280  // See GetConfigurationSetEventDestinations for more information on using the GetConfigurationSetEventDestinations
  2281  // API call, and error handling.
  2282  //
  2283  // This method is useful when you want to inject custom logic or configuration
  2284  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2285  //
  2286  //
  2287  //    // Example sending a request using the GetConfigurationSetEventDestinationsRequest method.
  2288  //    req, resp := client.GetConfigurationSetEventDestinationsRequest(params)
  2289  //
  2290  //    err := req.Send()
  2291  //    if err == nil { // resp is now filled
  2292  //        fmt.Println(resp)
  2293  //    }
  2294  //
  2295  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetConfigurationSetEventDestinations
  2296  func (c *SESV2) GetConfigurationSetEventDestinationsRequest(input *GetConfigurationSetEventDestinationsInput) (req *request.Request, output *GetConfigurationSetEventDestinationsOutput) {
  2297  	op := &request.Operation{
  2298  		Name:       opGetConfigurationSetEventDestinations,
  2299  		HTTPMethod: "GET",
  2300  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations",
  2301  	}
  2302  
  2303  	if input == nil {
  2304  		input = &GetConfigurationSetEventDestinationsInput{}
  2305  	}
  2306  
  2307  	output = &GetConfigurationSetEventDestinationsOutput{}
  2308  	req = c.newRequest(op, input, output)
  2309  	return
  2310  }
  2311  
  2312  // GetConfigurationSetEventDestinations API operation for Amazon Simple Email Service.
  2313  //
  2314  // Retrieve a list of event destinations that are associated with a configuration
  2315  // set.
  2316  //
  2317  // Events include message sends, deliveries, opens, clicks, bounces, and complaints.
  2318  // Event destinations are places that you can send information about these events
  2319  // to. For example, you can send event data to Amazon SNS to receive notifications
  2320  // when you receive bounces or complaints, or you can use Amazon Kinesis Data
  2321  // Firehose to stream data to Amazon S3 for long-term storage.
  2322  //
  2323  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2324  // with awserr.Error's Code and Message methods to get detailed information about
  2325  // the error.
  2326  //
  2327  // See the AWS API reference guide for Amazon Simple Email Service's
  2328  // API operation GetConfigurationSetEventDestinations for usage and error information.
  2329  //
  2330  // Returned Error Types:
  2331  //   * NotFoundException
  2332  //   The resource you attempted to access doesn't exist.
  2333  //
  2334  //   * TooManyRequestsException
  2335  //   Too many requests have been made to the operation.
  2336  //
  2337  //   * BadRequestException
  2338  //   The input you provided is invalid.
  2339  //
  2340  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetConfigurationSetEventDestinations
  2341  func (c *SESV2) GetConfigurationSetEventDestinations(input *GetConfigurationSetEventDestinationsInput) (*GetConfigurationSetEventDestinationsOutput, error) {
  2342  	req, out := c.GetConfigurationSetEventDestinationsRequest(input)
  2343  	return out, req.Send()
  2344  }
  2345  
  2346  // GetConfigurationSetEventDestinationsWithContext is the same as GetConfigurationSetEventDestinations with the addition of
  2347  // the ability to pass a context and additional request options.
  2348  //
  2349  // See GetConfigurationSetEventDestinations for details on how to use this API operation.
  2350  //
  2351  // The context must be non-nil and will be used for request cancellation. If
  2352  // the context is nil a panic will occur. In the future the SDK may create
  2353  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2354  // for more information on using Contexts.
  2355  func (c *SESV2) GetConfigurationSetEventDestinationsWithContext(ctx aws.Context, input *GetConfigurationSetEventDestinationsInput, opts ...request.Option) (*GetConfigurationSetEventDestinationsOutput, error) {
  2356  	req, out := c.GetConfigurationSetEventDestinationsRequest(input)
  2357  	req.SetContext(ctx)
  2358  	req.ApplyOptions(opts...)
  2359  	return out, req.Send()
  2360  }
  2361  
  2362  const opGetContact = "GetContact"
  2363  
  2364  // GetContactRequest generates a "aws/request.Request" representing the
  2365  // client's request for the GetContact operation. The "output" return
  2366  // value will be populated with the request's response once the request completes
  2367  // successfully.
  2368  //
  2369  // Use "Send" method on the returned Request to send the API call to the service.
  2370  // the "output" return value is not valid until after Send returns without error.
  2371  //
  2372  // See GetContact for more information on using the GetContact
  2373  // API call, and error handling.
  2374  //
  2375  // This method is useful when you want to inject custom logic or configuration
  2376  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2377  //
  2378  //
  2379  //    // Example sending a request using the GetContactRequest method.
  2380  //    req, resp := client.GetContactRequest(params)
  2381  //
  2382  //    err := req.Send()
  2383  //    if err == nil { // resp is now filled
  2384  //        fmt.Println(resp)
  2385  //    }
  2386  //
  2387  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContact
  2388  func (c *SESV2) GetContactRequest(input *GetContactInput) (req *request.Request, output *GetContactOutput) {
  2389  	op := &request.Operation{
  2390  		Name:       opGetContact,
  2391  		HTTPMethod: "GET",
  2392  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}",
  2393  	}
  2394  
  2395  	if input == nil {
  2396  		input = &GetContactInput{}
  2397  	}
  2398  
  2399  	output = &GetContactOutput{}
  2400  	req = c.newRequest(op, input, output)
  2401  	return
  2402  }
  2403  
  2404  // GetContact API operation for Amazon Simple Email Service.
  2405  //
  2406  // Returns a contact from a contact list.
  2407  //
  2408  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2409  // with awserr.Error's Code and Message methods to get detailed information about
  2410  // the error.
  2411  //
  2412  // See the AWS API reference guide for Amazon Simple Email Service's
  2413  // API operation GetContact for usage and error information.
  2414  //
  2415  // Returned Error Types:
  2416  //   * BadRequestException
  2417  //   The input you provided is invalid.
  2418  //
  2419  //   * TooManyRequestsException
  2420  //   Too many requests have been made to the operation.
  2421  //
  2422  //   * NotFoundException
  2423  //   The resource you attempted to access doesn't exist.
  2424  //
  2425  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContact
  2426  func (c *SESV2) GetContact(input *GetContactInput) (*GetContactOutput, error) {
  2427  	req, out := c.GetContactRequest(input)
  2428  	return out, req.Send()
  2429  }
  2430  
  2431  // GetContactWithContext is the same as GetContact with the addition of
  2432  // the ability to pass a context and additional request options.
  2433  //
  2434  // See GetContact for details on how to use this API operation.
  2435  //
  2436  // The context must be non-nil and will be used for request cancellation. If
  2437  // the context is nil a panic will occur. In the future the SDK may create
  2438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2439  // for more information on using Contexts.
  2440  func (c *SESV2) GetContactWithContext(ctx aws.Context, input *GetContactInput, opts ...request.Option) (*GetContactOutput, error) {
  2441  	req, out := c.GetContactRequest(input)
  2442  	req.SetContext(ctx)
  2443  	req.ApplyOptions(opts...)
  2444  	return out, req.Send()
  2445  }
  2446  
  2447  const opGetContactList = "GetContactList"
  2448  
  2449  // GetContactListRequest generates a "aws/request.Request" representing the
  2450  // client's request for the GetContactList operation. The "output" return
  2451  // value will be populated with the request's response once the request completes
  2452  // successfully.
  2453  //
  2454  // Use "Send" method on the returned Request to send the API call to the service.
  2455  // the "output" return value is not valid until after Send returns without error.
  2456  //
  2457  // See GetContactList for more information on using the GetContactList
  2458  // API call, and error handling.
  2459  //
  2460  // This method is useful when you want to inject custom logic or configuration
  2461  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2462  //
  2463  //
  2464  //    // Example sending a request using the GetContactListRequest method.
  2465  //    req, resp := client.GetContactListRequest(params)
  2466  //
  2467  //    err := req.Send()
  2468  //    if err == nil { // resp is now filled
  2469  //        fmt.Println(resp)
  2470  //    }
  2471  //
  2472  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactList
  2473  func (c *SESV2) GetContactListRequest(input *GetContactListInput) (req *request.Request, output *GetContactListOutput) {
  2474  	op := &request.Operation{
  2475  		Name:       opGetContactList,
  2476  		HTTPMethod: "GET",
  2477  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}",
  2478  	}
  2479  
  2480  	if input == nil {
  2481  		input = &GetContactListInput{}
  2482  	}
  2483  
  2484  	output = &GetContactListOutput{}
  2485  	req = c.newRequest(op, input, output)
  2486  	return
  2487  }
  2488  
  2489  // GetContactList API operation for Amazon Simple Email Service.
  2490  //
  2491  // Returns contact list metadata. It does not return any information about the
  2492  // contacts present in the list.
  2493  //
  2494  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2495  // with awserr.Error's Code and Message methods to get detailed information about
  2496  // the error.
  2497  //
  2498  // See the AWS API reference guide for Amazon Simple Email Service's
  2499  // API operation GetContactList for usage and error information.
  2500  //
  2501  // Returned Error Types:
  2502  //   * TooManyRequestsException
  2503  //   Too many requests have been made to the operation.
  2504  //
  2505  //   * NotFoundException
  2506  //   The resource you attempted to access doesn't exist.
  2507  //
  2508  //   * BadRequestException
  2509  //   The input you provided is invalid.
  2510  //
  2511  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetContactList
  2512  func (c *SESV2) GetContactList(input *GetContactListInput) (*GetContactListOutput, error) {
  2513  	req, out := c.GetContactListRequest(input)
  2514  	return out, req.Send()
  2515  }
  2516  
  2517  // GetContactListWithContext is the same as GetContactList with the addition of
  2518  // the ability to pass a context and additional request options.
  2519  //
  2520  // See GetContactList for details on how to use this API operation.
  2521  //
  2522  // The context must be non-nil and will be used for request cancellation. If
  2523  // the context is nil a panic will occur. In the future the SDK may create
  2524  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2525  // for more information on using Contexts.
  2526  func (c *SESV2) GetContactListWithContext(ctx aws.Context, input *GetContactListInput, opts ...request.Option) (*GetContactListOutput, error) {
  2527  	req, out := c.GetContactListRequest(input)
  2528  	req.SetContext(ctx)
  2529  	req.ApplyOptions(opts...)
  2530  	return out, req.Send()
  2531  }
  2532  
  2533  const opGetCustomVerificationEmailTemplate = "GetCustomVerificationEmailTemplate"
  2534  
  2535  // GetCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
  2536  // client's request for the GetCustomVerificationEmailTemplate operation. The "output" return
  2537  // value will be populated with the request's response once the request completes
  2538  // successfully.
  2539  //
  2540  // Use "Send" method on the returned Request to send the API call to the service.
  2541  // the "output" return value is not valid until after Send returns without error.
  2542  //
  2543  // See GetCustomVerificationEmailTemplate for more information on using the GetCustomVerificationEmailTemplate
  2544  // API call, and error handling.
  2545  //
  2546  // This method is useful when you want to inject custom logic or configuration
  2547  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2548  //
  2549  //
  2550  //    // Example sending a request using the GetCustomVerificationEmailTemplateRequest method.
  2551  //    req, resp := client.GetCustomVerificationEmailTemplateRequest(params)
  2552  //
  2553  //    err := req.Send()
  2554  //    if err == nil { // resp is now filled
  2555  //        fmt.Println(resp)
  2556  //    }
  2557  //
  2558  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetCustomVerificationEmailTemplate
  2559  func (c *SESV2) GetCustomVerificationEmailTemplateRequest(input *GetCustomVerificationEmailTemplateInput) (req *request.Request, output *GetCustomVerificationEmailTemplateOutput) {
  2560  	op := &request.Operation{
  2561  		Name:       opGetCustomVerificationEmailTemplate,
  2562  		HTTPMethod: "GET",
  2563  		HTTPPath:   "/v2/email/custom-verification-email-templates/{TemplateName}",
  2564  	}
  2565  
  2566  	if input == nil {
  2567  		input = &GetCustomVerificationEmailTemplateInput{}
  2568  	}
  2569  
  2570  	output = &GetCustomVerificationEmailTemplateOutput{}
  2571  	req = c.newRequest(op, input, output)
  2572  	return
  2573  }
  2574  
  2575  // GetCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
  2576  //
  2577  // Returns the custom email verification template for the template name you
  2578  // specify.
  2579  //
  2580  // For more information about custom verification email templates, see Using
  2581  // Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html)
  2582  // in the Amazon SES Developer Guide.
  2583  //
  2584  // You can execute this operation no more than once per second.
  2585  //
  2586  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2587  // with awserr.Error's Code and Message methods to get detailed information about
  2588  // the error.
  2589  //
  2590  // See the AWS API reference guide for Amazon Simple Email Service's
  2591  // API operation GetCustomVerificationEmailTemplate for usage and error information.
  2592  //
  2593  // Returned Error Types:
  2594  //   * NotFoundException
  2595  //   The resource you attempted to access doesn't exist.
  2596  //
  2597  //   * TooManyRequestsException
  2598  //   Too many requests have been made to the operation.
  2599  //
  2600  //   * BadRequestException
  2601  //   The input you provided is invalid.
  2602  //
  2603  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetCustomVerificationEmailTemplate
  2604  func (c *SESV2) GetCustomVerificationEmailTemplate(input *GetCustomVerificationEmailTemplateInput) (*GetCustomVerificationEmailTemplateOutput, error) {
  2605  	req, out := c.GetCustomVerificationEmailTemplateRequest(input)
  2606  	return out, req.Send()
  2607  }
  2608  
  2609  // GetCustomVerificationEmailTemplateWithContext is the same as GetCustomVerificationEmailTemplate with the addition of
  2610  // the ability to pass a context and additional request options.
  2611  //
  2612  // See GetCustomVerificationEmailTemplate for details on how to use this API operation.
  2613  //
  2614  // The context must be non-nil and will be used for request cancellation. If
  2615  // the context is nil a panic will occur. In the future the SDK may create
  2616  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2617  // for more information on using Contexts.
  2618  func (c *SESV2) GetCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *GetCustomVerificationEmailTemplateInput, opts ...request.Option) (*GetCustomVerificationEmailTemplateOutput, error) {
  2619  	req, out := c.GetCustomVerificationEmailTemplateRequest(input)
  2620  	req.SetContext(ctx)
  2621  	req.ApplyOptions(opts...)
  2622  	return out, req.Send()
  2623  }
  2624  
  2625  const opGetDedicatedIp = "GetDedicatedIp"
  2626  
  2627  // GetDedicatedIpRequest generates a "aws/request.Request" representing the
  2628  // client's request for the GetDedicatedIp operation. The "output" return
  2629  // value will be populated with the request's response once the request completes
  2630  // successfully.
  2631  //
  2632  // Use "Send" method on the returned Request to send the API call to the service.
  2633  // the "output" return value is not valid until after Send returns without error.
  2634  //
  2635  // See GetDedicatedIp for more information on using the GetDedicatedIp
  2636  // API call, and error handling.
  2637  //
  2638  // This method is useful when you want to inject custom logic or configuration
  2639  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2640  //
  2641  //
  2642  //    // Example sending a request using the GetDedicatedIpRequest method.
  2643  //    req, resp := client.GetDedicatedIpRequest(params)
  2644  //
  2645  //    err := req.Send()
  2646  //    if err == nil { // resp is now filled
  2647  //        fmt.Println(resp)
  2648  //    }
  2649  //
  2650  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp
  2651  func (c *SESV2) GetDedicatedIpRequest(input *GetDedicatedIpInput) (req *request.Request, output *GetDedicatedIpOutput) {
  2652  	op := &request.Operation{
  2653  		Name:       opGetDedicatedIp,
  2654  		HTTPMethod: "GET",
  2655  		HTTPPath:   "/v2/email/dedicated-ips/{IP}",
  2656  	}
  2657  
  2658  	if input == nil {
  2659  		input = &GetDedicatedIpInput{}
  2660  	}
  2661  
  2662  	output = &GetDedicatedIpOutput{}
  2663  	req = c.newRequest(op, input, output)
  2664  	return
  2665  }
  2666  
  2667  // GetDedicatedIp API operation for Amazon Simple Email Service.
  2668  //
  2669  // Get information about a dedicated IP address, including the name of the dedicated
  2670  // IP pool that it's associated with, as well information about the automatic
  2671  // warm-up process for the address.
  2672  //
  2673  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2674  // with awserr.Error's Code and Message methods to get detailed information about
  2675  // the error.
  2676  //
  2677  // See the AWS API reference guide for Amazon Simple Email Service's
  2678  // API operation GetDedicatedIp for usage and error information.
  2679  //
  2680  // Returned Error Types:
  2681  //   * TooManyRequestsException
  2682  //   Too many requests have been made to the operation.
  2683  //
  2684  //   * NotFoundException
  2685  //   The resource you attempted to access doesn't exist.
  2686  //
  2687  //   * BadRequestException
  2688  //   The input you provided is invalid.
  2689  //
  2690  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp
  2691  func (c *SESV2) GetDedicatedIp(input *GetDedicatedIpInput) (*GetDedicatedIpOutput, error) {
  2692  	req, out := c.GetDedicatedIpRequest(input)
  2693  	return out, req.Send()
  2694  }
  2695  
  2696  // GetDedicatedIpWithContext is the same as GetDedicatedIp with the addition of
  2697  // the ability to pass a context and additional request options.
  2698  //
  2699  // See GetDedicatedIp for details on how to use this API operation.
  2700  //
  2701  // The context must be non-nil and will be used for request cancellation. If
  2702  // the context is nil a panic will occur. In the future the SDK may create
  2703  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2704  // for more information on using Contexts.
  2705  func (c *SESV2) GetDedicatedIpWithContext(ctx aws.Context, input *GetDedicatedIpInput, opts ...request.Option) (*GetDedicatedIpOutput, error) {
  2706  	req, out := c.GetDedicatedIpRequest(input)
  2707  	req.SetContext(ctx)
  2708  	req.ApplyOptions(opts...)
  2709  	return out, req.Send()
  2710  }
  2711  
  2712  const opGetDedicatedIps = "GetDedicatedIps"
  2713  
  2714  // GetDedicatedIpsRequest generates a "aws/request.Request" representing the
  2715  // client's request for the GetDedicatedIps operation. The "output" return
  2716  // value will be populated with the request's response once the request completes
  2717  // successfully.
  2718  //
  2719  // Use "Send" method on the returned Request to send the API call to the service.
  2720  // the "output" return value is not valid until after Send returns without error.
  2721  //
  2722  // See GetDedicatedIps for more information on using the GetDedicatedIps
  2723  // API call, and error handling.
  2724  //
  2725  // This method is useful when you want to inject custom logic or configuration
  2726  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2727  //
  2728  //
  2729  //    // Example sending a request using the GetDedicatedIpsRequest method.
  2730  //    req, resp := client.GetDedicatedIpsRequest(params)
  2731  //
  2732  //    err := req.Send()
  2733  //    if err == nil { // resp is now filled
  2734  //        fmt.Println(resp)
  2735  //    }
  2736  //
  2737  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIps
  2738  func (c *SESV2) GetDedicatedIpsRequest(input *GetDedicatedIpsInput) (req *request.Request, output *GetDedicatedIpsOutput) {
  2739  	op := &request.Operation{
  2740  		Name:       opGetDedicatedIps,
  2741  		HTTPMethod: "GET",
  2742  		HTTPPath:   "/v2/email/dedicated-ips",
  2743  		Paginator: &request.Paginator{
  2744  			InputTokens:     []string{"NextToken"},
  2745  			OutputTokens:    []string{"NextToken"},
  2746  			LimitToken:      "PageSize",
  2747  			TruncationToken: "",
  2748  		},
  2749  	}
  2750  
  2751  	if input == nil {
  2752  		input = &GetDedicatedIpsInput{}
  2753  	}
  2754  
  2755  	output = &GetDedicatedIpsOutput{}
  2756  	req = c.newRequest(op, input, output)
  2757  	return
  2758  }
  2759  
  2760  // GetDedicatedIps API operation for Amazon Simple Email Service.
  2761  //
  2762  // List the dedicated IP addresses that are associated with your Amazon Web
  2763  // Services account.
  2764  //
  2765  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2766  // with awserr.Error's Code and Message methods to get detailed information about
  2767  // the error.
  2768  //
  2769  // See the AWS API reference guide for Amazon Simple Email Service's
  2770  // API operation GetDedicatedIps for usage and error information.
  2771  //
  2772  // Returned Error Types:
  2773  //   * TooManyRequestsException
  2774  //   Too many requests have been made to the operation.
  2775  //
  2776  //   * NotFoundException
  2777  //   The resource you attempted to access doesn't exist.
  2778  //
  2779  //   * BadRequestException
  2780  //   The input you provided is invalid.
  2781  //
  2782  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIps
  2783  func (c *SESV2) GetDedicatedIps(input *GetDedicatedIpsInput) (*GetDedicatedIpsOutput, error) {
  2784  	req, out := c.GetDedicatedIpsRequest(input)
  2785  	return out, req.Send()
  2786  }
  2787  
  2788  // GetDedicatedIpsWithContext is the same as GetDedicatedIps with the addition of
  2789  // the ability to pass a context and additional request options.
  2790  //
  2791  // See GetDedicatedIps for details on how to use this API operation.
  2792  //
  2793  // The context must be non-nil and will be used for request cancellation. If
  2794  // the context is nil a panic will occur. In the future the SDK may create
  2795  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2796  // for more information on using Contexts.
  2797  func (c *SESV2) GetDedicatedIpsWithContext(ctx aws.Context, input *GetDedicatedIpsInput, opts ...request.Option) (*GetDedicatedIpsOutput, error) {
  2798  	req, out := c.GetDedicatedIpsRequest(input)
  2799  	req.SetContext(ctx)
  2800  	req.ApplyOptions(opts...)
  2801  	return out, req.Send()
  2802  }
  2803  
  2804  // GetDedicatedIpsPages iterates over the pages of a GetDedicatedIps operation,
  2805  // calling the "fn" function with the response data for each page. To stop
  2806  // iterating, return false from the fn function.
  2807  //
  2808  // See GetDedicatedIps method for more information on how to use this operation.
  2809  //
  2810  // Note: This operation can generate multiple requests to a service.
  2811  //
  2812  //    // Example iterating over at most 3 pages of a GetDedicatedIps operation.
  2813  //    pageNum := 0
  2814  //    err := client.GetDedicatedIpsPages(params,
  2815  //        func(page *sesv2.GetDedicatedIpsOutput, lastPage bool) bool {
  2816  //            pageNum++
  2817  //            fmt.Println(page)
  2818  //            return pageNum <= 3
  2819  //        })
  2820  //
  2821  func (c *SESV2) GetDedicatedIpsPages(input *GetDedicatedIpsInput, fn func(*GetDedicatedIpsOutput, bool) bool) error {
  2822  	return c.GetDedicatedIpsPagesWithContext(aws.BackgroundContext(), input, fn)
  2823  }
  2824  
  2825  // GetDedicatedIpsPagesWithContext same as GetDedicatedIpsPages except
  2826  // it takes a Context and allows setting request options on the pages.
  2827  //
  2828  // The context must be non-nil and will be used for request cancellation. If
  2829  // the context is nil a panic will occur. In the future the SDK may create
  2830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2831  // for more information on using Contexts.
  2832  func (c *SESV2) GetDedicatedIpsPagesWithContext(ctx aws.Context, input *GetDedicatedIpsInput, fn func(*GetDedicatedIpsOutput, bool) bool, opts ...request.Option) error {
  2833  	p := request.Pagination{
  2834  		NewRequest: func() (*request.Request, error) {
  2835  			var inCpy *GetDedicatedIpsInput
  2836  			if input != nil {
  2837  				tmp := *input
  2838  				inCpy = &tmp
  2839  			}
  2840  			req, _ := c.GetDedicatedIpsRequest(inCpy)
  2841  			req.SetContext(ctx)
  2842  			req.ApplyOptions(opts...)
  2843  			return req, nil
  2844  		},
  2845  	}
  2846  
  2847  	for p.Next() {
  2848  		if !fn(p.Page().(*GetDedicatedIpsOutput), !p.HasNextPage()) {
  2849  			break
  2850  		}
  2851  	}
  2852  
  2853  	return p.Err()
  2854  }
  2855  
  2856  const opGetDeliverabilityDashboardOptions = "GetDeliverabilityDashboardOptions"
  2857  
  2858  // GetDeliverabilityDashboardOptionsRequest generates a "aws/request.Request" representing the
  2859  // client's request for the GetDeliverabilityDashboardOptions operation. The "output" return
  2860  // value will be populated with the request's response once the request completes
  2861  // successfully.
  2862  //
  2863  // Use "Send" method on the returned Request to send the API call to the service.
  2864  // the "output" return value is not valid until after Send returns without error.
  2865  //
  2866  // See GetDeliverabilityDashboardOptions for more information on using the GetDeliverabilityDashboardOptions
  2867  // API call, and error handling.
  2868  //
  2869  // This method is useful when you want to inject custom logic or configuration
  2870  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2871  //
  2872  //
  2873  //    // Example sending a request using the GetDeliverabilityDashboardOptionsRequest method.
  2874  //    req, resp := client.GetDeliverabilityDashboardOptionsRequest(params)
  2875  //
  2876  //    err := req.Send()
  2877  //    if err == nil { // resp is now filled
  2878  //        fmt.Println(resp)
  2879  //    }
  2880  //
  2881  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDeliverabilityDashboardOptions
  2882  func (c *SESV2) GetDeliverabilityDashboardOptionsRequest(input *GetDeliverabilityDashboardOptionsInput) (req *request.Request, output *GetDeliverabilityDashboardOptionsOutput) {
  2883  	op := &request.Operation{
  2884  		Name:       opGetDeliverabilityDashboardOptions,
  2885  		HTTPMethod: "GET",
  2886  		HTTPPath:   "/v2/email/deliverability-dashboard",
  2887  	}
  2888  
  2889  	if input == nil {
  2890  		input = &GetDeliverabilityDashboardOptionsInput{}
  2891  	}
  2892  
  2893  	output = &GetDeliverabilityDashboardOptionsOutput{}
  2894  	req = c.newRequest(op, input, output)
  2895  	return
  2896  }
  2897  
  2898  // GetDeliverabilityDashboardOptions API operation for Amazon Simple Email Service.
  2899  //
  2900  // Retrieve information about the status of the Deliverability dashboard for
  2901  // your account. When the Deliverability dashboard is enabled, you gain access
  2902  // to reputation, deliverability, and other metrics for the domains that you
  2903  // use to send email. You also gain the ability to perform predictive inbox
  2904  // placement tests.
  2905  //
  2906  // When you use the Deliverability dashboard, you pay a monthly subscription
  2907  // charge, in addition to any other fees that you accrue by using Amazon SES
  2908  // and other Amazon Web Services services. For more information about the features
  2909  // and cost of a Deliverability dashboard subscription, see Amazon SES Pricing
  2910  // (http://aws.amazon.com/ses/pricing/).
  2911  //
  2912  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2913  // with awserr.Error's Code and Message methods to get detailed information about
  2914  // the error.
  2915  //
  2916  // See the AWS API reference guide for Amazon Simple Email Service's
  2917  // API operation GetDeliverabilityDashboardOptions for usage and error information.
  2918  //
  2919  // Returned Error Types:
  2920  //   * TooManyRequestsException
  2921  //   Too many requests have been made to the operation.
  2922  //
  2923  //   * LimitExceededException
  2924  //   There are too many instances of the specified resource type.
  2925  //
  2926  //   * BadRequestException
  2927  //   The input you provided is invalid.
  2928  //
  2929  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDeliverabilityDashboardOptions
  2930  func (c *SESV2) GetDeliverabilityDashboardOptions(input *GetDeliverabilityDashboardOptionsInput) (*GetDeliverabilityDashboardOptionsOutput, error) {
  2931  	req, out := c.GetDeliverabilityDashboardOptionsRequest(input)
  2932  	return out, req.Send()
  2933  }
  2934  
  2935  // GetDeliverabilityDashboardOptionsWithContext is the same as GetDeliverabilityDashboardOptions with the addition of
  2936  // the ability to pass a context and additional request options.
  2937  //
  2938  // See GetDeliverabilityDashboardOptions for details on how to use this API operation.
  2939  //
  2940  // The context must be non-nil and will be used for request cancellation. If
  2941  // the context is nil a panic will occur. In the future the SDK may create
  2942  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2943  // for more information on using Contexts.
  2944  func (c *SESV2) GetDeliverabilityDashboardOptionsWithContext(ctx aws.Context, input *GetDeliverabilityDashboardOptionsInput, opts ...request.Option) (*GetDeliverabilityDashboardOptionsOutput, error) {
  2945  	req, out := c.GetDeliverabilityDashboardOptionsRequest(input)
  2946  	req.SetContext(ctx)
  2947  	req.ApplyOptions(opts...)
  2948  	return out, req.Send()
  2949  }
  2950  
  2951  const opGetDeliverabilityTestReport = "GetDeliverabilityTestReport"
  2952  
  2953  // GetDeliverabilityTestReportRequest generates a "aws/request.Request" representing the
  2954  // client's request for the GetDeliverabilityTestReport operation. The "output" return
  2955  // value will be populated with the request's response once the request completes
  2956  // successfully.
  2957  //
  2958  // Use "Send" method on the returned Request to send the API call to the service.
  2959  // the "output" return value is not valid until after Send returns without error.
  2960  //
  2961  // See GetDeliverabilityTestReport for more information on using the GetDeliverabilityTestReport
  2962  // API call, and error handling.
  2963  //
  2964  // This method is useful when you want to inject custom logic or configuration
  2965  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2966  //
  2967  //
  2968  //    // Example sending a request using the GetDeliverabilityTestReportRequest method.
  2969  //    req, resp := client.GetDeliverabilityTestReportRequest(params)
  2970  //
  2971  //    err := req.Send()
  2972  //    if err == nil { // resp is now filled
  2973  //        fmt.Println(resp)
  2974  //    }
  2975  //
  2976  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDeliverabilityTestReport
  2977  func (c *SESV2) GetDeliverabilityTestReportRequest(input *GetDeliverabilityTestReportInput) (req *request.Request, output *GetDeliverabilityTestReportOutput) {
  2978  	op := &request.Operation{
  2979  		Name:       opGetDeliverabilityTestReport,
  2980  		HTTPMethod: "GET",
  2981  		HTTPPath:   "/v2/email/deliverability-dashboard/test-reports/{ReportId}",
  2982  	}
  2983  
  2984  	if input == nil {
  2985  		input = &GetDeliverabilityTestReportInput{}
  2986  	}
  2987  
  2988  	output = &GetDeliverabilityTestReportOutput{}
  2989  	req = c.newRequest(op, input, output)
  2990  	return
  2991  }
  2992  
  2993  // GetDeliverabilityTestReport API operation for Amazon Simple Email Service.
  2994  //
  2995  // Retrieve the results of a predictive inbox placement test.
  2996  //
  2997  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2998  // with awserr.Error's Code and Message methods to get detailed information about
  2999  // the error.
  3000  //
  3001  // See the AWS API reference guide for Amazon Simple Email Service's
  3002  // API operation GetDeliverabilityTestReport for usage and error information.
  3003  //
  3004  // Returned Error Types:
  3005  //   * TooManyRequestsException
  3006  //   Too many requests have been made to the operation.
  3007  //
  3008  //   * NotFoundException
  3009  //   The resource you attempted to access doesn't exist.
  3010  //
  3011  //   * BadRequestException
  3012  //   The input you provided is invalid.
  3013  //
  3014  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDeliverabilityTestReport
  3015  func (c *SESV2) GetDeliverabilityTestReport(input *GetDeliverabilityTestReportInput) (*GetDeliverabilityTestReportOutput, error) {
  3016  	req, out := c.GetDeliverabilityTestReportRequest(input)
  3017  	return out, req.Send()
  3018  }
  3019  
  3020  // GetDeliverabilityTestReportWithContext is the same as GetDeliverabilityTestReport with the addition of
  3021  // the ability to pass a context and additional request options.
  3022  //
  3023  // See GetDeliverabilityTestReport for details on how to use this API operation.
  3024  //
  3025  // The context must be non-nil and will be used for request cancellation. If
  3026  // the context is nil a panic will occur. In the future the SDK may create
  3027  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3028  // for more information on using Contexts.
  3029  func (c *SESV2) GetDeliverabilityTestReportWithContext(ctx aws.Context, input *GetDeliverabilityTestReportInput, opts ...request.Option) (*GetDeliverabilityTestReportOutput, error) {
  3030  	req, out := c.GetDeliverabilityTestReportRequest(input)
  3031  	req.SetContext(ctx)
  3032  	req.ApplyOptions(opts...)
  3033  	return out, req.Send()
  3034  }
  3035  
  3036  const opGetDomainDeliverabilityCampaign = "GetDomainDeliverabilityCampaign"
  3037  
  3038  // GetDomainDeliverabilityCampaignRequest generates a "aws/request.Request" representing the
  3039  // client's request for the GetDomainDeliverabilityCampaign operation. The "output" return
  3040  // value will be populated with the request's response once the request completes
  3041  // successfully.
  3042  //
  3043  // Use "Send" method on the returned Request to send the API call to the service.
  3044  // the "output" return value is not valid until after Send returns without error.
  3045  //
  3046  // See GetDomainDeliverabilityCampaign for more information on using the GetDomainDeliverabilityCampaign
  3047  // API call, and error handling.
  3048  //
  3049  // This method is useful when you want to inject custom logic or configuration
  3050  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3051  //
  3052  //
  3053  //    // Example sending a request using the GetDomainDeliverabilityCampaignRequest method.
  3054  //    req, resp := client.GetDomainDeliverabilityCampaignRequest(params)
  3055  //
  3056  //    err := req.Send()
  3057  //    if err == nil { // resp is now filled
  3058  //        fmt.Println(resp)
  3059  //    }
  3060  //
  3061  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDomainDeliverabilityCampaign
  3062  func (c *SESV2) GetDomainDeliverabilityCampaignRequest(input *GetDomainDeliverabilityCampaignInput) (req *request.Request, output *GetDomainDeliverabilityCampaignOutput) {
  3063  	op := &request.Operation{
  3064  		Name:       opGetDomainDeliverabilityCampaign,
  3065  		HTTPMethod: "GET",
  3066  		HTTPPath:   "/v2/email/deliverability-dashboard/campaigns/{CampaignId}",
  3067  	}
  3068  
  3069  	if input == nil {
  3070  		input = &GetDomainDeliverabilityCampaignInput{}
  3071  	}
  3072  
  3073  	output = &GetDomainDeliverabilityCampaignOutput{}
  3074  	req = c.newRequest(op, input, output)
  3075  	return
  3076  }
  3077  
  3078  // GetDomainDeliverabilityCampaign API operation for Amazon Simple Email Service.
  3079  //
  3080  // Retrieve all the deliverability data for a specific campaign. This data is
  3081  // available for a campaign only if the campaign sent email by using a domain
  3082  // that the Deliverability dashboard is enabled for.
  3083  //
  3084  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3085  // with awserr.Error's Code and Message methods to get detailed information about
  3086  // the error.
  3087  //
  3088  // See the AWS API reference guide for Amazon Simple Email Service's
  3089  // API operation GetDomainDeliverabilityCampaign for usage and error information.
  3090  //
  3091  // Returned Error Types:
  3092  //   * TooManyRequestsException
  3093  //   Too many requests have been made to the operation.
  3094  //
  3095  //   * BadRequestException
  3096  //   The input you provided is invalid.
  3097  //
  3098  //   * NotFoundException
  3099  //   The resource you attempted to access doesn't exist.
  3100  //
  3101  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDomainDeliverabilityCampaign
  3102  func (c *SESV2) GetDomainDeliverabilityCampaign(input *GetDomainDeliverabilityCampaignInput) (*GetDomainDeliverabilityCampaignOutput, error) {
  3103  	req, out := c.GetDomainDeliverabilityCampaignRequest(input)
  3104  	return out, req.Send()
  3105  }
  3106  
  3107  // GetDomainDeliverabilityCampaignWithContext is the same as GetDomainDeliverabilityCampaign with the addition of
  3108  // the ability to pass a context and additional request options.
  3109  //
  3110  // See GetDomainDeliverabilityCampaign for details on how to use this API operation.
  3111  //
  3112  // The context must be non-nil and will be used for request cancellation. If
  3113  // the context is nil a panic will occur. In the future the SDK may create
  3114  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3115  // for more information on using Contexts.
  3116  func (c *SESV2) GetDomainDeliverabilityCampaignWithContext(ctx aws.Context, input *GetDomainDeliverabilityCampaignInput, opts ...request.Option) (*GetDomainDeliverabilityCampaignOutput, error) {
  3117  	req, out := c.GetDomainDeliverabilityCampaignRequest(input)
  3118  	req.SetContext(ctx)
  3119  	req.ApplyOptions(opts...)
  3120  	return out, req.Send()
  3121  }
  3122  
  3123  const opGetDomainStatisticsReport = "GetDomainStatisticsReport"
  3124  
  3125  // GetDomainStatisticsReportRequest generates a "aws/request.Request" representing the
  3126  // client's request for the GetDomainStatisticsReport operation. The "output" return
  3127  // value will be populated with the request's response once the request completes
  3128  // successfully.
  3129  //
  3130  // Use "Send" method on the returned Request to send the API call to the service.
  3131  // the "output" return value is not valid until after Send returns without error.
  3132  //
  3133  // See GetDomainStatisticsReport for more information on using the GetDomainStatisticsReport
  3134  // API call, and error handling.
  3135  //
  3136  // This method is useful when you want to inject custom logic or configuration
  3137  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3138  //
  3139  //
  3140  //    // Example sending a request using the GetDomainStatisticsReportRequest method.
  3141  //    req, resp := client.GetDomainStatisticsReportRequest(params)
  3142  //
  3143  //    err := req.Send()
  3144  //    if err == nil { // resp is now filled
  3145  //        fmt.Println(resp)
  3146  //    }
  3147  //
  3148  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDomainStatisticsReport
  3149  func (c *SESV2) GetDomainStatisticsReportRequest(input *GetDomainStatisticsReportInput) (req *request.Request, output *GetDomainStatisticsReportOutput) {
  3150  	op := &request.Operation{
  3151  		Name:       opGetDomainStatisticsReport,
  3152  		HTTPMethod: "GET",
  3153  		HTTPPath:   "/v2/email/deliverability-dashboard/statistics-report/{Domain}",
  3154  	}
  3155  
  3156  	if input == nil {
  3157  		input = &GetDomainStatisticsReportInput{}
  3158  	}
  3159  
  3160  	output = &GetDomainStatisticsReportOutput{}
  3161  	req = c.newRequest(op, input, output)
  3162  	return
  3163  }
  3164  
  3165  // GetDomainStatisticsReport API operation for Amazon Simple Email Service.
  3166  //
  3167  // Retrieve inbox placement and engagement rates for the domains that you use
  3168  // to send email.
  3169  //
  3170  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3171  // with awserr.Error's Code and Message methods to get detailed information about
  3172  // the error.
  3173  //
  3174  // See the AWS API reference guide for Amazon Simple Email Service's
  3175  // API operation GetDomainStatisticsReport for usage and error information.
  3176  //
  3177  // Returned Error Types:
  3178  //   * TooManyRequestsException
  3179  //   Too many requests have been made to the operation.
  3180  //
  3181  //   * NotFoundException
  3182  //   The resource you attempted to access doesn't exist.
  3183  //
  3184  //   * BadRequestException
  3185  //   The input you provided is invalid.
  3186  //
  3187  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDomainStatisticsReport
  3188  func (c *SESV2) GetDomainStatisticsReport(input *GetDomainStatisticsReportInput) (*GetDomainStatisticsReportOutput, error) {
  3189  	req, out := c.GetDomainStatisticsReportRequest(input)
  3190  	return out, req.Send()
  3191  }
  3192  
  3193  // GetDomainStatisticsReportWithContext is the same as GetDomainStatisticsReport with the addition of
  3194  // the ability to pass a context and additional request options.
  3195  //
  3196  // See GetDomainStatisticsReport for details on how to use this API operation.
  3197  //
  3198  // The context must be non-nil and will be used for request cancellation. If
  3199  // the context is nil a panic will occur. In the future the SDK may create
  3200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3201  // for more information on using Contexts.
  3202  func (c *SESV2) GetDomainStatisticsReportWithContext(ctx aws.Context, input *GetDomainStatisticsReportInput, opts ...request.Option) (*GetDomainStatisticsReportOutput, error) {
  3203  	req, out := c.GetDomainStatisticsReportRequest(input)
  3204  	req.SetContext(ctx)
  3205  	req.ApplyOptions(opts...)
  3206  	return out, req.Send()
  3207  }
  3208  
  3209  const opGetEmailIdentity = "GetEmailIdentity"
  3210  
  3211  // GetEmailIdentityRequest generates a "aws/request.Request" representing the
  3212  // client's request for the GetEmailIdentity operation. The "output" return
  3213  // value will be populated with the request's response once the request completes
  3214  // successfully.
  3215  //
  3216  // Use "Send" method on the returned Request to send the API call to the service.
  3217  // the "output" return value is not valid until after Send returns without error.
  3218  //
  3219  // See GetEmailIdentity for more information on using the GetEmailIdentity
  3220  // API call, and error handling.
  3221  //
  3222  // This method is useful when you want to inject custom logic or configuration
  3223  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3224  //
  3225  //
  3226  //    // Example sending a request using the GetEmailIdentityRequest method.
  3227  //    req, resp := client.GetEmailIdentityRequest(params)
  3228  //
  3229  //    err := req.Send()
  3230  //    if err == nil { // resp is now filled
  3231  //        fmt.Println(resp)
  3232  //    }
  3233  //
  3234  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentity
  3235  func (c *SESV2) GetEmailIdentityRequest(input *GetEmailIdentityInput) (req *request.Request, output *GetEmailIdentityOutput) {
  3236  	op := &request.Operation{
  3237  		Name:       opGetEmailIdentity,
  3238  		HTTPMethod: "GET",
  3239  		HTTPPath:   "/v2/email/identities/{EmailIdentity}",
  3240  	}
  3241  
  3242  	if input == nil {
  3243  		input = &GetEmailIdentityInput{}
  3244  	}
  3245  
  3246  	output = &GetEmailIdentityOutput{}
  3247  	req = c.newRequest(op, input, output)
  3248  	return
  3249  }
  3250  
  3251  // GetEmailIdentity API operation for Amazon Simple Email Service.
  3252  //
  3253  // Provides information about a specific identity, including the identity's
  3254  // verification status, sending authorization policies, its DKIM authentication
  3255  // status, and its custom Mail-From settings.
  3256  //
  3257  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3258  // with awserr.Error's Code and Message methods to get detailed information about
  3259  // the error.
  3260  //
  3261  // See the AWS API reference guide for Amazon Simple Email Service's
  3262  // API operation GetEmailIdentity for usage and error information.
  3263  //
  3264  // Returned Error Types:
  3265  //   * NotFoundException
  3266  //   The resource you attempted to access doesn't exist.
  3267  //
  3268  //   * TooManyRequestsException
  3269  //   Too many requests have been made to the operation.
  3270  //
  3271  //   * BadRequestException
  3272  //   The input you provided is invalid.
  3273  //
  3274  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentity
  3275  func (c *SESV2) GetEmailIdentity(input *GetEmailIdentityInput) (*GetEmailIdentityOutput, error) {
  3276  	req, out := c.GetEmailIdentityRequest(input)
  3277  	return out, req.Send()
  3278  }
  3279  
  3280  // GetEmailIdentityWithContext is the same as GetEmailIdentity with the addition of
  3281  // the ability to pass a context and additional request options.
  3282  //
  3283  // See GetEmailIdentity for details on how to use this API operation.
  3284  //
  3285  // The context must be non-nil and will be used for request cancellation. If
  3286  // the context is nil a panic will occur. In the future the SDK may create
  3287  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3288  // for more information on using Contexts.
  3289  func (c *SESV2) GetEmailIdentityWithContext(ctx aws.Context, input *GetEmailIdentityInput, opts ...request.Option) (*GetEmailIdentityOutput, error) {
  3290  	req, out := c.GetEmailIdentityRequest(input)
  3291  	req.SetContext(ctx)
  3292  	req.ApplyOptions(opts...)
  3293  	return out, req.Send()
  3294  }
  3295  
  3296  const opGetEmailIdentityPolicies = "GetEmailIdentityPolicies"
  3297  
  3298  // GetEmailIdentityPoliciesRequest generates a "aws/request.Request" representing the
  3299  // client's request for the GetEmailIdentityPolicies operation. The "output" return
  3300  // value will be populated with the request's response once the request completes
  3301  // successfully.
  3302  //
  3303  // Use "Send" method on the returned Request to send the API call to the service.
  3304  // the "output" return value is not valid until after Send returns without error.
  3305  //
  3306  // See GetEmailIdentityPolicies for more information on using the GetEmailIdentityPolicies
  3307  // API call, and error handling.
  3308  //
  3309  // This method is useful when you want to inject custom logic or configuration
  3310  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3311  //
  3312  //
  3313  //    // Example sending a request using the GetEmailIdentityPoliciesRequest method.
  3314  //    req, resp := client.GetEmailIdentityPoliciesRequest(params)
  3315  //
  3316  //    err := req.Send()
  3317  //    if err == nil { // resp is now filled
  3318  //        fmt.Println(resp)
  3319  //    }
  3320  //
  3321  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentityPolicies
  3322  func (c *SESV2) GetEmailIdentityPoliciesRequest(input *GetEmailIdentityPoliciesInput) (req *request.Request, output *GetEmailIdentityPoliciesOutput) {
  3323  	op := &request.Operation{
  3324  		Name:       opGetEmailIdentityPolicies,
  3325  		HTTPMethod: "GET",
  3326  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/policies",
  3327  	}
  3328  
  3329  	if input == nil {
  3330  		input = &GetEmailIdentityPoliciesInput{}
  3331  	}
  3332  
  3333  	output = &GetEmailIdentityPoliciesOutput{}
  3334  	req = c.newRequest(op, input, output)
  3335  	return
  3336  }
  3337  
  3338  // GetEmailIdentityPolicies API operation for Amazon Simple Email Service.
  3339  //
  3340  // Returns the requested sending authorization policies for the given identity
  3341  // (an email address or a domain). The policies are returned as a map of policy
  3342  // names to policy contents. You can retrieve a maximum of 20 policies at a
  3343  // time.
  3344  //
  3345  // This API is for the identity owner only. If you have not verified the identity,
  3346  // this API will return an error.
  3347  //
  3348  // Sending authorization is a feature that enables an identity owner to authorize
  3349  // other senders to use its identities. For information about using sending
  3350  // authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
  3351  //
  3352  // You can execute this operation no more than once per second.
  3353  //
  3354  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3355  // with awserr.Error's Code and Message methods to get detailed information about
  3356  // the error.
  3357  //
  3358  // See the AWS API reference guide for Amazon Simple Email Service's
  3359  // API operation GetEmailIdentityPolicies for usage and error information.
  3360  //
  3361  // Returned Error Types:
  3362  //   * NotFoundException
  3363  //   The resource you attempted to access doesn't exist.
  3364  //
  3365  //   * TooManyRequestsException
  3366  //   Too many requests have been made to the operation.
  3367  //
  3368  //   * BadRequestException
  3369  //   The input you provided is invalid.
  3370  //
  3371  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentityPolicies
  3372  func (c *SESV2) GetEmailIdentityPolicies(input *GetEmailIdentityPoliciesInput) (*GetEmailIdentityPoliciesOutput, error) {
  3373  	req, out := c.GetEmailIdentityPoliciesRequest(input)
  3374  	return out, req.Send()
  3375  }
  3376  
  3377  // GetEmailIdentityPoliciesWithContext is the same as GetEmailIdentityPolicies with the addition of
  3378  // the ability to pass a context and additional request options.
  3379  //
  3380  // See GetEmailIdentityPolicies for details on how to use this API operation.
  3381  //
  3382  // The context must be non-nil and will be used for request cancellation. If
  3383  // the context is nil a panic will occur. In the future the SDK may create
  3384  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3385  // for more information on using Contexts.
  3386  func (c *SESV2) GetEmailIdentityPoliciesWithContext(ctx aws.Context, input *GetEmailIdentityPoliciesInput, opts ...request.Option) (*GetEmailIdentityPoliciesOutput, error) {
  3387  	req, out := c.GetEmailIdentityPoliciesRequest(input)
  3388  	req.SetContext(ctx)
  3389  	req.ApplyOptions(opts...)
  3390  	return out, req.Send()
  3391  }
  3392  
  3393  const opGetEmailTemplate = "GetEmailTemplate"
  3394  
  3395  // GetEmailTemplateRequest generates a "aws/request.Request" representing the
  3396  // client's request for the GetEmailTemplate operation. The "output" return
  3397  // value will be populated with the request's response once the request completes
  3398  // successfully.
  3399  //
  3400  // Use "Send" method on the returned Request to send the API call to the service.
  3401  // the "output" return value is not valid until after Send returns without error.
  3402  //
  3403  // See GetEmailTemplate for more information on using the GetEmailTemplate
  3404  // API call, and error handling.
  3405  //
  3406  // This method is useful when you want to inject custom logic or configuration
  3407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3408  //
  3409  //
  3410  //    // Example sending a request using the GetEmailTemplateRequest method.
  3411  //    req, resp := client.GetEmailTemplateRequest(params)
  3412  //
  3413  //    err := req.Send()
  3414  //    if err == nil { // resp is now filled
  3415  //        fmt.Println(resp)
  3416  //    }
  3417  //
  3418  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailTemplate
  3419  func (c *SESV2) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) {
  3420  	op := &request.Operation{
  3421  		Name:       opGetEmailTemplate,
  3422  		HTTPMethod: "GET",
  3423  		HTTPPath:   "/v2/email/templates/{TemplateName}",
  3424  	}
  3425  
  3426  	if input == nil {
  3427  		input = &GetEmailTemplateInput{}
  3428  	}
  3429  
  3430  	output = &GetEmailTemplateOutput{}
  3431  	req = c.newRequest(op, input, output)
  3432  	return
  3433  }
  3434  
  3435  // GetEmailTemplate API operation for Amazon Simple Email Service.
  3436  //
  3437  // Displays the template object (which includes the subject line, HTML part
  3438  // and text part) for the template you specify.
  3439  //
  3440  // You can execute this operation no more than once per second.
  3441  //
  3442  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3443  // with awserr.Error's Code and Message methods to get detailed information about
  3444  // the error.
  3445  //
  3446  // See the AWS API reference guide for Amazon Simple Email Service's
  3447  // API operation GetEmailTemplate for usage and error information.
  3448  //
  3449  // Returned Error Types:
  3450  //   * NotFoundException
  3451  //   The resource you attempted to access doesn't exist.
  3452  //
  3453  //   * TooManyRequestsException
  3454  //   Too many requests have been made to the operation.
  3455  //
  3456  //   * BadRequestException
  3457  //   The input you provided is invalid.
  3458  //
  3459  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailTemplate
  3460  func (c *SESV2) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) {
  3461  	req, out := c.GetEmailTemplateRequest(input)
  3462  	return out, req.Send()
  3463  }
  3464  
  3465  // GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of
  3466  // the ability to pass a context and additional request options.
  3467  //
  3468  // See GetEmailTemplate for details on how to use this API operation.
  3469  //
  3470  // The context must be non-nil and will be used for request cancellation. If
  3471  // the context is nil a panic will occur. In the future the SDK may create
  3472  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3473  // for more information on using Contexts.
  3474  func (c *SESV2) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) {
  3475  	req, out := c.GetEmailTemplateRequest(input)
  3476  	req.SetContext(ctx)
  3477  	req.ApplyOptions(opts...)
  3478  	return out, req.Send()
  3479  }
  3480  
  3481  const opGetImportJob = "GetImportJob"
  3482  
  3483  // GetImportJobRequest generates a "aws/request.Request" representing the
  3484  // client's request for the GetImportJob operation. The "output" return
  3485  // value will be populated with the request's response once the request completes
  3486  // successfully.
  3487  //
  3488  // Use "Send" method on the returned Request to send the API call to the service.
  3489  // the "output" return value is not valid until after Send returns without error.
  3490  //
  3491  // See GetImportJob for more information on using the GetImportJob
  3492  // API call, and error handling.
  3493  //
  3494  // This method is useful when you want to inject custom logic or configuration
  3495  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3496  //
  3497  //
  3498  //    // Example sending a request using the GetImportJobRequest method.
  3499  //    req, resp := client.GetImportJobRequest(params)
  3500  //
  3501  //    err := req.Send()
  3502  //    if err == nil { // resp is now filled
  3503  //        fmt.Println(resp)
  3504  //    }
  3505  //
  3506  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJob
  3507  func (c *SESV2) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
  3508  	op := &request.Operation{
  3509  		Name:       opGetImportJob,
  3510  		HTTPMethod: "GET",
  3511  		HTTPPath:   "/v2/email/import-jobs/{JobId}",
  3512  	}
  3513  
  3514  	if input == nil {
  3515  		input = &GetImportJobInput{}
  3516  	}
  3517  
  3518  	output = &GetImportJobOutput{}
  3519  	req = c.newRequest(op, input, output)
  3520  	return
  3521  }
  3522  
  3523  // GetImportJob API operation for Amazon Simple Email Service.
  3524  //
  3525  // Provides information about an import job.
  3526  //
  3527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3528  // with awserr.Error's Code and Message methods to get detailed information about
  3529  // the error.
  3530  //
  3531  // See the AWS API reference guide for Amazon Simple Email Service's
  3532  // API operation GetImportJob for usage and error information.
  3533  //
  3534  // Returned Error Types:
  3535  //   * BadRequestException
  3536  //   The input you provided is invalid.
  3537  //
  3538  //   * NotFoundException
  3539  //   The resource you attempted to access doesn't exist.
  3540  //
  3541  //   * TooManyRequestsException
  3542  //   Too many requests have been made to the operation.
  3543  //
  3544  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJob
  3545  func (c *SESV2) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
  3546  	req, out := c.GetImportJobRequest(input)
  3547  	return out, req.Send()
  3548  }
  3549  
  3550  // GetImportJobWithContext is the same as GetImportJob with the addition of
  3551  // the ability to pass a context and additional request options.
  3552  //
  3553  // See GetImportJob for details on how to use this API operation.
  3554  //
  3555  // The context must be non-nil and will be used for request cancellation. If
  3556  // the context is nil a panic will occur. In the future the SDK may create
  3557  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3558  // for more information on using Contexts.
  3559  func (c *SESV2) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
  3560  	req, out := c.GetImportJobRequest(input)
  3561  	req.SetContext(ctx)
  3562  	req.ApplyOptions(opts...)
  3563  	return out, req.Send()
  3564  }
  3565  
  3566  const opGetSuppressedDestination = "GetSuppressedDestination"
  3567  
  3568  // GetSuppressedDestinationRequest generates a "aws/request.Request" representing the
  3569  // client's request for the GetSuppressedDestination operation. The "output" return
  3570  // value will be populated with the request's response once the request completes
  3571  // successfully.
  3572  //
  3573  // Use "Send" method on the returned Request to send the API call to the service.
  3574  // the "output" return value is not valid until after Send returns without error.
  3575  //
  3576  // See GetSuppressedDestination for more information on using the GetSuppressedDestination
  3577  // API call, and error handling.
  3578  //
  3579  // This method is useful when you want to inject custom logic or configuration
  3580  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3581  //
  3582  //
  3583  //    // Example sending a request using the GetSuppressedDestinationRequest method.
  3584  //    req, resp := client.GetSuppressedDestinationRequest(params)
  3585  //
  3586  //    err := req.Send()
  3587  //    if err == nil { // resp is now filled
  3588  //        fmt.Println(resp)
  3589  //    }
  3590  //
  3591  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetSuppressedDestination
  3592  func (c *SESV2) GetSuppressedDestinationRequest(input *GetSuppressedDestinationInput) (req *request.Request, output *GetSuppressedDestinationOutput) {
  3593  	op := &request.Operation{
  3594  		Name:       opGetSuppressedDestination,
  3595  		HTTPMethod: "GET",
  3596  		HTTPPath:   "/v2/email/suppression/addresses/{EmailAddress}",
  3597  	}
  3598  
  3599  	if input == nil {
  3600  		input = &GetSuppressedDestinationInput{}
  3601  	}
  3602  
  3603  	output = &GetSuppressedDestinationOutput{}
  3604  	req = c.newRequest(op, input, output)
  3605  	return
  3606  }
  3607  
  3608  // GetSuppressedDestination API operation for Amazon Simple Email Service.
  3609  //
  3610  // Retrieves information about a specific email address that's on the suppression
  3611  // list for your account.
  3612  //
  3613  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3614  // with awserr.Error's Code and Message methods to get detailed information about
  3615  // the error.
  3616  //
  3617  // See the AWS API reference guide for Amazon Simple Email Service's
  3618  // API operation GetSuppressedDestination for usage and error information.
  3619  //
  3620  // Returned Error Types:
  3621  //   * BadRequestException
  3622  //   The input you provided is invalid.
  3623  //
  3624  //   * TooManyRequestsException
  3625  //   Too many requests have been made to the operation.
  3626  //
  3627  //   * NotFoundException
  3628  //   The resource you attempted to access doesn't exist.
  3629  //
  3630  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetSuppressedDestination
  3631  func (c *SESV2) GetSuppressedDestination(input *GetSuppressedDestinationInput) (*GetSuppressedDestinationOutput, error) {
  3632  	req, out := c.GetSuppressedDestinationRequest(input)
  3633  	return out, req.Send()
  3634  }
  3635  
  3636  // GetSuppressedDestinationWithContext is the same as GetSuppressedDestination with the addition of
  3637  // the ability to pass a context and additional request options.
  3638  //
  3639  // See GetSuppressedDestination for details on how to use this API operation.
  3640  //
  3641  // The context must be non-nil and will be used for request cancellation. If
  3642  // the context is nil a panic will occur. In the future the SDK may create
  3643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3644  // for more information on using Contexts.
  3645  func (c *SESV2) GetSuppressedDestinationWithContext(ctx aws.Context, input *GetSuppressedDestinationInput, opts ...request.Option) (*GetSuppressedDestinationOutput, error) {
  3646  	req, out := c.GetSuppressedDestinationRequest(input)
  3647  	req.SetContext(ctx)
  3648  	req.ApplyOptions(opts...)
  3649  	return out, req.Send()
  3650  }
  3651  
  3652  const opListConfigurationSets = "ListConfigurationSets"
  3653  
  3654  // ListConfigurationSetsRequest generates a "aws/request.Request" representing the
  3655  // client's request for the ListConfigurationSets operation. The "output" return
  3656  // value will be populated with the request's response once the request completes
  3657  // successfully.
  3658  //
  3659  // Use "Send" method on the returned Request to send the API call to the service.
  3660  // the "output" return value is not valid until after Send returns without error.
  3661  //
  3662  // See ListConfigurationSets for more information on using the ListConfigurationSets
  3663  // API call, and error handling.
  3664  //
  3665  // This method is useful when you want to inject custom logic or configuration
  3666  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3667  //
  3668  //
  3669  //    // Example sending a request using the ListConfigurationSetsRequest method.
  3670  //    req, resp := client.ListConfigurationSetsRequest(params)
  3671  //
  3672  //    err := req.Send()
  3673  //    if err == nil { // resp is now filled
  3674  //        fmt.Println(resp)
  3675  //    }
  3676  //
  3677  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListConfigurationSets
  3678  func (c *SESV2) ListConfigurationSetsRequest(input *ListConfigurationSetsInput) (req *request.Request, output *ListConfigurationSetsOutput) {
  3679  	op := &request.Operation{
  3680  		Name:       opListConfigurationSets,
  3681  		HTTPMethod: "GET",
  3682  		HTTPPath:   "/v2/email/configuration-sets",
  3683  		Paginator: &request.Paginator{
  3684  			InputTokens:     []string{"NextToken"},
  3685  			OutputTokens:    []string{"NextToken"},
  3686  			LimitToken:      "PageSize",
  3687  			TruncationToken: "",
  3688  		},
  3689  	}
  3690  
  3691  	if input == nil {
  3692  		input = &ListConfigurationSetsInput{}
  3693  	}
  3694  
  3695  	output = &ListConfigurationSetsOutput{}
  3696  	req = c.newRequest(op, input, output)
  3697  	return
  3698  }
  3699  
  3700  // ListConfigurationSets API operation for Amazon Simple Email Service.
  3701  //
  3702  // List all of the configuration sets associated with your account in the current
  3703  // region.
  3704  //
  3705  // Configuration sets are groups of rules that you can apply to the emails you
  3706  // send. You apply a configuration set to an email by including a reference
  3707  // to the configuration set in the headers of the email. When you apply a configuration
  3708  // set to an email, all of the rules in that configuration set are applied to
  3709  // the email.
  3710  //
  3711  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3712  // with awserr.Error's Code and Message methods to get detailed information about
  3713  // the error.
  3714  //
  3715  // See the AWS API reference guide for Amazon Simple Email Service's
  3716  // API operation ListConfigurationSets for usage and error information.
  3717  //
  3718  // Returned Error Types:
  3719  //   * TooManyRequestsException
  3720  //   Too many requests have been made to the operation.
  3721  //
  3722  //   * BadRequestException
  3723  //   The input you provided is invalid.
  3724  //
  3725  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListConfigurationSets
  3726  func (c *SESV2) ListConfigurationSets(input *ListConfigurationSetsInput) (*ListConfigurationSetsOutput, error) {
  3727  	req, out := c.ListConfigurationSetsRequest(input)
  3728  	return out, req.Send()
  3729  }
  3730  
  3731  // ListConfigurationSetsWithContext is the same as ListConfigurationSets with the addition of
  3732  // the ability to pass a context and additional request options.
  3733  //
  3734  // See ListConfigurationSets for details on how to use this API operation.
  3735  //
  3736  // The context must be non-nil and will be used for request cancellation. If
  3737  // the context is nil a panic will occur. In the future the SDK may create
  3738  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3739  // for more information on using Contexts.
  3740  func (c *SESV2) ListConfigurationSetsWithContext(ctx aws.Context, input *ListConfigurationSetsInput, opts ...request.Option) (*ListConfigurationSetsOutput, error) {
  3741  	req, out := c.ListConfigurationSetsRequest(input)
  3742  	req.SetContext(ctx)
  3743  	req.ApplyOptions(opts...)
  3744  	return out, req.Send()
  3745  }
  3746  
  3747  // ListConfigurationSetsPages iterates over the pages of a ListConfigurationSets operation,
  3748  // calling the "fn" function with the response data for each page. To stop
  3749  // iterating, return false from the fn function.
  3750  //
  3751  // See ListConfigurationSets method for more information on how to use this operation.
  3752  //
  3753  // Note: This operation can generate multiple requests to a service.
  3754  //
  3755  //    // Example iterating over at most 3 pages of a ListConfigurationSets operation.
  3756  //    pageNum := 0
  3757  //    err := client.ListConfigurationSetsPages(params,
  3758  //        func(page *sesv2.ListConfigurationSetsOutput, lastPage bool) bool {
  3759  //            pageNum++
  3760  //            fmt.Println(page)
  3761  //            return pageNum <= 3
  3762  //        })
  3763  //
  3764  func (c *SESV2) ListConfigurationSetsPages(input *ListConfigurationSetsInput, fn func(*ListConfigurationSetsOutput, bool) bool) error {
  3765  	return c.ListConfigurationSetsPagesWithContext(aws.BackgroundContext(), input, fn)
  3766  }
  3767  
  3768  // ListConfigurationSetsPagesWithContext same as ListConfigurationSetsPages except
  3769  // it takes a Context and allows setting request options on the pages.
  3770  //
  3771  // The context must be non-nil and will be used for request cancellation. If
  3772  // the context is nil a panic will occur. In the future the SDK may create
  3773  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3774  // for more information on using Contexts.
  3775  func (c *SESV2) ListConfigurationSetsPagesWithContext(ctx aws.Context, input *ListConfigurationSetsInput, fn func(*ListConfigurationSetsOutput, bool) bool, opts ...request.Option) error {
  3776  	p := request.Pagination{
  3777  		NewRequest: func() (*request.Request, error) {
  3778  			var inCpy *ListConfigurationSetsInput
  3779  			if input != nil {
  3780  				tmp := *input
  3781  				inCpy = &tmp
  3782  			}
  3783  			req, _ := c.ListConfigurationSetsRequest(inCpy)
  3784  			req.SetContext(ctx)
  3785  			req.ApplyOptions(opts...)
  3786  			return req, nil
  3787  		},
  3788  	}
  3789  
  3790  	for p.Next() {
  3791  		if !fn(p.Page().(*ListConfigurationSetsOutput), !p.HasNextPage()) {
  3792  			break
  3793  		}
  3794  	}
  3795  
  3796  	return p.Err()
  3797  }
  3798  
  3799  const opListContactLists = "ListContactLists"
  3800  
  3801  // ListContactListsRequest generates a "aws/request.Request" representing the
  3802  // client's request for the ListContactLists operation. The "output" return
  3803  // value will be populated with the request's response once the request completes
  3804  // successfully.
  3805  //
  3806  // Use "Send" method on the returned Request to send the API call to the service.
  3807  // the "output" return value is not valid until after Send returns without error.
  3808  //
  3809  // See ListContactLists for more information on using the ListContactLists
  3810  // API call, and error handling.
  3811  //
  3812  // This method is useful when you want to inject custom logic or configuration
  3813  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3814  //
  3815  //
  3816  //    // Example sending a request using the ListContactListsRequest method.
  3817  //    req, resp := client.ListContactListsRequest(params)
  3818  //
  3819  //    err := req.Send()
  3820  //    if err == nil { // resp is now filled
  3821  //        fmt.Println(resp)
  3822  //    }
  3823  //
  3824  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactLists
  3825  func (c *SESV2) ListContactListsRequest(input *ListContactListsInput) (req *request.Request, output *ListContactListsOutput) {
  3826  	op := &request.Operation{
  3827  		Name:       opListContactLists,
  3828  		HTTPMethod: "GET",
  3829  		HTTPPath:   "/v2/email/contact-lists",
  3830  		Paginator: &request.Paginator{
  3831  			InputTokens:     []string{"NextToken"},
  3832  			OutputTokens:    []string{"NextToken"},
  3833  			LimitToken:      "PageSize",
  3834  			TruncationToken: "",
  3835  		},
  3836  	}
  3837  
  3838  	if input == nil {
  3839  		input = &ListContactListsInput{}
  3840  	}
  3841  
  3842  	output = &ListContactListsOutput{}
  3843  	req = c.newRequest(op, input, output)
  3844  	return
  3845  }
  3846  
  3847  // ListContactLists API operation for Amazon Simple Email Service.
  3848  //
  3849  // Lists all of the contact lists available.
  3850  //
  3851  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3852  // with awserr.Error's Code and Message methods to get detailed information about
  3853  // the error.
  3854  //
  3855  // See the AWS API reference guide for Amazon Simple Email Service's
  3856  // API operation ListContactLists for usage and error information.
  3857  //
  3858  // Returned Error Types:
  3859  //   * BadRequestException
  3860  //   The input you provided is invalid.
  3861  //
  3862  //   * TooManyRequestsException
  3863  //   Too many requests have been made to the operation.
  3864  //
  3865  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContactLists
  3866  func (c *SESV2) ListContactLists(input *ListContactListsInput) (*ListContactListsOutput, error) {
  3867  	req, out := c.ListContactListsRequest(input)
  3868  	return out, req.Send()
  3869  }
  3870  
  3871  // ListContactListsWithContext is the same as ListContactLists with the addition of
  3872  // the ability to pass a context and additional request options.
  3873  //
  3874  // See ListContactLists for details on how to use this API operation.
  3875  //
  3876  // The context must be non-nil and will be used for request cancellation. If
  3877  // the context is nil a panic will occur. In the future the SDK may create
  3878  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3879  // for more information on using Contexts.
  3880  func (c *SESV2) ListContactListsWithContext(ctx aws.Context, input *ListContactListsInput, opts ...request.Option) (*ListContactListsOutput, error) {
  3881  	req, out := c.ListContactListsRequest(input)
  3882  	req.SetContext(ctx)
  3883  	req.ApplyOptions(opts...)
  3884  	return out, req.Send()
  3885  }
  3886  
  3887  // ListContactListsPages iterates over the pages of a ListContactLists operation,
  3888  // calling the "fn" function with the response data for each page. To stop
  3889  // iterating, return false from the fn function.
  3890  //
  3891  // See ListContactLists method for more information on how to use this operation.
  3892  //
  3893  // Note: This operation can generate multiple requests to a service.
  3894  //
  3895  //    // Example iterating over at most 3 pages of a ListContactLists operation.
  3896  //    pageNum := 0
  3897  //    err := client.ListContactListsPages(params,
  3898  //        func(page *sesv2.ListContactListsOutput, lastPage bool) bool {
  3899  //            pageNum++
  3900  //            fmt.Println(page)
  3901  //            return pageNum <= 3
  3902  //        })
  3903  //
  3904  func (c *SESV2) ListContactListsPages(input *ListContactListsInput, fn func(*ListContactListsOutput, bool) bool) error {
  3905  	return c.ListContactListsPagesWithContext(aws.BackgroundContext(), input, fn)
  3906  }
  3907  
  3908  // ListContactListsPagesWithContext same as ListContactListsPages except
  3909  // it takes a Context and allows setting request options on the pages.
  3910  //
  3911  // The context must be non-nil and will be used for request cancellation. If
  3912  // the context is nil a panic will occur. In the future the SDK may create
  3913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3914  // for more information on using Contexts.
  3915  func (c *SESV2) ListContactListsPagesWithContext(ctx aws.Context, input *ListContactListsInput, fn func(*ListContactListsOutput, bool) bool, opts ...request.Option) error {
  3916  	p := request.Pagination{
  3917  		NewRequest: func() (*request.Request, error) {
  3918  			var inCpy *ListContactListsInput
  3919  			if input != nil {
  3920  				tmp := *input
  3921  				inCpy = &tmp
  3922  			}
  3923  			req, _ := c.ListContactListsRequest(inCpy)
  3924  			req.SetContext(ctx)
  3925  			req.ApplyOptions(opts...)
  3926  			return req, nil
  3927  		},
  3928  	}
  3929  
  3930  	for p.Next() {
  3931  		if !fn(p.Page().(*ListContactListsOutput), !p.HasNextPage()) {
  3932  			break
  3933  		}
  3934  	}
  3935  
  3936  	return p.Err()
  3937  }
  3938  
  3939  const opListContacts = "ListContacts"
  3940  
  3941  // ListContactsRequest generates a "aws/request.Request" representing the
  3942  // client's request for the ListContacts operation. The "output" return
  3943  // value will be populated with the request's response once the request completes
  3944  // successfully.
  3945  //
  3946  // Use "Send" method on the returned Request to send the API call to the service.
  3947  // the "output" return value is not valid until after Send returns without error.
  3948  //
  3949  // See ListContacts for more information on using the ListContacts
  3950  // API call, and error handling.
  3951  //
  3952  // This method is useful when you want to inject custom logic or configuration
  3953  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3954  //
  3955  //
  3956  //    // Example sending a request using the ListContactsRequest method.
  3957  //    req, resp := client.ListContactsRequest(params)
  3958  //
  3959  //    err := req.Send()
  3960  //    if err == nil { // resp is now filled
  3961  //        fmt.Println(resp)
  3962  //    }
  3963  //
  3964  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContacts
  3965  func (c *SESV2) ListContactsRequest(input *ListContactsInput) (req *request.Request, output *ListContactsOutput) {
  3966  	op := &request.Operation{
  3967  		Name:       opListContacts,
  3968  		HTTPMethod: "GET",
  3969  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}/contacts",
  3970  		Paginator: &request.Paginator{
  3971  			InputTokens:     []string{"NextToken"},
  3972  			OutputTokens:    []string{"NextToken"},
  3973  			LimitToken:      "PageSize",
  3974  			TruncationToken: "",
  3975  		},
  3976  	}
  3977  
  3978  	if input == nil {
  3979  		input = &ListContactsInput{}
  3980  	}
  3981  
  3982  	output = &ListContactsOutput{}
  3983  	req = c.newRequest(op, input, output)
  3984  	return
  3985  }
  3986  
  3987  // ListContacts API operation for Amazon Simple Email Service.
  3988  //
  3989  // Lists the contacts present in a specific contact list.
  3990  //
  3991  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3992  // with awserr.Error's Code and Message methods to get detailed information about
  3993  // the error.
  3994  //
  3995  // See the AWS API reference guide for Amazon Simple Email Service's
  3996  // API operation ListContacts for usage and error information.
  3997  //
  3998  // Returned Error Types:
  3999  //   * BadRequestException
  4000  //   The input you provided is invalid.
  4001  //
  4002  //   * TooManyRequestsException
  4003  //   Too many requests have been made to the operation.
  4004  //
  4005  //   * NotFoundException
  4006  //   The resource you attempted to access doesn't exist.
  4007  //
  4008  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListContacts
  4009  func (c *SESV2) ListContacts(input *ListContactsInput) (*ListContactsOutput, error) {
  4010  	req, out := c.ListContactsRequest(input)
  4011  	return out, req.Send()
  4012  }
  4013  
  4014  // ListContactsWithContext is the same as ListContacts with the addition of
  4015  // the ability to pass a context and additional request options.
  4016  //
  4017  // See ListContacts for details on how to use this API operation.
  4018  //
  4019  // The context must be non-nil and will be used for request cancellation. If
  4020  // the context is nil a panic will occur. In the future the SDK may create
  4021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4022  // for more information on using Contexts.
  4023  func (c *SESV2) ListContactsWithContext(ctx aws.Context, input *ListContactsInput, opts ...request.Option) (*ListContactsOutput, error) {
  4024  	req, out := c.ListContactsRequest(input)
  4025  	req.SetContext(ctx)
  4026  	req.ApplyOptions(opts...)
  4027  	return out, req.Send()
  4028  }
  4029  
  4030  // ListContactsPages iterates over the pages of a ListContacts operation,
  4031  // calling the "fn" function with the response data for each page. To stop
  4032  // iterating, return false from the fn function.
  4033  //
  4034  // See ListContacts method for more information on how to use this operation.
  4035  //
  4036  // Note: This operation can generate multiple requests to a service.
  4037  //
  4038  //    // Example iterating over at most 3 pages of a ListContacts operation.
  4039  //    pageNum := 0
  4040  //    err := client.ListContactsPages(params,
  4041  //        func(page *sesv2.ListContactsOutput, lastPage bool) bool {
  4042  //            pageNum++
  4043  //            fmt.Println(page)
  4044  //            return pageNum <= 3
  4045  //        })
  4046  //
  4047  func (c *SESV2) ListContactsPages(input *ListContactsInput, fn func(*ListContactsOutput, bool) bool) error {
  4048  	return c.ListContactsPagesWithContext(aws.BackgroundContext(), input, fn)
  4049  }
  4050  
  4051  // ListContactsPagesWithContext same as ListContactsPages except
  4052  // it takes a Context and allows setting request options on the pages.
  4053  //
  4054  // The context must be non-nil and will be used for request cancellation. If
  4055  // the context is nil a panic will occur. In the future the SDK may create
  4056  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4057  // for more information on using Contexts.
  4058  func (c *SESV2) ListContactsPagesWithContext(ctx aws.Context, input *ListContactsInput, fn func(*ListContactsOutput, bool) bool, opts ...request.Option) error {
  4059  	p := request.Pagination{
  4060  		NewRequest: func() (*request.Request, error) {
  4061  			var inCpy *ListContactsInput
  4062  			if input != nil {
  4063  				tmp := *input
  4064  				inCpy = &tmp
  4065  			}
  4066  			req, _ := c.ListContactsRequest(inCpy)
  4067  			req.SetContext(ctx)
  4068  			req.ApplyOptions(opts...)
  4069  			return req, nil
  4070  		},
  4071  	}
  4072  
  4073  	for p.Next() {
  4074  		if !fn(p.Page().(*ListContactsOutput), !p.HasNextPage()) {
  4075  			break
  4076  		}
  4077  	}
  4078  
  4079  	return p.Err()
  4080  }
  4081  
  4082  const opListCustomVerificationEmailTemplates = "ListCustomVerificationEmailTemplates"
  4083  
  4084  // ListCustomVerificationEmailTemplatesRequest generates a "aws/request.Request" representing the
  4085  // client's request for the ListCustomVerificationEmailTemplates operation. The "output" return
  4086  // value will be populated with the request's response once the request completes
  4087  // successfully.
  4088  //
  4089  // Use "Send" method on the returned Request to send the API call to the service.
  4090  // the "output" return value is not valid until after Send returns without error.
  4091  //
  4092  // See ListCustomVerificationEmailTemplates for more information on using the ListCustomVerificationEmailTemplates
  4093  // API call, and error handling.
  4094  //
  4095  // This method is useful when you want to inject custom logic or configuration
  4096  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4097  //
  4098  //
  4099  //    // Example sending a request using the ListCustomVerificationEmailTemplatesRequest method.
  4100  //    req, resp := client.ListCustomVerificationEmailTemplatesRequest(params)
  4101  //
  4102  //    err := req.Send()
  4103  //    if err == nil { // resp is now filled
  4104  //        fmt.Println(resp)
  4105  //    }
  4106  //
  4107  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListCustomVerificationEmailTemplates
  4108  func (c *SESV2) ListCustomVerificationEmailTemplatesRequest(input *ListCustomVerificationEmailTemplatesInput) (req *request.Request, output *ListCustomVerificationEmailTemplatesOutput) {
  4109  	op := &request.Operation{
  4110  		Name:       opListCustomVerificationEmailTemplates,
  4111  		HTTPMethod: "GET",
  4112  		HTTPPath:   "/v2/email/custom-verification-email-templates",
  4113  		Paginator: &request.Paginator{
  4114  			InputTokens:     []string{"NextToken"},
  4115  			OutputTokens:    []string{"NextToken"},
  4116  			LimitToken:      "PageSize",
  4117  			TruncationToken: "",
  4118  		},
  4119  	}
  4120  
  4121  	if input == nil {
  4122  		input = &ListCustomVerificationEmailTemplatesInput{}
  4123  	}
  4124  
  4125  	output = &ListCustomVerificationEmailTemplatesOutput{}
  4126  	req = c.newRequest(op, input, output)
  4127  	return
  4128  }
  4129  
  4130  // ListCustomVerificationEmailTemplates API operation for Amazon Simple Email Service.
  4131  //
  4132  // Lists the existing custom verification email templates for your account in
  4133  // the current Amazon Web Services Region.
  4134  //
  4135  // For more information about custom verification email templates, see Using
  4136  // Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html)
  4137  // in the Amazon SES Developer Guide.
  4138  //
  4139  // You can execute this operation no more than once per second.
  4140  //
  4141  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4142  // with awserr.Error's Code and Message methods to get detailed information about
  4143  // the error.
  4144  //
  4145  // See the AWS API reference guide for Amazon Simple Email Service's
  4146  // API operation ListCustomVerificationEmailTemplates for usage and error information.
  4147  //
  4148  // Returned Error Types:
  4149  //   * TooManyRequestsException
  4150  //   Too many requests have been made to the operation.
  4151  //
  4152  //   * BadRequestException
  4153  //   The input you provided is invalid.
  4154  //
  4155  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListCustomVerificationEmailTemplates
  4156  func (c *SESV2) ListCustomVerificationEmailTemplates(input *ListCustomVerificationEmailTemplatesInput) (*ListCustomVerificationEmailTemplatesOutput, error) {
  4157  	req, out := c.ListCustomVerificationEmailTemplatesRequest(input)
  4158  	return out, req.Send()
  4159  }
  4160  
  4161  // ListCustomVerificationEmailTemplatesWithContext is the same as ListCustomVerificationEmailTemplates with the addition of
  4162  // the ability to pass a context and additional request options.
  4163  //
  4164  // See ListCustomVerificationEmailTemplates for details on how to use this API operation.
  4165  //
  4166  // The context must be non-nil and will be used for request cancellation. If
  4167  // the context is nil a panic will occur. In the future the SDK may create
  4168  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4169  // for more information on using Contexts.
  4170  func (c *SESV2) ListCustomVerificationEmailTemplatesWithContext(ctx aws.Context, input *ListCustomVerificationEmailTemplatesInput, opts ...request.Option) (*ListCustomVerificationEmailTemplatesOutput, error) {
  4171  	req, out := c.ListCustomVerificationEmailTemplatesRequest(input)
  4172  	req.SetContext(ctx)
  4173  	req.ApplyOptions(opts...)
  4174  	return out, req.Send()
  4175  }
  4176  
  4177  // ListCustomVerificationEmailTemplatesPages iterates over the pages of a ListCustomVerificationEmailTemplates operation,
  4178  // calling the "fn" function with the response data for each page. To stop
  4179  // iterating, return false from the fn function.
  4180  //
  4181  // See ListCustomVerificationEmailTemplates method for more information on how to use this operation.
  4182  //
  4183  // Note: This operation can generate multiple requests to a service.
  4184  //
  4185  //    // Example iterating over at most 3 pages of a ListCustomVerificationEmailTemplates operation.
  4186  //    pageNum := 0
  4187  //    err := client.ListCustomVerificationEmailTemplatesPages(params,
  4188  //        func(page *sesv2.ListCustomVerificationEmailTemplatesOutput, lastPage bool) bool {
  4189  //            pageNum++
  4190  //            fmt.Println(page)
  4191  //            return pageNum <= 3
  4192  //        })
  4193  //
  4194  func (c *SESV2) ListCustomVerificationEmailTemplatesPages(input *ListCustomVerificationEmailTemplatesInput, fn func(*ListCustomVerificationEmailTemplatesOutput, bool) bool) error {
  4195  	return c.ListCustomVerificationEmailTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  4196  }
  4197  
  4198  // ListCustomVerificationEmailTemplatesPagesWithContext same as ListCustomVerificationEmailTemplatesPages except
  4199  // it takes a Context and allows setting request options on the pages.
  4200  //
  4201  // The context must be non-nil and will be used for request cancellation. If
  4202  // the context is nil a panic will occur. In the future the SDK may create
  4203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4204  // for more information on using Contexts.
  4205  func (c *SESV2) ListCustomVerificationEmailTemplatesPagesWithContext(ctx aws.Context, input *ListCustomVerificationEmailTemplatesInput, fn func(*ListCustomVerificationEmailTemplatesOutput, bool) bool, opts ...request.Option) error {
  4206  	p := request.Pagination{
  4207  		NewRequest: func() (*request.Request, error) {
  4208  			var inCpy *ListCustomVerificationEmailTemplatesInput
  4209  			if input != nil {
  4210  				tmp := *input
  4211  				inCpy = &tmp
  4212  			}
  4213  			req, _ := c.ListCustomVerificationEmailTemplatesRequest(inCpy)
  4214  			req.SetContext(ctx)
  4215  			req.ApplyOptions(opts...)
  4216  			return req, nil
  4217  		},
  4218  	}
  4219  
  4220  	for p.Next() {
  4221  		if !fn(p.Page().(*ListCustomVerificationEmailTemplatesOutput), !p.HasNextPage()) {
  4222  			break
  4223  		}
  4224  	}
  4225  
  4226  	return p.Err()
  4227  }
  4228  
  4229  const opListDedicatedIpPools = "ListDedicatedIpPools"
  4230  
  4231  // ListDedicatedIpPoolsRequest generates a "aws/request.Request" representing the
  4232  // client's request for the ListDedicatedIpPools operation. The "output" return
  4233  // value will be populated with the request's response once the request completes
  4234  // successfully.
  4235  //
  4236  // Use "Send" method on the returned Request to send the API call to the service.
  4237  // the "output" return value is not valid until after Send returns without error.
  4238  //
  4239  // See ListDedicatedIpPools for more information on using the ListDedicatedIpPools
  4240  // API call, and error handling.
  4241  //
  4242  // This method is useful when you want to inject custom logic or configuration
  4243  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4244  //
  4245  //
  4246  //    // Example sending a request using the ListDedicatedIpPoolsRequest method.
  4247  //    req, resp := client.ListDedicatedIpPoolsRequest(params)
  4248  //
  4249  //    err := req.Send()
  4250  //    if err == nil { // resp is now filled
  4251  //        fmt.Println(resp)
  4252  //    }
  4253  //
  4254  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools
  4255  func (c *SESV2) ListDedicatedIpPoolsRequest(input *ListDedicatedIpPoolsInput) (req *request.Request, output *ListDedicatedIpPoolsOutput) {
  4256  	op := &request.Operation{
  4257  		Name:       opListDedicatedIpPools,
  4258  		HTTPMethod: "GET",
  4259  		HTTPPath:   "/v2/email/dedicated-ip-pools",
  4260  		Paginator: &request.Paginator{
  4261  			InputTokens:     []string{"NextToken"},
  4262  			OutputTokens:    []string{"NextToken"},
  4263  			LimitToken:      "PageSize",
  4264  			TruncationToken: "",
  4265  		},
  4266  	}
  4267  
  4268  	if input == nil {
  4269  		input = &ListDedicatedIpPoolsInput{}
  4270  	}
  4271  
  4272  	output = &ListDedicatedIpPoolsOutput{}
  4273  	req = c.newRequest(op, input, output)
  4274  	return
  4275  }
  4276  
  4277  // ListDedicatedIpPools API operation for Amazon Simple Email Service.
  4278  //
  4279  // List all of the dedicated IP pools that exist in your Amazon Web Services
  4280  // account in the current Region.
  4281  //
  4282  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4283  // with awserr.Error's Code and Message methods to get detailed information about
  4284  // the error.
  4285  //
  4286  // See the AWS API reference guide for Amazon Simple Email Service's
  4287  // API operation ListDedicatedIpPools for usage and error information.
  4288  //
  4289  // Returned Error Types:
  4290  //   * TooManyRequestsException
  4291  //   Too many requests have been made to the operation.
  4292  //
  4293  //   * BadRequestException
  4294  //   The input you provided is invalid.
  4295  //
  4296  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools
  4297  func (c *SESV2) ListDedicatedIpPools(input *ListDedicatedIpPoolsInput) (*ListDedicatedIpPoolsOutput, error) {
  4298  	req, out := c.ListDedicatedIpPoolsRequest(input)
  4299  	return out, req.Send()
  4300  }
  4301  
  4302  // ListDedicatedIpPoolsWithContext is the same as ListDedicatedIpPools with the addition of
  4303  // the ability to pass a context and additional request options.
  4304  //
  4305  // See ListDedicatedIpPools for details on how to use this API operation.
  4306  //
  4307  // The context must be non-nil and will be used for request cancellation. If
  4308  // the context is nil a panic will occur. In the future the SDK may create
  4309  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4310  // for more information on using Contexts.
  4311  func (c *SESV2) ListDedicatedIpPoolsWithContext(ctx aws.Context, input *ListDedicatedIpPoolsInput, opts ...request.Option) (*ListDedicatedIpPoolsOutput, error) {
  4312  	req, out := c.ListDedicatedIpPoolsRequest(input)
  4313  	req.SetContext(ctx)
  4314  	req.ApplyOptions(opts...)
  4315  	return out, req.Send()
  4316  }
  4317  
  4318  // ListDedicatedIpPoolsPages iterates over the pages of a ListDedicatedIpPools operation,
  4319  // calling the "fn" function with the response data for each page. To stop
  4320  // iterating, return false from the fn function.
  4321  //
  4322  // See ListDedicatedIpPools method for more information on how to use this operation.
  4323  //
  4324  // Note: This operation can generate multiple requests to a service.
  4325  //
  4326  //    // Example iterating over at most 3 pages of a ListDedicatedIpPools operation.
  4327  //    pageNum := 0
  4328  //    err := client.ListDedicatedIpPoolsPages(params,
  4329  //        func(page *sesv2.ListDedicatedIpPoolsOutput, lastPage bool) bool {
  4330  //            pageNum++
  4331  //            fmt.Println(page)
  4332  //            return pageNum <= 3
  4333  //        })
  4334  //
  4335  func (c *SESV2) ListDedicatedIpPoolsPages(input *ListDedicatedIpPoolsInput, fn func(*ListDedicatedIpPoolsOutput, bool) bool) error {
  4336  	return c.ListDedicatedIpPoolsPagesWithContext(aws.BackgroundContext(), input, fn)
  4337  }
  4338  
  4339  // ListDedicatedIpPoolsPagesWithContext same as ListDedicatedIpPoolsPages except
  4340  // it takes a Context and allows setting request options on the pages.
  4341  //
  4342  // The context must be non-nil and will be used for request cancellation. If
  4343  // the context is nil a panic will occur. In the future the SDK may create
  4344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4345  // for more information on using Contexts.
  4346  func (c *SESV2) ListDedicatedIpPoolsPagesWithContext(ctx aws.Context, input *ListDedicatedIpPoolsInput, fn func(*ListDedicatedIpPoolsOutput, bool) bool, opts ...request.Option) error {
  4347  	p := request.Pagination{
  4348  		NewRequest: func() (*request.Request, error) {
  4349  			var inCpy *ListDedicatedIpPoolsInput
  4350  			if input != nil {
  4351  				tmp := *input
  4352  				inCpy = &tmp
  4353  			}
  4354  			req, _ := c.ListDedicatedIpPoolsRequest(inCpy)
  4355  			req.SetContext(ctx)
  4356  			req.ApplyOptions(opts...)
  4357  			return req, nil
  4358  		},
  4359  	}
  4360  
  4361  	for p.Next() {
  4362  		if !fn(p.Page().(*ListDedicatedIpPoolsOutput), !p.HasNextPage()) {
  4363  			break
  4364  		}
  4365  	}
  4366  
  4367  	return p.Err()
  4368  }
  4369  
  4370  const opListDeliverabilityTestReports = "ListDeliverabilityTestReports"
  4371  
  4372  // ListDeliverabilityTestReportsRequest generates a "aws/request.Request" representing the
  4373  // client's request for the ListDeliverabilityTestReports operation. The "output" return
  4374  // value will be populated with the request's response once the request completes
  4375  // successfully.
  4376  //
  4377  // Use "Send" method on the returned Request to send the API call to the service.
  4378  // the "output" return value is not valid until after Send returns without error.
  4379  //
  4380  // See ListDeliverabilityTestReports for more information on using the ListDeliverabilityTestReports
  4381  // API call, and error handling.
  4382  //
  4383  // This method is useful when you want to inject custom logic or configuration
  4384  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4385  //
  4386  //
  4387  //    // Example sending a request using the ListDeliverabilityTestReportsRequest method.
  4388  //    req, resp := client.ListDeliverabilityTestReportsRequest(params)
  4389  //
  4390  //    err := req.Send()
  4391  //    if err == nil { // resp is now filled
  4392  //        fmt.Println(resp)
  4393  //    }
  4394  //
  4395  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDeliverabilityTestReports
  4396  func (c *SESV2) ListDeliverabilityTestReportsRequest(input *ListDeliverabilityTestReportsInput) (req *request.Request, output *ListDeliverabilityTestReportsOutput) {
  4397  	op := &request.Operation{
  4398  		Name:       opListDeliverabilityTestReports,
  4399  		HTTPMethod: "GET",
  4400  		HTTPPath:   "/v2/email/deliverability-dashboard/test-reports",
  4401  		Paginator: &request.Paginator{
  4402  			InputTokens:     []string{"NextToken"},
  4403  			OutputTokens:    []string{"NextToken"},
  4404  			LimitToken:      "PageSize",
  4405  			TruncationToken: "",
  4406  		},
  4407  	}
  4408  
  4409  	if input == nil {
  4410  		input = &ListDeliverabilityTestReportsInput{}
  4411  	}
  4412  
  4413  	output = &ListDeliverabilityTestReportsOutput{}
  4414  	req = c.newRequest(op, input, output)
  4415  	return
  4416  }
  4417  
  4418  // ListDeliverabilityTestReports API operation for Amazon Simple Email Service.
  4419  //
  4420  // Show a list of the predictive inbox placement tests that you've performed,
  4421  // regardless of their statuses. For predictive inbox placement tests that are
  4422  // complete, you can use the GetDeliverabilityTestReport operation to view the
  4423  // results.
  4424  //
  4425  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4426  // with awserr.Error's Code and Message methods to get detailed information about
  4427  // the error.
  4428  //
  4429  // See the AWS API reference guide for Amazon Simple Email Service's
  4430  // API operation ListDeliverabilityTestReports for usage and error information.
  4431  //
  4432  // Returned Error Types:
  4433  //   * TooManyRequestsException
  4434  //   Too many requests have been made to the operation.
  4435  //
  4436  //   * NotFoundException
  4437  //   The resource you attempted to access doesn't exist.
  4438  //
  4439  //   * BadRequestException
  4440  //   The input you provided is invalid.
  4441  //
  4442  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDeliverabilityTestReports
  4443  func (c *SESV2) ListDeliverabilityTestReports(input *ListDeliverabilityTestReportsInput) (*ListDeliverabilityTestReportsOutput, error) {
  4444  	req, out := c.ListDeliverabilityTestReportsRequest(input)
  4445  	return out, req.Send()
  4446  }
  4447  
  4448  // ListDeliverabilityTestReportsWithContext is the same as ListDeliverabilityTestReports with the addition of
  4449  // the ability to pass a context and additional request options.
  4450  //
  4451  // See ListDeliverabilityTestReports for details on how to use this API operation.
  4452  //
  4453  // The context must be non-nil and will be used for request cancellation. If
  4454  // the context is nil a panic will occur. In the future the SDK may create
  4455  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4456  // for more information on using Contexts.
  4457  func (c *SESV2) ListDeliverabilityTestReportsWithContext(ctx aws.Context, input *ListDeliverabilityTestReportsInput, opts ...request.Option) (*ListDeliverabilityTestReportsOutput, error) {
  4458  	req, out := c.ListDeliverabilityTestReportsRequest(input)
  4459  	req.SetContext(ctx)
  4460  	req.ApplyOptions(opts...)
  4461  	return out, req.Send()
  4462  }
  4463  
  4464  // ListDeliverabilityTestReportsPages iterates over the pages of a ListDeliverabilityTestReports operation,
  4465  // calling the "fn" function with the response data for each page. To stop
  4466  // iterating, return false from the fn function.
  4467  //
  4468  // See ListDeliverabilityTestReports method for more information on how to use this operation.
  4469  //
  4470  // Note: This operation can generate multiple requests to a service.
  4471  //
  4472  //    // Example iterating over at most 3 pages of a ListDeliverabilityTestReports operation.
  4473  //    pageNum := 0
  4474  //    err := client.ListDeliverabilityTestReportsPages(params,
  4475  //        func(page *sesv2.ListDeliverabilityTestReportsOutput, lastPage bool) bool {
  4476  //            pageNum++
  4477  //            fmt.Println(page)
  4478  //            return pageNum <= 3
  4479  //        })
  4480  //
  4481  func (c *SESV2) ListDeliverabilityTestReportsPages(input *ListDeliverabilityTestReportsInput, fn func(*ListDeliverabilityTestReportsOutput, bool) bool) error {
  4482  	return c.ListDeliverabilityTestReportsPagesWithContext(aws.BackgroundContext(), input, fn)
  4483  }
  4484  
  4485  // ListDeliverabilityTestReportsPagesWithContext same as ListDeliverabilityTestReportsPages except
  4486  // it takes a Context and allows setting request options on the pages.
  4487  //
  4488  // The context must be non-nil and will be used for request cancellation. If
  4489  // the context is nil a panic will occur. In the future the SDK may create
  4490  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4491  // for more information on using Contexts.
  4492  func (c *SESV2) ListDeliverabilityTestReportsPagesWithContext(ctx aws.Context, input *ListDeliverabilityTestReportsInput, fn func(*ListDeliverabilityTestReportsOutput, bool) bool, opts ...request.Option) error {
  4493  	p := request.Pagination{
  4494  		NewRequest: func() (*request.Request, error) {
  4495  			var inCpy *ListDeliverabilityTestReportsInput
  4496  			if input != nil {
  4497  				tmp := *input
  4498  				inCpy = &tmp
  4499  			}
  4500  			req, _ := c.ListDeliverabilityTestReportsRequest(inCpy)
  4501  			req.SetContext(ctx)
  4502  			req.ApplyOptions(opts...)
  4503  			return req, nil
  4504  		},
  4505  	}
  4506  
  4507  	for p.Next() {
  4508  		if !fn(p.Page().(*ListDeliverabilityTestReportsOutput), !p.HasNextPage()) {
  4509  			break
  4510  		}
  4511  	}
  4512  
  4513  	return p.Err()
  4514  }
  4515  
  4516  const opListDomainDeliverabilityCampaigns = "ListDomainDeliverabilityCampaigns"
  4517  
  4518  // ListDomainDeliverabilityCampaignsRequest generates a "aws/request.Request" representing the
  4519  // client's request for the ListDomainDeliverabilityCampaigns operation. The "output" return
  4520  // value will be populated with the request's response once the request completes
  4521  // successfully.
  4522  //
  4523  // Use "Send" method on the returned Request to send the API call to the service.
  4524  // the "output" return value is not valid until after Send returns without error.
  4525  //
  4526  // See ListDomainDeliverabilityCampaigns for more information on using the ListDomainDeliverabilityCampaigns
  4527  // API call, and error handling.
  4528  //
  4529  // This method is useful when you want to inject custom logic or configuration
  4530  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4531  //
  4532  //
  4533  //    // Example sending a request using the ListDomainDeliverabilityCampaignsRequest method.
  4534  //    req, resp := client.ListDomainDeliverabilityCampaignsRequest(params)
  4535  //
  4536  //    err := req.Send()
  4537  //    if err == nil { // resp is now filled
  4538  //        fmt.Println(resp)
  4539  //    }
  4540  //
  4541  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDomainDeliverabilityCampaigns
  4542  func (c *SESV2) ListDomainDeliverabilityCampaignsRequest(input *ListDomainDeliverabilityCampaignsInput) (req *request.Request, output *ListDomainDeliverabilityCampaignsOutput) {
  4543  	op := &request.Operation{
  4544  		Name:       opListDomainDeliverabilityCampaigns,
  4545  		HTTPMethod: "GET",
  4546  		HTTPPath:   "/v2/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns",
  4547  		Paginator: &request.Paginator{
  4548  			InputTokens:     []string{"NextToken"},
  4549  			OutputTokens:    []string{"NextToken"},
  4550  			LimitToken:      "PageSize",
  4551  			TruncationToken: "",
  4552  		},
  4553  	}
  4554  
  4555  	if input == nil {
  4556  		input = &ListDomainDeliverabilityCampaignsInput{}
  4557  	}
  4558  
  4559  	output = &ListDomainDeliverabilityCampaignsOutput{}
  4560  	req = c.newRequest(op, input, output)
  4561  	return
  4562  }
  4563  
  4564  // ListDomainDeliverabilityCampaigns API operation for Amazon Simple Email Service.
  4565  //
  4566  // Retrieve deliverability data for all the campaigns that used a specific domain
  4567  // to send email during a specified time range. This data is available for a
  4568  // domain only if you enabled the Deliverability dashboard for the domain.
  4569  //
  4570  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4571  // with awserr.Error's Code and Message methods to get detailed information about
  4572  // the error.
  4573  //
  4574  // See the AWS API reference guide for Amazon Simple Email Service's
  4575  // API operation ListDomainDeliverabilityCampaigns for usage and error information.
  4576  //
  4577  // Returned Error Types:
  4578  //   * TooManyRequestsException
  4579  //   Too many requests have been made to the operation.
  4580  //
  4581  //   * BadRequestException
  4582  //   The input you provided is invalid.
  4583  //
  4584  //   * NotFoundException
  4585  //   The resource you attempted to access doesn't exist.
  4586  //
  4587  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDomainDeliverabilityCampaigns
  4588  func (c *SESV2) ListDomainDeliverabilityCampaigns(input *ListDomainDeliverabilityCampaignsInput) (*ListDomainDeliverabilityCampaignsOutput, error) {
  4589  	req, out := c.ListDomainDeliverabilityCampaignsRequest(input)
  4590  	return out, req.Send()
  4591  }
  4592  
  4593  // ListDomainDeliverabilityCampaignsWithContext is the same as ListDomainDeliverabilityCampaigns with the addition of
  4594  // the ability to pass a context and additional request options.
  4595  //
  4596  // See ListDomainDeliverabilityCampaigns for details on how to use this API operation.
  4597  //
  4598  // The context must be non-nil and will be used for request cancellation. If
  4599  // the context is nil a panic will occur. In the future the SDK may create
  4600  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4601  // for more information on using Contexts.
  4602  func (c *SESV2) ListDomainDeliverabilityCampaignsWithContext(ctx aws.Context, input *ListDomainDeliverabilityCampaignsInput, opts ...request.Option) (*ListDomainDeliverabilityCampaignsOutput, error) {
  4603  	req, out := c.ListDomainDeliverabilityCampaignsRequest(input)
  4604  	req.SetContext(ctx)
  4605  	req.ApplyOptions(opts...)
  4606  	return out, req.Send()
  4607  }
  4608  
  4609  // ListDomainDeliverabilityCampaignsPages iterates over the pages of a ListDomainDeliverabilityCampaigns operation,
  4610  // calling the "fn" function with the response data for each page. To stop
  4611  // iterating, return false from the fn function.
  4612  //
  4613  // See ListDomainDeliverabilityCampaigns method for more information on how to use this operation.
  4614  //
  4615  // Note: This operation can generate multiple requests to a service.
  4616  //
  4617  //    // Example iterating over at most 3 pages of a ListDomainDeliverabilityCampaigns operation.
  4618  //    pageNum := 0
  4619  //    err := client.ListDomainDeliverabilityCampaignsPages(params,
  4620  //        func(page *sesv2.ListDomainDeliverabilityCampaignsOutput, lastPage bool) bool {
  4621  //            pageNum++
  4622  //            fmt.Println(page)
  4623  //            return pageNum <= 3
  4624  //        })
  4625  //
  4626  func (c *SESV2) ListDomainDeliverabilityCampaignsPages(input *ListDomainDeliverabilityCampaignsInput, fn func(*ListDomainDeliverabilityCampaignsOutput, bool) bool) error {
  4627  	return c.ListDomainDeliverabilityCampaignsPagesWithContext(aws.BackgroundContext(), input, fn)
  4628  }
  4629  
  4630  // ListDomainDeliverabilityCampaignsPagesWithContext same as ListDomainDeliverabilityCampaignsPages except
  4631  // it takes a Context and allows setting request options on the pages.
  4632  //
  4633  // The context must be non-nil and will be used for request cancellation. If
  4634  // the context is nil a panic will occur. In the future the SDK may create
  4635  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4636  // for more information on using Contexts.
  4637  func (c *SESV2) ListDomainDeliverabilityCampaignsPagesWithContext(ctx aws.Context, input *ListDomainDeliverabilityCampaignsInput, fn func(*ListDomainDeliverabilityCampaignsOutput, bool) bool, opts ...request.Option) error {
  4638  	p := request.Pagination{
  4639  		NewRequest: func() (*request.Request, error) {
  4640  			var inCpy *ListDomainDeliverabilityCampaignsInput
  4641  			if input != nil {
  4642  				tmp := *input
  4643  				inCpy = &tmp
  4644  			}
  4645  			req, _ := c.ListDomainDeliverabilityCampaignsRequest(inCpy)
  4646  			req.SetContext(ctx)
  4647  			req.ApplyOptions(opts...)
  4648  			return req, nil
  4649  		},
  4650  	}
  4651  
  4652  	for p.Next() {
  4653  		if !fn(p.Page().(*ListDomainDeliverabilityCampaignsOutput), !p.HasNextPage()) {
  4654  			break
  4655  		}
  4656  	}
  4657  
  4658  	return p.Err()
  4659  }
  4660  
  4661  const opListEmailIdentities = "ListEmailIdentities"
  4662  
  4663  // ListEmailIdentitiesRequest generates a "aws/request.Request" representing the
  4664  // client's request for the ListEmailIdentities operation. The "output" return
  4665  // value will be populated with the request's response once the request completes
  4666  // successfully.
  4667  //
  4668  // Use "Send" method on the returned Request to send the API call to the service.
  4669  // the "output" return value is not valid until after Send returns without error.
  4670  //
  4671  // See ListEmailIdentities for more information on using the ListEmailIdentities
  4672  // API call, and error handling.
  4673  //
  4674  // This method is useful when you want to inject custom logic or configuration
  4675  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4676  //
  4677  //
  4678  //    // Example sending a request using the ListEmailIdentitiesRequest method.
  4679  //    req, resp := client.ListEmailIdentitiesRequest(params)
  4680  //
  4681  //    err := req.Send()
  4682  //    if err == nil { // resp is now filled
  4683  //        fmt.Println(resp)
  4684  //    }
  4685  //
  4686  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailIdentities
  4687  func (c *SESV2) ListEmailIdentitiesRequest(input *ListEmailIdentitiesInput) (req *request.Request, output *ListEmailIdentitiesOutput) {
  4688  	op := &request.Operation{
  4689  		Name:       opListEmailIdentities,
  4690  		HTTPMethod: "GET",
  4691  		HTTPPath:   "/v2/email/identities",
  4692  		Paginator: &request.Paginator{
  4693  			InputTokens:     []string{"NextToken"},
  4694  			OutputTokens:    []string{"NextToken"},
  4695  			LimitToken:      "PageSize",
  4696  			TruncationToken: "",
  4697  		},
  4698  	}
  4699  
  4700  	if input == nil {
  4701  		input = &ListEmailIdentitiesInput{}
  4702  	}
  4703  
  4704  	output = &ListEmailIdentitiesOutput{}
  4705  	req = c.newRequest(op, input, output)
  4706  	return
  4707  }
  4708  
  4709  // ListEmailIdentities API operation for Amazon Simple Email Service.
  4710  //
  4711  // Returns a list of all of the email identities that are associated with your
  4712  // Amazon Web Services account. An identity can be either an email address or
  4713  // a domain. This operation returns identities that are verified as well as
  4714  // those that aren't. This operation returns identities that are associated
  4715  // with Amazon SES and Amazon Pinpoint.
  4716  //
  4717  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4718  // with awserr.Error's Code and Message methods to get detailed information about
  4719  // the error.
  4720  //
  4721  // See the AWS API reference guide for Amazon Simple Email Service's
  4722  // API operation ListEmailIdentities for usage and error information.
  4723  //
  4724  // Returned Error Types:
  4725  //   * TooManyRequestsException
  4726  //   Too many requests have been made to the operation.
  4727  //
  4728  //   * BadRequestException
  4729  //   The input you provided is invalid.
  4730  //
  4731  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailIdentities
  4732  func (c *SESV2) ListEmailIdentities(input *ListEmailIdentitiesInput) (*ListEmailIdentitiesOutput, error) {
  4733  	req, out := c.ListEmailIdentitiesRequest(input)
  4734  	return out, req.Send()
  4735  }
  4736  
  4737  // ListEmailIdentitiesWithContext is the same as ListEmailIdentities with the addition of
  4738  // the ability to pass a context and additional request options.
  4739  //
  4740  // See ListEmailIdentities for details on how to use this API operation.
  4741  //
  4742  // The context must be non-nil and will be used for request cancellation. If
  4743  // the context is nil a panic will occur. In the future the SDK may create
  4744  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4745  // for more information on using Contexts.
  4746  func (c *SESV2) ListEmailIdentitiesWithContext(ctx aws.Context, input *ListEmailIdentitiesInput, opts ...request.Option) (*ListEmailIdentitiesOutput, error) {
  4747  	req, out := c.ListEmailIdentitiesRequest(input)
  4748  	req.SetContext(ctx)
  4749  	req.ApplyOptions(opts...)
  4750  	return out, req.Send()
  4751  }
  4752  
  4753  // ListEmailIdentitiesPages iterates over the pages of a ListEmailIdentities operation,
  4754  // calling the "fn" function with the response data for each page. To stop
  4755  // iterating, return false from the fn function.
  4756  //
  4757  // See ListEmailIdentities method for more information on how to use this operation.
  4758  //
  4759  // Note: This operation can generate multiple requests to a service.
  4760  //
  4761  //    // Example iterating over at most 3 pages of a ListEmailIdentities operation.
  4762  //    pageNum := 0
  4763  //    err := client.ListEmailIdentitiesPages(params,
  4764  //        func(page *sesv2.ListEmailIdentitiesOutput, lastPage bool) bool {
  4765  //            pageNum++
  4766  //            fmt.Println(page)
  4767  //            return pageNum <= 3
  4768  //        })
  4769  //
  4770  func (c *SESV2) ListEmailIdentitiesPages(input *ListEmailIdentitiesInput, fn func(*ListEmailIdentitiesOutput, bool) bool) error {
  4771  	return c.ListEmailIdentitiesPagesWithContext(aws.BackgroundContext(), input, fn)
  4772  }
  4773  
  4774  // ListEmailIdentitiesPagesWithContext same as ListEmailIdentitiesPages except
  4775  // it takes a Context and allows setting request options on the pages.
  4776  //
  4777  // The context must be non-nil and will be used for request cancellation. If
  4778  // the context is nil a panic will occur. In the future the SDK may create
  4779  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4780  // for more information on using Contexts.
  4781  func (c *SESV2) ListEmailIdentitiesPagesWithContext(ctx aws.Context, input *ListEmailIdentitiesInput, fn func(*ListEmailIdentitiesOutput, bool) bool, opts ...request.Option) error {
  4782  	p := request.Pagination{
  4783  		NewRequest: func() (*request.Request, error) {
  4784  			var inCpy *ListEmailIdentitiesInput
  4785  			if input != nil {
  4786  				tmp := *input
  4787  				inCpy = &tmp
  4788  			}
  4789  			req, _ := c.ListEmailIdentitiesRequest(inCpy)
  4790  			req.SetContext(ctx)
  4791  			req.ApplyOptions(opts...)
  4792  			return req, nil
  4793  		},
  4794  	}
  4795  
  4796  	for p.Next() {
  4797  		if !fn(p.Page().(*ListEmailIdentitiesOutput), !p.HasNextPage()) {
  4798  			break
  4799  		}
  4800  	}
  4801  
  4802  	return p.Err()
  4803  }
  4804  
  4805  const opListEmailTemplates = "ListEmailTemplates"
  4806  
  4807  // ListEmailTemplatesRequest generates a "aws/request.Request" representing the
  4808  // client's request for the ListEmailTemplates operation. The "output" return
  4809  // value will be populated with the request's response once the request completes
  4810  // successfully.
  4811  //
  4812  // Use "Send" method on the returned Request to send the API call to the service.
  4813  // the "output" return value is not valid until after Send returns without error.
  4814  //
  4815  // See ListEmailTemplates for more information on using the ListEmailTemplates
  4816  // API call, and error handling.
  4817  //
  4818  // This method is useful when you want to inject custom logic or configuration
  4819  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4820  //
  4821  //
  4822  //    // Example sending a request using the ListEmailTemplatesRequest method.
  4823  //    req, resp := client.ListEmailTemplatesRequest(params)
  4824  //
  4825  //    err := req.Send()
  4826  //    if err == nil { // resp is now filled
  4827  //        fmt.Println(resp)
  4828  //    }
  4829  //
  4830  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailTemplates
  4831  func (c *SESV2) ListEmailTemplatesRequest(input *ListEmailTemplatesInput) (req *request.Request, output *ListEmailTemplatesOutput) {
  4832  	op := &request.Operation{
  4833  		Name:       opListEmailTemplates,
  4834  		HTTPMethod: "GET",
  4835  		HTTPPath:   "/v2/email/templates",
  4836  		Paginator: &request.Paginator{
  4837  			InputTokens:     []string{"NextToken"},
  4838  			OutputTokens:    []string{"NextToken"},
  4839  			LimitToken:      "PageSize",
  4840  			TruncationToken: "",
  4841  		},
  4842  	}
  4843  
  4844  	if input == nil {
  4845  		input = &ListEmailTemplatesInput{}
  4846  	}
  4847  
  4848  	output = &ListEmailTemplatesOutput{}
  4849  	req = c.newRequest(op, input, output)
  4850  	return
  4851  }
  4852  
  4853  // ListEmailTemplates API operation for Amazon Simple Email Service.
  4854  //
  4855  // Lists the email templates present in your Amazon SES account in the current
  4856  // Amazon Web Services Region.
  4857  //
  4858  // You can execute this operation no more than once per second.
  4859  //
  4860  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4861  // with awserr.Error's Code and Message methods to get detailed information about
  4862  // the error.
  4863  //
  4864  // See the AWS API reference guide for Amazon Simple Email Service's
  4865  // API operation ListEmailTemplates for usage and error information.
  4866  //
  4867  // Returned Error Types:
  4868  //   * TooManyRequestsException
  4869  //   Too many requests have been made to the operation.
  4870  //
  4871  //   * BadRequestException
  4872  //   The input you provided is invalid.
  4873  //
  4874  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailTemplates
  4875  func (c *SESV2) ListEmailTemplates(input *ListEmailTemplatesInput) (*ListEmailTemplatesOutput, error) {
  4876  	req, out := c.ListEmailTemplatesRequest(input)
  4877  	return out, req.Send()
  4878  }
  4879  
  4880  // ListEmailTemplatesWithContext is the same as ListEmailTemplates with the addition of
  4881  // the ability to pass a context and additional request options.
  4882  //
  4883  // See ListEmailTemplates for details on how to use this API operation.
  4884  //
  4885  // The context must be non-nil and will be used for request cancellation. If
  4886  // the context is nil a panic will occur. In the future the SDK may create
  4887  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4888  // for more information on using Contexts.
  4889  func (c *SESV2) ListEmailTemplatesWithContext(ctx aws.Context, input *ListEmailTemplatesInput, opts ...request.Option) (*ListEmailTemplatesOutput, error) {
  4890  	req, out := c.ListEmailTemplatesRequest(input)
  4891  	req.SetContext(ctx)
  4892  	req.ApplyOptions(opts...)
  4893  	return out, req.Send()
  4894  }
  4895  
  4896  // ListEmailTemplatesPages iterates over the pages of a ListEmailTemplates operation,
  4897  // calling the "fn" function with the response data for each page. To stop
  4898  // iterating, return false from the fn function.
  4899  //
  4900  // See ListEmailTemplates method for more information on how to use this operation.
  4901  //
  4902  // Note: This operation can generate multiple requests to a service.
  4903  //
  4904  //    // Example iterating over at most 3 pages of a ListEmailTemplates operation.
  4905  //    pageNum := 0
  4906  //    err := client.ListEmailTemplatesPages(params,
  4907  //        func(page *sesv2.ListEmailTemplatesOutput, lastPage bool) bool {
  4908  //            pageNum++
  4909  //            fmt.Println(page)
  4910  //            return pageNum <= 3
  4911  //        })
  4912  //
  4913  func (c *SESV2) ListEmailTemplatesPages(input *ListEmailTemplatesInput, fn func(*ListEmailTemplatesOutput, bool) bool) error {
  4914  	return c.ListEmailTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  4915  }
  4916  
  4917  // ListEmailTemplatesPagesWithContext same as ListEmailTemplatesPages except
  4918  // it takes a Context and allows setting request options on the pages.
  4919  //
  4920  // The context must be non-nil and will be used for request cancellation. If
  4921  // the context is nil a panic will occur. In the future the SDK may create
  4922  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4923  // for more information on using Contexts.
  4924  func (c *SESV2) ListEmailTemplatesPagesWithContext(ctx aws.Context, input *ListEmailTemplatesInput, fn func(*ListEmailTemplatesOutput, bool) bool, opts ...request.Option) error {
  4925  	p := request.Pagination{
  4926  		NewRequest: func() (*request.Request, error) {
  4927  			var inCpy *ListEmailTemplatesInput
  4928  			if input != nil {
  4929  				tmp := *input
  4930  				inCpy = &tmp
  4931  			}
  4932  			req, _ := c.ListEmailTemplatesRequest(inCpy)
  4933  			req.SetContext(ctx)
  4934  			req.ApplyOptions(opts...)
  4935  			return req, nil
  4936  		},
  4937  	}
  4938  
  4939  	for p.Next() {
  4940  		if !fn(p.Page().(*ListEmailTemplatesOutput), !p.HasNextPage()) {
  4941  			break
  4942  		}
  4943  	}
  4944  
  4945  	return p.Err()
  4946  }
  4947  
  4948  const opListImportJobs = "ListImportJobs"
  4949  
  4950  // ListImportJobsRequest generates a "aws/request.Request" representing the
  4951  // client's request for the ListImportJobs operation. The "output" return
  4952  // value will be populated with the request's response once the request completes
  4953  // successfully.
  4954  //
  4955  // Use "Send" method on the returned Request to send the API call to the service.
  4956  // the "output" return value is not valid until after Send returns without error.
  4957  //
  4958  // See ListImportJobs for more information on using the ListImportJobs
  4959  // API call, and error handling.
  4960  //
  4961  // This method is useful when you want to inject custom logic or configuration
  4962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4963  //
  4964  //
  4965  //    // Example sending a request using the ListImportJobsRequest method.
  4966  //    req, resp := client.ListImportJobsRequest(params)
  4967  //
  4968  //    err := req.Send()
  4969  //    if err == nil { // resp is now filled
  4970  //        fmt.Println(resp)
  4971  //    }
  4972  //
  4973  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobs
  4974  func (c *SESV2) ListImportJobsRequest(input *ListImportJobsInput) (req *request.Request, output *ListImportJobsOutput) {
  4975  	op := &request.Operation{
  4976  		Name:       opListImportJobs,
  4977  		HTTPMethod: "GET",
  4978  		HTTPPath:   "/v2/email/import-jobs",
  4979  		Paginator: &request.Paginator{
  4980  			InputTokens:     []string{"NextToken"},
  4981  			OutputTokens:    []string{"NextToken"},
  4982  			LimitToken:      "PageSize",
  4983  			TruncationToken: "",
  4984  		},
  4985  	}
  4986  
  4987  	if input == nil {
  4988  		input = &ListImportJobsInput{}
  4989  	}
  4990  
  4991  	output = &ListImportJobsOutput{}
  4992  	req = c.newRequest(op, input, output)
  4993  	return
  4994  }
  4995  
  4996  // ListImportJobs API operation for Amazon Simple Email Service.
  4997  //
  4998  // Lists all of the import jobs.
  4999  //
  5000  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5001  // with awserr.Error's Code and Message methods to get detailed information about
  5002  // the error.
  5003  //
  5004  // See the AWS API reference guide for Amazon Simple Email Service's
  5005  // API operation ListImportJobs for usage and error information.
  5006  //
  5007  // Returned Error Types:
  5008  //   * TooManyRequestsException
  5009  //   Too many requests have been made to the operation.
  5010  //
  5011  //   * BadRequestException
  5012  //   The input you provided is invalid.
  5013  //
  5014  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobs
  5015  func (c *SESV2) ListImportJobs(input *ListImportJobsInput) (*ListImportJobsOutput, error) {
  5016  	req, out := c.ListImportJobsRequest(input)
  5017  	return out, req.Send()
  5018  }
  5019  
  5020  // ListImportJobsWithContext is the same as ListImportJobs with the addition of
  5021  // the ability to pass a context and additional request options.
  5022  //
  5023  // See ListImportJobs for details on how to use this API operation.
  5024  //
  5025  // The context must be non-nil and will be used for request cancellation. If
  5026  // the context is nil a panic will occur. In the future the SDK may create
  5027  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5028  // for more information on using Contexts.
  5029  func (c *SESV2) ListImportJobsWithContext(ctx aws.Context, input *ListImportJobsInput, opts ...request.Option) (*ListImportJobsOutput, error) {
  5030  	req, out := c.ListImportJobsRequest(input)
  5031  	req.SetContext(ctx)
  5032  	req.ApplyOptions(opts...)
  5033  	return out, req.Send()
  5034  }
  5035  
  5036  // ListImportJobsPages iterates over the pages of a ListImportJobs operation,
  5037  // calling the "fn" function with the response data for each page. To stop
  5038  // iterating, return false from the fn function.
  5039  //
  5040  // See ListImportJobs method for more information on how to use this operation.
  5041  //
  5042  // Note: This operation can generate multiple requests to a service.
  5043  //
  5044  //    // Example iterating over at most 3 pages of a ListImportJobs operation.
  5045  //    pageNum := 0
  5046  //    err := client.ListImportJobsPages(params,
  5047  //        func(page *sesv2.ListImportJobsOutput, lastPage bool) bool {
  5048  //            pageNum++
  5049  //            fmt.Println(page)
  5050  //            return pageNum <= 3
  5051  //        })
  5052  //
  5053  func (c *SESV2) ListImportJobsPages(input *ListImportJobsInput, fn func(*ListImportJobsOutput, bool) bool) error {
  5054  	return c.ListImportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  5055  }
  5056  
  5057  // ListImportJobsPagesWithContext same as ListImportJobsPages except
  5058  // it takes a Context and allows setting request options on the pages.
  5059  //
  5060  // The context must be non-nil and will be used for request cancellation. If
  5061  // the context is nil a panic will occur. In the future the SDK may create
  5062  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5063  // for more information on using Contexts.
  5064  func (c *SESV2) ListImportJobsPagesWithContext(ctx aws.Context, input *ListImportJobsInput, fn func(*ListImportJobsOutput, bool) bool, opts ...request.Option) error {
  5065  	p := request.Pagination{
  5066  		NewRequest: func() (*request.Request, error) {
  5067  			var inCpy *ListImportJobsInput
  5068  			if input != nil {
  5069  				tmp := *input
  5070  				inCpy = &tmp
  5071  			}
  5072  			req, _ := c.ListImportJobsRequest(inCpy)
  5073  			req.SetContext(ctx)
  5074  			req.ApplyOptions(opts...)
  5075  			return req, nil
  5076  		},
  5077  	}
  5078  
  5079  	for p.Next() {
  5080  		if !fn(p.Page().(*ListImportJobsOutput), !p.HasNextPage()) {
  5081  			break
  5082  		}
  5083  	}
  5084  
  5085  	return p.Err()
  5086  }
  5087  
  5088  const opListSuppressedDestinations = "ListSuppressedDestinations"
  5089  
  5090  // ListSuppressedDestinationsRequest generates a "aws/request.Request" representing the
  5091  // client's request for the ListSuppressedDestinations operation. The "output" return
  5092  // value will be populated with the request's response once the request completes
  5093  // successfully.
  5094  //
  5095  // Use "Send" method on the returned Request to send the API call to the service.
  5096  // the "output" return value is not valid until after Send returns without error.
  5097  //
  5098  // See ListSuppressedDestinations for more information on using the ListSuppressedDestinations
  5099  // API call, and error handling.
  5100  //
  5101  // This method is useful when you want to inject custom logic or configuration
  5102  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5103  //
  5104  //
  5105  //    // Example sending a request using the ListSuppressedDestinationsRequest method.
  5106  //    req, resp := client.ListSuppressedDestinationsRequest(params)
  5107  //
  5108  //    err := req.Send()
  5109  //    if err == nil { // resp is now filled
  5110  //        fmt.Println(resp)
  5111  //    }
  5112  //
  5113  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListSuppressedDestinations
  5114  func (c *SESV2) ListSuppressedDestinationsRequest(input *ListSuppressedDestinationsInput) (req *request.Request, output *ListSuppressedDestinationsOutput) {
  5115  	op := &request.Operation{
  5116  		Name:       opListSuppressedDestinations,
  5117  		HTTPMethod: "GET",
  5118  		HTTPPath:   "/v2/email/suppression/addresses",
  5119  		Paginator: &request.Paginator{
  5120  			InputTokens:     []string{"NextToken"},
  5121  			OutputTokens:    []string{"NextToken"},
  5122  			LimitToken:      "PageSize",
  5123  			TruncationToken: "",
  5124  		},
  5125  	}
  5126  
  5127  	if input == nil {
  5128  		input = &ListSuppressedDestinationsInput{}
  5129  	}
  5130  
  5131  	output = &ListSuppressedDestinationsOutput{}
  5132  	req = c.newRequest(op, input, output)
  5133  	return
  5134  }
  5135  
  5136  // ListSuppressedDestinations API operation for Amazon Simple Email Service.
  5137  //
  5138  // Retrieves a list of email addresses that are on the suppression list for
  5139  // your account.
  5140  //
  5141  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5142  // with awserr.Error's Code and Message methods to get detailed information about
  5143  // the error.
  5144  //
  5145  // See the AWS API reference guide for Amazon Simple Email Service's
  5146  // API operation ListSuppressedDestinations for usage and error information.
  5147  //
  5148  // Returned Error Types:
  5149  //   * BadRequestException
  5150  //   The input you provided is invalid.
  5151  //
  5152  //   * TooManyRequestsException
  5153  //   Too many requests have been made to the operation.
  5154  //
  5155  //   * InvalidNextTokenException
  5156  //   The specified request includes an invalid or expired token.
  5157  //
  5158  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListSuppressedDestinations
  5159  func (c *SESV2) ListSuppressedDestinations(input *ListSuppressedDestinationsInput) (*ListSuppressedDestinationsOutput, error) {
  5160  	req, out := c.ListSuppressedDestinationsRequest(input)
  5161  	return out, req.Send()
  5162  }
  5163  
  5164  // ListSuppressedDestinationsWithContext is the same as ListSuppressedDestinations with the addition of
  5165  // the ability to pass a context and additional request options.
  5166  //
  5167  // See ListSuppressedDestinations for details on how to use this API operation.
  5168  //
  5169  // The context must be non-nil and will be used for request cancellation. If
  5170  // the context is nil a panic will occur. In the future the SDK may create
  5171  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5172  // for more information on using Contexts.
  5173  func (c *SESV2) ListSuppressedDestinationsWithContext(ctx aws.Context, input *ListSuppressedDestinationsInput, opts ...request.Option) (*ListSuppressedDestinationsOutput, error) {
  5174  	req, out := c.ListSuppressedDestinationsRequest(input)
  5175  	req.SetContext(ctx)
  5176  	req.ApplyOptions(opts...)
  5177  	return out, req.Send()
  5178  }
  5179  
  5180  // ListSuppressedDestinationsPages iterates over the pages of a ListSuppressedDestinations operation,
  5181  // calling the "fn" function with the response data for each page. To stop
  5182  // iterating, return false from the fn function.
  5183  //
  5184  // See ListSuppressedDestinations method for more information on how to use this operation.
  5185  //
  5186  // Note: This operation can generate multiple requests to a service.
  5187  //
  5188  //    // Example iterating over at most 3 pages of a ListSuppressedDestinations operation.
  5189  //    pageNum := 0
  5190  //    err := client.ListSuppressedDestinationsPages(params,
  5191  //        func(page *sesv2.ListSuppressedDestinationsOutput, lastPage bool) bool {
  5192  //            pageNum++
  5193  //            fmt.Println(page)
  5194  //            return pageNum <= 3
  5195  //        })
  5196  //
  5197  func (c *SESV2) ListSuppressedDestinationsPages(input *ListSuppressedDestinationsInput, fn func(*ListSuppressedDestinationsOutput, bool) bool) error {
  5198  	return c.ListSuppressedDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
  5199  }
  5200  
  5201  // ListSuppressedDestinationsPagesWithContext same as ListSuppressedDestinationsPages except
  5202  // it takes a Context and allows setting request options on the pages.
  5203  //
  5204  // The context must be non-nil and will be used for request cancellation. If
  5205  // the context is nil a panic will occur. In the future the SDK may create
  5206  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5207  // for more information on using Contexts.
  5208  func (c *SESV2) ListSuppressedDestinationsPagesWithContext(ctx aws.Context, input *ListSuppressedDestinationsInput, fn func(*ListSuppressedDestinationsOutput, bool) bool, opts ...request.Option) error {
  5209  	p := request.Pagination{
  5210  		NewRequest: func() (*request.Request, error) {
  5211  			var inCpy *ListSuppressedDestinationsInput
  5212  			if input != nil {
  5213  				tmp := *input
  5214  				inCpy = &tmp
  5215  			}
  5216  			req, _ := c.ListSuppressedDestinationsRequest(inCpy)
  5217  			req.SetContext(ctx)
  5218  			req.ApplyOptions(opts...)
  5219  			return req, nil
  5220  		},
  5221  	}
  5222  
  5223  	for p.Next() {
  5224  		if !fn(p.Page().(*ListSuppressedDestinationsOutput), !p.HasNextPage()) {
  5225  			break
  5226  		}
  5227  	}
  5228  
  5229  	return p.Err()
  5230  }
  5231  
  5232  const opListTagsForResource = "ListTagsForResource"
  5233  
  5234  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  5235  // client's request for the ListTagsForResource operation. The "output" return
  5236  // value will be populated with the request's response once the request completes
  5237  // successfully.
  5238  //
  5239  // Use "Send" method on the returned Request to send the API call to the service.
  5240  // the "output" return value is not valid until after Send returns without error.
  5241  //
  5242  // See ListTagsForResource for more information on using the ListTagsForResource
  5243  // API call, and error handling.
  5244  //
  5245  // This method is useful when you want to inject custom logic or configuration
  5246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5247  //
  5248  //
  5249  //    // Example sending a request using the ListTagsForResourceRequest method.
  5250  //    req, resp := client.ListTagsForResourceRequest(params)
  5251  //
  5252  //    err := req.Send()
  5253  //    if err == nil { // resp is now filled
  5254  //        fmt.Println(resp)
  5255  //    }
  5256  //
  5257  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListTagsForResource
  5258  func (c *SESV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  5259  	op := &request.Operation{
  5260  		Name:       opListTagsForResource,
  5261  		HTTPMethod: "GET",
  5262  		HTTPPath:   "/v2/email/tags",
  5263  	}
  5264  
  5265  	if input == nil {
  5266  		input = &ListTagsForResourceInput{}
  5267  	}
  5268  
  5269  	output = &ListTagsForResourceOutput{}
  5270  	req = c.newRequest(op, input, output)
  5271  	return
  5272  }
  5273  
  5274  // ListTagsForResource API operation for Amazon Simple Email Service.
  5275  //
  5276  // Retrieve a list of the tags (keys and values) that are associated with a
  5277  // specified resource. A tag is a label that you optionally define and associate
  5278  // with a resource. Each tag consists of a required tag key and an optional
  5279  // associated tag value. A tag key is a general label that acts as a category
  5280  // for more specific tag values. A tag value acts as a descriptor within a tag
  5281  // key.
  5282  //
  5283  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5284  // with awserr.Error's Code and Message methods to get detailed information about
  5285  // the error.
  5286  //
  5287  // See the AWS API reference guide for Amazon Simple Email Service's
  5288  // API operation ListTagsForResource for usage and error information.
  5289  //
  5290  // Returned Error Types:
  5291  //   * BadRequestException
  5292  //   The input you provided is invalid.
  5293  //
  5294  //   * NotFoundException
  5295  //   The resource you attempted to access doesn't exist.
  5296  //
  5297  //   * TooManyRequestsException
  5298  //   Too many requests have been made to the operation.
  5299  //
  5300  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListTagsForResource
  5301  func (c *SESV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  5302  	req, out := c.ListTagsForResourceRequest(input)
  5303  	return out, req.Send()
  5304  }
  5305  
  5306  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  5307  // the ability to pass a context and additional request options.
  5308  //
  5309  // See ListTagsForResource for details on how to use this API operation.
  5310  //
  5311  // The context must be non-nil and will be used for request cancellation. If
  5312  // the context is nil a panic will occur. In the future the SDK may create
  5313  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5314  // for more information on using Contexts.
  5315  func (c *SESV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  5316  	req, out := c.ListTagsForResourceRequest(input)
  5317  	req.SetContext(ctx)
  5318  	req.ApplyOptions(opts...)
  5319  	return out, req.Send()
  5320  }
  5321  
  5322  const opPutAccountDedicatedIpWarmupAttributes = "PutAccountDedicatedIpWarmupAttributes"
  5323  
  5324  // PutAccountDedicatedIpWarmupAttributesRequest generates a "aws/request.Request" representing the
  5325  // client's request for the PutAccountDedicatedIpWarmupAttributes operation. The "output" return
  5326  // value will be populated with the request's response once the request completes
  5327  // successfully.
  5328  //
  5329  // Use "Send" method on the returned Request to send the API call to the service.
  5330  // the "output" return value is not valid until after Send returns without error.
  5331  //
  5332  // See PutAccountDedicatedIpWarmupAttributes for more information on using the PutAccountDedicatedIpWarmupAttributes
  5333  // API call, and error handling.
  5334  //
  5335  // This method is useful when you want to inject custom logic or configuration
  5336  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5337  //
  5338  //
  5339  //    // Example sending a request using the PutAccountDedicatedIpWarmupAttributesRequest method.
  5340  //    req, resp := client.PutAccountDedicatedIpWarmupAttributesRequest(params)
  5341  //
  5342  //    err := req.Send()
  5343  //    if err == nil { // resp is now filled
  5344  //        fmt.Println(resp)
  5345  //    }
  5346  //
  5347  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDedicatedIpWarmupAttributes
  5348  func (c *SESV2) PutAccountDedicatedIpWarmupAttributesRequest(input *PutAccountDedicatedIpWarmupAttributesInput) (req *request.Request, output *PutAccountDedicatedIpWarmupAttributesOutput) {
  5349  	op := &request.Operation{
  5350  		Name:       opPutAccountDedicatedIpWarmupAttributes,
  5351  		HTTPMethod: "PUT",
  5352  		HTTPPath:   "/v2/email/account/dedicated-ips/warmup",
  5353  	}
  5354  
  5355  	if input == nil {
  5356  		input = &PutAccountDedicatedIpWarmupAttributesInput{}
  5357  	}
  5358  
  5359  	output = &PutAccountDedicatedIpWarmupAttributesOutput{}
  5360  	req = c.newRequest(op, input, output)
  5361  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5362  	return
  5363  }
  5364  
  5365  // PutAccountDedicatedIpWarmupAttributes API operation for Amazon Simple Email Service.
  5366  //
  5367  // Enable or disable the automatic warm-up feature for dedicated IP addresses.
  5368  //
  5369  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5370  // with awserr.Error's Code and Message methods to get detailed information about
  5371  // the error.
  5372  //
  5373  // See the AWS API reference guide for Amazon Simple Email Service's
  5374  // API operation PutAccountDedicatedIpWarmupAttributes for usage and error information.
  5375  //
  5376  // Returned Error Types:
  5377  //   * TooManyRequestsException
  5378  //   Too many requests have been made to the operation.
  5379  //
  5380  //   * BadRequestException
  5381  //   The input you provided is invalid.
  5382  //
  5383  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDedicatedIpWarmupAttributes
  5384  func (c *SESV2) PutAccountDedicatedIpWarmupAttributes(input *PutAccountDedicatedIpWarmupAttributesInput) (*PutAccountDedicatedIpWarmupAttributesOutput, error) {
  5385  	req, out := c.PutAccountDedicatedIpWarmupAttributesRequest(input)
  5386  	return out, req.Send()
  5387  }
  5388  
  5389  // PutAccountDedicatedIpWarmupAttributesWithContext is the same as PutAccountDedicatedIpWarmupAttributes with the addition of
  5390  // the ability to pass a context and additional request options.
  5391  //
  5392  // See PutAccountDedicatedIpWarmupAttributes for details on how to use this API operation.
  5393  //
  5394  // The context must be non-nil and will be used for request cancellation. If
  5395  // the context is nil a panic will occur. In the future the SDK may create
  5396  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5397  // for more information on using Contexts.
  5398  func (c *SESV2) PutAccountDedicatedIpWarmupAttributesWithContext(ctx aws.Context, input *PutAccountDedicatedIpWarmupAttributesInput, opts ...request.Option) (*PutAccountDedicatedIpWarmupAttributesOutput, error) {
  5399  	req, out := c.PutAccountDedicatedIpWarmupAttributesRequest(input)
  5400  	req.SetContext(ctx)
  5401  	req.ApplyOptions(opts...)
  5402  	return out, req.Send()
  5403  }
  5404  
  5405  const opPutAccountDetails = "PutAccountDetails"
  5406  
  5407  // PutAccountDetailsRequest generates a "aws/request.Request" representing the
  5408  // client's request for the PutAccountDetails operation. The "output" return
  5409  // value will be populated with the request's response once the request completes
  5410  // successfully.
  5411  //
  5412  // Use "Send" method on the returned Request to send the API call to the service.
  5413  // the "output" return value is not valid until after Send returns without error.
  5414  //
  5415  // See PutAccountDetails for more information on using the PutAccountDetails
  5416  // API call, and error handling.
  5417  //
  5418  // This method is useful when you want to inject custom logic or configuration
  5419  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5420  //
  5421  //
  5422  //    // Example sending a request using the PutAccountDetailsRequest method.
  5423  //    req, resp := client.PutAccountDetailsRequest(params)
  5424  //
  5425  //    err := req.Send()
  5426  //    if err == nil { // resp is now filled
  5427  //        fmt.Println(resp)
  5428  //    }
  5429  //
  5430  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDetails
  5431  func (c *SESV2) PutAccountDetailsRequest(input *PutAccountDetailsInput) (req *request.Request, output *PutAccountDetailsOutput) {
  5432  	op := &request.Operation{
  5433  		Name:       opPutAccountDetails,
  5434  		HTTPMethod: "POST",
  5435  		HTTPPath:   "/v2/email/account/details",
  5436  	}
  5437  
  5438  	if input == nil {
  5439  		input = &PutAccountDetailsInput{}
  5440  	}
  5441  
  5442  	output = &PutAccountDetailsOutput{}
  5443  	req = c.newRequest(op, input, output)
  5444  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5445  	return
  5446  }
  5447  
  5448  // PutAccountDetails API operation for Amazon Simple Email Service.
  5449  //
  5450  // Update your Amazon SES account details.
  5451  //
  5452  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5453  // with awserr.Error's Code and Message methods to get detailed information about
  5454  // the error.
  5455  //
  5456  // See the AWS API reference guide for Amazon Simple Email Service's
  5457  // API operation PutAccountDetails for usage and error information.
  5458  //
  5459  // Returned Error Types:
  5460  //   * TooManyRequestsException
  5461  //   Too many requests have been made to the operation.
  5462  //
  5463  //   * BadRequestException
  5464  //   The input you provided is invalid.
  5465  //
  5466  //   * ConflictException
  5467  //   If there is already an ongoing account details update under review.
  5468  //
  5469  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDetails
  5470  func (c *SESV2) PutAccountDetails(input *PutAccountDetailsInput) (*PutAccountDetailsOutput, error) {
  5471  	req, out := c.PutAccountDetailsRequest(input)
  5472  	return out, req.Send()
  5473  }
  5474  
  5475  // PutAccountDetailsWithContext is the same as PutAccountDetails with the addition of
  5476  // the ability to pass a context and additional request options.
  5477  //
  5478  // See PutAccountDetails for details on how to use this API operation.
  5479  //
  5480  // The context must be non-nil and will be used for request cancellation. If
  5481  // the context is nil a panic will occur. In the future the SDK may create
  5482  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5483  // for more information on using Contexts.
  5484  func (c *SESV2) PutAccountDetailsWithContext(ctx aws.Context, input *PutAccountDetailsInput, opts ...request.Option) (*PutAccountDetailsOutput, error) {
  5485  	req, out := c.PutAccountDetailsRequest(input)
  5486  	req.SetContext(ctx)
  5487  	req.ApplyOptions(opts...)
  5488  	return out, req.Send()
  5489  }
  5490  
  5491  const opPutAccountSendingAttributes = "PutAccountSendingAttributes"
  5492  
  5493  // PutAccountSendingAttributesRequest generates a "aws/request.Request" representing the
  5494  // client's request for the PutAccountSendingAttributes operation. The "output" return
  5495  // value will be populated with the request's response once the request completes
  5496  // successfully.
  5497  //
  5498  // Use "Send" method on the returned Request to send the API call to the service.
  5499  // the "output" return value is not valid until after Send returns without error.
  5500  //
  5501  // See PutAccountSendingAttributes for more information on using the PutAccountSendingAttributes
  5502  // API call, and error handling.
  5503  //
  5504  // This method is useful when you want to inject custom logic or configuration
  5505  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5506  //
  5507  //
  5508  //    // Example sending a request using the PutAccountSendingAttributesRequest method.
  5509  //    req, resp := client.PutAccountSendingAttributesRequest(params)
  5510  //
  5511  //    err := req.Send()
  5512  //    if err == nil { // resp is now filled
  5513  //        fmt.Println(resp)
  5514  //    }
  5515  //
  5516  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSendingAttributes
  5517  func (c *SESV2) PutAccountSendingAttributesRequest(input *PutAccountSendingAttributesInput) (req *request.Request, output *PutAccountSendingAttributesOutput) {
  5518  	op := &request.Operation{
  5519  		Name:       opPutAccountSendingAttributes,
  5520  		HTTPMethod: "PUT",
  5521  		HTTPPath:   "/v2/email/account/sending",
  5522  	}
  5523  
  5524  	if input == nil {
  5525  		input = &PutAccountSendingAttributesInput{}
  5526  	}
  5527  
  5528  	output = &PutAccountSendingAttributesOutput{}
  5529  	req = c.newRequest(op, input, output)
  5530  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5531  	return
  5532  }
  5533  
  5534  // PutAccountSendingAttributes API operation for Amazon Simple Email Service.
  5535  //
  5536  // Enable or disable the ability of your account to send email.
  5537  //
  5538  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5539  // with awserr.Error's Code and Message methods to get detailed information about
  5540  // the error.
  5541  //
  5542  // See the AWS API reference guide for Amazon Simple Email Service's
  5543  // API operation PutAccountSendingAttributes for usage and error information.
  5544  //
  5545  // Returned Error Types:
  5546  //   * TooManyRequestsException
  5547  //   Too many requests have been made to the operation.
  5548  //
  5549  //   * BadRequestException
  5550  //   The input you provided is invalid.
  5551  //
  5552  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSendingAttributes
  5553  func (c *SESV2) PutAccountSendingAttributes(input *PutAccountSendingAttributesInput) (*PutAccountSendingAttributesOutput, error) {
  5554  	req, out := c.PutAccountSendingAttributesRequest(input)
  5555  	return out, req.Send()
  5556  }
  5557  
  5558  // PutAccountSendingAttributesWithContext is the same as PutAccountSendingAttributes with the addition of
  5559  // the ability to pass a context and additional request options.
  5560  //
  5561  // See PutAccountSendingAttributes for details on how to use this API operation.
  5562  //
  5563  // The context must be non-nil and will be used for request cancellation. If
  5564  // the context is nil a panic will occur. In the future the SDK may create
  5565  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5566  // for more information on using Contexts.
  5567  func (c *SESV2) PutAccountSendingAttributesWithContext(ctx aws.Context, input *PutAccountSendingAttributesInput, opts ...request.Option) (*PutAccountSendingAttributesOutput, error) {
  5568  	req, out := c.PutAccountSendingAttributesRequest(input)
  5569  	req.SetContext(ctx)
  5570  	req.ApplyOptions(opts...)
  5571  	return out, req.Send()
  5572  }
  5573  
  5574  const opPutAccountSuppressionAttributes = "PutAccountSuppressionAttributes"
  5575  
  5576  // PutAccountSuppressionAttributesRequest generates a "aws/request.Request" representing the
  5577  // client's request for the PutAccountSuppressionAttributes operation. The "output" return
  5578  // value will be populated with the request's response once the request completes
  5579  // successfully.
  5580  //
  5581  // Use "Send" method on the returned Request to send the API call to the service.
  5582  // the "output" return value is not valid until after Send returns without error.
  5583  //
  5584  // See PutAccountSuppressionAttributes for more information on using the PutAccountSuppressionAttributes
  5585  // API call, and error handling.
  5586  //
  5587  // This method is useful when you want to inject custom logic or configuration
  5588  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5589  //
  5590  //
  5591  //    // Example sending a request using the PutAccountSuppressionAttributesRequest method.
  5592  //    req, resp := client.PutAccountSuppressionAttributesRequest(params)
  5593  //
  5594  //    err := req.Send()
  5595  //    if err == nil { // resp is now filled
  5596  //        fmt.Println(resp)
  5597  //    }
  5598  //
  5599  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSuppressionAttributes
  5600  func (c *SESV2) PutAccountSuppressionAttributesRequest(input *PutAccountSuppressionAttributesInput) (req *request.Request, output *PutAccountSuppressionAttributesOutput) {
  5601  	op := &request.Operation{
  5602  		Name:       opPutAccountSuppressionAttributes,
  5603  		HTTPMethod: "PUT",
  5604  		HTTPPath:   "/v2/email/account/suppression",
  5605  	}
  5606  
  5607  	if input == nil {
  5608  		input = &PutAccountSuppressionAttributesInput{}
  5609  	}
  5610  
  5611  	output = &PutAccountSuppressionAttributesOutput{}
  5612  	req = c.newRequest(op, input, output)
  5613  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5614  	return
  5615  }
  5616  
  5617  // PutAccountSuppressionAttributes API operation for Amazon Simple Email Service.
  5618  //
  5619  // Change the settings for the account-level suppression list.
  5620  //
  5621  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5622  // with awserr.Error's Code and Message methods to get detailed information about
  5623  // the error.
  5624  //
  5625  // See the AWS API reference guide for Amazon Simple Email Service's
  5626  // API operation PutAccountSuppressionAttributes for usage and error information.
  5627  //
  5628  // Returned Error Types:
  5629  //   * TooManyRequestsException
  5630  //   Too many requests have been made to the operation.
  5631  //
  5632  //   * BadRequestException
  5633  //   The input you provided is invalid.
  5634  //
  5635  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSuppressionAttributes
  5636  func (c *SESV2) PutAccountSuppressionAttributes(input *PutAccountSuppressionAttributesInput) (*PutAccountSuppressionAttributesOutput, error) {
  5637  	req, out := c.PutAccountSuppressionAttributesRequest(input)
  5638  	return out, req.Send()
  5639  }
  5640  
  5641  // PutAccountSuppressionAttributesWithContext is the same as PutAccountSuppressionAttributes with the addition of
  5642  // the ability to pass a context and additional request options.
  5643  //
  5644  // See PutAccountSuppressionAttributes for details on how to use this API operation.
  5645  //
  5646  // The context must be non-nil and will be used for request cancellation. If
  5647  // the context is nil a panic will occur. In the future the SDK may create
  5648  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5649  // for more information on using Contexts.
  5650  func (c *SESV2) PutAccountSuppressionAttributesWithContext(ctx aws.Context, input *PutAccountSuppressionAttributesInput, opts ...request.Option) (*PutAccountSuppressionAttributesOutput, error) {
  5651  	req, out := c.PutAccountSuppressionAttributesRequest(input)
  5652  	req.SetContext(ctx)
  5653  	req.ApplyOptions(opts...)
  5654  	return out, req.Send()
  5655  }
  5656  
  5657  const opPutConfigurationSetDeliveryOptions = "PutConfigurationSetDeliveryOptions"
  5658  
  5659  // PutConfigurationSetDeliveryOptionsRequest generates a "aws/request.Request" representing the
  5660  // client's request for the PutConfigurationSetDeliveryOptions operation. The "output" return
  5661  // value will be populated with the request's response once the request completes
  5662  // successfully.
  5663  //
  5664  // Use "Send" method on the returned Request to send the API call to the service.
  5665  // the "output" return value is not valid until after Send returns without error.
  5666  //
  5667  // See PutConfigurationSetDeliveryOptions for more information on using the PutConfigurationSetDeliveryOptions
  5668  // API call, and error handling.
  5669  //
  5670  // This method is useful when you want to inject custom logic or configuration
  5671  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5672  //
  5673  //
  5674  //    // Example sending a request using the PutConfigurationSetDeliveryOptionsRequest method.
  5675  //    req, resp := client.PutConfigurationSetDeliveryOptionsRequest(params)
  5676  //
  5677  //    err := req.Send()
  5678  //    if err == nil { // resp is now filled
  5679  //        fmt.Println(resp)
  5680  //    }
  5681  //
  5682  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetDeliveryOptions
  5683  func (c *SESV2) PutConfigurationSetDeliveryOptionsRequest(input *PutConfigurationSetDeliveryOptionsInput) (req *request.Request, output *PutConfigurationSetDeliveryOptionsOutput) {
  5684  	op := &request.Operation{
  5685  		Name:       opPutConfigurationSetDeliveryOptions,
  5686  		HTTPMethod: "PUT",
  5687  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/delivery-options",
  5688  	}
  5689  
  5690  	if input == nil {
  5691  		input = &PutConfigurationSetDeliveryOptionsInput{}
  5692  	}
  5693  
  5694  	output = &PutConfigurationSetDeliveryOptionsOutput{}
  5695  	req = c.newRequest(op, input, output)
  5696  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5697  	return
  5698  }
  5699  
  5700  // PutConfigurationSetDeliveryOptions API operation for Amazon Simple Email Service.
  5701  //
  5702  // Associate a configuration set with a dedicated IP pool. You can use dedicated
  5703  // IP pools to create groups of dedicated IP addresses for sending specific
  5704  // types of email.
  5705  //
  5706  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5707  // with awserr.Error's Code and Message methods to get detailed information about
  5708  // the error.
  5709  //
  5710  // See the AWS API reference guide for Amazon Simple Email Service's
  5711  // API operation PutConfigurationSetDeliveryOptions for usage and error information.
  5712  //
  5713  // Returned Error Types:
  5714  //   * NotFoundException
  5715  //   The resource you attempted to access doesn't exist.
  5716  //
  5717  //   * TooManyRequestsException
  5718  //   Too many requests have been made to the operation.
  5719  //
  5720  //   * BadRequestException
  5721  //   The input you provided is invalid.
  5722  //
  5723  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetDeliveryOptions
  5724  func (c *SESV2) PutConfigurationSetDeliveryOptions(input *PutConfigurationSetDeliveryOptionsInput) (*PutConfigurationSetDeliveryOptionsOutput, error) {
  5725  	req, out := c.PutConfigurationSetDeliveryOptionsRequest(input)
  5726  	return out, req.Send()
  5727  }
  5728  
  5729  // PutConfigurationSetDeliveryOptionsWithContext is the same as PutConfigurationSetDeliveryOptions with the addition of
  5730  // the ability to pass a context and additional request options.
  5731  //
  5732  // See PutConfigurationSetDeliveryOptions for details on how to use this API operation.
  5733  //
  5734  // The context must be non-nil and will be used for request cancellation. If
  5735  // the context is nil a panic will occur. In the future the SDK may create
  5736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5737  // for more information on using Contexts.
  5738  func (c *SESV2) PutConfigurationSetDeliveryOptionsWithContext(ctx aws.Context, input *PutConfigurationSetDeliveryOptionsInput, opts ...request.Option) (*PutConfigurationSetDeliveryOptionsOutput, error) {
  5739  	req, out := c.PutConfigurationSetDeliveryOptionsRequest(input)
  5740  	req.SetContext(ctx)
  5741  	req.ApplyOptions(opts...)
  5742  	return out, req.Send()
  5743  }
  5744  
  5745  const opPutConfigurationSetReputationOptions = "PutConfigurationSetReputationOptions"
  5746  
  5747  // PutConfigurationSetReputationOptionsRequest generates a "aws/request.Request" representing the
  5748  // client's request for the PutConfigurationSetReputationOptions operation. The "output" return
  5749  // value will be populated with the request's response once the request completes
  5750  // successfully.
  5751  //
  5752  // Use "Send" method on the returned Request to send the API call to the service.
  5753  // the "output" return value is not valid until after Send returns without error.
  5754  //
  5755  // See PutConfigurationSetReputationOptions for more information on using the PutConfigurationSetReputationOptions
  5756  // API call, and error handling.
  5757  //
  5758  // This method is useful when you want to inject custom logic or configuration
  5759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5760  //
  5761  //
  5762  //    // Example sending a request using the PutConfigurationSetReputationOptionsRequest method.
  5763  //    req, resp := client.PutConfigurationSetReputationOptionsRequest(params)
  5764  //
  5765  //    err := req.Send()
  5766  //    if err == nil { // resp is now filled
  5767  //        fmt.Println(resp)
  5768  //    }
  5769  //
  5770  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetReputationOptions
  5771  func (c *SESV2) PutConfigurationSetReputationOptionsRequest(input *PutConfigurationSetReputationOptionsInput) (req *request.Request, output *PutConfigurationSetReputationOptionsOutput) {
  5772  	op := &request.Operation{
  5773  		Name:       opPutConfigurationSetReputationOptions,
  5774  		HTTPMethod: "PUT",
  5775  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/reputation-options",
  5776  	}
  5777  
  5778  	if input == nil {
  5779  		input = &PutConfigurationSetReputationOptionsInput{}
  5780  	}
  5781  
  5782  	output = &PutConfigurationSetReputationOptionsOutput{}
  5783  	req = c.newRequest(op, input, output)
  5784  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5785  	return
  5786  }
  5787  
  5788  // PutConfigurationSetReputationOptions API operation for Amazon Simple Email Service.
  5789  //
  5790  // Enable or disable collection of reputation metrics for emails that you send
  5791  // using a particular configuration set in a specific Amazon Web Services Region.
  5792  //
  5793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5794  // with awserr.Error's Code and Message methods to get detailed information about
  5795  // the error.
  5796  //
  5797  // See the AWS API reference guide for Amazon Simple Email Service's
  5798  // API operation PutConfigurationSetReputationOptions for usage and error information.
  5799  //
  5800  // Returned Error Types:
  5801  //   * NotFoundException
  5802  //   The resource you attempted to access doesn't exist.
  5803  //
  5804  //   * TooManyRequestsException
  5805  //   Too many requests have been made to the operation.
  5806  //
  5807  //   * BadRequestException
  5808  //   The input you provided is invalid.
  5809  //
  5810  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetReputationOptions
  5811  func (c *SESV2) PutConfigurationSetReputationOptions(input *PutConfigurationSetReputationOptionsInput) (*PutConfigurationSetReputationOptionsOutput, error) {
  5812  	req, out := c.PutConfigurationSetReputationOptionsRequest(input)
  5813  	return out, req.Send()
  5814  }
  5815  
  5816  // PutConfigurationSetReputationOptionsWithContext is the same as PutConfigurationSetReputationOptions with the addition of
  5817  // the ability to pass a context and additional request options.
  5818  //
  5819  // See PutConfigurationSetReputationOptions for details on how to use this API operation.
  5820  //
  5821  // The context must be non-nil and will be used for request cancellation. If
  5822  // the context is nil a panic will occur. In the future the SDK may create
  5823  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5824  // for more information on using Contexts.
  5825  func (c *SESV2) PutConfigurationSetReputationOptionsWithContext(ctx aws.Context, input *PutConfigurationSetReputationOptionsInput, opts ...request.Option) (*PutConfigurationSetReputationOptionsOutput, error) {
  5826  	req, out := c.PutConfigurationSetReputationOptionsRequest(input)
  5827  	req.SetContext(ctx)
  5828  	req.ApplyOptions(opts...)
  5829  	return out, req.Send()
  5830  }
  5831  
  5832  const opPutConfigurationSetSendingOptions = "PutConfigurationSetSendingOptions"
  5833  
  5834  // PutConfigurationSetSendingOptionsRequest generates a "aws/request.Request" representing the
  5835  // client's request for the PutConfigurationSetSendingOptions operation. The "output" return
  5836  // value will be populated with the request's response once the request completes
  5837  // successfully.
  5838  //
  5839  // Use "Send" method on the returned Request to send the API call to the service.
  5840  // the "output" return value is not valid until after Send returns without error.
  5841  //
  5842  // See PutConfigurationSetSendingOptions for more information on using the PutConfigurationSetSendingOptions
  5843  // API call, and error handling.
  5844  //
  5845  // This method is useful when you want to inject custom logic or configuration
  5846  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5847  //
  5848  //
  5849  //    // Example sending a request using the PutConfigurationSetSendingOptionsRequest method.
  5850  //    req, resp := client.PutConfigurationSetSendingOptionsRequest(params)
  5851  //
  5852  //    err := req.Send()
  5853  //    if err == nil { // resp is now filled
  5854  //        fmt.Println(resp)
  5855  //    }
  5856  //
  5857  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions
  5858  func (c *SESV2) PutConfigurationSetSendingOptionsRequest(input *PutConfigurationSetSendingOptionsInput) (req *request.Request, output *PutConfigurationSetSendingOptionsOutput) {
  5859  	op := &request.Operation{
  5860  		Name:       opPutConfigurationSetSendingOptions,
  5861  		HTTPMethod: "PUT",
  5862  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/sending",
  5863  	}
  5864  
  5865  	if input == nil {
  5866  		input = &PutConfigurationSetSendingOptionsInput{}
  5867  	}
  5868  
  5869  	output = &PutConfigurationSetSendingOptionsOutput{}
  5870  	req = c.newRequest(op, input, output)
  5871  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5872  	return
  5873  }
  5874  
  5875  // PutConfigurationSetSendingOptions API operation for Amazon Simple Email Service.
  5876  //
  5877  // Enable or disable email sending for messages that use a particular configuration
  5878  // set in a specific Amazon Web Services Region.
  5879  //
  5880  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5881  // with awserr.Error's Code and Message methods to get detailed information about
  5882  // the error.
  5883  //
  5884  // See the AWS API reference guide for Amazon Simple Email Service's
  5885  // API operation PutConfigurationSetSendingOptions for usage and error information.
  5886  //
  5887  // Returned Error Types:
  5888  //   * NotFoundException
  5889  //   The resource you attempted to access doesn't exist.
  5890  //
  5891  //   * TooManyRequestsException
  5892  //   Too many requests have been made to the operation.
  5893  //
  5894  //   * BadRequestException
  5895  //   The input you provided is invalid.
  5896  //
  5897  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions
  5898  func (c *SESV2) PutConfigurationSetSendingOptions(input *PutConfigurationSetSendingOptionsInput) (*PutConfigurationSetSendingOptionsOutput, error) {
  5899  	req, out := c.PutConfigurationSetSendingOptionsRequest(input)
  5900  	return out, req.Send()
  5901  }
  5902  
  5903  // PutConfigurationSetSendingOptionsWithContext is the same as PutConfigurationSetSendingOptions with the addition of
  5904  // the ability to pass a context and additional request options.
  5905  //
  5906  // See PutConfigurationSetSendingOptions for details on how to use this API operation.
  5907  //
  5908  // The context must be non-nil and will be used for request cancellation. If
  5909  // the context is nil a panic will occur. In the future the SDK may create
  5910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5911  // for more information on using Contexts.
  5912  func (c *SESV2) PutConfigurationSetSendingOptionsWithContext(ctx aws.Context, input *PutConfigurationSetSendingOptionsInput, opts ...request.Option) (*PutConfigurationSetSendingOptionsOutput, error) {
  5913  	req, out := c.PutConfigurationSetSendingOptionsRequest(input)
  5914  	req.SetContext(ctx)
  5915  	req.ApplyOptions(opts...)
  5916  	return out, req.Send()
  5917  }
  5918  
  5919  const opPutConfigurationSetSuppressionOptions = "PutConfigurationSetSuppressionOptions"
  5920  
  5921  // PutConfigurationSetSuppressionOptionsRequest generates a "aws/request.Request" representing the
  5922  // client's request for the PutConfigurationSetSuppressionOptions operation. The "output" return
  5923  // value will be populated with the request's response once the request completes
  5924  // successfully.
  5925  //
  5926  // Use "Send" method on the returned Request to send the API call to the service.
  5927  // the "output" return value is not valid until after Send returns without error.
  5928  //
  5929  // See PutConfigurationSetSuppressionOptions for more information on using the PutConfigurationSetSuppressionOptions
  5930  // API call, and error handling.
  5931  //
  5932  // This method is useful when you want to inject custom logic or configuration
  5933  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5934  //
  5935  //
  5936  //    // Example sending a request using the PutConfigurationSetSuppressionOptionsRequest method.
  5937  //    req, resp := client.PutConfigurationSetSuppressionOptionsRequest(params)
  5938  //
  5939  //    err := req.Send()
  5940  //    if err == nil { // resp is now filled
  5941  //        fmt.Println(resp)
  5942  //    }
  5943  //
  5944  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSuppressionOptions
  5945  func (c *SESV2) PutConfigurationSetSuppressionOptionsRequest(input *PutConfigurationSetSuppressionOptionsInput) (req *request.Request, output *PutConfigurationSetSuppressionOptionsOutput) {
  5946  	op := &request.Operation{
  5947  		Name:       opPutConfigurationSetSuppressionOptions,
  5948  		HTTPMethod: "PUT",
  5949  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options",
  5950  	}
  5951  
  5952  	if input == nil {
  5953  		input = &PutConfigurationSetSuppressionOptionsInput{}
  5954  	}
  5955  
  5956  	output = &PutConfigurationSetSuppressionOptionsOutput{}
  5957  	req = c.newRequest(op, input, output)
  5958  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5959  	return
  5960  }
  5961  
  5962  // PutConfigurationSetSuppressionOptions API operation for Amazon Simple Email Service.
  5963  //
  5964  // Specify the account suppression list preferences for a configuration set.
  5965  //
  5966  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5967  // with awserr.Error's Code and Message methods to get detailed information about
  5968  // the error.
  5969  //
  5970  // See the AWS API reference guide for Amazon Simple Email Service's
  5971  // API operation PutConfigurationSetSuppressionOptions for usage and error information.
  5972  //
  5973  // Returned Error Types:
  5974  //   * NotFoundException
  5975  //   The resource you attempted to access doesn't exist.
  5976  //
  5977  //   * TooManyRequestsException
  5978  //   Too many requests have been made to the operation.
  5979  //
  5980  //   * BadRequestException
  5981  //   The input you provided is invalid.
  5982  //
  5983  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSuppressionOptions
  5984  func (c *SESV2) PutConfigurationSetSuppressionOptions(input *PutConfigurationSetSuppressionOptionsInput) (*PutConfigurationSetSuppressionOptionsOutput, error) {
  5985  	req, out := c.PutConfigurationSetSuppressionOptionsRequest(input)
  5986  	return out, req.Send()
  5987  }
  5988  
  5989  // PutConfigurationSetSuppressionOptionsWithContext is the same as PutConfigurationSetSuppressionOptions with the addition of
  5990  // the ability to pass a context and additional request options.
  5991  //
  5992  // See PutConfigurationSetSuppressionOptions for details on how to use this API operation.
  5993  //
  5994  // The context must be non-nil and will be used for request cancellation. If
  5995  // the context is nil a panic will occur. In the future the SDK may create
  5996  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5997  // for more information on using Contexts.
  5998  func (c *SESV2) PutConfigurationSetSuppressionOptionsWithContext(ctx aws.Context, input *PutConfigurationSetSuppressionOptionsInput, opts ...request.Option) (*PutConfigurationSetSuppressionOptionsOutput, error) {
  5999  	req, out := c.PutConfigurationSetSuppressionOptionsRequest(input)
  6000  	req.SetContext(ctx)
  6001  	req.ApplyOptions(opts...)
  6002  	return out, req.Send()
  6003  }
  6004  
  6005  const opPutConfigurationSetTrackingOptions = "PutConfigurationSetTrackingOptions"
  6006  
  6007  // PutConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the
  6008  // client's request for the PutConfigurationSetTrackingOptions operation. The "output" return
  6009  // value will be populated with the request's response once the request completes
  6010  // successfully.
  6011  //
  6012  // Use "Send" method on the returned Request to send the API call to the service.
  6013  // the "output" return value is not valid until after Send returns without error.
  6014  //
  6015  // See PutConfigurationSetTrackingOptions for more information on using the PutConfigurationSetTrackingOptions
  6016  // API call, and error handling.
  6017  //
  6018  // This method is useful when you want to inject custom logic or configuration
  6019  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6020  //
  6021  //
  6022  //    // Example sending a request using the PutConfigurationSetTrackingOptionsRequest method.
  6023  //    req, resp := client.PutConfigurationSetTrackingOptionsRequest(params)
  6024  //
  6025  //    err := req.Send()
  6026  //    if err == nil { // resp is now filled
  6027  //        fmt.Println(resp)
  6028  //    }
  6029  //
  6030  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetTrackingOptions
  6031  func (c *SESV2) PutConfigurationSetTrackingOptionsRequest(input *PutConfigurationSetTrackingOptionsInput) (req *request.Request, output *PutConfigurationSetTrackingOptionsOutput) {
  6032  	op := &request.Operation{
  6033  		Name:       opPutConfigurationSetTrackingOptions,
  6034  		HTTPMethod: "PUT",
  6035  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/tracking-options",
  6036  	}
  6037  
  6038  	if input == nil {
  6039  		input = &PutConfigurationSetTrackingOptionsInput{}
  6040  	}
  6041  
  6042  	output = &PutConfigurationSetTrackingOptionsOutput{}
  6043  	req = c.newRequest(op, input, output)
  6044  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6045  	return
  6046  }
  6047  
  6048  // PutConfigurationSetTrackingOptions API operation for Amazon Simple Email Service.
  6049  //
  6050  // Specify a custom domain to use for open and click tracking elements in email
  6051  // that you send.
  6052  //
  6053  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6054  // with awserr.Error's Code and Message methods to get detailed information about
  6055  // the error.
  6056  //
  6057  // See the AWS API reference guide for Amazon Simple Email Service's
  6058  // API operation PutConfigurationSetTrackingOptions for usage and error information.
  6059  //
  6060  // Returned Error Types:
  6061  //   * NotFoundException
  6062  //   The resource you attempted to access doesn't exist.
  6063  //
  6064  //   * TooManyRequestsException
  6065  //   Too many requests have been made to the operation.
  6066  //
  6067  //   * BadRequestException
  6068  //   The input you provided is invalid.
  6069  //
  6070  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetTrackingOptions
  6071  func (c *SESV2) PutConfigurationSetTrackingOptions(input *PutConfigurationSetTrackingOptionsInput) (*PutConfigurationSetTrackingOptionsOutput, error) {
  6072  	req, out := c.PutConfigurationSetTrackingOptionsRequest(input)
  6073  	return out, req.Send()
  6074  }
  6075  
  6076  // PutConfigurationSetTrackingOptionsWithContext is the same as PutConfigurationSetTrackingOptions with the addition of
  6077  // the ability to pass a context and additional request options.
  6078  //
  6079  // See PutConfigurationSetTrackingOptions for details on how to use this API operation.
  6080  //
  6081  // The context must be non-nil and will be used for request cancellation. If
  6082  // the context is nil a panic will occur. In the future the SDK may create
  6083  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6084  // for more information on using Contexts.
  6085  func (c *SESV2) PutConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *PutConfigurationSetTrackingOptionsInput, opts ...request.Option) (*PutConfigurationSetTrackingOptionsOutput, error) {
  6086  	req, out := c.PutConfigurationSetTrackingOptionsRequest(input)
  6087  	req.SetContext(ctx)
  6088  	req.ApplyOptions(opts...)
  6089  	return out, req.Send()
  6090  }
  6091  
  6092  const opPutDedicatedIpInPool = "PutDedicatedIpInPool"
  6093  
  6094  // PutDedicatedIpInPoolRequest generates a "aws/request.Request" representing the
  6095  // client's request for the PutDedicatedIpInPool operation. The "output" return
  6096  // value will be populated with the request's response once the request completes
  6097  // successfully.
  6098  //
  6099  // Use "Send" method on the returned Request to send the API call to the service.
  6100  // the "output" return value is not valid until after Send returns without error.
  6101  //
  6102  // See PutDedicatedIpInPool for more information on using the PutDedicatedIpInPool
  6103  // API call, and error handling.
  6104  //
  6105  // This method is useful when you want to inject custom logic or configuration
  6106  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6107  //
  6108  //
  6109  //    // Example sending a request using the PutDedicatedIpInPoolRequest method.
  6110  //    req, resp := client.PutDedicatedIpInPoolRequest(params)
  6111  //
  6112  //    err := req.Send()
  6113  //    if err == nil { // resp is now filled
  6114  //        fmt.Println(resp)
  6115  //    }
  6116  //
  6117  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDedicatedIpInPool
  6118  func (c *SESV2) PutDedicatedIpInPoolRequest(input *PutDedicatedIpInPoolInput) (req *request.Request, output *PutDedicatedIpInPoolOutput) {
  6119  	op := &request.Operation{
  6120  		Name:       opPutDedicatedIpInPool,
  6121  		HTTPMethod: "PUT",
  6122  		HTTPPath:   "/v2/email/dedicated-ips/{IP}/pool",
  6123  	}
  6124  
  6125  	if input == nil {
  6126  		input = &PutDedicatedIpInPoolInput{}
  6127  	}
  6128  
  6129  	output = &PutDedicatedIpInPoolOutput{}
  6130  	req = c.newRequest(op, input, output)
  6131  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6132  	return
  6133  }
  6134  
  6135  // PutDedicatedIpInPool API operation for Amazon Simple Email Service.
  6136  //
  6137  // Move a dedicated IP address to an existing dedicated IP pool.
  6138  //
  6139  // The dedicated IP address that you specify must already exist, and must be
  6140  // associated with your Amazon Web Services account.
  6141  //
  6142  // The dedicated IP pool you specify must already exist. You can create a new
  6143  // pool by using the CreateDedicatedIpPool operation.
  6144  //
  6145  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6146  // with awserr.Error's Code and Message methods to get detailed information about
  6147  // the error.
  6148  //
  6149  // See the AWS API reference guide for Amazon Simple Email Service's
  6150  // API operation PutDedicatedIpInPool for usage and error information.
  6151  //
  6152  // Returned Error Types:
  6153  //   * NotFoundException
  6154  //   The resource you attempted to access doesn't exist.
  6155  //
  6156  //   * TooManyRequestsException
  6157  //   Too many requests have been made to the operation.
  6158  //
  6159  //   * BadRequestException
  6160  //   The input you provided is invalid.
  6161  //
  6162  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDedicatedIpInPool
  6163  func (c *SESV2) PutDedicatedIpInPool(input *PutDedicatedIpInPoolInput) (*PutDedicatedIpInPoolOutput, error) {
  6164  	req, out := c.PutDedicatedIpInPoolRequest(input)
  6165  	return out, req.Send()
  6166  }
  6167  
  6168  // PutDedicatedIpInPoolWithContext is the same as PutDedicatedIpInPool with the addition of
  6169  // the ability to pass a context and additional request options.
  6170  //
  6171  // See PutDedicatedIpInPool for details on how to use this API operation.
  6172  //
  6173  // The context must be non-nil and will be used for request cancellation. If
  6174  // the context is nil a panic will occur. In the future the SDK may create
  6175  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6176  // for more information on using Contexts.
  6177  func (c *SESV2) PutDedicatedIpInPoolWithContext(ctx aws.Context, input *PutDedicatedIpInPoolInput, opts ...request.Option) (*PutDedicatedIpInPoolOutput, error) {
  6178  	req, out := c.PutDedicatedIpInPoolRequest(input)
  6179  	req.SetContext(ctx)
  6180  	req.ApplyOptions(opts...)
  6181  	return out, req.Send()
  6182  }
  6183  
  6184  const opPutDedicatedIpWarmupAttributes = "PutDedicatedIpWarmupAttributes"
  6185  
  6186  // PutDedicatedIpWarmupAttributesRequest generates a "aws/request.Request" representing the
  6187  // client's request for the PutDedicatedIpWarmupAttributes operation. The "output" return
  6188  // value will be populated with the request's response once the request completes
  6189  // successfully.
  6190  //
  6191  // Use "Send" method on the returned Request to send the API call to the service.
  6192  // the "output" return value is not valid until after Send returns without error.
  6193  //
  6194  // See PutDedicatedIpWarmupAttributes for more information on using the PutDedicatedIpWarmupAttributes
  6195  // API call, and error handling.
  6196  //
  6197  // This method is useful when you want to inject custom logic or configuration
  6198  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6199  //
  6200  //
  6201  //    // Example sending a request using the PutDedicatedIpWarmupAttributesRequest method.
  6202  //    req, resp := client.PutDedicatedIpWarmupAttributesRequest(params)
  6203  //
  6204  //    err := req.Send()
  6205  //    if err == nil { // resp is now filled
  6206  //        fmt.Println(resp)
  6207  //    }
  6208  //
  6209  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDedicatedIpWarmupAttributes
  6210  func (c *SESV2) PutDedicatedIpWarmupAttributesRequest(input *PutDedicatedIpWarmupAttributesInput) (req *request.Request, output *PutDedicatedIpWarmupAttributesOutput) {
  6211  	op := &request.Operation{
  6212  		Name:       opPutDedicatedIpWarmupAttributes,
  6213  		HTTPMethod: "PUT",
  6214  		HTTPPath:   "/v2/email/dedicated-ips/{IP}/warmup",
  6215  	}
  6216  
  6217  	if input == nil {
  6218  		input = &PutDedicatedIpWarmupAttributesInput{}
  6219  	}
  6220  
  6221  	output = &PutDedicatedIpWarmupAttributesOutput{}
  6222  	req = c.newRequest(op, input, output)
  6223  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6224  	return
  6225  }
  6226  
  6227  // PutDedicatedIpWarmupAttributes API operation for Amazon Simple Email Service.
  6228  //
  6229  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6230  // with awserr.Error's Code and Message methods to get detailed information about
  6231  // the error.
  6232  //
  6233  // See the AWS API reference guide for Amazon Simple Email Service's
  6234  // API operation PutDedicatedIpWarmupAttributes for usage and error information.
  6235  //
  6236  // Returned Error Types:
  6237  //   * NotFoundException
  6238  //   The resource you attempted to access doesn't exist.
  6239  //
  6240  //   * TooManyRequestsException
  6241  //   Too many requests have been made to the operation.
  6242  //
  6243  //   * BadRequestException
  6244  //   The input you provided is invalid.
  6245  //
  6246  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDedicatedIpWarmupAttributes
  6247  func (c *SESV2) PutDedicatedIpWarmupAttributes(input *PutDedicatedIpWarmupAttributesInput) (*PutDedicatedIpWarmupAttributesOutput, error) {
  6248  	req, out := c.PutDedicatedIpWarmupAttributesRequest(input)
  6249  	return out, req.Send()
  6250  }
  6251  
  6252  // PutDedicatedIpWarmupAttributesWithContext is the same as PutDedicatedIpWarmupAttributes with the addition of
  6253  // the ability to pass a context and additional request options.
  6254  //
  6255  // See PutDedicatedIpWarmupAttributes for details on how to use this API operation.
  6256  //
  6257  // The context must be non-nil and will be used for request cancellation. If
  6258  // the context is nil a panic will occur. In the future the SDK may create
  6259  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6260  // for more information on using Contexts.
  6261  func (c *SESV2) PutDedicatedIpWarmupAttributesWithContext(ctx aws.Context, input *PutDedicatedIpWarmupAttributesInput, opts ...request.Option) (*PutDedicatedIpWarmupAttributesOutput, error) {
  6262  	req, out := c.PutDedicatedIpWarmupAttributesRequest(input)
  6263  	req.SetContext(ctx)
  6264  	req.ApplyOptions(opts...)
  6265  	return out, req.Send()
  6266  }
  6267  
  6268  const opPutDeliverabilityDashboardOption = "PutDeliverabilityDashboardOption"
  6269  
  6270  // PutDeliverabilityDashboardOptionRequest generates a "aws/request.Request" representing the
  6271  // client's request for the PutDeliverabilityDashboardOption operation. The "output" return
  6272  // value will be populated with the request's response once the request completes
  6273  // successfully.
  6274  //
  6275  // Use "Send" method on the returned Request to send the API call to the service.
  6276  // the "output" return value is not valid until after Send returns without error.
  6277  //
  6278  // See PutDeliverabilityDashboardOption for more information on using the PutDeliverabilityDashboardOption
  6279  // API call, and error handling.
  6280  //
  6281  // This method is useful when you want to inject custom logic or configuration
  6282  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6283  //
  6284  //
  6285  //    // Example sending a request using the PutDeliverabilityDashboardOptionRequest method.
  6286  //    req, resp := client.PutDeliverabilityDashboardOptionRequest(params)
  6287  //
  6288  //    err := req.Send()
  6289  //    if err == nil { // resp is now filled
  6290  //        fmt.Println(resp)
  6291  //    }
  6292  //
  6293  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDeliverabilityDashboardOption
  6294  func (c *SESV2) PutDeliverabilityDashboardOptionRequest(input *PutDeliverabilityDashboardOptionInput) (req *request.Request, output *PutDeliverabilityDashboardOptionOutput) {
  6295  	op := &request.Operation{
  6296  		Name:       opPutDeliverabilityDashboardOption,
  6297  		HTTPMethod: "PUT",
  6298  		HTTPPath:   "/v2/email/deliverability-dashboard",
  6299  	}
  6300  
  6301  	if input == nil {
  6302  		input = &PutDeliverabilityDashboardOptionInput{}
  6303  	}
  6304  
  6305  	output = &PutDeliverabilityDashboardOptionOutput{}
  6306  	req = c.newRequest(op, input, output)
  6307  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6308  	return
  6309  }
  6310  
  6311  // PutDeliverabilityDashboardOption API operation for Amazon Simple Email Service.
  6312  //
  6313  // Enable or disable the Deliverability dashboard. When you enable the Deliverability
  6314  // dashboard, you gain access to reputation, deliverability, and other metrics
  6315  // for the domains that you use to send email. You also gain the ability to
  6316  // perform predictive inbox placement tests.
  6317  //
  6318  // When you use the Deliverability dashboard, you pay a monthly subscription
  6319  // charge, in addition to any other fees that you accrue by using Amazon SES
  6320  // and other Amazon Web Services services. For more information about the features
  6321  // and cost of a Deliverability dashboard subscription, see Amazon SES Pricing
  6322  // (http://aws.amazon.com/ses/pricing/).
  6323  //
  6324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6325  // with awserr.Error's Code and Message methods to get detailed information about
  6326  // the error.
  6327  //
  6328  // See the AWS API reference guide for Amazon Simple Email Service's
  6329  // API operation PutDeliverabilityDashboardOption for usage and error information.
  6330  //
  6331  // Returned Error Types:
  6332  //   * AlreadyExistsException
  6333  //   The resource specified in your request already exists.
  6334  //
  6335  //   * NotFoundException
  6336  //   The resource you attempted to access doesn't exist.
  6337  //
  6338  //   * TooManyRequestsException
  6339  //   Too many requests have been made to the operation.
  6340  //
  6341  //   * LimitExceededException
  6342  //   There are too many instances of the specified resource type.
  6343  //
  6344  //   * BadRequestException
  6345  //   The input you provided is invalid.
  6346  //
  6347  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutDeliverabilityDashboardOption
  6348  func (c *SESV2) PutDeliverabilityDashboardOption(input *PutDeliverabilityDashboardOptionInput) (*PutDeliverabilityDashboardOptionOutput, error) {
  6349  	req, out := c.PutDeliverabilityDashboardOptionRequest(input)
  6350  	return out, req.Send()
  6351  }
  6352  
  6353  // PutDeliverabilityDashboardOptionWithContext is the same as PutDeliverabilityDashboardOption with the addition of
  6354  // the ability to pass a context and additional request options.
  6355  //
  6356  // See PutDeliverabilityDashboardOption for details on how to use this API operation.
  6357  //
  6358  // The context must be non-nil and will be used for request cancellation. If
  6359  // the context is nil a panic will occur. In the future the SDK may create
  6360  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6361  // for more information on using Contexts.
  6362  func (c *SESV2) PutDeliverabilityDashboardOptionWithContext(ctx aws.Context, input *PutDeliverabilityDashboardOptionInput, opts ...request.Option) (*PutDeliverabilityDashboardOptionOutput, error) {
  6363  	req, out := c.PutDeliverabilityDashboardOptionRequest(input)
  6364  	req.SetContext(ctx)
  6365  	req.ApplyOptions(opts...)
  6366  	return out, req.Send()
  6367  }
  6368  
  6369  const opPutEmailIdentityConfigurationSetAttributes = "PutEmailIdentityConfigurationSetAttributes"
  6370  
  6371  // PutEmailIdentityConfigurationSetAttributesRequest generates a "aws/request.Request" representing the
  6372  // client's request for the PutEmailIdentityConfigurationSetAttributes operation. The "output" return
  6373  // value will be populated with the request's response once the request completes
  6374  // successfully.
  6375  //
  6376  // Use "Send" method on the returned Request to send the API call to the service.
  6377  // the "output" return value is not valid until after Send returns without error.
  6378  //
  6379  // See PutEmailIdentityConfigurationSetAttributes for more information on using the PutEmailIdentityConfigurationSetAttributes
  6380  // API call, and error handling.
  6381  //
  6382  // This method is useful when you want to inject custom logic or configuration
  6383  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6384  //
  6385  //
  6386  //    // Example sending a request using the PutEmailIdentityConfigurationSetAttributesRequest method.
  6387  //    req, resp := client.PutEmailIdentityConfigurationSetAttributesRequest(params)
  6388  //
  6389  //    err := req.Send()
  6390  //    if err == nil { // resp is now filled
  6391  //        fmt.Println(resp)
  6392  //    }
  6393  //
  6394  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityConfigurationSetAttributes
  6395  func (c *SESV2) PutEmailIdentityConfigurationSetAttributesRequest(input *PutEmailIdentityConfigurationSetAttributesInput) (req *request.Request, output *PutEmailIdentityConfigurationSetAttributesOutput) {
  6396  	op := &request.Operation{
  6397  		Name:       opPutEmailIdentityConfigurationSetAttributes,
  6398  		HTTPMethod: "PUT",
  6399  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/configuration-set",
  6400  	}
  6401  
  6402  	if input == nil {
  6403  		input = &PutEmailIdentityConfigurationSetAttributesInput{}
  6404  	}
  6405  
  6406  	output = &PutEmailIdentityConfigurationSetAttributesOutput{}
  6407  	req = c.newRequest(op, input, output)
  6408  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6409  	return
  6410  }
  6411  
  6412  // PutEmailIdentityConfigurationSetAttributes API operation for Amazon Simple Email Service.
  6413  //
  6414  // Used to associate a configuration set with an email identity.
  6415  //
  6416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6417  // with awserr.Error's Code and Message methods to get detailed information about
  6418  // the error.
  6419  //
  6420  // See the AWS API reference guide for Amazon Simple Email Service's
  6421  // API operation PutEmailIdentityConfigurationSetAttributes for usage and error information.
  6422  //
  6423  // Returned Error Types:
  6424  //   * NotFoundException
  6425  //   The resource you attempted to access doesn't exist.
  6426  //
  6427  //   * TooManyRequestsException
  6428  //   Too many requests have been made to the operation.
  6429  //
  6430  //   * BadRequestException
  6431  //   The input you provided is invalid.
  6432  //
  6433  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityConfigurationSetAttributes
  6434  func (c *SESV2) PutEmailIdentityConfigurationSetAttributes(input *PutEmailIdentityConfigurationSetAttributesInput) (*PutEmailIdentityConfigurationSetAttributesOutput, error) {
  6435  	req, out := c.PutEmailIdentityConfigurationSetAttributesRequest(input)
  6436  	return out, req.Send()
  6437  }
  6438  
  6439  // PutEmailIdentityConfigurationSetAttributesWithContext is the same as PutEmailIdentityConfigurationSetAttributes with the addition of
  6440  // the ability to pass a context and additional request options.
  6441  //
  6442  // See PutEmailIdentityConfigurationSetAttributes for details on how to use this API operation.
  6443  //
  6444  // The context must be non-nil and will be used for request cancellation. If
  6445  // the context is nil a panic will occur. In the future the SDK may create
  6446  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6447  // for more information on using Contexts.
  6448  func (c *SESV2) PutEmailIdentityConfigurationSetAttributesWithContext(ctx aws.Context, input *PutEmailIdentityConfigurationSetAttributesInput, opts ...request.Option) (*PutEmailIdentityConfigurationSetAttributesOutput, error) {
  6449  	req, out := c.PutEmailIdentityConfigurationSetAttributesRequest(input)
  6450  	req.SetContext(ctx)
  6451  	req.ApplyOptions(opts...)
  6452  	return out, req.Send()
  6453  }
  6454  
  6455  const opPutEmailIdentityDkimAttributes = "PutEmailIdentityDkimAttributes"
  6456  
  6457  // PutEmailIdentityDkimAttributesRequest generates a "aws/request.Request" representing the
  6458  // client's request for the PutEmailIdentityDkimAttributes operation. The "output" return
  6459  // value will be populated with the request's response once the request completes
  6460  // successfully.
  6461  //
  6462  // Use "Send" method on the returned Request to send the API call to the service.
  6463  // the "output" return value is not valid until after Send returns without error.
  6464  //
  6465  // See PutEmailIdentityDkimAttributes for more information on using the PutEmailIdentityDkimAttributes
  6466  // API call, and error handling.
  6467  //
  6468  // This method is useful when you want to inject custom logic or configuration
  6469  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6470  //
  6471  //
  6472  //    // Example sending a request using the PutEmailIdentityDkimAttributesRequest method.
  6473  //    req, resp := client.PutEmailIdentityDkimAttributesRequest(params)
  6474  //
  6475  //    err := req.Send()
  6476  //    if err == nil { // resp is now filled
  6477  //        fmt.Println(resp)
  6478  //    }
  6479  //
  6480  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityDkimAttributes
  6481  func (c *SESV2) PutEmailIdentityDkimAttributesRequest(input *PutEmailIdentityDkimAttributesInput) (req *request.Request, output *PutEmailIdentityDkimAttributesOutput) {
  6482  	op := &request.Operation{
  6483  		Name:       opPutEmailIdentityDkimAttributes,
  6484  		HTTPMethod: "PUT",
  6485  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/dkim",
  6486  	}
  6487  
  6488  	if input == nil {
  6489  		input = &PutEmailIdentityDkimAttributesInput{}
  6490  	}
  6491  
  6492  	output = &PutEmailIdentityDkimAttributesOutput{}
  6493  	req = c.newRequest(op, input, output)
  6494  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6495  	return
  6496  }
  6497  
  6498  // PutEmailIdentityDkimAttributes API operation for Amazon Simple Email Service.
  6499  //
  6500  // Used to enable or disable DKIM authentication for an email identity.
  6501  //
  6502  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6503  // with awserr.Error's Code and Message methods to get detailed information about
  6504  // the error.
  6505  //
  6506  // See the AWS API reference guide for Amazon Simple Email Service's
  6507  // API operation PutEmailIdentityDkimAttributes for usage and error information.
  6508  //
  6509  // Returned Error Types:
  6510  //   * NotFoundException
  6511  //   The resource you attempted to access doesn't exist.
  6512  //
  6513  //   * TooManyRequestsException
  6514  //   Too many requests have been made to the operation.
  6515  //
  6516  //   * BadRequestException
  6517  //   The input you provided is invalid.
  6518  //
  6519  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityDkimAttributes
  6520  func (c *SESV2) PutEmailIdentityDkimAttributes(input *PutEmailIdentityDkimAttributesInput) (*PutEmailIdentityDkimAttributesOutput, error) {
  6521  	req, out := c.PutEmailIdentityDkimAttributesRequest(input)
  6522  	return out, req.Send()
  6523  }
  6524  
  6525  // PutEmailIdentityDkimAttributesWithContext is the same as PutEmailIdentityDkimAttributes with the addition of
  6526  // the ability to pass a context and additional request options.
  6527  //
  6528  // See PutEmailIdentityDkimAttributes for details on how to use this API operation.
  6529  //
  6530  // The context must be non-nil and will be used for request cancellation. If
  6531  // the context is nil a panic will occur. In the future the SDK may create
  6532  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6533  // for more information on using Contexts.
  6534  func (c *SESV2) PutEmailIdentityDkimAttributesWithContext(ctx aws.Context, input *PutEmailIdentityDkimAttributesInput, opts ...request.Option) (*PutEmailIdentityDkimAttributesOutput, error) {
  6535  	req, out := c.PutEmailIdentityDkimAttributesRequest(input)
  6536  	req.SetContext(ctx)
  6537  	req.ApplyOptions(opts...)
  6538  	return out, req.Send()
  6539  }
  6540  
  6541  const opPutEmailIdentityDkimSigningAttributes = "PutEmailIdentityDkimSigningAttributes"
  6542  
  6543  // PutEmailIdentityDkimSigningAttributesRequest generates a "aws/request.Request" representing the
  6544  // client's request for the PutEmailIdentityDkimSigningAttributes operation. The "output" return
  6545  // value will be populated with the request's response once the request completes
  6546  // successfully.
  6547  //
  6548  // Use "Send" method on the returned Request to send the API call to the service.
  6549  // the "output" return value is not valid until after Send returns without error.
  6550  //
  6551  // See PutEmailIdentityDkimSigningAttributes for more information on using the PutEmailIdentityDkimSigningAttributes
  6552  // API call, and error handling.
  6553  //
  6554  // This method is useful when you want to inject custom logic or configuration
  6555  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6556  //
  6557  //
  6558  //    // Example sending a request using the PutEmailIdentityDkimSigningAttributesRequest method.
  6559  //    req, resp := client.PutEmailIdentityDkimSigningAttributesRequest(params)
  6560  //
  6561  //    err := req.Send()
  6562  //    if err == nil { // resp is now filled
  6563  //        fmt.Println(resp)
  6564  //    }
  6565  //
  6566  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityDkimSigningAttributes
  6567  func (c *SESV2) PutEmailIdentityDkimSigningAttributesRequest(input *PutEmailIdentityDkimSigningAttributesInput) (req *request.Request, output *PutEmailIdentityDkimSigningAttributesOutput) {
  6568  	op := &request.Operation{
  6569  		Name:       opPutEmailIdentityDkimSigningAttributes,
  6570  		HTTPMethod: "PUT",
  6571  		HTTPPath:   "/v1/email/identities/{EmailIdentity}/dkim/signing",
  6572  	}
  6573  
  6574  	if input == nil {
  6575  		input = &PutEmailIdentityDkimSigningAttributesInput{}
  6576  	}
  6577  
  6578  	output = &PutEmailIdentityDkimSigningAttributesOutput{}
  6579  	req = c.newRequest(op, input, output)
  6580  	return
  6581  }
  6582  
  6583  // PutEmailIdentityDkimSigningAttributes API operation for Amazon Simple Email Service.
  6584  //
  6585  // Used to configure or change the DKIM authentication settings for an email
  6586  // domain identity. You can use this operation to do any of the following:
  6587  //
  6588  //    * Update the signing attributes for an identity that uses Bring Your Own
  6589  //    DKIM (BYODKIM).
  6590  //
  6591  //    * Update the key length that should be used for Easy DKIM.
  6592  //
  6593  //    * Change from using no DKIM authentication to using Easy DKIM.
  6594  //
  6595  //    * Change from using no DKIM authentication to using BYODKIM.
  6596  //
  6597  //    * Change from using Easy DKIM to using BYODKIM.
  6598  //
  6599  //    * Change from using BYODKIM to using Easy DKIM.
  6600  //
  6601  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6602  // with awserr.Error's Code and Message methods to get detailed information about
  6603  // the error.
  6604  //
  6605  // See the AWS API reference guide for Amazon Simple Email Service's
  6606  // API operation PutEmailIdentityDkimSigningAttributes for usage and error information.
  6607  //
  6608  // Returned Error Types:
  6609  //   * NotFoundException
  6610  //   The resource you attempted to access doesn't exist.
  6611  //
  6612  //   * TooManyRequestsException
  6613  //   Too many requests have been made to the operation.
  6614  //
  6615  //   * BadRequestException
  6616  //   The input you provided is invalid.
  6617  //
  6618  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityDkimSigningAttributes
  6619  func (c *SESV2) PutEmailIdentityDkimSigningAttributes(input *PutEmailIdentityDkimSigningAttributesInput) (*PutEmailIdentityDkimSigningAttributesOutput, error) {
  6620  	req, out := c.PutEmailIdentityDkimSigningAttributesRequest(input)
  6621  	return out, req.Send()
  6622  }
  6623  
  6624  // PutEmailIdentityDkimSigningAttributesWithContext is the same as PutEmailIdentityDkimSigningAttributes with the addition of
  6625  // the ability to pass a context and additional request options.
  6626  //
  6627  // See PutEmailIdentityDkimSigningAttributes for details on how to use this API operation.
  6628  //
  6629  // The context must be non-nil and will be used for request cancellation. If
  6630  // the context is nil a panic will occur. In the future the SDK may create
  6631  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6632  // for more information on using Contexts.
  6633  func (c *SESV2) PutEmailIdentityDkimSigningAttributesWithContext(ctx aws.Context, input *PutEmailIdentityDkimSigningAttributesInput, opts ...request.Option) (*PutEmailIdentityDkimSigningAttributesOutput, error) {
  6634  	req, out := c.PutEmailIdentityDkimSigningAttributesRequest(input)
  6635  	req.SetContext(ctx)
  6636  	req.ApplyOptions(opts...)
  6637  	return out, req.Send()
  6638  }
  6639  
  6640  const opPutEmailIdentityFeedbackAttributes = "PutEmailIdentityFeedbackAttributes"
  6641  
  6642  // PutEmailIdentityFeedbackAttributesRequest generates a "aws/request.Request" representing the
  6643  // client's request for the PutEmailIdentityFeedbackAttributes operation. The "output" return
  6644  // value will be populated with the request's response once the request completes
  6645  // successfully.
  6646  //
  6647  // Use "Send" method on the returned Request to send the API call to the service.
  6648  // the "output" return value is not valid until after Send returns without error.
  6649  //
  6650  // See PutEmailIdentityFeedbackAttributes for more information on using the PutEmailIdentityFeedbackAttributes
  6651  // API call, and error handling.
  6652  //
  6653  // This method is useful when you want to inject custom logic or configuration
  6654  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6655  //
  6656  //
  6657  //    // Example sending a request using the PutEmailIdentityFeedbackAttributesRequest method.
  6658  //    req, resp := client.PutEmailIdentityFeedbackAttributesRequest(params)
  6659  //
  6660  //    err := req.Send()
  6661  //    if err == nil { // resp is now filled
  6662  //        fmt.Println(resp)
  6663  //    }
  6664  //
  6665  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityFeedbackAttributes
  6666  func (c *SESV2) PutEmailIdentityFeedbackAttributesRequest(input *PutEmailIdentityFeedbackAttributesInput) (req *request.Request, output *PutEmailIdentityFeedbackAttributesOutput) {
  6667  	op := &request.Operation{
  6668  		Name:       opPutEmailIdentityFeedbackAttributes,
  6669  		HTTPMethod: "PUT",
  6670  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/feedback",
  6671  	}
  6672  
  6673  	if input == nil {
  6674  		input = &PutEmailIdentityFeedbackAttributesInput{}
  6675  	}
  6676  
  6677  	output = &PutEmailIdentityFeedbackAttributesOutput{}
  6678  	req = c.newRequest(op, input, output)
  6679  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6680  	return
  6681  }
  6682  
  6683  // PutEmailIdentityFeedbackAttributes API operation for Amazon Simple Email Service.
  6684  //
  6685  // Used to enable or disable feedback forwarding for an identity. This setting
  6686  // determines what happens when an identity is used to send an email that results
  6687  // in a bounce or complaint event.
  6688  //
  6689  // If the value is true, you receive email notifications when bounce or complaint
  6690  // events occur. These notifications are sent to the address that you specified
  6691  // in the Return-Path header of the original email.
  6692  //
  6693  // You're required to have a method of tracking bounces and complaints. If you
  6694  // haven't set up another mechanism for receiving bounce or complaint notifications
  6695  // (for example, by setting up an event destination), you receive an email notification
  6696  // when these events occur (even if this setting is disabled).
  6697  //
  6698  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6699  // with awserr.Error's Code and Message methods to get detailed information about
  6700  // the error.
  6701  //
  6702  // See the AWS API reference guide for Amazon Simple Email Service's
  6703  // API operation PutEmailIdentityFeedbackAttributes for usage and error information.
  6704  //
  6705  // Returned Error Types:
  6706  //   * NotFoundException
  6707  //   The resource you attempted to access doesn't exist.
  6708  //
  6709  //   * TooManyRequestsException
  6710  //   Too many requests have been made to the operation.
  6711  //
  6712  //   * BadRequestException
  6713  //   The input you provided is invalid.
  6714  //
  6715  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityFeedbackAttributes
  6716  func (c *SESV2) PutEmailIdentityFeedbackAttributes(input *PutEmailIdentityFeedbackAttributesInput) (*PutEmailIdentityFeedbackAttributesOutput, error) {
  6717  	req, out := c.PutEmailIdentityFeedbackAttributesRequest(input)
  6718  	return out, req.Send()
  6719  }
  6720  
  6721  // PutEmailIdentityFeedbackAttributesWithContext is the same as PutEmailIdentityFeedbackAttributes with the addition of
  6722  // the ability to pass a context and additional request options.
  6723  //
  6724  // See PutEmailIdentityFeedbackAttributes for details on how to use this API operation.
  6725  //
  6726  // The context must be non-nil and will be used for request cancellation. If
  6727  // the context is nil a panic will occur. In the future the SDK may create
  6728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6729  // for more information on using Contexts.
  6730  func (c *SESV2) PutEmailIdentityFeedbackAttributesWithContext(ctx aws.Context, input *PutEmailIdentityFeedbackAttributesInput, opts ...request.Option) (*PutEmailIdentityFeedbackAttributesOutput, error) {
  6731  	req, out := c.PutEmailIdentityFeedbackAttributesRequest(input)
  6732  	req.SetContext(ctx)
  6733  	req.ApplyOptions(opts...)
  6734  	return out, req.Send()
  6735  }
  6736  
  6737  const opPutEmailIdentityMailFromAttributes = "PutEmailIdentityMailFromAttributes"
  6738  
  6739  // PutEmailIdentityMailFromAttributesRequest generates a "aws/request.Request" representing the
  6740  // client's request for the PutEmailIdentityMailFromAttributes operation. The "output" return
  6741  // value will be populated with the request's response once the request completes
  6742  // successfully.
  6743  //
  6744  // Use "Send" method on the returned Request to send the API call to the service.
  6745  // the "output" return value is not valid until after Send returns without error.
  6746  //
  6747  // See PutEmailIdentityMailFromAttributes for more information on using the PutEmailIdentityMailFromAttributes
  6748  // API call, and error handling.
  6749  //
  6750  // This method is useful when you want to inject custom logic or configuration
  6751  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6752  //
  6753  //
  6754  //    // Example sending a request using the PutEmailIdentityMailFromAttributesRequest method.
  6755  //    req, resp := client.PutEmailIdentityMailFromAttributesRequest(params)
  6756  //
  6757  //    err := req.Send()
  6758  //    if err == nil { // resp is now filled
  6759  //        fmt.Println(resp)
  6760  //    }
  6761  //
  6762  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityMailFromAttributes
  6763  func (c *SESV2) PutEmailIdentityMailFromAttributesRequest(input *PutEmailIdentityMailFromAttributesInput) (req *request.Request, output *PutEmailIdentityMailFromAttributesOutput) {
  6764  	op := &request.Operation{
  6765  		Name:       opPutEmailIdentityMailFromAttributes,
  6766  		HTTPMethod: "PUT",
  6767  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/mail-from",
  6768  	}
  6769  
  6770  	if input == nil {
  6771  		input = &PutEmailIdentityMailFromAttributesInput{}
  6772  	}
  6773  
  6774  	output = &PutEmailIdentityMailFromAttributesOutput{}
  6775  	req = c.newRequest(op, input, output)
  6776  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6777  	return
  6778  }
  6779  
  6780  // PutEmailIdentityMailFromAttributes API operation for Amazon Simple Email Service.
  6781  //
  6782  // Used to enable or disable the custom Mail-From domain configuration for an
  6783  // email identity.
  6784  //
  6785  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6786  // with awserr.Error's Code and Message methods to get detailed information about
  6787  // the error.
  6788  //
  6789  // See the AWS API reference guide for Amazon Simple Email Service's
  6790  // API operation PutEmailIdentityMailFromAttributes for usage and error information.
  6791  //
  6792  // Returned Error Types:
  6793  //   * NotFoundException
  6794  //   The resource you attempted to access doesn't exist.
  6795  //
  6796  //   * TooManyRequestsException
  6797  //   Too many requests have been made to the operation.
  6798  //
  6799  //   * BadRequestException
  6800  //   The input you provided is invalid.
  6801  //
  6802  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutEmailIdentityMailFromAttributes
  6803  func (c *SESV2) PutEmailIdentityMailFromAttributes(input *PutEmailIdentityMailFromAttributesInput) (*PutEmailIdentityMailFromAttributesOutput, error) {
  6804  	req, out := c.PutEmailIdentityMailFromAttributesRequest(input)
  6805  	return out, req.Send()
  6806  }
  6807  
  6808  // PutEmailIdentityMailFromAttributesWithContext is the same as PutEmailIdentityMailFromAttributes with the addition of
  6809  // the ability to pass a context and additional request options.
  6810  //
  6811  // See PutEmailIdentityMailFromAttributes for details on how to use this API operation.
  6812  //
  6813  // The context must be non-nil and will be used for request cancellation. If
  6814  // the context is nil a panic will occur. In the future the SDK may create
  6815  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6816  // for more information on using Contexts.
  6817  func (c *SESV2) PutEmailIdentityMailFromAttributesWithContext(ctx aws.Context, input *PutEmailIdentityMailFromAttributesInput, opts ...request.Option) (*PutEmailIdentityMailFromAttributesOutput, error) {
  6818  	req, out := c.PutEmailIdentityMailFromAttributesRequest(input)
  6819  	req.SetContext(ctx)
  6820  	req.ApplyOptions(opts...)
  6821  	return out, req.Send()
  6822  }
  6823  
  6824  const opPutSuppressedDestination = "PutSuppressedDestination"
  6825  
  6826  // PutSuppressedDestinationRequest generates a "aws/request.Request" representing the
  6827  // client's request for the PutSuppressedDestination operation. The "output" return
  6828  // value will be populated with the request's response once the request completes
  6829  // successfully.
  6830  //
  6831  // Use "Send" method on the returned Request to send the API call to the service.
  6832  // the "output" return value is not valid until after Send returns without error.
  6833  //
  6834  // See PutSuppressedDestination for more information on using the PutSuppressedDestination
  6835  // API call, and error handling.
  6836  //
  6837  // This method is useful when you want to inject custom logic or configuration
  6838  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6839  //
  6840  //
  6841  //    // Example sending a request using the PutSuppressedDestinationRequest method.
  6842  //    req, resp := client.PutSuppressedDestinationRequest(params)
  6843  //
  6844  //    err := req.Send()
  6845  //    if err == nil { // resp is now filled
  6846  //        fmt.Println(resp)
  6847  //    }
  6848  //
  6849  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutSuppressedDestination
  6850  func (c *SESV2) PutSuppressedDestinationRequest(input *PutSuppressedDestinationInput) (req *request.Request, output *PutSuppressedDestinationOutput) {
  6851  	op := &request.Operation{
  6852  		Name:       opPutSuppressedDestination,
  6853  		HTTPMethod: "PUT",
  6854  		HTTPPath:   "/v2/email/suppression/addresses",
  6855  	}
  6856  
  6857  	if input == nil {
  6858  		input = &PutSuppressedDestinationInput{}
  6859  	}
  6860  
  6861  	output = &PutSuppressedDestinationOutput{}
  6862  	req = c.newRequest(op, input, output)
  6863  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6864  	return
  6865  }
  6866  
  6867  // PutSuppressedDestination API operation for Amazon Simple Email Service.
  6868  //
  6869  // Adds an email address to the suppression list for your account.
  6870  //
  6871  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6872  // with awserr.Error's Code and Message methods to get detailed information about
  6873  // the error.
  6874  //
  6875  // See the AWS API reference guide for Amazon Simple Email Service's
  6876  // API operation PutSuppressedDestination for usage and error information.
  6877  //
  6878  // Returned Error Types:
  6879  //   * BadRequestException
  6880  //   The input you provided is invalid.
  6881  //
  6882  //   * TooManyRequestsException
  6883  //   Too many requests have been made to the operation.
  6884  //
  6885  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutSuppressedDestination
  6886  func (c *SESV2) PutSuppressedDestination(input *PutSuppressedDestinationInput) (*PutSuppressedDestinationOutput, error) {
  6887  	req, out := c.PutSuppressedDestinationRequest(input)
  6888  	return out, req.Send()
  6889  }
  6890  
  6891  // PutSuppressedDestinationWithContext is the same as PutSuppressedDestination with the addition of
  6892  // the ability to pass a context and additional request options.
  6893  //
  6894  // See PutSuppressedDestination for details on how to use this API operation.
  6895  //
  6896  // The context must be non-nil and will be used for request cancellation. If
  6897  // the context is nil a panic will occur. In the future the SDK may create
  6898  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6899  // for more information on using Contexts.
  6900  func (c *SESV2) PutSuppressedDestinationWithContext(ctx aws.Context, input *PutSuppressedDestinationInput, opts ...request.Option) (*PutSuppressedDestinationOutput, error) {
  6901  	req, out := c.PutSuppressedDestinationRequest(input)
  6902  	req.SetContext(ctx)
  6903  	req.ApplyOptions(opts...)
  6904  	return out, req.Send()
  6905  }
  6906  
  6907  const opSendBulkEmail = "SendBulkEmail"
  6908  
  6909  // SendBulkEmailRequest generates a "aws/request.Request" representing the
  6910  // client's request for the SendBulkEmail operation. The "output" return
  6911  // value will be populated with the request's response once the request completes
  6912  // successfully.
  6913  //
  6914  // Use "Send" method on the returned Request to send the API call to the service.
  6915  // the "output" return value is not valid until after Send returns without error.
  6916  //
  6917  // See SendBulkEmail for more information on using the SendBulkEmail
  6918  // API call, and error handling.
  6919  //
  6920  // This method is useful when you want to inject custom logic or configuration
  6921  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6922  //
  6923  //
  6924  //    // Example sending a request using the SendBulkEmailRequest method.
  6925  //    req, resp := client.SendBulkEmailRequest(params)
  6926  //
  6927  //    err := req.Send()
  6928  //    if err == nil { // resp is now filled
  6929  //        fmt.Println(resp)
  6930  //    }
  6931  //
  6932  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendBulkEmail
  6933  func (c *SESV2) SendBulkEmailRequest(input *SendBulkEmailInput) (req *request.Request, output *SendBulkEmailOutput) {
  6934  	op := &request.Operation{
  6935  		Name:       opSendBulkEmail,
  6936  		HTTPMethod: "POST",
  6937  		HTTPPath:   "/v2/email/outbound-bulk-emails",
  6938  	}
  6939  
  6940  	if input == nil {
  6941  		input = &SendBulkEmailInput{}
  6942  	}
  6943  
  6944  	output = &SendBulkEmailOutput{}
  6945  	req = c.newRequest(op, input, output)
  6946  	return
  6947  }
  6948  
  6949  // SendBulkEmail API operation for Amazon Simple Email Service.
  6950  //
  6951  // Composes an email message to multiple destinations.
  6952  //
  6953  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6954  // with awserr.Error's Code and Message methods to get detailed information about
  6955  // the error.
  6956  //
  6957  // See the AWS API reference guide for Amazon Simple Email Service's
  6958  // API operation SendBulkEmail for usage and error information.
  6959  //
  6960  // Returned Error Types:
  6961  //   * TooManyRequestsException
  6962  //   Too many requests have been made to the operation.
  6963  //
  6964  //   * LimitExceededException
  6965  //   There are too many instances of the specified resource type.
  6966  //
  6967  //   * AccountSuspendedException
  6968  //   The message can't be sent because the account's ability to send email has
  6969  //   been permanently restricted.
  6970  //
  6971  //   * SendingPausedException
  6972  //   The message can't be sent because the account's ability to send email is
  6973  //   currently paused.
  6974  //
  6975  //   * MessageRejected
  6976  //   The message can't be sent because it contains invalid content.
  6977  //
  6978  //   * MailFromDomainNotVerifiedException
  6979  //   The message can't be sent because the sending domain isn't verified.
  6980  //
  6981  //   * NotFoundException
  6982  //   The resource you attempted to access doesn't exist.
  6983  //
  6984  //   * BadRequestException
  6985  //   The input you provided is invalid.
  6986  //
  6987  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendBulkEmail
  6988  func (c *SESV2) SendBulkEmail(input *SendBulkEmailInput) (*SendBulkEmailOutput, error) {
  6989  	req, out := c.SendBulkEmailRequest(input)
  6990  	return out, req.Send()
  6991  }
  6992  
  6993  // SendBulkEmailWithContext is the same as SendBulkEmail with the addition of
  6994  // the ability to pass a context and additional request options.
  6995  //
  6996  // See SendBulkEmail for details on how to use this API operation.
  6997  //
  6998  // The context must be non-nil and will be used for request cancellation. If
  6999  // the context is nil a panic will occur. In the future the SDK may create
  7000  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7001  // for more information on using Contexts.
  7002  func (c *SESV2) SendBulkEmailWithContext(ctx aws.Context, input *SendBulkEmailInput, opts ...request.Option) (*SendBulkEmailOutput, error) {
  7003  	req, out := c.SendBulkEmailRequest(input)
  7004  	req.SetContext(ctx)
  7005  	req.ApplyOptions(opts...)
  7006  	return out, req.Send()
  7007  }
  7008  
  7009  const opSendCustomVerificationEmail = "SendCustomVerificationEmail"
  7010  
  7011  // SendCustomVerificationEmailRequest generates a "aws/request.Request" representing the
  7012  // client's request for the SendCustomVerificationEmail operation. The "output" return
  7013  // value will be populated with the request's response once the request completes
  7014  // successfully.
  7015  //
  7016  // Use "Send" method on the returned Request to send the API call to the service.
  7017  // the "output" return value is not valid until after Send returns without error.
  7018  //
  7019  // See SendCustomVerificationEmail for more information on using the SendCustomVerificationEmail
  7020  // API call, and error handling.
  7021  //
  7022  // This method is useful when you want to inject custom logic or configuration
  7023  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7024  //
  7025  //
  7026  //    // Example sending a request using the SendCustomVerificationEmailRequest method.
  7027  //    req, resp := client.SendCustomVerificationEmailRequest(params)
  7028  //
  7029  //    err := req.Send()
  7030  //    if err == nil { // resp is now filled
  7031  //        fmt.Println(resp)
  7032  //    }
  7033  //
  7034  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendCustomVerificationEmail
  7035  func (c *SESV2) SendCustomVerificationEmailRequest(input *SendCustomVerificationEmailInput) (req *request.Request, output *SendCustomVerificationEmailOutput) {
  7036  	op := &request.Operation{
  7037  		Name:       opSendCustomVerificationEmail,
  7038  		HTTPMethod: "POST",
  7039  		HTTPPath:   "/v2/email/outbound-custom-verification-emails",
  7040  	}
  7041  
  7042  	if input == nil {
  7043  		input = &SendCustomVerificationEmailInput{}
  7044  	}
  7045  
  7046  	output = &SendCustomVerificationEmailOutput{}
  7047  	req = c.newRequest(op, input, output)
  7048  	return
  7049  }
  7050  
  7051  // SendCustomVerificationEmail API operation for Amazon Simple Email Service.
  7052  //
  7053  // Adds an email address to the list of identities for your Amazon SES account
  7054  // in the current Amazon Web Services Region and attempts to verify it. As a
  7055  // result of executing this operation, a customized verification email is sent
  7056  // to the specified address.
  7057  //
  7058  // To use this operation, you must first create a custom verification email
  7059  // template. For more information about creating and using custom verification
  7060  // email templates, see Using Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html)
  7061  // in the Amazon SES Developer Guide.
  7062  //
  7063  // You can execute this operation no more than once per second.
  7064  //
  7065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7066  // with awserr.Error's Code and Message methods to get detailed information about
  7067  // the error.
  7068  //
  7069  // See the AWS API reference guide for Amazon Simple Email Service's
  7070  // API operation SendCustomVerificationEmail for usage and error information.
  7071  //
  7072  // Returned Error Types:
  7073  //   * TooManyRequestsException
  7074  //   Too many requests have been made to the operation.
  7075  //
  7076  //   * LimitExceededException
  7077  //   There are too many instances of the specified resource type.
  7078  //
  7079  //   * MessageRejected
  7080  //   The message can't be sent because it contains invalid content.
  7081  //
  7082  //   * SendingPausedException
  7083  //   The message can't be sent because the account's ability to send email is
  7084  //   currently paused.
  7085  //
  7086  //   * MailFromDomainNotVerifiedException
  7087  //   The message can't be sent because the sending domain isn't verified.
  7088  //
  7089  //   * NotFoundException
  7090  //   The resource you attempted to access doesn't exist.
  7091  //
  7092  //   * BadRequestException
  7093  //   The input you provided is invalid.
  7094  //
  7095  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendCustomVerificationEmail
  7096  func (c *SESV2) SendCustomVerificationEmail(input *SendCustomVerificationEmailInput) (*SendCustomVerificationEmailOutput, error) {
  7097  	req, out := c.SendCustomVerificationEmailRequest(input)
  7098  	return out, req.Send()
  7099  }
  7100  
  7101  // SendCustomVerificationEmailWithContext is the same as SendCustomVerificationEmail with the addition of
  7102  // the ability to pass a context and additional request options.
  7103  //
  7104  // See SendCustomVerificationEmail for details on how to use this API operation.
  7105  //
  7106  // The context must be non-nil and will be used for request cancellation. If
  7107  // the context is nil a panic will occur. In the future the SDK may create
  7108  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7109  // for more information on using Contexts.
  7110  func (c *SESV2) SendCustomVerificationEmailWithContext(ctx aws.Context, input *SendCustomVerificationEmailInput, opts ...request.Option) (*SendCustomVerificationEmailOutput, error) {
  7111  	req, out := c.SendCustomVerificationEmailRequest(input)
  7112  	req.SetContext(ctx)
  7113  	req.ApplyOptions(opts...)
  7114  	return out, req.Send()
  7115  }
  7116  
  7117  const opSendEmail = "SendEmail"
  7118  
  7119  // SendEmailRequest generates a "aws/request.Request" representing the
  7120  // client's request for the SendEmail operation. The "output" return
  7121  // value will be populated with the request's response once the request completes
  7122  // successfully.
  7123  //
  7124  // Use "Send" method on the returned Request to send the API call to the service.
  7125  // the "output" return value is not valid until after Send returns without error.
  7126  //
  7127  // See SendEmail for more information on using the SendEmail
  7128  // API call, and error handling.
  7129  //
  7130  // This method is useful when you want to inject custom logic or configuration
  7131  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7132  //
  7133  //
  7134  //    // Example sending a request using the SendEmailRequest method.
  7135  //    req, resp := client.SendEmailRequest(params)
  7136  //
  7137  //    err := req.Send()
  7138  //    if err == nil { // resp is now filled
  7139  //        fmt.Println(resp)
  7140  //    }
  7141  //
  7142  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendEmail
  7143  func (c *SESV2) SendEmailRequest(input *SendEmailInput) (req *request.Request, output *SendEmailOutput) {
  7144  	op := &request.Operation{
  7145  		Name:       opSendEmail,
  7146  		HTTPMethod: "POST",
  7147  		HTTPPath:   "/v2/email/outbound-emails",
  7148  	}
  7149  
  7150  	if input == nil {
  7151  		input = &SendEmailInput{}
  7152  	}
  7153  
  7154  	output = &SendEmailOutput{}
  7155  	req = c.newRequest(op, input, output)
  7156  	return
  7157  }
  7158  
  7159  // SendEmail API operation for Amazon Simple Email Service.
  7160  //
  7161  // Sends an email message. You can use the Amazon SES API v2 to send the following
  7162  // types of messages:
  7163  //
  7164  //    * Simple – A standard email message. When you create this type of message,
  7165  //    you specify the sender, the recipient, and the message body, and Amazon
  7166  //    SES assembles the message for you.
  7167  //
  7168  //    * Raw – A raw, MIME-formatted email message. When you send this type
  7169  //    of email, you have to specify all of the message headers, as well as the
  7170  //    message body. You can use this message type to send messages that contain
  7171  //    attachments. The message that you specify has to be a valid MIME message.
  7172  //
  7173  //    * Templated – A message that contains personalization tags. When you
  7174  //    send this type of email, Amazon SES API v2 automatically replaces the
  7175  //    tags with values that you specify.
  7176  //
  7177  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7178  // with awserr.Error's Code and Message methods to get detailed information about
  7179  // the error.
  7180  //
  7181  // See the AWS API reference guide for Amazon Simple Email Service's
  7182  // API operation SendEmail for usage and error information.
  7183  //
  7184  // Returned Error Types:
  7185  //   * TooManyRequestsException
  7186  //   Too many requests have been made to the operation.
  7187  //
  7188  //   * LimitExceededException
  7189  //   There are too many instances of the specified resource type.
  7190  //
  7191  //   * AccountSuspendedException
  7192  //   The message can't be sent because the account's ability to send email has
  7193  //   been permanently restricted.
  7194  //
  7195  //   * SendingPausedException
  7196  //   The message can't be sent because the account's ability to send email is
  7197  //   currently paused.
  7198  //
  7199  //   * MessageRejected
  7200  //   The message can't be sent because it contains invalid content.
  7201  //
  7202  //   * MailFromDomainNotVerifiedException
  7203  //   The message can't be sent because the sending domain isn't verified.
  7204  //
  7205  //   * NotFoundException
  7206  //   The resource you attempted to access doesn't exist.
  7207  //
  7208  //   * BadRequestException
  7209  //   The input you provided is invalid.
  7210  //
  7211  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendEmail
  7212  func (c *SESV2) SendEmail(input *SendEmailInput) (*SendEmailOutput, error) {
  7213  	req, out := c.SendEmailRequest(input)
  7214  	return out, req.Send()
  7215  }
  7216  
  7217  // SendEmailWithContext is the same as SendEmail with the addition of
  7218  // the ability to pass a context and additional request options.
  7219  //
  7220  // See SendEmail for details on how to use this API operation.
  7221  //
  7222  // The context must be non-nil and will be used for request cancellation. If
  7223  // the context is nil a panic will occur. In the future the SDK may create
  7224  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7225  // for more information on using Contexts.
  7226  func (c *SESV2) SendEmailWithContext(ctx aws.Context, input *SendEmailInput, opts ...request.Option) (*SendEmailOutput, error) {
  7227  	req, out := c.SendEmailRequest(input)
  7228  	req.SetContext(ctx)
  7229  	req.ApplyOptions(opts...)
  7230  	return out, req.Send()
  7231  }
  7232  
  7233  const opTagResource = "TagResource"
  7234  
  7235  // TagResourceRequest generates a "aws/request.Request" representing the
  7236  // client's request for the TagResource operation. The "output" return
  7237  // value will be populated with the request's response once the request completes
  7238  // successfully.
  7239  //
  7240  // Use "Send" method on the returned Request to send the API call to the service.
  7241  // the "output" return value is not valid until after Send returns without error.
  7242  //
  7243  // See TagResource for more information on using the TagResource
  7244  // API call, and error handling.
  7245  //
  7246  // This method is useful when you want to inject custom logic or configuration
  7247  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7248  //
  7249  //
  7250  //    // Example sending a request using the TagResourceRequest method.
  7251  //    req, resp := client.TagResourceRequest(params)
  7252  //
  7253  //    err := req.Send()
  7254  //    if err == nil { // resp is now filled
  7255  //        fmt.Println(resp)
  7256  //    }
  7257  //
  7258  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TagResource
  7259  func (c *SESV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  7260  	op := &request.Operation{
  7261  		Name:       opTagResource,
  7262  		HTTPMethod: "POST",
  7263  		HTTPPath:   "/v2/email/tags",
  7264  	}
  7265  
  7266  	if input == nil {
  7267  		input = &TagResourceInput{}
  7268  	}
  7269  
  7270  	output = &TagResourceOutput{}
  7271  	req = c.newRequest(op, input, output)
  7272  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7273  	return
  7274  }
  7275  
  7276  // TagResource API operation for Amazon Simple Email Service.
  7277  //
  7278  // Add one or more tags (keys and values) to a specified resource. A tag is
  7279  // a label that you optionally define and associate with a resource. Tags can
  7280  // help you categorize and manage resources in different ways, such as by purpose,
  7281  // owner, environment, or other criteria. A resource can have as many as 50
  7282  // tags.
  7283  //
  7284  // Each tag consists of a required tag key and an associated tag value, both
  7285  // of which you define. A tag key is a general label that acts as a category
  7286  // for more specific tag values. A tag value acts as a descriptor within a tag
  7287  // key.
  7288  //
  7289  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7290  // with awserr.Error's Code and Message methods to get detailed information about
  7291  // the error.
  7292  //
  7293  // See the AWS API reference guide for Amazon Simple Email Service's
  7294  // API operation TagResource for usage and error information.
  7295  //
  7296  // Returned Error Types:
  7297  //   * BadRequestException
  7298  //   The input you provided is invalid.
  7299  //
  7300  //   * ConcurrentModificationException
  7301  //   The resource is being modified by another operation or thread.
  7302  //
  7303  //   * NotFoundException
  7304  //   The resource you attempted to access doesn't exist.
  7305  //
  7306  //   * TooManyRequestsException
  7307  //   Too many requests have been made to the operation.
  7308  //
  7309  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TagResource
  7310  func (c *SESV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  7311  	req, out := c.TagResourceRequest(input)
  7312  	return out, req.Send()
  7313  }
  7314  
  7315  // TagResourceWithContext is the same as TagResource with the addition of
  7316  // the ability to pass a context and additional request options.
  7317  //
  7318  // See TagResource for details on how to use this API operation.
  7319  //
  7320  // The context must be non-nil and will be used for request cancellation. If
  7321  // the context is nil a panic will occur. In the future the SDK may create
  7322  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7323  // for more information on using Contexts.
  7324  func (c *SESV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  7325  	req, out := c.TagResourceRequest(input)
  7326  	req.SetContext(ctx)
  7327  	req.ApplyOptions(opts...)
  7328  	return out, req.Send()
  7329  }
  7330  
  7331  const opTestRenderEmailTemplate = "TestRenderEmailTemplate"
  7332  
  7333  // TestRenderEmailTemplateRequest generates a "aws/request.Request" representing the
  7334  // client's request for the TestRenderEmailTemplate operation. The "output" return
  7335  // value will be populated with the request's response once the request completes
  7336  // successfully.
  7337  //
  7338  // Use "Send" method on the returned Request to send the API call to the service.
  7339  // the "output" return value is not valid until after Send returns without error.
  7340  //
  7341  // See TestRenderEmailTemplate for more information on using the TestRenderEmailTemplate
  7342  // API call, and error handling.
  7343  //
  7344  // This method is useful when you want to inject custom logic or configuration
  7345  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7346  //
  7347  //
  7348  //    // Example sending a request using the TestRenderEmailTemplateRequest method.
  7349  //    req, resp := client.TestRenderEmailTemplateRequest(params)
  7350  //
  7351  //    err := req.Send()
  7352  //    if err == nil { // resp is now filled
  7353  //        fmt.Println(resp)
  7354  //    }
  7355  //
  7356  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TestRenderEmailTemplate
  7357  func (c *SESV2) TestRenderEmailTemplateRequest(input *TestRenderEmailTemplateInput) (req *request.Request, output *TestRenderEmailTemplateOutput) {
  7358  	op := &request.Operation{
  7359  		Name:       opTestRenderEmailTemplate,
  7360  		HTTPMethod: "POST",
  7361  		HTTPPath:   "/v2/email/templates/{TemplateName}/render",
  7362  	}
  7363  
  7364  	if input == nil {
  7365  		input = &TestRenderEmailTemplateInput{}
  7366  	}
  7367  
  7368  	output = &TestRenderEmailTemplateOutput{}
  7369  	req = c.newRequest(op, input, output)
  7370  	return
  7371  }
  7372  
  7373  // TestRenderEmailTemplate API operation for Amazon Simple Email Service.
  7374  //
  7375  // Creates a preview of the MIME content of an email when provided with a template
  7376  // and a set of replacement data.
  7377  //
  7378  // You can execute this operation no more than once per second.
  7379  //
  7380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7381  // with awserr.Error's Code and Message methods to get detailed information about
  7382  // the error.
  7383  //
  7384  // See the AWS API reference guide for Amazon Simple Email Service's
  7385  // API operation TestRenderEmailTemplate for usage and error information.
  7386  //
  7387  // Returned Error Types:
  7388  //   * NotFoundException
  7389  //   The resource you attempted to access doesn't exist.
  7390  //
  7391  //   * TooManyRequestsException
  7392  //   Too many requests have been made to the operation.
  7393  //
  7394  //   * BadRequestException
  7395  //   The input you provided is invalid.
  7396  //
  7397  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TestRenderEmailTemplate
  7398  func (c *SESV2) TestRenderEmailTemplate(input *TestRenderEmailTemplateInput) (*TestRenderEmailTemplateOutput, error) {
  7399  	req, out := c.TestRenderEmailTemplateRequest(input)
  7400  	return out, req.Send()
  7401  }
  7402  
  7403  // TestRenderEmailTemplateWithContext is the same as TestRenderEmailTemplate with the addition of
  7404  // the ability to pass a context and additional request options.
  7405  //
  7406  // See TestRenderEmailTemplate for details on how to use this API operation.
  7407  //
  7408  // The context must be non-nil and will be used for request cancellation. If
  7409  // the context is nil a panic will occur. In the future the SDK may create
  7410  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7411  // for more information on using Contexts.
  7412  func (c *SESV2) TestRenderEmailTemplateWithContext(ctx aws.Context, input *TestRenderEmailTemplateInput, opts ...request.Option) (*TestRenderEmailTemplateOutput, error) {
  7413  	req, out := c.TestRenderEmailTemplateRequest(input)
  7414  	req.SetContext(ctx)
  7415  	req.ApplyOptions(opts...)
  7416  	return out, req.Send()
  7417  }
  7418  
  7419  const opUntagResource = "UntagResource"
  7420  
  7421  // UntagResourceRequest generates a "aws/request.Request" representing the
  7422  // client's request for the UntagResource operation. The "output" return
  7423  // value will be populated with the request's response once the request completes
  7424  // successfully.
  7425  //
  7426  // Use "Send" method on the returned Request to send the API call to the service.
  7427  // the "output" return value is not valid until after Send returns without error.
  7428  //
  7429  // See UntagResource for more information on using the UntagResource
  7430  // API call, and error handling.
  7431  //
  7432  // This method is useful when you want to inject custom logic or configuration
  7433  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7434  //
  7435  //
  7436  //    // Example sending a request using the UntagResourceRequest method.
  7437  //    req, resp := client.UntagResourceRequest(params)
  7438  //
  7439  //    err := req.Send()
  7440  //    if err == nil { // resp is now filled
  7441  //        fmt.Println(resp)
  7442  //    }
  7443  //
  7444  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UntagResource
  7445  func (c *SESV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  7446  	op := &request.Operation{
  7447  		Name:       opUntagResource,
  7448  		HTTPMethod: "DELETE",
  7449  		HTTPPath:   "/v2/email/tags",
  7450  	}
  7451  
  7452  	if input == nil {
  7453  		input = &UntagResourceInput{}
  7454  	}
  7455  
  7456  	output = &UntagResourceOutput{}
  7457  	req = c.newRequest(op, input, output)
  7458  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7459  	return
  7460  }
  7461  
  7462  // UntagResource API operation for Amazon Simple Email Service.
  7463  //
  7464  // Remove one or more tags (keys and values) from a specified resource.
  7465  //
  7466  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7467  // with awserr.Error's Code and Message methods to get detailed information about
  7468  // the error.
  7469  //
  7470  // See the AWS API reference guide for Amazon Simple Email Service's
  7471  // API operation UntagResource for usage and error information.
  7472  //
  7473  // Returned Error Types:
  7474  //   * BadRequestException
  7475  //   The input you provided is invalid.
  7476  //
  7477  //   * ConcurrentModificationException
  7478  //   The resource is being modified by another operation or thread.
  7479  //
  7480  //   * NotFoundException
  7481  //   The resource you attempted to access doesn't exist.
  7482  //
  7483  //   * TooManyRequestsException
  7484  //   Too many requests have been made to the operation.
  7485  //
  7486  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UntagResource
  7487  func (c *SESV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  7488  	req, out := c.UntagResourceRequest(input)
  7489  	return out, req.Send()
  7490  }
  7491  
  7492  // UntagResourceWithContext is the same as UntagResource with the addition of
  7493  // the ability to pass a context and additional request options.
  7494  //
  7495  // See UntagResource for details on how to use this API operation.
  7496  //
  7497  // The context must be non-nil and will be used for request cancellation. If
  7498  // the context is nil a panic will occur. In the future the SDK may create
  7499  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7500  // for more information on using Contexts.
  7501  func (c *SESV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  7502  	req, out := c.UntagResourceRequest(input)
  7503  	req.SetContext(ctx)
  7504  	req.ApplyOptions(opts...)
  7505  	return out, req.Send()
  7506  }
  7507  
  7508  const opUpdateConfigurationSetEventDestination = "UpdateConfigurationSetEventDestination"
  7509  
  7510  // UpdateConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the
  7511  // client's request for the UpdateConfigurationSetEventDestination operation. The "output" return
  7512  // value will be populated with the request's response once the request completes
  7513  // successfully.
  7514  //
  7515  // Use "Send" method on the returned Request to send the API call to the service.
  7516  // the "output" return value is not valid until after Send returns without error.
  7517  //
  7518  // See UpdateConfigurationSetEventDestination for more information on using the UpdateConfigurationSetEventDestination
  7519  // API call, and error handling.
  7520  //
  7521  // This method is useful when you want to inject custom logic or configuration
  7522  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7523  //
  7524  //
  7525  //    // Example sending a request using the UpdateConfigurationSetEventDestinationRequest method.
  7526  //    req, resp := client.UpdateConfigurationSetEventDestinationRequest(params)
  7527  //
  7528  //    err := req.Send()
  7529  //    if err == nil { // resp is now filled
  7530  //        fmt.Println(resp)
  7531  //    }
  7532  //
  7533  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateConfigurationSetEventDestination
  7534  func (c *SESV2) UpdateConfigurationSetEventDestinationRequest(input *UpdateConfigurationSetEventDestinationInput) (req *request.Request, output *UpdateConfigurationSetEventDestinationOutput) {
  7535  	op := &request.Operation{
  7536  		Name:       opUpdateConfigurationSetEventDestination,
  7537  		HTTPMethod: "PUT",
  7538  		HTTPPath:   "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}",
  7539  	}
  7540  
  7541  	if input == nil {
  7542  		input = &UpdateConfigurationSetEventDestinationInput{}
  7543  	}
  7544  
  7545  	output = &UpdateConfigurationSetEventDestinationOutput{}
  7546  	req = c.newRequest(op, input, output)
  7547  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7548  	return
  7549  }
  7550  
  7551  // UpdateConfigurationSetEventDestination API operation for Amazon Simple Email Service.
  7552  //
  7553  // Update the configuration of an event destination for a configuration set.
  7554  //
  7555  // Events include message sends, deliveries, opens, clicks, bounces, and complaints.
  7556  // Event destinations are places that you can send information about these events
  7557  // to. For example, you can send event data to Amazon SNS to receive notifications
  7558  // when you receive bounces or complaints, or you can use Amazon Kinesis Data
  7559  // Firehose to stream data to Amazon S3 for long-term storage.
  7560  //
  7561  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7562  // with awserr.Error's Code and Message methods to get detailed information about
  7563  // the error.
  7564  //
  7565  // See the AWS API reference guide for Amazon Simple Email Service's
  7566  // API operation UpdateConfigurationSetEventDestination for usage and error information.
  7567  //
  7568  // Returned Error Types:
  7569  //   * NotFoundException
  7570  //   The resource you attempted to access doesn't exist.
  7571  //
  7572  //   * TooManyRequestsException
  7573  //   Too many requests have been made to the operation.
  7574  //
  7575  //   * BadRequestException
  7576  //   The input you provided is invalid.
  7577  //
  7578  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateConfigurationSetEventDestination
  7579  func (c *SESV2) UpdateConfigurationSetEventDestination(input *UpdateConfigurationSetEventDestinationInput) (*UpdateConfigurationSetEventDestinationOutput, error) {
  7580  	req, out := c.UpdateConfigurationSetEventDestinationRequest(input)
  7581  	return out, req.Send()
  7582  }
  7583  
  7584  // UpdateConfigurationSetEventDestinationWithContext is the same as UpdateConfigurationSetEventDestination with the addition of
  7585  // the ability to pass a context and additional request options.
  7586  //
  7587  // See UpdateConfigurationSetEventDestination for details on how to use this API operation.
  7588  //
  7589  // The context must be non-nil and will be used for request cancellation. If
  7590  // the context is nil a panic will occur. In the future the SDK may create
  7591  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7592  // for more information on using Contexts.
  7593  func (c *SESV2) UpdateConfigurationSetEventDestinationWithContext(ctx aws.Context, input *UpdateConfigurationSetEventDestinationInput, opts ...request.Option) (*UpdateConfigurationSetEventDestinationOutput, error) {
  7594  	req, out := c.UpdateConfigurationSetEventDestinationRequest(input)
  7595  	req.SetContext(ctx)
  7596  	req.ApplyOptions(opts...)
  7597  	return out, req.Send()
  7598  }
  7599  
  7600  const opUpdateContact = "UpdateContact"
  7601  
  7602  // UpdateContactRequest generates a "aws/request.Request" representing the
  7603  // client's request for the UpdateContact operation. The "output" return
  7604  // value will be populated with the request's response once the request completes
  7605  // successfully.
  7606  //
  7607  // Use "Send" method on the returned Request to send the API call to the service.
  7608  // the "output" return value is not valid until after Send returns without error.
  7609  //
  7610  // See UpdateContact for more information on using the UpdateContact
  7611  // API call, and error handling.
  7612  //
  7613  // This method is useful when you want to inject custom logic or configuration
  7614  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7615  //
  7616  //
  7617  //    // Example sending a request using the UpdateContactRequest method.
  7618  //    req, resp := client.UpdateContactRequest(params)
  7619  //
  7620  //    err := req.Send()
  7621  //    if err == nil { // resp is now filled
  7622  //        fmt.Println(resp)
  7623  //    }
  7624  //
  7625  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContact
  7626  func (c *SESV2) UpdateContactRequest(input *UpdateContactInput) (req *request.Request, output *UpdateContactOutput) {
  7627  	op := &request.Operation{
  7628  		Name:       opUpdateContact,
  7629  		HTTPMethod: "PUT",
  7630  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}",
  7631  	}
  7632  
  7633  	if input == nil {
  7634  		input = &UpdateContactInput{}
  7635  	}
  7636  
  7637  	output = &UpdateContactOutput{}
  7638  	req = c.newRequest(op, input, output)
  7639  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7640  	return
  7641  }
  7642  
  7643  // UpdateContact API operation for Amazon Simple Email Service.
  7644  //
  7645  // Updates a contact's preferences for a list. It is not necessary to specify
  7646  // all existing topic preferences in the TopicPreferences object, just the ones
  7647  // that need updating.
  7648  //
  7649  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7650  // with awserr.Error's Code and Message methods to get detailed information about
  7651  // the error.
  7652  //
  7653  // See the AWS API reference guide for Amazon Simple Email Service's
  7654  // API operation UpdateContact for usage and error information.
  7655  //
  7656  // Returned Error Types:
  7657  //   * BadRequestException
  7658  //   The input you provided is invalid.
  7659  //
  7660  //   * TooManyRequestsException
  7661  //   Too many requests have been made to the operation.
  7662  //
  7663  //   * NotFoundException
  7664  //   The resource you attempted to access doesn't exist.
  7665  //
  7666  //   * ConcurrentModificationException
  7667  //   The resource is being modified by another operation or thread.
  7668  //
  7669  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContact
  7670  func (c *SESV2) UpdateContact(input *UpdateContactInput) (*UpdateContactOutput, error) {
  7671  	req, out := c.UpdateContactRequest(input)
  7672  	return out, req.Send()
  7673  }
  7674  
  7675  // UpdateContactWithContext is the same as UpdateContact with the addition of
  7676  // the ability to pass a context and additional request options.
  7677  //
  7678  // See UpdateContact for details on how to use this API operation.
  7679  //
  7680  // The context must be non-nil and will be used for request cancellation. If
  7681  // the context is nil a panic will occur. In the future the SDK may create
  7682  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7683  // for more information on using Contexts.
  7684  func (c *SESV2) UpdateContactWithContext(ctx aws.Context, input *UpdateContactInput, opts ...request.Option) (*UpdateContactOutput, error) {
  7685  	req, out := c.UpdateContactRequest(input)
  7686  	req.SetContext(ctx)
  7687  	req.ApplyOptions(opts...)
  7688  	return out, req.Send()
  7689  }
  7690  
  7691  const opUpdateContactList = "UpdateContactList"
  7692  
  7693  // UpdateContactListRequest generates a "aws/request.Request" representing the
  7694  // client's request for the UpdateContactList operation. The "output" return
  7695  // value will be populated with the request's response once the request completes
  7696  // successfully.
  7697  //
  7698  // Use "Send" method on the returned Request to send the API call to the service.
  7699  // the "output" return value is not valid until after Send returns without error.
  7700  //
  7701  // See UpdateContactList for more information on using the UpdateContactList
  7702  // API call, and error handling.
  7703  //
  7704  // This method is useful when you want to inject custom logic or configuration
  7705  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7706  //
  7707  //
  7708  //    // Example sending a request using the UpdateContactListRequest method.
  7709  //    req, resp := client.UpdateContactListRequest(params)
  7710  //
  7711  //    err := req.Send()
  7712  //    if err == nil { // resp is now filled
  7713  //        fmt.Println(resp)
  7714  //    }
  7715  //
  7716  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactList
  7717  func (c *SESV2) UpdateContactListRequest(input *UpdateContactListInput) (req *request.Request, output *UpdateContactListOutput) {
  7718  	op := &request.Operation{
  7719  		Name:       opUpdateContactList,
  7720  		HTTPMethod: "PUT",
  7721  		HTTPPath:   "/v2/email/contact-lists/{ContactListName}",
  7722  	}
  7723  
  7724  	if input == nil {
  7725  		input = &UpdateContactListInput{}
  7726  	}
  7727  
  7728  	output = &UpdateContactListOutput{}
  7729  	req = c.newRequest(op, input, output)
  7730  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7731  	return
  7732  }
  7733  
  7734  // UpdateContactList API operation for Amazon Simple Email Service.
  7735  //
  7736  // Updates contact list metadata. This operation does a complete replacement.
  7737  //
  7738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7739  // with awserr.Error's Code and Message methods to get detailed information about
  7740  // the error.
  7741  //
  7742  // See the AWS API reference guide for Amazon Simple Email Service's
  7743  // API operation UpdateContactList for usage and error information.
  7744  //
  7745  // Returned Error Types:
  7746  //   * BadRequestException
  7747  //   The input you provided is invalid.
  7748  //
  7749  //   * TooManyRequestsException
  7750  //   Too many requests have been made to the operation.
  7751  //
  7752  //   * NotFoundException
  7753  //   The resource you attempted to access doesn't exist.
  7754  //
  7755  //   * ConcurrentModificationException
  7756  //   The resource is being modified by another operation or thread.
  7757  //
  7758  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateContactList
  7759  func (c *SESV2) UpdateContactList(input *UpdateContactListInput) (*UpdateContactListOutput, error) {
  7760  	req, out := c.UpdateContactListRequest(input)
  7761  	return out, req.Send()
  7762  }
  7763  
  7764  // UpdateContactListWithContext is the same as UpdateContactList with the addition of
  7765  // the ability to pass a context and additional request options.
  7766  //
  7767  // See UpdateContactList for details on how to use this API operation.
  7768  //
  7769  // The context must be non-nil and will be used for request cancellation. If
  7770  // the context is nil a panic will occur. In the future the SDK may create
  7771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7772  // for more information on using Contexts.
  7773  func (c *SESV2) UpdateContactListWithContext(ctx aws.Context, input *UpdateContactListInput, opts ...request.Option) (*UpdateContactListOutput, error) {
  7774  	req, out := c.UpdateContactListRequest(input)
  7775  	req.SetContext(ctx)
  7776  	req.ApplyOptions(opts...)
  7777  	return out, req.Send()
  7778  }
  7779  
  7780  const opUpdateCustomVerificationEmailTemplate = "UpdateCustomVerificationEmailTemplate"
  7781  
  7782  // UpdateCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the
  7783  // client's request for the UpdateCustomVerificationEmailTemplate operation. The "output" return
  7784  // value will be populated with the request's response once the request completes
  7785  // successfully.
  7786  //
  7787  // Use "Send" method on the returned Request to send the API call to the service.
  7788  // the "output" return value is not valid until after Send returns without error.
  7789  //
  7790  // See UpdateCustomVerificationEmailTemplate for more information on using the UpdateCustomVerificationEmailTemplate
  7791  // API call, and error handling.
  7792  //
  7793  // This method is useful when you want to inject custom logic or configuration
  7794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7795  //
  7796  //
  7797  //    // Example sending a request using the UpdateCustomVerificationEmailTemplateRequest method.
  7798  //    req, resp := client.UpdateCustomVerificationEmailTemplateRequest(params)
  7799  //
  7800  //    err := req.Send()
  7801  //    if err == nil { // resp is now filled
  7802  //        fmt.Println(resp)
  7803  //    }
  7804  //
  7805  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateCustomVerificationEmailTemplate
  7806  func (c *SESV2) UpdateCustomVerificationEmailTemplateRequest(input *UpdateCustomVerificationEmailTemplateInput) (req *request.Request, output *UpdateCustomVerificationEmailTemplateOutput) {
  7807  	op := &request.Operation{
  7808  		Name:       opUpdateCustomVerificationEmailTemplate,
  7809  		HTTPMethod: "PUT",
  7810  		HTTPPath:   "/v2/email/custom-verification-email-templates/{TemplateName}",
  7811  	}
  7812  
  7813  	if input == nil {
  7814  		input = &UpdateCustomVerificationEmailTemplateInput{}
  7815  	}
  7816  
  7817  	output = &UpdateCustomVerificationEmailTemplateOutput{}
  7818  	req = c.newRequest(op, input, output)
  7819  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7820  	return
  7821  }
  7822  
  7823  // UpdateCustomVerificationEmailTemplate API operation for Amazon Simple Email Service.
  7824  //
  7825  // Updates an existing custom verification email template.
  7826  //
  7827  // For more information about custom verification email templates, see Using
  7828  // Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html)
  7829  // in the Amazon SES Developer Guide.
  7830  //
  7831  // You can execute this operation no more than once per second.
  7832  //
  7833  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7834  // with awserr.Error's Code and Message methods to get detailed information about
  7835  // the error.
  7836  //
  7837  // See the AWS API reference guide for Amazon Simple Email Service's
  7838  // API operation UpdateCustomVerificationEmailTemplate for usage and error information.
  7839  //
  7840  // Returned Error Types:
  7841  //   * NotFoundException
  7842  //   The resource you attempted to access doesn't exist.
  7843  //
  7844  //   * BadRequestException
  7845  //   The input you provided is invalid.
  7846  //
  7847  //   * TooManyRequestsException
  7848  //   Too many requests have been made to the operation.
  7849  //
  7850  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateCustomVerificationEmailTemplate
  7851  func (c *SESV2) UpdateCustomVerificationEmailTemplate(input *UpdateCustomVerificationEmailTemplateInput) (*UpdateCustomVerificationEmailTemplateOutput, error) {
  7852  	req, out := c.UpdateCustomVerificationEmailTemplateRequest(input)
  7853  	return out, req.Send()
  7854  }
  7855  
  7856  // UpdateCustomVerificationEmailTemplateWithContext is the same as UpdateCustomVerificationEmailTemplate with the addition of
  7857  // the ability to pass a context and additional request options.
  7858  //
  7859  // See UpdateCustomVerificationEmailTemplate for details on how to use this API operation.
  7860  //
  7861  // The context must be non-nil and will be used for request cancellation. If
  7862  // the context is nil a panic will occur. In the future the SDK may create
  7863  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7864  // for more information on using Contexts.
  7865  func (c *SESV2) UpdateCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *UpdateCustomVerificationEmailTemplateInput, opts ...request.Option) (*UpdateCustomVerificationEmailTemplateOutput, error) {
  7866  	req, out := c.UpdateCustomVerificationEmailTemplateRequest(input)
  7867  	req.SetContext(ctx)
  7868  	req.ApplyOptions(opts...)
  7869  	return out, req.Send()
  7870  }
  7871  
  7872  const opUpdateEmailIdentityPolicy = "UpdateEmailIdentityPolicy"
  7873  
  7874  // UpdateEmailIdentityPolicyRequest generates a "aws/request.Request" representing the
  7875  // client's request for the UpdateEmailIdentityPolicy operation. The "output" return
  7876  // value will be populated with the request's response once the request completes
  7877  // successfully.
  7878  //
  7879  // Use "Send" method on the returned Request to send the API call to the service.
  7880  // the "output" return value is not valid until after Send returns without error.
  7881  //
  7882  // See UpdateEmailIdentityPolicy for more information on using the UpdateEmailIdentityPolicy
  7883  // API call, and error handling.
  7884  //
  7885  // This method is useful when you want to inject custom logic or configuration
  7886  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7887  //
  7888  //
  7889  //    // Example sending a request using the UpdateEmailIdentityPolicyRequest method.
  7890  //    req, resp := client.UpdateEmailIdentityPolicyRequest(params)
  7891  //
  7892  //    err := req.Send()
  7893  //    if err == nil { // resp is now filled
  7894  //        fmt.Println(resp)
  7895  //    }
  7896  //
  7897  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailIdentityPolicy
  7898  func (c *SESV2) UpdateEmailIdentityPolicyRequest(input *UpdateEmailIdentityPolicyInput) (req *request.Request, output *UpdateEmailIdentityPolicyOutput) {
  7899  	op := &request.Operation{
  7900  		Name:       opUpdateEmailIdentityPolicy,
  7901  		HTTPMethod: "PUT",
  7902  		HTTPPath:   "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}",
  7903  	}
  7904  
  7905  	if input == nil {
  7906  		input = &UpdateEmailIdentityPolicyInput{}
  7907  	}
  7908  
  7909  	output = &UpdateEmailIdentityPolicyOutput{}
  7910  	req = c.newRequest(op, input, output)
  7911  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7912  	return
  7913  }
  7914  
  7915  // UpdateEmailIdentityPolicy API operation for Amazon Simple Email Service.
  7916  //
  7917  // Updates the specified sending authorization policy for the given identity
  7918  // (an email address or a domain). This API returns successfully even if a policy
  7919  // with the specified name does not exist.
  7920  //
  7921  // This API is for the identity owner only. If you have not verified the identity,
  7922  // this API will return an error.
  7923  //
  7924  // Sending authorization is a feature that enables an identity owner to authorize
  7925  // other senders to use its identities. For information about using sending
  7926  // authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
  7927  //
  7928  // You can execute this operation no more than once per second.
  7929  //
  7930  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7931  // with awserr.Error's Code and Message methods to get detailed information about
  7932  // the error.
  7933  //
  7934  // See the AWS API reference guide for Amazon Simple Email Service's
  7935  // API operation UpdateEmailIdentityPolicy for usage and error information.
  7936  //
  7937  // Returned Error Types:
  7938  //   * NotFoundException
  7939  //   The resource you attempted to access doesn't exist.
  7940  //
  7941  //   * TooManyRequestsException
  7942  //   Too many requests have been made to the operation.
  7943  //
  7944  //   * BadRequestException
  7945  //   The input you provided is invalid.
  7946  //
  7947  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailIdentityPolicy
  7948  func (c *SESV2) UpdateEmailIdentityPolicy(input *UpdateEmailIdentityPolicyInput) (*UpdateEmailIdentityPolicyOutput, error) {
  7949  	req, out := c.UpdateEmailIdentityPolicyRequest(input)
  7950  	return out, req.Send()
  7951  }
  7952  
  7953  // UpdateEmailIdentityPolicyWithContext is the same as UpdateEmailIdentityPolicy with the addition of
  7954  // the ability to pass a context and additional request options.
  7955  //
  7956  // See UpdateEmailIdentityPolicy for details on how to use this API operation.
  7957  //
  7958  // The context must be non-nil and will be used for request cancellation. If
  7959  // the context is nil a panic will occur. In the future the SDK may create
  7960  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7961  // for more information on using Contexts.
  7962  func (c *SESV2) UpdateEmailIdentityPolicyWithContext(ctx aws.Context, input *UpdateEmailIdentityPolicyInput, opts ...request.Option) (*UpdateEmailIdentityPolicyOutput, error) {
  7963  	req, out := c.UpdateEmailIdentityPolicyRequest(input)
  7964  	req.SetContext(ctx)
  7965  	req.ApplyOptions(opts...)
  7966  	return out, req.Send()
  7967  }
  7968  
  7969  const opUpdateEmailTemplate = "UpdateEmailTemplate"
  7970  
  7971  // UpdateEmailTemplateRequest generates a "aws/request.Request" representing the
  7972  // client's request for the UpdateEmailTemplate operation. The "output" return
  7973  // value will be populated with the request's response once the request completes
  7974  // successfully.
  7975  //
  7976  // Use "Send" method on the returned Request to send the API call to the service.
  7977  // the "output" return value is not valid until after Send returns without error.
  7978  //
  7979  // See UpdateEmailTemplate for more information on using the UpdateEmailTemplate
  7980  // API call, and error handling.
  7981  //
  7982  // This method is useful when you want to inject custom logic or configuration
  7983  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7984  //
  7985  //
  7986  //    // Example sending a request using the UpdateEmailTemplateRequest method.
  7987  //    req, resp := client.UpdateEmailTemplateRequest(params)
  7988  //
  7989  //    err := req.Send()
  7990  //    if err == nil { // resp is now filled
  7991  //        fmt.Println(resp)
  7992  //    }
  7993  //
  7994  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailTemplate
  7995  func (c *SESV2) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) {
  7996  	op := &request.Operation{
  7997  		Name:       opUpdateEmailTemplate,
  7998  		HTTPMethod: "PUT",
  7999  		HTTPPath:   "/v2/email/templates/{TemplateName}",
  8000  	}
  8001  
  8002  	if input == nil {
  8003  		input = &UpdateEmailTemplateInput{}
  8004  	}
  8005  
  8006  	output = &UpdateEmailTemplateOutput{}
  8007  	req = c.newRequest(op, input, output)
  8008  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8009  	return
  8010  }
  8011  
  8012  // UpdateEmailTemplate API operation for Amazon Simple Email Service.
  8013  //
  8014  // Updates an email template. Email templates enable you to send personalized
  8015  // email to one or more destinations in a single API operation. For more information,
  8016  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
  8017  //
  8018  // You can execute this operation no more than once per second.
  8019  //
  8020  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8021  // with awserr.Error's Code and Message methods to get detailed information about
  8022  // the error.
  8023  //
  8024  // See the AWS API reference guide for Amazon Simple Email Service's
  8025  // API operation UpdateEmailTemplate for usage and error information.
  8026  //
  8027  // Returned Error Types:
  8028  //   * NotFoundException
  8029  //   The resource you attempted to access doesn't exist.
  8030  //
  8031  //   * TooManyRequestsException
  8032  //   Too many requests have been made to the operation.
  8033  //
  8034  //   * BadRequestException
  8035  //   The input you provided is invalid.
  8036  //
  8037  // See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailTemplate
  8038  func (c *SESV2) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) {
  8039  	req, out := c.UpdateEmailTemplateRequest(input)
  8040  	return out, req.Send()
  8041  }
  8042  
  8043  // UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of
  8044  // the ability to pass a context and additional request options.
  8045  //
  8046  // See UpdateEmailTemplate for details on how to use this API operation.
  8047  //
  8048  // The context must be non-nil and will be used for request cancellation. If
  8049  // the context is nil a panic will occur. In the future the SDK may create
  8050  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8051  // for more information on using Contexts.
  8052  func (c *SESV2) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) {
  8053  	req, out := c.UpdateEmailTemplateRequest(input)
  8054  	req.SetContext(ctx)
  8055  	req.ApplyOptions(opts...)
  8056  	return out, req.Send()
  8057  }
  8058  
  8059  // An object that contains information about your account details.
  8060  type AccountDetails struct {
  8061  	_ struct{} `type:"structure"`
  8062  
  8063  	// Additional email addresses where updates are sent about your account review
  8064  	// process.
  8065  	//
  8066  	// AdditionalContactEmailAddresses is a sensitive parameter and its value will be
  8067  	// replaced with "sensitive" in string returned by AccountDetails's
  8068  	// String and GoString methods.
  8069  	AdditionalContactEmailAddresses []*string `min:"1" type:"list" sensitive:"true"`
  8070  
  8071  	// The language you would prefer for the case. The contact language can be one
  8072  	// of ENGLISH or JAPANESE.
  8073  	ContactLanguage *string `type:"string" enum:"ContactLanguage"`
  8074  
  8075  	// The type of email your account is sending. The mail type can be one of the
  8076  	// following:
  8077  	//
  8078  	//    * MARKETING – Most of your sending traffic is to keep your customers
  8079  	//    informed of your latest offering.
  8080  	//
  8081  	//    * TRANSACTIONAL – Most of your sending traffic is to communicate during
  8082  	//    a transaction with a customer.
  8083  	MailType *string `type:"string" enum:"MailType"`
  8084  
  8085  	// Information about the review of the latest details you submitted.
  8086  	ReviewDetails *ReviewDetails `type:"structure"`
  8087  
  8088  	// A description of the types of email that you plan to send.
  8089  	//
  8090  	// UseCaseDescription is a sensitive parameter and its value will be
  8091  	// replaced with "sensitive" in string returned by AccountDetails's
  8092  	// String and GoString methods.
  8093  	UseCaseDescription *string `min:"1" type:"string" sensitive:"true"`
  8094  
  8095  	// The URL of your website. This information helps us better understand the
  8096  	// type of content that you plan to send.
  8097  	//
  8098  	// WebsiteURL is a sensitive parameter and its value will be
  8099  	// replaced with "sensitive" in string returned by AccountDetails's
  8100  	// String and GoString methods.
  8101  	WebsiteURL *string `min:"1" type:"string" sensitive:"true"`
  8102  }
  8103  
  8104  // String returns the string representation.
  8105  //
  8106  // API parameter values that are decorated as "sensitive" in the API will not
  8107  // be included in the string output. The member name will be present, but the
  8108  // value will be replaced with "sensitive".
  8109  func (s AccountDetails) String() string {
  8110  	return awsutil.Prettify(s)
  8111  }
  8112  
  8113  // GoString returns the string representation.
  8114  //
  8115  // API parameter values that are decorated as "sensitive" in the API will not
  8116  // be included in the string output. The member name will be present, but the
  8117  // value will be replaced with "sensitive".
  8118  func (s AccountDetails) GoString() string {
  8119  	return s.String()
  8120  }
  8121  
  8122  // SetAdditionalContactEmailAddresses sets the AdditionalContactEmailAddresses field's value.
  8123  func (s *AccountDetails) SetAdditionalContactEmailAddresses(v []*string) *AccountDetails {
  8124  	s.AdditionalContactEmailAddresses = v
  8125  	return s
  8126  }
  8127  
  8128  // SetContactLanguage sets the ContactLanguage field's value.
  8129  func (s *AccountDetails) SetContactLanguage(v string) *AccountDetails {
  8130  	s.ContactLanguage = &v
  8131  	return s
  8132  }
  8133  
  8134  // SetMailType sets the MailType field's value.
  8135  func (s *AccountDetails) SetMailType(v string) *AccountDetails {
  8136  	s.MailType = &v
  8137  	return s
  8138  }
  8139  
  8140  // SetReviewDetails sets the ReviewDetails field's value.
  8141  func (s *AccountDetails) SetReviewDetails(v *ReviewDetails) *AccountDetails {
  8142  	s.ReviewDetails = v
  8143  	return s
  8144  }
  8145  
  8146  // SetUseCaseDescription sets the UseCaseDescription field's value.
  8147  func (s *AccountDetails) SetUseCaseDescription(v string) *AccountDetails {
  8148  	s.UseCaseDescription = &v
  8149  	return s
  8150  }
  8151  
  8152  // SetWebsiteURL sets the WebsiteURL field's value.
  8153  func (s *AccountDetails) SetWebsiteURL(v string) *AccountDetails {
  8154  	s.WebsiteURL = &v
  8155  	return s
  8156  }
  8157  
  8158  // The message can't be sent because the account's ability to send email has
  8159  // been permanently restricted.
  8160  type AccountSuspendedException struct {
  8161  	_            struct{}                  `type:"structure"`
  8162  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8163  
  8164  	Message_ *string `locationName:"message" type:"string"`
  8165  }
  8166  
  8167  // String returns the string representation.
  8168  //
  8169  // API parameter values that are decorated as "sensitive" in the API will not
  8170  // be included in the string output. The member name will be present, but the
  8171  // value will be replaced with "sensitive".
  8172  func (s AccountSuspendedException) String() string {
  8173  	return awsutil.Prettify(s)
  8174  }
  8175  
  8176  // GoString returns the string representation.
  8177  //
  8178  // API parameter values that are decorated as "sensitive" in the API will not
  8179  // be included in the string output. The member name will be present, but the
  8180  // value will be replaced with "sensitive".
  8181  func (s AccountSuspendedException) GoString() string {
  8182  	return s.String()
  8183  }
  8184  
  8185  func newErrorAccountSuspendedException(v protocol.ResponseMetadata) error {
  8186  	return &AccountSuspendedException{
  8187  		RespMetadata: v,
  8188  	}
  8189  }
  8190  
  8191  // Code returns the exception type name.
  8192  func (s *AccountSuspendedException) Code() string {
  8193  	return "AccountSuspendedException"
  8194  }
  8195  
  8196  // Message returns the exception's message.
  8197  func (s *AccountSuspendedException) Message() string {
  8198  	if s.Message_ != nil {
  8199  		return *s.Message_
  8200  	}
  8201  	return ""
  8202  }
  8203  
  8204  // OrigErr always returns nil, satisfies awserr.Error interface.
  8205  func (s *AccountSuspendedException) OrigErr() error {
  8206  	return nil
  8207  }
  8208  
  8209  func (s *AccountSuspendedException) Error() string {
  8210  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8211  }
  8212  
  8213  // Status code returns the HTTP status code for the request's response error.
  8214  func (s *AccountSuspendedException) StatusCode() int {
  8215  	return s.RespMetadata.StatusCode
  8216  }
  8217  
  8218  // RequestID returns the service's response RequestID for request.
  8219  func (s *AccountSuspendedException) RequestID() string {
  8220  	return s.RespMetadata.RequestID
  8221  }
  8222  
  8223  // The resource specified in your request already exists.
  8224  type AlreadyExistsException struct {
  8225  	_            struct{}                  `type:"structure"`
  8226  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8227  
  8228  	Message_ *string `locationName:"message" type:"string"`
  8229  }
  8230  
  8231  // String returns the string representation.
  8232  //
  8233  // API parameter values that are decorated as "sensitive" in the API will not
  8234  // be included in the string output. The member name will be present, but the
  8235  // value will be replaced with "sensitive".
  8236  func (s AlreadyExistsException) String() string {
  8237  	return awsutil.Prettify(s)
  8238  }
  8239  
  8240  // GoString returns the string representation.
  8241  //
  8242  // API parameter values that are decorated as "sensitive" in the API will not
  8243  // be included in the string output. The member name will be present, but the
  8244  // value will be replaced with "sensitive".
  8245  func (s AlreadyExistsException) GoString() string {
  8246  	return s.String()
  8247  }
  8248  
  8249  func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error {
  8250  	return &AlreadyExistsException{
  8251  		RespMetadata: v,
  8252  	}
  8253  }
  8254  
  8255  // Code returns the exception type name.
  8256  func (s *AlreadyExistsException) Code() string {
  8257  	return "AlreadyExistsException"
  8258  }
  8259  
  8260  // Message returns the exception's message.
  8261  func (s *AlreadyExistsException) Message() string {
  8262  	if s.Message_ != nil {
  8263  		return *s.Message_
  8264  	}
  8265  	return ""
  8266  }
  8267  
  8268  // OrigErr always returns nil, satisfies awserr.Error interface.
  8269  func (s *AlreadyExistsException) OrigErr() error {
  8270  	return nil
  8271  }
  8272  
  8273  func (s *AlreadyExistsException) Error() string {
  8274  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8275  }
  8276  
  8277  // Status code returns the HTTP status code for the request's response error.
  8278  func (s *AlreadyExistsException) StatusCode() int {
  8279  	return s.RespMetadata.StatusCode
  8280  }
  8281  
  8282  // RequestID returns the service's response RequestID for request.
  8283  func (s *AlreadyExistsException) RequestID() string {
  8284  	return s.RespMetadata.RequestID
  8285  }
  8286  
  8287  // The input you provided is invalid.
  8288  type BadRequestException struct {
  8289  	_            struct{}                  `type:"structure"`
  8290  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8291  
  8292  	Message_ *string `locationName:"message" type:"string"`
  8293  }
  8294  
  8295  // String returns the string representation.
  8296  //
  8297  // API parameter values that are decorated as "sensitive" in the API will not
  8298  // be included in the string output. The member name will be present, but the
  8299  // value will be replaced with "sensitive".
  8300  func (s BadRequestException) String() string {
  8301  	return awsutil.Prettify(s)
  8302  }
  8303  
  8304  // GoString returns the string representation.
  8305  //
  8306  // API parameter values that are decorated as "sensitive" in the API will not
  8307  // be included in the string output. The member name will be present, but the
  8308  // value will be replaced with "sensitive".
  8309  func (s BadRequestException) GoString() string {
  8310  	return s.String()
  8311  }
  8312  
  8313  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  8314  	return &BadRequestException{
  8315  		RespMetadata: v,
  8316  	}
  8317  }
  8318  
  8319  // Code returns the exception type name.
  8320  func (s *BadRequestException) Code() string {
  8321  	return "BadRequestException"
  8322  }
  8323  
  8324  // Message returns the exception's message.
  8325  func (s *BadRequestException) Message() string {
  8326  	if s.Message_ != nil {
  8327  		return *s.Message_
  8328  	}
  8329  	return ""
  8330  }
  8331  
  8332  // OrigErr always returns nil, satisfies awserr.Error interface.
  8333  func (s *BadRequestException) OrigErr() error {
  8334  	return nil
  8335  }
  8336  
  8337  func (s *BadRequestException) Error() string {
  8338  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8339  }
  8340  
  8341  // Status code returns the HTTP status code for the request's response error.
  8342  func (s *BadRequestException) StatusCode() int {
  8343  	return s.RespMetadata.StatusCode
  8344  }
  8345  
  8346  // RequestID returns the service's response RequestID for request.
  8347  func (s *BadRequestException) RequestID() string {
  8348  	return s.RespMetadata.RequestID
  8349  }
  8350  
  8351  // An object that contains information about a blacklisting event that impacts
  8352  // one of the dedicated IP addresses that is associated with your account.
  8353  type BlacklistEntry struct {
  8354  	_ struct{} `type:"structure"`
  8355  
  8356  	// Additional information about the blacklisting event, as provided by the blacklist
  8357  	// maintainer.
  8358  	Description *string `type:"string"`
  8359  
  8360  	// The time when the blacklisting event occurred, shown in Unix time format.
  8361  	ListingTime *time.Time `type:"timestamp"`
  8362  
  8363  	// The name of the blacklist that the IP address appears on.
  8364  	RblName *string `type:"string"`
  8365  }
  8366  
  8367  // String returns the string representation.
  8368  //
  8369  // API parameter values that are decorated as "sensitive" in the API will not
  8370  // be included in the string output. The member name will be present, but the
  8371  // value will be replaced with "sensitive".
  8372  func (s BlacklistEntry) String() string {
  8373  	return awsutil.Prettify(s)
  8374  }
  8375  
  8376  // GoString returns the string representation.
  8377  //
  8378  // API parameter values that are decorated as "sensitive" in the API will not
  8379  // be included in the string output. The member name will be present, but the
  8380  // value will be replaced with "sensitive".
  8381  func (s BlacklistEntry) GoString() string {
  8382  	return s.String()
  8383  }
  8384  
  8385  // SetDescription sets the Description field's value.
  8386  func (s *BlacklistEntry) SetDescription(v string) *BlacklistEntry {
  8387  	s.Description = &v
  8388  	return s
  8389  }
  8390  
  8391  // SetListingTime sets the ListingTime field's value.
  8392  func (s *BlacklistEntry) SetListingTime(v time.Time) *BlacklistEntry {
  8393  	s.ListingTime = &v
  8394  	return s
  8395  }
  8396  
  8397  // SetRblName sets the RblName field's value.
  8398  func (s *BlacklistEntry) SetRblName(v string) *BlacklistEntry {
  8399  	s.RblName = &v
  8400  	return s
  8401  }
  8402  
  8403  // Represents the body of the email message.
  8404  type Body struct {
  8405  	_ struct{} `type:"structure"`
  8406  
  8407  	// An object that represents the version of the message that is displayed in
  8408  	// email clients that support HTML. HTML messages can include formatted text,
  8409  	// hyperlinks, images, and more.
  8410  	Html *Content `type:"structure"`
  8411  
  8412  	// An object that represents the version of the message that is displayed in
  8413  	// email clients that don't support HTML, or clients where the recipient has
  8414  	// disabled HTML rendering.
  8415  	Text *Content `type:"structure"`
  8416  }
  8417  
  8418  // String returns the string representation.
  8419  //
  8420  // API parameter values that are decorated as "sensitive" in the API will not
  8421  // be included in the string output. The member name will be present, but the
  8422  // value will be replaced with "sensitive".
  8423  func (s Body) String() string {
  8424  	return awsutil.Prettify(s)
  8425  }
  8426  
  8427  // GoString returns the string representation.
  8428  //
  8429  // API parameter values that are decorated as "sensitive" in the API will not
  8430  // be included in the string output. The member name will be present, but the
  8431  // value will be replaced with "sensitive".
  8432  func (s Body) GoString() string {
  8433  	return s.String()
  8434  }
  8435  
  8436  // Validate inspects the fields of the type to determine if they are valid.
  8437  func (s *Body) Validate() error {
  8438  	invalidParams := request.ErrInvalidParams{Context: "Body"}
  8439  	if s.Html != nil {
  8440  		if err := s.Html.Validate(); err != nil {
  8441  			invalidParams.AddNested("Html", err.(request.ErrInvalidParams))
  8442  		}
  8443  	}
  8444  	if s.Text != nil {
  8445  		if err := s.Text.Validate(); err != nil {
  8446  			invalidParams.AddNested("Text", err.(request.ErrInvalidParams))
  8447  		}
  8448  	}
  8449  
  8450  	if invalidParams.Len() > 0 {
  8451  		return invalidParams
  8452  	}
  8453  	return nil
  8454  }
  8455  
  8456  // SetHtml sets the Html field's value.
  8457  func (s *Body) SetHtml(v *Content) *Body {
  8458  	s.Html = v
  8459  	return s
  8460  }
  8461  
  8462  // SetText sets the Text field's value.
  8463  func (s *Body) SetText(v *Content) *Body {
  8464  	s.Text = v
  8465  	return s
  8466  }
  8467  
  8468  // An object that contains the body of the message. You can specify a template
  8469  // message.
  8470  type BulkEmailContent struct {
  8471  	_ struct{} `type:"structure"`
  8472  
  8473  	// The template to use for the bulk email message.
  8474  	Template *Template `type:"structure"`
  8475  }
  8476  
  8477  // String returns the string representation.
  8478  //
  8479  // API parameter values that are decorated as "sensitive" in the API will not
  8480  // be included in the string output. The member name will be present, but the
  8481  // value will be replaced with "sensitive".
  8482  func (s BulkEmailContent) String() string {
  8483  	return awsutil.Prettify(s)
  8484  }
  8485  
  8486  // GoString returns the string representation.
  8487  //
  8488  // API parameter values that are decorated as "sensitive" in the API will not
  8489  // be included in the string output. The member name will be present, but the
  8490  // value will be replaced with "sensitive".
  8491  func (s BulkEmailContent) GoString() string {
  8492  	return s.String()
  8493  }
  8494  
  8495  // Validate inspects the fields of the type to determine if they are valid.
  8496  func (s *BulkEmailContent) Validate() error {
  8497  	invalidParams := request.ErrInvalidParams{Context: "BulkEmailContent"}
  8498  	if s.Template != nil {
  8499  		if err := s.Template.Validate(); err != nil {
  8500  			invalidParams.AddNested("Template", err.(request.ErrInvalidParams))
  8501  		}
  8502  	}
  8503  
  8504  	if invalidParams.Len() > 0 {
  8505  		return invalidParams
  8506  	}
  8507  	return nil
  8508  }
  8509  
  8510  // SetTemplate sets the Template field's value.
  8511  func (s *BulkEmailContent) SetTemplate(v *Template) *BulkEmailContent {
  8512  	s.Template = v
  8513  	return s
  8514  }
  8515  
  8516  type BulkEmailEntry struct {
  8517  	_ struct{} `type:"structure"`
  8518  
  8519  	// Represents the destination of the message, consisting of To:, CC:, and BCC:
  8520  	// fields.
  8521  	//
  8522  	// Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
  8523  	// (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
  8524  	// a destination email address (the part of the email address that precedes
  8525  	// the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
  8526  	// If the domain part of an address (the part after the @ sign) contains non-ASCII
  8527  	// characters, they must be encoded using Punycode, as described in RFC3492
  8528  	// (https://tools.ietf.org/html/rfc3492.html).
  8529  	//
  8530  	// Destination is a required field
  8531  	Destination *Destination `type:"structure" required:"true"`
  8532  
  8533  	// The ReplacementEmailContent associated with a BulkEmailEntry.
  8534  	ReplacementEmailContent *ReplacementEmailContent `type:"structure"`
  8535  
  8536  	// A list of tags, in the form of name/value pairs, to apply to an email that
  8537  	// you send using the SendBulkTemplatedEmail operation. Tags correspond to characteristics
  8538  	// of the email that you define, so that you can publish email sending events.
  8539  	ReplacementTags []*MessageTag `type:"list"`
  8540  }
  8541  
  8542  // String returns the string representation.
  8543  //
  8544  // API parameter values that are decorated as "sensitive" in the API will not
  8545  // be included in the string output. The member name will be present, but the
  8546  // value will be replaced with "sensitive".
  8547  func (s BulkEmailEntry) String() string {
  8548  	return awsutil.Prettify(s)
  8549  }
  8550  
  8551  // GoString returns the string representation.
  8552  //
  8553  // API parameter values that are decorated as "sensitive" in the API will not
  8554  // be included in the string output. The member name will be present, but the
  8555  // value will be replaced with "sensitive".
  8556  func (s BulkEmailEntry) GoString() string {
  8557  	return s.String()
  8558  }
  8559  
  8560  // Validate inspects the fields of the type to determine if they are valid.
  8561  func (s *BulkEmailEntry) Validate() error {
  8562  	invalidParams := request.ErrInvalidParams{Context: "BulkEmailEntry"}
  8563  	if s.Destination == nil {
  8564  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  8565  	}
  8566  	if s.ReplacementTags != nil {
  8567  		for i, v := range s.ReplacementTags {
  8568  			if v == nil {
  8569  				continue
  8570  			}
  8571  			if err := v.Validate(); err != nil {
  8572  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplacementTags", i), err.(request.ErrInvalidParams))
  8573  			}
  8574  		}
  8575  	}
  8576  
  8577  	if invalidParams.Len() > 0 {
  8578  		return invalidParams
  8579  	}
  8580  	return nil
  8581  }
  8582  
  8583  // SetDestination sets the Destination field's value.
  8584  func (s *BulkEmailEntry) SetDestination(v *Destination) *BulkEmailEntry {
  8585  	s.Destination = v
  8586  	return s
  8587  }
  8588  
  8589  // SetReplacementEmailContent sets the ReplacementEmailContent field's value.
  8590  func (s *BulkEmailEntry) SetReplacementEmailContent(v *ReplacementEmailContent) *BulkEmailEntry {
  8591  	s.ReplacementEmailContent = v
  8592  	return s
  8593  }
  8594  
  8595  // SetReplacementTags sets the ReplacementTags field's value.
  8596  func (s *BulkEmailEntry) SetReplacementTags(v []*MessageTag) *BulkEmailEntry {
  8597  	s.ReplacementTags = v
  8598  	return s
  8599  }
  8600  
  8601  // The result of the SendBulkEmail operation of each specified BulkEmailEntry.
  8602  type BulkEmailEntryResult struct {
  8603  	_ struct{} `type:"structure"`
  8604  
  8605  	// A description of an error that prevented a message being sent using the SendBulkTemplatedEmail
  8606  	// operation.
  8607  	Error *string `type:"string"`
  8608  
  8609  	// The unique message identifier returned from the SendBulkTemplatedEmail operation.
  8610  	MessageId *string `type:"string"`
  8611  
  8612  	// The status of a message sent using the SendBulkTemplatedEmail operation.
  8613  	//
  8614  	// Possible values for this parameter include:
  8615  	//
  8616  	//    * SUCCESS: Amazon SES accepted the message, and will attempt to deliver
  8617  	//    it to the recipients.
  8618  	//
  8619  	//    * MESSAGE_REJECTED: The message was rejected because it contained a virus.
  8620  	//
  8621  	//    * MAIL_FROM_DOMAIN_NOT_VERIFIED: The sender's email address or domain
  8622  	//    was not verified.
  8623  	//
  8624  	//    * CONFIGURATION_SET_DOES_NOT_EXIST: The configuration set you specified
  8625  	//    does not exist.
  8626  	//
  8627  	//    * TEMPLATE_DOES_NOT_EXIST: The template you specified does not exist.
  8628  	//
  8629  	//    * ACCOUNT_SUSPENDED: Your account has been shut down because of issues
  8630  	//    related to your email sending practices.
  8631  	//
  8632  	//    * ACCOUNT_THROTTLED: The number of emails you can send has been reduced
  8633  	//    because your account has exceeded its allocated sending limit.
  8634  	//
  8635  	//    * ACCOUNT_DAILY_QUOTA_EXCEEDED: You have reached or exceeded the maximum
  8636  	//    number of emails you can send from your account in a 24-hour period.
  8637  	//
  8638  	//    * INVALID_SENDING_POOL_NAME: The configuration set you specified refers
  8639  	//    to an IP pool that does not exist.
  8640  	//
  8641  	//    * ACCOUNT_SENDING_PAUSED: Email sending for the Amazon SES account was
  8642  	//    disabled using the UpdateAccountSendingEnabled (https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateAccountSendingEnabled.html)
  8643  	//    operation.
  8644  	//
  8645  	//    * CONFIGURATION_SET_SENDING_PAUSED: Email sending for this configuration
  8646  	//    set was disabled using the UpdateConfigurationSetSendingEnabled (https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateConfigurationSetSendingEnabled.html)
  8647  	//    operation.
  8648  	//
  8649  	//    * INVALID_PARAMETER_VALUE: One or more of the parameters you specified
  8650  	//    when calling this operation was invalid. See the error message for additional
  8651  	//    information.
  8652  	//
  8653  	//    * TRANSIENT_FAILURE: Amazon SES was unable to process your request because
  8654  	//    of a temporary issue.
  8655  	//
  8656  	//    * FAILED: Amazon SES was unable to process your request. See the error
  8657  	//    message for additional information.
  8658  	Status *string `type:"string" enum:"BulkEmailStatus"`
  8659  }
  8660  
  8661  // String returns the string representation.
  8662  //
  8663  // API parameter values that are decorated as "sensitive" in the API will not
  8664  // be included in the string output. The member name will be present, but the
  8665  // value will be replaced with "sensitive".
  8666  func (s BulkEmailEntryResult) String() string {
  8667  	return awsutil.Prettify(s)
  8668  }
  8669  
  8670  // GoString returns the string representation.
  8671  //
  8672  // API parameter values that are decorated as "sensitive" in the API will not
  8673  // be included in the string output. The member name will be present, but the
  8674  // value will be replaced with "sensitive".
  8675  func (s BulkEmailEntryResult) GoString() string {
  8676  	return s.String()
  8677  }
  8678  
  8679  // SetError sets the Error field's value.
  8680  func (s *BulkEmailEntryResult) SetError(v string) *BulkEmailEntryResult {
  8681  	s.Error = &v
  8682  	return s
  8683  }
  8684  
  8685  // SetMessageId sets the MessageId field's value.
  8686  func (s *BulkEmailEntryResult) SetMessageId(v string) *BulkEmailEntryResult {
  8687  	s.MessageId = &v
  8688  	return s
  8689  }
  8690  
  8691  // SetStatus sets the Status field's value.
  8692  func (s *BulkEmailEntryResult) SetStatus(v string) *BulkEmailEntryResult {
  8693  	s.Status = &v
  8694  	return s
  8695  }
  8696  
  8697  // An object that defines an Amazon CloudWatch destination for email events.
  8698  // You can use Amazon CloudWatch to monitor and gain insights on your email
  8699  // sending metrics.
  8700  type CloudWatchDestination struct {
  8701  	_ struct{} `type:"structure"`
  8702  
  8703  	// An array of objects that define the dimensions to use when you send email
  8704  	// events to Amazon CloudWatch.
  8705  	//
  8706  	// DimensionConfigurations is a required field
  8707  	DimensionConfigurations []*CloudWatchDimensionConfiguration `type:"list" required:"true"`
  8708  }
  8709  
  8710  // String returns the string representation.
  8711  //
  8712  // API parameter values that are decorated as "sensitive" in the API will not
  8713  // be included in the string output. The member name will be present, but the
  8714  // value will be replaced with "sensitive".
  8715  func (s CloudWatchDestination) String() string {
  8716  	return awsutil.Prettify(s)
  8717  }
  8718  
  8719  // GoString returns the string representation.
  8720  //
  8721  // API parameter values that are decorated as "sensitive" in the API will not
  8722  // be included in the string output. The member name will be present, but the
  8723  // value will be replaced with "sensitive".
  8724  func (s CloudWatchDestination) GoString() string {
  8725  	return s.String()
  8726  }
  8727  
  8728  // Validate inspects the fields of the type to determine if they are valid.
  8729  func (s *CloudWatchDestination) Validate() error {
  8730  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchDestination"}
  8731  	if s.DimensionConfigurations == nil {
  8732  		invalidParams.Add(request.NewErrParamRequired("DimensionConfigurations"))
  8733  	}
  8734  	if s.DimensionConfigurations != nil {
  8735  		for i, v := range s.DimensionConfigurations {
  8736  			if v == nil {
  8737  				continue
  8738  			}
  8739  			if err := v.Validate(); err != nil {
  8740  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DimensionConfigurations", i), err.(request.ErrInvalidParams))
  8741  			}
  8742  		}
  8743  	}
  8744  
  8745  	if invalidParams.Len() > 0 {
  8746  		return invalidParams
  8747  	}
  8748  	return nil
  8749  }
  8750  
  8751  // SetDimensionConfigurations sets the DimensionConfigurations field's value.
  8752  func (s *CloudWatchDestination) SetDimensionConfigurations(v []*CloudWatchDimensionConfiguration) *CloudWatchDestination {
  8753  	s.DimensionConfigurations = v
  8754  	return s
  8755  }
  8756  
  8757  // An object that defines the dimension configuration to use when you send email
  8758  // events to Amazon CloudWatch.
  8759  type CloudWatchDimensionConfiguration struct {
  8760  	_ struct{} `type:"structure"`
  8761  
  8762  	// The default value of the dimension that is published to Amazon CloudWatch
  8763  	// if you don't provide the value of the dimension when you send an email. This
  8764  	// value has to meet the following criteria:
  8765  	//
  8766  	//    * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores
  8767  	//    (_), or dashes (-).
  8768  	//
  8769  	//    * It can contain no more than 256 characters.
  8770  	//
  8771  	// DefaultDimensionValue is a required field
  8772  	DefaultDimensionValue *string `type:"string" required:"true"`
  8773  
  8774  	// The name of an Amazon CloudWatch dimension associated with an email sending
  8775  	// metric. The name has to meet the following criteria:
  8776  	//
  8777  	//    * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores
  8778  	//    (_), or dashes (-).
  8779  	//
  8780  	//    * It can contain no more than 256 characters.
  8781  	//
  8782  	// DimensionName is a required field
  8783  	DimensionName *string `type:"string" required:"true"`
  8784  
  8785  	// The location where the Amazon SES API v2 finds the value of a dimension to
  8786  	// publish to Amazon CloudWatch. To use the message tags that you specify using
  8787  	// an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail or SendRawEmail
  8788  	// API, choose messageTag. To use your own email headers, choose emailHeader.
  8789  	// To use link tags, choose linkTags.
  8790  	//
  8791  	// DimensionValueSource is a required field
  8792  	DimensionValueSource *string `type:"string" required:"true" enum:"DimensionValueSource"`
  8793  }
  8794  
  8795  // String returns the string representation.
  8796  //
  8797  // API parameter values that are decorated as "sensitive" in the API will not
  8798  // be included in the string output. The member name will be present, but the
  8799  // value will be replaced with "sensitive".
  8800  func (s CloudWatchDimensionConfiguration) String() string {
  8801  	return awsutil.Prettify(s)
  8802  }
  8803  
  8804  // GoString 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 CloudWatchDimensionConfiguration) GoString() string {
  8810  	return s.String()
  8811  }
  8812  
  8813  // Validate inspects the fields of the type to determine if they are valid.
  8814  func (s *CloudWatchDimensionConfiguration) Validate() error {
  8815  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchDimensionConfiguration"}
  8816  	if s.DefaultDimensionValue == nil {
  8817  		invalidParams.Add(request.NewErrParamRequired("DefaultDimensionValue"))
  8818  	}
  8819  	if s.DimensionName == nil {
  8820  		invalidParams.Add(request.NewErrParamRequired("DimensionName"))
  8821  	}
  8822  	if s.DimensionValueSource == nil {
  8823  		invalidParams.Add(request.NewErrParamRequired("DimensionValueSource"))
  8824  	}
  8825  
  8826  	if invalidParams.Len() > 0 {
  8827  		return invalidParams
  8828  	}
  8829  	return nil
  8830  }
  8831  
  8832  // SetDefaultDimensionValue sets the DefaultDimensionValue field's value.
  8833  func (s *CloudWatchDimensionConfiguration) SetDefaultDimensionValue(v string) *CloudWatchDimensionConfiguration {
  8834  	s.DefaultDimensionValue = &v
  8835  	return s
  8836  }
  8837  
  8838  // SetDimensionName sets the DimensionName field's value.
  8839  func (s *CloudWatchDimensionConfiguration) SetDimensionName(v string) *CloudWatchDimensionConfiguration {
  8840  	s.DimensionName = &v
  8841  	return s
  8842  }
  8843  
  8844  // SetDimensionValueSource sets the DimensionValueSource field's value.
  8845  func (s *CloudWatchDimensionConfiguration) SetDimensionValueSource(v string) *CloudWatchDimensionConfiguration {
  8846  	s.DimensionValueSource = &v
  8847  	return s
  8848  }
  8849  
  8850  // The resource is being modified by another operation or thread.
  8851  type ConcurrentModificationException struct {
  8852  	_            struct{}                  `type:"structure"`
  8853  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8854  
  8855  	Message_ *string `locationName:"message" type:"string"`
  8856  }
  8857  
  8858  // String returns the string representation.
  8859  //
  8860  // API parameter values that are decorated as "sensitive" in the API will not
  8861  // be included in the string output. The member name will be present, but the
  8862  // value will be replaced with "sensitive".
  8863  func (s ConcurrentModificationException) String() string {
  8864  	return awsutil.Prettify(s)
  8865  }
  8866  
  8867  // GoString returns the string representation.
  8868  //
  8869  // API parameter values that are decorated as "sensitive" in the API will not
  8870  // be included in the string output. The member name will be present, but the
  8871  // value will be replaced with "sensitive".
  8872  func (s ConcurrentModificationException) GoString() string {
  8873  	return s.String()
  8874  }
  8875  
  8876  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
  8877  	return &ConcurrentModificationException{
  8878  		RespMetadata: v,
  8879  	}
  8880  }
  8881  
  8882  // Code returns the exception type name.
  8883  func (s *ConcurrentModificationException) Code() string {
  8884  	return "ConcurrentModificationException"
  8885  }
  8886  
  8887  // Message returns the exception's message.
  8888  func (s *ConcurrentModificationException) Message() string {
  8889  	if s.Message_ != nil {
  8890  		return *s.Message_
  8891  	}
  8892  	return ""
  8893  }
  8894  
  8895  // OrigErr always returns nil, satisfies awserr.Error interface.
  8896  func (s *ConcurrentModificationException) OrigErr() error {
  8897  	return nil
  8898  }
  8899  
  8900  func (s *ConcurrentModificationException) Error() string {
  8901  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8902  }
  8903  
  8904  // Status code returns the HTTP status code for the request's response error.
  8905  func (s *ConcurrentModificationException) StatusCode() int {
  8906  	return s.RespMetadata.StatusCode
  8907  }
  8908  
  8909  // RequestID returns the service's response RequestID for request.
  8910  func (s *ConcurrentModificationException) RequestID() string {
  8911  	return s.RespMetadata.RequestID
  8912  }
  8913  
  8914  // If there is already an ongoing account details update under review.
  8915  type ConflictException struct {
  8916  	_            struct{}                  `type:"structure"`
  8917  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8918  
  8919  	Message_ *string `locationName:"message" type:"string"`
  8920  }
  8921  
  8922  // String returns the string representation.
  8923  //
  8924  // API parameter values that are decorated as "sensitive" in the API will not
  8925  // be included in the string output. The member name will be present, but the
  8926  // value will be replaced with "sensitive".
  8927  func (s ConflictException) String() string {
  8928  	return awsutil.Prettify(s)
  8929  }
  8930  
  8931  // GoString returns the string representation.
  8932  //
  8933  // API parameter values that are decorated as "sensitive" in the API will not
  8934  // be included in the string output. The member name will be present, but the
  8935  // value will be replaced with "sensitive".
  8936  func (s ConflictException) GoString() string {
  8937  	return s.String()
  8938  }
  8939  
  8940  func newErrorConflictException(v protocol.ResponseMetadata) error {
  8941  	return &ConflictException{
  8942  		RespMetadata: v,
  8943  	}
  8944  }
  8945  
  8946  // Code returns the exception type name.
  8947  func (s *ConflictException) Code() string {
  8948  	return "ConflictException"
  8949  }
  8950  
  8951  // Message returns the exception's message.
  8952  func (s *ConflictException) Message() string {
  8953  	if s.Message_ != nil {
  8954  		return *s.Message_
  8955  	}
  8956  	return ""
  8957  }
  8958  
  8959  // OrigErr always returns nil, satisfies awserr.Error interface.
  8960  func (s *ConflictException) OrigErr() error {
  8961  	return nil
  8962  }
  8963  
  8964  func (s *ConflictException) Error() string {
  8965  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8966  }
  8967  
  8968  // Status code returns the HTTP status code for the request's response error.
  8969  func (s *ConflictException) StatusCode() int {
  8970  	return s.RespMetadata.StatusCode
  8971  }
  8972  
  8973  // RequestID returns the service's response RequestID for request.
  8974  func (s *ConflictException) RequestID() string {
  8975  	return s.RespMetadata.RequestID
  8976  }
  8977  
  8978  // A contact is the end-user who is receiving the email.
  8979  type Contact struct {
  8980  	_ struct{} `type:"structure"`
  8981  
  8982  	// The contact's email address.
  8983  	EmailAddress *string `type:"string"`
  8984  
  8985  	// A timestamp noting the last time the contact's information was updated.
  8986  	LastUpdatedTimestamp *time.Time `type:"timestamp"`
  8987  
  8988  	// The default topic preferences applied to the contact.
  8989  	TopicDefaultPreferences []*TopicPreference `type:"list"`
  8990  
  8991  	// The contact's preference for being opted-in to or opted-out of a topic.
  8992  	TopicPreferences []*TopicPreference `type:"list"`
  8993  
  8994  	// A boolean value status noting if the contact is unsubscribed from all contact
  8995  	// list topics.
  8996  	UnsubscribeAll *bool `type:"boolean"`
  8997  }
  8998  
  8999  // String returns the string representation.
  9000  //
  9001  // API parameter values that are decorated as "sensitive" in the API will not
  9002  // be included in the string output. The member name will be present, but the
  9003  // value will be replaced with "sensitive".
  9004  func (s Contact) String() string {
  9005  	return awsutil.Prettify(s)
  9006  }
  9007  
  9008  // GoString returns the string representation.
  9009  //
  9010  // API parameter values that are decorated as "sensitive" in the API will not
  9011  // be included in the string output. The member name will be present, but the
  9012  // value will be replaced with "sensitive".
  9013  func (s Contact) GoString() string {
  9014  	return s.String()
  9015  }
  9016  
  9017  // SetEmailAddress sets the EmailAddress field's value.
  9018  func (s *Contact) SetEmailAddress(v string) *Contact {
  9019  	s.EmailAddress = &v
  9020  	return s
  9021  }
  9022  
  9023  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9024  func (s *Contact) SetLastUpdatedTimestamp(v time.Time) *Contact {
  9025  	s.LastUpdatedTimestamp = &v
  9026  	return s
  9027  }
  9028  
  9029  // SetTopicDefaultPreferences sets the TopicDefaultPreferences field's value.
  9030  func (s *Contact) SetTopicDefaultPreferences(v []*TopicPreference) *Contact {
  9031  	s.TopicDefaultPreferences = v
  9032  	return s
  9033  }
  9034  
  9035  // SetTopicPreferences sets the TopicPreferences field's value.
  9036  func (s *Contact) SetTopicPreferences(v []*TopicPreference) *Contact {
  9037  	s.TopicPreferences = v
  9038  	return s
  9039  }
  9040  
  9041  // SetUnsubscribeAll sets the UnsubscribeAll field's value.
  9042  func (s *Contact) SetUnsubscribeAll(v bool) *Contact {
  9043  	s.UnsubscribeAll = &v
  9044  	return s
  9045  }
  9046  
  9047  // A list that contains contacts that have subscribed to a particular topic
  9048  // or topics.
  9049  type ContactList struct {
  9050  	_ struct{} `type:"structure"`
  9051  
  9052  	// The name of the contact list.
  9053  	ContactListName *string `type:"string"`
  9054  
  9055  	// A timestamp noting the last time the contact list was updated.
  9056  	LastUpdatedTimestamp *time.Time `type:"timestamp"`
  9057  }
  9058  
  9059  // String returns the string representation.
  9060  //
  9061  // API parameter values that are decorated as "sensitive" in the API will not
  9062  // be included in the string output. The member name will be present, but the
  9063  // value will be replaced with "sensitive".
  9064  func (s ContactList) String() string {
  9065  	return awsutil.Prettify(s)
  9066  }
  9067  
  9068  // GoString returns the string representation.
  9069  //
  9070  // API parameter values that are decorated as "sensitive" in the API will not
  9071  // be included in the string output. The member name will be present, but the
  9072  // value will be replaced with "sensitive".
  9073  func (s ContactList) GoString() string {
  9074  	return s.String()
  9075  }
  9076  
  9077  // SetContactListName sets the ContactListName field's value.
  9078  func (s *ContactList) SetContactListName(v string) *ContactList {
  9079  	s.ContactListName = &v
  9080  	return s
  9081  }
  9082  
  9083  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9084  func (s *ContactList) SetLastUpdatedTimestamp(v time.Time) *ContactList {
  9085  	s.LastUpdatedTimestamp = &v
  9086  	return s
  9087  }
  9088  
  9089  // An object that contains details about the action of a contact list.
  9090  type ContactListDestination struct {
  9091  	_ struct{} `type:"structure"`
  9092  
  9093  	// >The type of action to perform on the addresses. The following are the possible
  9094  	// values:
  9095  	//
  9096  	//    * PUT: add the addresses to the contact list. If the record already exists,
  9097  	//    it will override it with the new value.
  9098  	//
  9099  	//    * DELETE: remove the addresses from the contact list.
  9100  	//
  9101  	// ContactListImportAction is a required field
  9102  	ContactListImportAction *string `type:"string" required:"true" enum:"ContactListImportAction"`
  9103  
  9104  	// The name of the contact list.
  9105  	//
  9106  	// ContactListName is a required field
  9107  	ContactListName *string `type:"string" required:"true"`
  9108  }
  9109  
  9110  // String returns the string representation.
  9111  //
  9112  // API parameter values that are decorated as "sensitive" in the API will not
  9113  // be included in the string output. The member name will be present, but the
  9114  // value will be replaced with "sensitive".
  9115  func (s ContactListDestination) String() string {
  9116  	return awsutil.Prettify(s)
  9117  }
  9118  
  9119  // GoString returns the string representation.
  9120  //
  9121  // API parameter values that are decorated as "sensitive" in the API will not
  9122  // be included in the string output. The member name will be present, but the
  9123  // value will be replaced with "sensitive".
  9124  func (s ContactListDestination) GoString() string {
  9125  	return s.String()
  9126  }
  9127  
  9128  // Validate inspects the fields of the type to determine if they are valid.
  9129  func (s *ContactListDestination) Validate() error {
  9130  	invalidParams := request.ErrInvalidParams{Context: "ContactListDestination"}
  9131  	if s.ContactListImportAction == nil {
  9132  		invalidParams.Add(request.NewErrParamRequired("ContactListImportAction"))
  9133  	}
  9134  	if s.ContactListName == nil {
  9135  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
  9136  	}
  9137  
  9138  	if invalidParams.Len() > 0 {
  9139  		return invalidParams
  9140  	}
  9141  	return nil
  9142  }
  9143  
  9144  // SetContactListImportAction sets the ContactListImportAction field's value.
  9145  func (s *ContactListDestination) SetContactListImportAction(v string) *ContactListDestination {
  9146  	s.ContactListImportAction = &v
  9147  	return s
  9148  }
  9149  
  9150  // SetContactListName sets the ContactListName field's value.
  9151  func (s *ContactListDestination) SetContactListName(v string) *ContactListDestination {
  9152  	s.ContactListName = &v
  9153  	return s
  9154  }
  9155  
  9156  // An object that represents the content of the email, and optionally a character
  9157  // set specification.
  9158  type Content struct {
  9159  	_ struct{} `type:"structure"`
  9160  
  9161  	// The character set for the content. Because of the constraints of the SMTP
  9162  	// protocol, Amazon SES uses 7-bit ASCII by default. If the text includes characters
  9163  	// outside of the ASCII range, you have to specify a character set. For example,
  9164  	// you could specify UTF-8, ISO-8859-1, or Shift_JIS.
  9165  	Charset *string `type:"string"`
  9166  
  9167  	// The content of the message itself.
  9168  	//
  9169  	// Data is a required field
  9170  	Data *string `type:"string" required:"true"`
  9171  }
  9172  
  9173  // String returns the string representation.
  9174  //
  9175  // API parameter values that are decorated as "sensitive" in the API will not
  9176  // be included in the string output. The member name will be present, but the
  9177  // value will be replaced with "sensitive".
  9178  func (s Content) String() string {
  9179  	return awsutil.Prettify(s)
  9180  }
  9181  
  9182  // GoString returns the string representation.
  9183  //
  9184  // API parameter values that are decorated as "sensitive" in the API will not
  9185  // be included in the string output. The member name will be present, but the
  9186  // value will be replaced with "sensitive".
  9187  func (s Content) GoString() string {
  9188  	return s.String()
  9189  }
  9190  
  9191  // Validate inspects the fields of the type to determine if they are valid.
  9192  func (s *Content) Validate() error {
  9193  	invalidParams := request.ErrInvalidParams{Context: "Content"}
  9194  	if s.Data == nil {
  9195  		invalidParams.Add(request.NewErrParamRequired("Data"))
  9196  	}
  9197  
  9198  	if invalidParams.Len() > 0 {
  9199  		return invalidParams
  9200  	}
  9201  	return nil
  9202  }
  9203  
  9204  // SetCharset sets the Charset field's value.
  9205  func (s *Content) SetCharset(v string) *Content {
  9206  	s.Charset = &v
  9207  	return s
  9208  }
  9209  
  9210  // SetData sets the Data field's value.
  9211  func (s *Content) SetData(v string) *Content {
  9212  	s.Data = &v
  9213  	return s
  9214  }
  9215  
  9216  // A request to add an event destination to a configuration set.
  9217  type CreateConfigurationSetEventDestinationInput struct {
  9218  	_ struct{} `type:"structure"`
  9219  
  9220  	// The name of the configuration set .
  9221  	//
  9222  	// ConfigurationSetName is a required field
  9223  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
  9224  
  9225  	// An object that defines the event destination.
  9226  	//
  9227  	// EventDestination is a required field
  9228  	EventDestination *EventDestinationDefinition `type:"structure" required:"true"`
  9229  
  9230  	// A name that identifies the event destination within the configuration set.
  9231  	//
  9232  	// EventDestinationName is a required field
  9233  	EventDestinationName *string `type:"string" required:"true"`
  9234  }
  9235  
  9236  // String returns the string representation.
  9237  //
  9238  // API parameter values that are decorated as "sensitive" in the API will not
  9239  // be included in the string output. The member name will be present, but the
  9240  // value will be replaced with "sensitive".
  9241  func (s CreateConfigurationSetEventDestinationInput) String() string {
  9242  	return awsutil.Prettify(s)
  9243  }
  9244  
  9245  // GoString returns the string representation.
  9246  //
  9247  // API parameter values that are decorated as "sensitive" in the API will not
  9248  // be included in the string output. The member name will be present, but the
  9249  // value will be replaced with "sensitive".
  9250  func (s CreateConfigurationSetEventDestinationInput) GoString() string {
  9251  	return s.String()
  9252  }
  9253  
  9254  // Validate inspects the fields of the type to determine if they are valid.
  9255  func (s *CreateConfigurationSetEventDestinationInput) Validate() error {
  9256  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetEventDestinationInput"}
  9257  	if s.ConfigurationSetName == nil {
  9258  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  9259  	}
  9260  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
  9261  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
  9262  	}
  9263  	if s.EventDestination == nil {
  9264  		invalidParams.Add(request.NewErrParamRequired("EventDestination"))
  9265  	}
  9266  	if s.EventDestinationName == nil {
  9267  		invalidParams.Add(request.NewErrParamRequired("EventDestinationName"))
  9268  	}
  9269  	if s.EventDestination != nil {
  9270  		if err := s.EventDestination.Validate(); err != nil {
  9271  			invalidParams.AddNested("EventDestination", err.(request.ErrInvalidParams))
  9272  		}
  9273  	}
  9274  
  9275  	if invalidParams.Len() > 0 {
  9276  		return invalidParams
  9277  	}
  9278  	return nil
  9279  }
  9280  
  9281  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  9282  func (s *CreateConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *CreateConfigurationSetEventDestinationInput {
  9283  	s.ConfigurationSetName = &v
  9284  	return s
  9285  }
  9286  
  9287  // SetEventDestination sets the EventDestination field's value.
  9288  func (s *CreateConfigurationSetEventDestinationInput) SetEventDestination(v *EventDestinationDefinition) *CreateConfigurationSetEventDestinationInput {
  9289  	s.EventDestination = v
  9290  	return s
  9291  }
  9292  
  9293  // SetEventDestinationName sets the EventDestinationName field's value.
  9294  func (s *CreateConfigurationSetEventDestinationInput) SetEventDestinationName(v string) *CreateConfigurationSetEventDestinationInput {
  9295  	s.EventDestinationName = &v
  9296  	return s
  9297  }
  9298  
  9299  // An HTTP 200 response if the request succeeds, or an error message if the
  9300  // request fails.
  9301  type CreateConfigurationSetEventDestinationOutput struct {
  9302  	_ struct{} `type:"structure" nopayload:"true"`
  9303  }
  9304  
  9305  // String returns the string representation.
  9306  //
  9307  // API parameter values that are decorated as "sensitive" in the API will not
  9308  // be included in the string output. The member name will be present, but the
  9309  // value will be replaced with "sensitive".
  9310  func (s CreateConfigurationSetEventDestinationOutput) String() string {
  9311  	return awsutil.Prettify(s)
  9312  }
  9313  
  9314  // GoString returns the string representation.
  9315  //
  9316  // API parameter values that are decorated as "sensitive" in the API will not
  9317  // be included in the string output. The member name will be present, but the
  9318  // value will be replaced with "sensitive".
  9319  func (s CreateConfigurationSetEventDestinationOutput) GoString() string {
  9320  	return s.String()
  9321  }
  9322  
  9323  // A request to create a configuration set.
  9324  type CreateConfigurationSetInput struct {
  9325  	_ struct{} `type:"structure"`
  9326  
  9327  	// The name of the configuration set. The name can contain up to 64 alphanumeric
  9328  	// characters, including letters, numbers, hyphens (-) and underscores (_) only.
  9329  	//
  9330  	// ConfigurationSetName is a required field
  9331  	ConfigurationSetName *string `type:"string" required:"true"`
  9332  
  9333  	// An object that defines the dedicated IP pool that is used to send emails
  9334  	// that you send using the configuration set.
  9335  	DeliveryOptions *DeliveryOptions `type:"structure"`
  9336  
  9337  	// An object that defines whether or not Amazon SES collects reputation metrics
  9338  	// for the emails that you send that use the configuration set.
  9339  	ReputationOptions *ReputationOptions `type:"structure"`
  9340  
  9341  	// An object that defines whether or not Amazon SES can send email that you
  9342  	// send using the configuration set.
  9343  	SendingOptions *SendingOptions `type:"structure"`
  9344  
  9345  	// An object that contains information about the suppression list preferences
  9346  	// for your account.
  9347  	SuppressionOptions *SuppressionOptions `type:"structure"`
  9348  
  9349  	// An array of objects that define the tags (keys and values) to associate with
  9350  	// the configuration set.
  9351  	Tags []*Tag `type:"list"`
  9352  
  9353  	// An object that defines the open and click tracking options for emails that
  9354  	// you send using the configuration set.
  9355  	TrackingOptions *TrackingOptions `type:"structure"`
  9356  }
  9357  
  9358  // String returns the string representation.
  9359  //
  9360  // API parameter values that are decorated as "sensitive" in the API will not
  9361  // be included in the string output. The member name will be present, but the
  9362  // value will be replaced with "sensitive".
  9363  func (s CreateConfigurationSetInput) String() string {
  9364  	return awsutil.Prettify(s)
  9365  }
  9366  
  9367  // GoString returns the string representation.
  9368  //
  9369  // API parameter values that are decorated as "sensitive" in the API will not
  9370  // be included in the string output. The member name will be present, but the
  9371  // value will be replaced with "sensitive".
  9372  func (s CreateConfigurationSetInput) GoString() string {
  9373  	return s.String()
  9374  }
  9375  
  9376  // Validate inspects the fields of the type to determine if they are valid.
  9377  func (s *CreateConfigurationSetInput) Validate() error {
  9378  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetInput"}
  9379  	if s.ConfigurationSetName == nil {
  9380  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
  9381  	}
  9382  	if s.Tags != nil {
  9383  		for i, v := range s.Tags {
  9384  			if v == nil {
  9385  				continue
  9386  			}
  9387  			if err := v.Validate(); err != nil {
  9388  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  9389  			}
  9390  		}
  9391  	}
  9392  	if s.TrackingOptions != nil {
  9393  		if err := s.TrackingOptions.Validate(); err != nil {
  9394  			invalidParams.AddNested("TrackingOptions", err.(request.ErrInvalidParams))
  9395  		}
  9396  	}
  9397  
  9398  	if invalidParams.Len() > 0 {
  9399  		return invalidParams
  9400  	}
  9401  	return nil
  9402  }
  9403  
  9404  // SetConfigurationSetName sets the ConfigurationSetName field's value.
  9405  func (s *CreateConfigurationSetInput) SetConfigurationSetName(v string) *CreateConfigurationSetInput {
  9406  	s.ConfigurationSetName = &v
  9407  	return s
  9408  }
  9409  
  9410  // SetDeliveryOptions sets the DeliveryOptions field's value.
  9411  func (s *CreateConfigurationSetInput) SetDeliveryOptions(v *DeliveryOptions) *CreateConfigurationSetInput {
  9412  	s.DeliveryOptions = v
  9413  	return s
  9414  }
  9415  
  9416  // SetReputationOptions sets the ReputationOptions field's value.
  9417  func (s *CreateConfigurationSetInput) SetReputationOptions(v *ReputationOptions) *CreateConfigurationSetInput {
  9418  	s.ReputationOptions = v
  9419  	return s
  9420  }
  9421  
  9422  // SetSendingOptions sets the SendingOptions field's value.
  9423  func (s *CreateConfigurationSetInput) SetSendingOptions(v *SendingOptions) *CreateConfigurationSetInput {
  9424  	s.SendingOptions = v
  9425  	return s
  9426  }
  9427  
  9428  // SetSuppressionOptions sets the SuppressionOptions field's value.
  9429  func (s *CreateConfigurationSetInput) SetSuppressionOptions(v *SuppressionOptions) *CreateConfigurationSetInput {
  9430  	s.SuppressionOptions = v
  9431  	return s
  9432  }
  9433  
  9434  // SetTags sets the Tags field's value.
  9435  func (s *CreateConfigurationSetInput) SetTags(v []*Tag) *CreateConfigurationSetInput {
  9436  	s.Tags = v
  9437  	return s
  9438  }
  9439  
  9440  // SetTrackingOptions sets the TrackingOptions field's value.
  9441  func (s *CreateConfigurationSetInput) SetTrackingOptions(v *TrackingOptions) *CreateConfigurationSetInput {
  9442  	s.TrackingOptions = v
  9443  	return s
  9444  }
  9445  
  9446  // An HTTP 200 response if the request succeeds, or an error message if the
  9447  // request fails.
  9448  type CreateConfigurationSetOutput struct {
  9449  	_ struct{} `type:"structure" nopayload:"true"`
  9450  }
  9451  
  9452  // String returns the string representation.
  9453  //
  9454  // API parameter values that are decorated as "sensitive" in the API will not
  9455  // be included in the string output. The member name will be present, but the
  9456  // value will be replaced with "sensitive".
  9457  func (s CreateConfigurationSetOutput) String() string {
  9458  	return awsutil.Prettify(s)
  9459  }
  9460  
  9461  // GoString returns the string representation.
  9462  //
  9463  // API parameter values that are decorated as "sensitive" in the API will not
  9464  // be included in the string output. The member name will be present, but the
  9465  // value will be replaced with "sensitive".
  9466  func (s CreateConfigurationSetOutput) GoString() string {
  9467  	return s.String()
  9468  }
  9469  
  9470  type CreateContactInput struct {
  9471  	_ struct{} `type:"structure"`
  9472  
  9473  	// The attribute data attached to a contact.
  9474  	AttributesData *string `type:"string"`
  9475  
  9476  	// The name of the contact list to which the contact should be added.
  9477  	//
  9478  	// ContactListName is a required field
  9479  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
  9480  
  9481  	// The contact's email address.
  9482  	//
  9483  	// EmailAddress is a required field
  9484  	EmailAddress *string `type:"string" required:"true"`
  9485  
  9486  	// The contact's preferences for being opted-in to or opted-out of topics.
  9487  	TopicPreferences []*TopicPreference `type:"list"`
  9488  
  9489  	// A boolean value status noting if the contact is unsubscribed from all contact
  9490  	// list topics.
  9491  	UnsubscribeAll *bool `type:"boolean"`
  9492  }
  9493  
  9494  // String returns the string representation.
  9495  //
  9496  // API parameter values that are decorated as "sensitive" in the API will not
  9497  // be included in the string output. The member name will be present, but the
  9498  // value will be replaced with "sensitive".
  9499  func (s CreateContactInput) String() string {
  9500  	return awsutil.Prettify(s)
  9501  }
  9502  
  9503  // GoString returns the string representation.
  9504  //
  9505  // API parameter values that are decorated as "sensitive" in the API will not
  9506  // be included in the string output. The member name will be present, but the
  9507  // value will be replaced with "sensitive".
  9508  func (s CreateContactInput) GoString() string {
  9509  	return s.String()
  9510  }
  9511  
  9512  // Validate inspects the fields of the type to determine if they are valid.
  9513  func (s *CreateContactInput) Validate() error {
  9514  	invalidParams := request.ErrInvalidParams{Context: "CreateContactInput"}
  9515  	if s.ContactListName == nil {
  9516  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
  9517  	}
  9518  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
  9519  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
  9520  	}
  9521  	if s.EmailAddress == nil {
  9522  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
  9523  	}
  9524  	if s.TopicPreferences != nil {
  9525  		for i, v := range s.TopicPreferences {
  9526  			if v == nil {
  9527  				continue
  9528  			}
  9529  			if err := v.Validate(); err != nil {
  9530  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicPreferences", i), err.(request.ErrInvalidParams))
  9531  			}
  9532  		}
  9533  	}
  9534  
  9535  	if invalidParams.Len() > 0 {
  9536  		return invalidParams
  9537  	}
  9538  	return nil
  9539  }
  9540  
  9541  // SetAttributesData sets the AttributesData field's value.
  9542  func (s *CreateContactInput) SetAttributesData(v string) *CreateContactInput {
  9543  	s.AttributesData = &v
  9544  	return s
  9545  }
  9546  
  9547  // SetContactListName sets the ContactListName field's value.
  9548  func (s *CreateContactInput) SetContactListName(v string) *CreateContactInput {
  9549  	s.ContactListName = &v
  9550  	return s
  9551  }
  9552  
  9553  // SetEmailAddress sets the EmailAddress field's value.
  9554  func (s *CreateContactInput) SetEmailAddress(v string) *CreateContactInput {
  9555  	s.EmailAddress = &v
  9556  	return s
  9557  }
  9558  
  9559  // SetTopicPreferences sets the TopicPreferences field's value.
  9560  func (s *CreateContactInput) SetTopicPreferences(v []*TopicPreference) *CreateContactInput {
  9561  	s.TopicPreferences = v
  9562  	return s
  9563  }
  9564  
  9565  // SetUnsubscribeAll sets the UnsubscribeAll field's value.
  9566  func (s *CreateContactInput) SetUnsubscribeAll(v bool) *CreateContactInput {
  9567  	s.UnsubscribeAll = &v
  9568  	return s
  9569  }
  9570  
  9571  type CreateContactListInput struct {
  9572  	_ struct{} `type:"structure"`
  9573  
  9574  	// The name of the contact list.
  9575  	//
  9576  	// ContactListName is a required field
  9577  	ContactListName *string `type:"string" required:"true"`
  9578  
  9579  	// A description of what the contact list is about.
  9580  	Description *string `type:"string"`
  9581  
  9582  	// The tags associated with a contact list.
  9583  	Tags []*Tag `type:"list"`
  9584  
  9585  	// An interest group, theme, or label within a list. A contact list can have
  9586  	// multiple topics.
  9587  	Topics []*Topic `type:"list"`
  9588  }
  9589  
  9590  // String returns the string representation.
  9591  //
  9592  // API parameter values that are decorated as "sensitive" in the API will not
  9593  // be included in the string output. The member name will be present, but the
  9594  // value will be replaced with "sensitive".
  9595  func (s CreateContactListInput) String() string {
  9596  	return awsutil.Prettify(s)
  9597  }
  9598  
  9599  // GoString returns the string representation.
  9600  //
  9601  // API parameter values that are decorated as "sensitive" in the API will not
  9602  // be included in the string output. The member name will be present, but the
  9603  // value will be replaced with "sensitive".
  9604  func (s CreateContactListInput) GoString() string {
  9605  	return s.String()
  9606  }
  9607  
  9608  // Validate inspects the fields of the type to determine if they are valid.
  9609  func (s *CreateContactListInput) Validate() error {
  9610  	invalidParams := request.ErrInvalidParams{Context: "CreateContactListInput"}
  9611  	if s.ContactListName == nil {
  9612  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
  9613  	}
  9614  	if s.Tags != nil {
  9615  		for i, v := range s.Tags {
  9616  			if v == nil {
  9617  				continue
  9618  			}
  9619  			if err := v.Validate(); err != nil {
  9620  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  9621  			}
  9622  		}
  9623  	}
  9624  	if s.Topics != nil {
  9625  		for i, v := range s.Topics {
  9626  			if v == nil {
  9627  				continue
  9628  			}
  9629  			if err := v.Validate(); err != nil {
  9630  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Topics", i), err.(request.ErrInvalidParams))
  9631  			}
  9632  		}
  9633  	}
  9634  
  9635  	if invalidParams.Len() > 0 {
  9636  		return invalidParams
  9637  	}
  9638  	return nil
  9639  }
  9640  
  9641  // SetContactListName sets the ContactListName field's value.
  9642  func (s *CreateContactListInput) SetContactListName(v string) *CreateContactListInput {
  9643  	s.ContactListName = &v
  9644  	return s
  9645  }
  9646  
  9647  // SetDescription sets the Description field's value.
  9648  func (s *CreateContactListInput) SetDescription(v string) *CreateContactListInput {
  9649  	s.Description = &v
  9650  	return s
  9651  }
  9652  
  9653  // SetTags sets the Tags field's value.
  9654  func (s *CreateContactListInput) SetTags(v []*Tag) *CreateContactListInput {
  9655  	s.Tags = v
  9656  	return s
  9657  }
  9658  
  9659  // SetTopics sets the Topics field's value.
  9660  func (s *CreateContactListInput) SetTopics(v []*Topic) *CreateContactListInput {
  9661  	s.Topics = v
  9662  	return s
  9663  }
  9664  
  9665  type CreateContactListOutput struct {
  9666  	_ struct{} `type:"structure" nopayload:"true"`
  9667  }
  9668  
  9669  // String returns the string representation.
  9670  //
  9671  // API parameter values that are decorated as "sensitive" in the API will not
  9672  // be included in the string output. The member name will be present, but the
  9673  // value will be replaced with "sensitive".
  9674  func (s CreateContactListOutput) String() string {
  9675  	return awsutil.Prettify(s)
  9676  }
  9677  
  9678  // GoString returns the string representation.
  9679  //
  9680  // API parameter values that are decorated as "sensitive" in the API will not
  9681  // be included in the string output. The member name will be present, but the
  9682  // value will be replaced with "sensitive".
  9683  func (s CreateContactListOutput) GoString() string {
  9684  	return s.String()
  9685  }
  9686  
  9687  type CreateContactOutput struct {
  9688  	_ struct{} `type:"structure" nopayload:"true"`
  9689  }
  9690  
  9691  // String returns the string representation.
  9692  //
  9693  // API parameter values that are decorated as "sensitive" in the API will not
  9694  // be included in the string output. The member name will be present, but the
  9695  // value will be replaced with "sensitive".
  9696  func (s CreateContactOutput) String() string {
  9697  	return awsutil.Prettify(s)
  9698  }
  9699  
  9700  // GoString returns the string representation.
  9701  //
  9702  // API parameter values that are decorated as "sensitive" in the API will not
  9703  // be included in the string output. The member name will be present, but the
  9704  // value will be replaced with "sensitive".
  9705  func (s CreateContactOutput) GoString() string {
  9706  	return s.String()
  9707  }
  9708  
  9709  // Represents a request to create a custom verification email template.
  9710  type CreateCustomVerificationEmailTemplateInput struct {
  9711  	_ struct{} `type:"structure"`
  9712  
  9713  	// The URL that the recipient of the verification email is sent to if his or
  9714  	// her address is not successfully verified.
  9715  	//
  9716  	// FailureRedirectionURL is a required field
  9717  	FailureRedirectionURL *string `type:"string" required:"true"`
  9718  
  9719  	// The email address that the custom verification email is sent from.
  9720  	//
  9721  	// FromEmailAddress is a required field
  9722  	FromEmailAddress *string `type:"string" required:"true"`
  9723  
  9724  	// The URL that the recipient of the verification email is sent to if his or
  9725  	// her address is successfully verified.
  9726  	//
  9727  	// SuccessRedirectionURL is a required field
  9728  	SuccessRedirectionURL *string `type:"string" required:"true"`
  9729  
  9730  	// The content of the custom verification email. The total size of the email
  9731  	// must be less than 10 MB. The message body may contain HTML, with some limitations.
  9732  	// For more information, see Custom Verification Email Frequently Asked Questions
  9733  	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html#custom-verification-emails-faq)
  9734  	// in the Amazon SES Developer Guide.
  9735  	//
  9736  	// TemplateContent is a required field
  9737  	TemplateContent *string `type:"string" required:"true"`
  9738  
  9739  	// The name of the custom verification email template.
  9740  	//
  9741  	// TemplateName is a required field
  9742  	TemplateName *string `min:"1" type:"string" required:"true"`
  9743  
  9744  	// The subject line of the custom verification email.
  9745  	//
  9746  	// TemplateSubject is a required field
  9747  	TemplateSubject *string `type:"string" required:"true"`
  9748  }
  9749  
  9750  // String returns the string representation.
  9751  //
  9752  // API parameter values that are decorated as "sensitive" in the API will not
  9753  // be included in the string output. The member name will be present, but the
  9754  // value will be replaced with "sensitive".
  9755  func (s CreateCustomVerificationEmailTemplateInput) String() string {
  9756  	return awsutil.Prettify(s)
  9757  }
  9758  
  9759  // GoString returns the string representation.
  9760  //
  9761  // API parameter values that are decorated as "sensitive" in the API will not
  9762  // be included in the string output. The member name will be present, but the
  9763  // value will be replaced with "sensitive".
  9764  func (s CreateCustomVerificationEmailTemplateInput) GoString() string {
  9765  	return s.String()
  9766  }
  9767  
  9768  // Validate inspects the fields of the type to determine if they are valid.
  9769  func (s *CreateCustomVerificationEmailTemplateInput) Validate() error {
  9770  	invalidParams := request.ErrInvalidParams{Context: "CreateCustomVerificationEmailTemplateInput"}
  9771  	if s.FailureRedirectionURL == nil {
  9772  		invalidParams.Add(request.NewErrParamRequired("FailureRedirectionURL"))
  9773  	}
  9774  	if s.FromEmailAddress == nil {
  9775  		invalidParams.Add(request.NewErrParamRequired("FromEmailAddress"))
  9776  	}
  9777  	if s.SuccessRedirectionURL == nil {
  9778  		invalidParams.Add(request.NewErrParamRequired("SuccessRedirectionURL"))
  9779  	}
  9780  	if s.TemplateContent == nil {
  9781  		invalidParams.Add(request.NewErrParamRequired("TemplateContent"))
  9782  	}
  9783  	if s.TemplateName == nil {
  9784  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  9785  	}
  9786  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  9787  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  9788  	}
  9789  	if s.TemplateSubject == nil {
  9790  		invalidParams.Add(request.NewErrParamRequired("TemplateSubject"))
  9791  	}
  9792  
  9793  	if invalidParams.Len() > 0 {
  9794  		return invalidParams
  9795  	}
  9796  	return nil
  9797  }
  9798  
  9799  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
  9800  func (s *CreateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput {
  9801  	s.FailureRedirectionURL = &v
  9802  	return s
  9803  }
  9804  
  9805  // SetFromEmailAddress sets the FromEmailAddress field's value.
  9806  func (s *CreateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *CreateCustomVerificationEmailTemplateInput {
  9807  	s.FromEmailAddress = &v
  9808  	return s
  9809  }
  9810  
  9811  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
  9812  func (s *CreateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput {
  9813  	s.SuccessRedirectionURL = &v
  9814  	return s
  9815  }
  9816  
  9817  // SetTemplateContent sets the TemplateContent field's value.
  9818  func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *CreateCustomVerificationEmailTemplateInput {
  9819  	s.TemplateContent = &v
  9820  	return s
  9821  }
  9822  
  9823  // SetTemplateName sets the TemplateName field's value.
  9824  func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *CreateCustomVerificationEmailTemplateInput {
  9825  	s.TemplateName = &v
  9826  	return s
  9827  }
  9828  
  9829  // SetTemplateSubject sets the TemplateSubject field's value.
  9830  func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *CreateCustomVerificationEmailTemplateInput {
  9831  	s.TemplateSubject = &v
  9832  	return s
  9833  }
  9834  
  9835  // If the action is successful, the service sends back an HTTP 200 response
  9836  // with an empty HTTP body.
  9837  type CreateCustomVerificationEmailTemplateOutput struct {
  9838  	_ struct{} `type:"structure" nopayload:"true"`
  9839  }
  9840  
  9841  // String returns the string representation.
  9842  //
  9843  // API parameter values that are decorated as "sensitive" in the API will not
  9844  // be included in the string output. The member name will be present, but the
  9845  // value will be replaced with "sensitive".
  9846  func (s CreateCustomVerificationEmailTemplateOutput) String() string {
  9847  	return awsutil.Prettify(s)
  9848  }
  9849  
  9850  // GoString returns the string representation.
  9851  //
  9852  // API parameter values that are decorated as "sensitive" in the API will not
  9853  // be included in the string output. The member name will be present, but the
  9854  // value will be replaced with "sensitive".
  9855  func (s CreateCustomVerificationEmailTemplateOutput) GoString() string {
  9856  	return s.String()
  9857  }
  9858  
  9859  // A request to create a new dedicated IP pool.
  9860  type CreateDedicatedIpPoolInput struct {
  9861  	_ struct{} `type:"structure"`
  9862  
  9863  	// The name of the dedicated IP pool.
  9864  	//
  9865  	// PoolName is a required field
  9866  	PoolName *string `type:"string" required:"true"`
  9867  
  9868  	// An object that defines the tags (keys and values) that you want to associate
  9869  	// with the pool.
  9870  	Tags []*Tag `type:"list"`
  9871  }
  9872  
  9873  // String returns the string representation.
  9874  //
  9875  // API parameter values that are decorated as "sensitive" in the API will not
  9876  // be included in the string output. The member name will be present, but the
  9877  // value will be replaced with "sensitive".
  9878  func (s CreateDedicatedIpPoolInput) String() string {
  9879  	return awsutil.Prettify(s)
  9880  }
  9881  
  9882  // GoString returns the string representation.
  9883  //
  9884  // API parameter values that are decorated as "sensitive" in the API will not
  9885  // be included in the string output. The member name will be present, but the
  9886  // value will be replaced with "sensitive".
  9887  func (s CreateDedicatedIpPoolInput) GoString() string {
  9888  	return s.String()
  9889  }
  9890  
  9891  // Validate inspects the fields of the type to determine if they are valid.
  9892  func (s *CreateDedicatedIpPoolInput) Validate() error {
  9893  	invalidParams := request.ErrInvalidParams{Context: "CreateDedicatedIpPoolInput"}
  9894  	if s.PoolName == nil {
  9895  		invalidParams.Add(request.NewErrParamRequired("PoolName"))
  9896  	}
  9897  	if s.Tags != nil {
  9898  		for i, v := range s.Tags {
  9899  			if v == nil {
  9900  				continue
  9901  			}
  9902  			if err := v.Validate(); err != nil {
  9903  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  9904  			}
  9905  		}
  9906  	}
  9907  
  9908  	if invalidParams.Len() > 0 {
  9909  		return invalidParams
  9910  	}
  9911  	return nil
  9912  }
  9913  
  9914  // SetPoolName sets the PoolName field's value.
  9915  func (s *CreateDedicatedIpPoolInput) SetPoolName(v string) *CreateDedicatedIpPoolInput {
  9916  	s.PoolName = &v
  9917  	return s
  9918  }
  9919  
  9920  // SetTags sets the Tags field's value.
  9921  func (s *CreateDedicatedIpPoolInput) SetTags(v []*Tag) *CreateDedicatedIpPoolInput {
  9922  	s.Tags = v
  9923  	return s
  9924  }
  9925  
  9926  // An HTTP 200 response if the request succeeds, or an error message if the
  9927  // request fails.
  9928  type CreateDedicatedIpPoolOutput struct {
  9929  	_ struct{} `type:"structure" nopayload:"true"`
  9930  }
  9931  
  9932  // String returns the string representation.
  9933  //
  9934  // API parameter values that are decorated as "sensitive" in the API will not
  9935  // be included in the string output. The member name will be present, but the
  9936  // value will be replaced with "sensitive".
  9937  func (s CreateDedicatedIpPoolOutput) String() string {
  9938  	return awsutil.Prettify(s)
  9939  }
  9940  
  9941  // GoString returns the string representation.
  9942  //
  9943  // API parameter values that are decorated as "sensitive" in the API will not
  9944  // be included in the string output. The member name will be present, but the
  9945  // value will be replaced with "sensitive".
  9946  func (s CreateDedicatedIpPoolOutput) GoString() string {
  9947  	return s.String()
  9948  }
  9949  
  9950  // A request to perform a predictive inbox placement test. Predictive inbox
  9951  // placement tests can help you predict how your messages will be handled by
  9952  // various email providers around the world. When you perform a predictive inbox
  9953  // placement test, you provide a sample message that contains the content that
  9954  // you plan to send to your customers. We send that message to special email
  9955  // addresses spread across several major email providers around the world. The
  9956  // test takes about 24 hours to complete. When the test is complete, you can
  9957  // use the GetDeliverabilityTestReport operation to view the results of the
  9958  // test.
  9959  type CreateDeliverabilityTestReportInput struct {
  9960  	_ struct{} `type:"structure"`
  9961  
  9962  	// The HTML body of the message that you sent when you performed the predictive
  9963  	// inbox placement test.
  9964  	//
  9965  	// Content is a required field
  9966  	Content *EmailContent `type:"structure" required:"true"`
  9967  
  9968  	// The email address that the predictive inbox placement test email was sent
  9969  	// from.
  9970  	//
  9971  	// FromEmailAddress is a required field
  9972  	FromEmailAddress *string `type:"string" required:"true"`
  9973  
  9974  	// A unique name that helps you to identify the predictive inbox placement test
  9975  	// when you retrieve the results.
  9976  	ReportName *string `type:"string"`
  9977  
  9978  	// An array of objects that define the tags (keys and values) that you want
  9979  	// to associate with the predictive inbox placement test.
  9980  	Tags []*Tag `type:"list"`
  9981  }
  9982  
  9983  // String returns the string representation.
  9984  //
  9985  // API parameter values that are decorated as "sensitive" in the API will not
  9986  // be included in the string output. The member name will be present, but the
  9987  // value will be replaced with "sensitive".
  9988  func (s CreateDeliverabilityTestReportInput) String() string {
  9989  	return awsutil.Prettify(s)
  9990  }
  9991  
  9992  // GoString returns the string representation.
  9993  //
  9994  // API parameter values that are decorated as "sensitive" in the API will not
  9995  // be included in the string output. The member name will be present, but the
  9996  // value will be replaced with "sensitive".
  9997  func (s CreateDeliverabilityTestReportInput) GoString() string {
  9998  	return s.String()
  9999  }
 10000  
 10001  // Validate inspects the fields of the type to determine if they are valid.
 10002  func (s *CreateDeliverabilityTestReportInput) Validate() error {
 10003  	invalidParams := request.ErrInvalidParams{Context: "CreateDeliverabilityTestReportInput"}
 10004  	if s.Content == nil {
 10005  		invalidParams.Add(request.NewErrParamRequired("Content"))
 10006  	}
 10007  	if s.FromEmailAddress == nil {
 10008  		invalidParams.Add(request.NewErrParamRequired("FromEmailAddress"))
 10009  	}
 10010  	if s.Content != nil {
 10011  		if err := s.Content.Validate(); err != nil {
 10012  			invalidParams.AddNested("Content", err.(request.ErrInvalidParams))
 10013  		}
 10014  	}
 10015  	if s.Tags != nil {
 10016  		for i, v := range s.Tags {
 10017  			if v == nil {
 10018  				continue
 10019  			}
 10020  			if err := v.Validate(); err != nil {
 10021  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10022  			}
 10023  		}
 10024  	}
 10025  
 10026  	if invalidParams.Len() > 0 {
 10027  		return invalidParams
 10028  	}
 10029  	return nil
 10030  }
 10031  
 10032  // SetContent sets the Content field's value.
 10033  func (s *CreateDeliverabilityTestReportInput) SetContent(v *EmailContent) *CreateDeliverabilityTestReportInput {
 10034  	s.Content = v
 10035  	return s
 10036  }
 10037  
 10038  // SetFromEmailAddress sets the FromEmailAddress field's value.
 10039  func (s *CreateDeliverabilityTestReportInput) SetFromEmailAddress(v string) *CreateDeliverabilityTestReportInput {
 10040  	s.FromEmailAddress = &v
 10041  	return s
 10042  }
 10043  
 10044  // SetReportName sets the ReportName field's value.
 10045  func (s *CreateDeliverabilityTestReportInput) SetReportName(v string) *CreateDeliverabilityTestReportInput {
 10046  	s.ReportName = &v
 10047  	return s
 10048  }
 10049  
 10050  // SetTags sets the Tags field's value.
 10051  func (s *CreateDeliverabilityTestReportInput) SetTags(v []*Tag) *CreateDeliverabilityTestReportInput {
 10052  	s.Tags = v
 10053  	return s
 10054  }
 10055  
 10056  // Information about the predictive inbox placement test that you created.
 10057  type CreateDeliverabilityTestReportOutput struct {
 10058  	_ struct{} `type:"structure"`
 10059  
 10060  	// The status of the predictive inbox placement test. If the status is IN_PROGRESS,
 10061  	// then the predictive inbox placement test is currently running. Predictive
 10062  	// inbox placement tests are usually complete within 24 hours of creating the
 10063  	// test. If the status is COMPLETE, then the test is finished, and you can use
 10064  	// the GetDeliverabilityTestReport to view the results of the test.
 10065  	//
 10066  	// DeliverabilityTestStatus is a required field
 10067  	DeliverabilityTestStatus *string `type:"string" required:"true" enum:"DeliverabilityTestStatus"`
 10068  
 10069  	// A unique string that identifies the predictive inbox placement test.
 10070  	//
 10071  	// ReportId is a required field
 10072  	ReportId *string `type:"string" required:"true"`
 10073  }
 10074  
 10075  // String returns the string representation.
 10076  //
 10077  // API parameter values that are decorated as "sensitive" in the API will not
 10078  // be included in the string output. The member name will be present, but the
 10079  // value will be replaced with "sensitive".
 10080  func (s CreateDeliverabilityTestReportOutput) String() string {
 10081  	return awsutil.Prettify(s)
 10082  }
 10083  
 10084  // GoString returns the string representation.
 10085  //
 10086  // API parameter values that are decorated as "sensitive" in the API will not
 10087  // be included in the string output. The member name will be present, but the
 10088  // value will be replaced with "sensitive".
 10089  func (s CreateDeliverabilityTestReportOutput) GoString() string {
 10090  	return s.String()
 10091  }
 10092  
 10093  // SetDeliverabilityTestStatus sets the DeliverabilityTestStatus field's value.
 10094  func (s *CreateDeliverabilityTestReportOutput) SetDeliverabilityTestStatus(v string) *CreateDeliverabilityTestReportOutput {
 10095  	s.DeliverabilityTestStatus = &v
 10096  	return s
 10097  }
 10098  
 10099  // SetReportId sets the ReportId field's value.
 10100  func (s *CreateDeliverabilityTestReportOutput) SetReportId(v string) *CreateDeliverabilityTestReportOutput {
 10101  	s.ReportId = &v
 10102  	return s
 10103  }
 10104  
 10105  // A request to begin the verification process for an email identity (an email
 10106  // address or domain).
 10107  type CreateEmailIdentityInput struct {
 10108  	_ struct{} `type:"structure"`
 10109  
 10110  	// The configuration set to use by default when sending from this identity.
 10111  	// Note that any configuration set defined in the email sending request takes
 10112  	// precedence.
 10113  	ConfigurationSetName *string `type:"string"`
 10114  
 10115  	// If your request includes this object, Amazon SES configures the identity
 10116  	// to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or,
 10117  	// configures the key length to be used for Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 10118  	//
 10119  	// You can only specify this object if the email identity is a domain, as opposed
 10120  	// to an address.
 10121  	DkimSigningAttributes *DkimSigningAttributes `type:"structure"`
 10122  
 10123  	// The email address or domain to verify.
 10124  	//
 10125  	// EmailIdentity is a required field
 10126  	EmailIdentity *string `min:"1" type:"string" required:"true"`
 10127  
 10128  	// An array of objects that define the tags (keys and values) to associate with
 10129  	// the email identity.
 10130  	Tags []*Tag `type:"list"`
 10131  }
 10132  
 10133  // String returns the string representation.
 10134  //
 10135  // API parameter values that are decorated as "sensitive" in the API will not
 10136  // be included in the string output. The member name will be present, but the
 10137  // value will be replaced with "sensitive".
 10138  func (s CreateEmailIdentityInput) String() string {
 10139  	return awsutil.Prettify(s)
 10140  }
 10141  
 10142  // GoString returns the string representation.
 10143  //
 10144  // API parameter values that are decorated as "sensitive" in the API will not
 10145  // be included in the string output. The member name will be present, but the
 10146  // value will be replaced with "sensitive".
 10147  func (s CreateEmailIdentityInput) GoString() string {
 10148  	return s.String()
 10149  }
 10150  
 10151  // Validate inspects the fields of the type to determine if they are valid.
 10152  func (s *CreateEmailIdentityInput) Validate() error {
 10153  	invalidParams := request.ErrInvalidParams{Context: "CreateEmailIdentityInput"}
 10154  	if s.EmailIdentity == nil {
 10155  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 10156  	}
 10157  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 10158  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 10159  	}
 10160  	if s.DkimSigningAttributes != nil {
 10161  		if err := s.DkimSigningAttributes.Validate(); err != nil {
 10162  			invalidParams.AddNested("DkimSigningAttributes", err.(request.ErrInvalidParams))
 10163  		}
 10164  	}
 10165  	if s.Tags != nil {
 10166  		for i, v := range s.Tags {
 10167  			if v == nil {
 10168  				continue
 10169  			}
 10170  			if err := v.Validate(); err != nil {
 10171  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10172  			}
 10173  		}
 10174  	}
 10175  
 10176  	if invalidParams.Len() > 0 {
 10177  		return invalidParams
 10178  	}
 10179  	return nil
 10180  }
 10181  
 10182  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 10183  func (s *CreateEmailIdentityInput) SetConfigurationSetName(v string) *CreateEmailIdentityInput {
 10184  	s.ConfigurationSetName = &v
 10185  	return s
 10186  }
 10187  
 10188  // SetDkimSigningAttributes sets the DkimSigningAttributes field's value.
 10189  func (s *CreateEmailIdentityInput) SetDkimSigningAttributes(v *DkimSigningAttributes) *CreateEmailIdentityInput {
 10190  	s.DkimSigningAttributes = v
 10191  	return s
 10192  }
 10193  
 10194  // SetEmailIdentity sets the EmailIdentity field's value.
 10195  func (s *CreateEmailIdentityInput) SetEmailIdentity(v string) *CreateEmailIdentityInput {
 10196  	s.EmailIdentity = &v
 10197  	return s
 10198  }
 10199  
 10200  // SetTags sets the Tags field's value.
 10201  func (s *CreateEmailIdentityInput) SetTags(v []*Tag) *CreateEmailIdentityInput {
 10202  	s.Tags = v
 10203  	return s
 10204  }
 10205  
 10206  // If the email identity is a domain, this object contains information about
 10207  // the DKIM verification status for the domain.
 10208  //
 10209  // If the email identity is an email address, this object is empty.
 10210  type CreateEmailIdentityOutput struct {
 10211  	_ struct{} `type:"structure"`
 10212  
 10213  	// An object that contains information about the DKIM attributes for the identity.
 10214  	DkimAttributes *DkimAttributes `type:"structure"`
 10215  
 10216  	// The email identity type. Note: the MANAGED_DOMAIN identity type is not supported.
 10217  	IdentityType *string `type:"string" enum:"IdentityType"`
 10218  
 10219  	// Specifies whether or not the identity is verified. You can only send email
 10220  	// from verified email addresses or domains. For more information about verifying
 10221  	// identities, see the Amazon Pinpoint User Guide (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html).
 10222  	VerifiedForSendingStatus *bool `type:"boolean"`
 10223  }
 10224  
 10225  // String returns the string representation.
 10226  //
 10227  // API parameter values that are decorated as "sensitive" in the API will not
 10228  // be included in the string output. The member name will be present, but the
 10229  // value will be replaced with "sensitive".
 10230  func (s CreateEmailIdentityOutput) String() string {
 10231  	return awsutil.Prettify(s)
 10232  }
 10233  
 10234  // GoString returns the string representation.
 10235  //
 10236  // API parameter values that are decorated as "sensitive" in the API will not
 10237  // be included in the string output. The member name will be present, but the
 10238  // value will be replaced with "sensitive".
 10239  func (s CreateEmailIdentityOutput) GoString() string {
 10240  	return s.String()
 10241  }
 10242  
 10243  // SetDkimAttributes sets the DkimAttributes field's value.
 10244  func (s *CreateEmailIdentityOutput) SetDkimAttributes(v *DkimAttributes) *CreateEmailIdentityOutput {
 10245  	s.DkimAttributes = v
 10246  	return s
 10247  }
 10248  
 10249  // SetIdentityType sets the IdentityType field's value.
 10250  func (s *CreateEmailIdentityOutput) SetIdentityType(v string) *CreateEmailIdentityOutput {
 10251  	s.IdentityType = &v
 10252  	return s
 10253  }
 10254  
 10255  // SetVerifiedForSendingStatus sets the VerifiedForSendingStatus field's value.
 10256  func (s *CreateEmailIdentityOutput) SetVerifiedForSendingStatus(v bool) *CreateEmailIdentityOutput {
 10257  	s.VerifiedForSendingStatus = &v
 10258  	return s
 10259  }
 10260  
 10261  // Represents a request to create a sending authorization policy for an identity.
 10262  // Sending authorization is an Amazon SES feature that enables you to authorize
 10263  // other senders to use your identities. For information, see the Amazon SES
 10264  // Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-management.html).
 10265  type CreateEmailIdentityPolicyInput struct {
 10266  	_ struct{} `type:"structure"`
 10267  
 10268  	// The email identity.
 10269  	//
 10270  	// EmailIdentity is a required field
 10271  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 10272  
 10273  	// The text of the policy in JSON format. The policy cannot exceed 4 KB.
 10274  	//
 10275  	// For information about the syntax of sending authorization policies, see the
 10276  	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).
 10277  	//
 10278  	// Policy is a required field
 10279  	Policy *string `min:"1" type:"string" required:"true"`
 10280  
 10281  	// The name of the policy.
 10282  	//
 10283  	// The policy name cannot exceed 64 characters and can only include alphanumeric
 10284  	// characters, dashes, and underscores.
 10285  	//
 10286  	// PolicyName is a required field
 10287  	PolicyName *string `location:"uri" locationName:"PolicyName" min:"1" type:"string" required:"true"`
 10288  }
 10289  
 10290  // String returns the string representation.
 10291  //
 10292  // API parameter values that are decorated as "sensitive" in the API will not
 10293  // be included in the string output. The member name will be present, but the
 10294  // value will be replaced with "sensitive".
 10295  func (s CreateEmailIdentityPolicyInput) String() string {
 10296  	return awsutil.Prettify(s)
 10297  }
 10298  
 10299  // GoString returns the string representation.
 10300  //
 10301  // API parameter values that are decorated as "sensitive" in the API will not
 10302  // be included in the string output. The member name will be present, but the
 10303  // value will be replaced with "sensitive".
 10304  func (s CreateEmailIdentityPolicyInput) GoString() string {
 10305  	return s.String()
 10306  }
 10307  
 10308  // Validate inspects the fields of the type to determine if they are valid.
 10309  func (s *CreateEmailIdentityPolicyInput) Validate() error {
 10310  	invalidParams := request.ErrInvalidParams{Context: "CreateEmailIdentityPolicyInput"}
 10311  	if s.EmailIdentity == nil {
 10312  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 10313  	}
 10314  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 10315  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 10316  	}
 10317  	if s.Policy == nil {
 10318  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 10319  	}
 10320  	if s.Policy != nil && len(*s.Policy) < 1 {
 10321  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 10322  	}
 10323  	if s.PolicyName == nil {
 10324  		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
 10325  	}
 10326  	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
 10327  		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
 10328  	}
 10329  
 10330  	if invalidParams.Len() > 0 {
 10331  		return invalidParams
 10332  	}
 10333  	return nil
 10334  }
 10335  
 10336  // SetEmailIdentity sets the EmailIdentity field's value.
 10337  func (s *CreateEmailIdentityPolicyInput) SetEmailIdentity(v string) *CreateEmailIdentityPolicyInput {
 10338  	s.EmailIdentity = &v
 10339  	return s
 10340  }
 10341  
 10342  // SetPolicy sets the Policy field's value.
 10343  func (s *CreateEmailIdentityPolicyInput) SetPolicy(v string) *CreateEmailIdentityPolicyInput {
 10344  	s.Policy = &v
 10345  	return s
 10346  }
 10347  
 10348  // SetPolicyName sets the PolicyName field's value.
 10349  func (s *CreateEmailIdentityPolicyInput) SetPolicyName(v string) *CreateEmailIdentityPolicyInput {
 10350  	s.PolicyName = &v
 10351  	return s
 10352  }
 10353  
 10354  // An HTTP 200 response if the request succeeds, or an error message if the
 10355  // request fails.
 10356  type CreateEmailIdentityPolicyOutput struct {
 10357  	_ struct{} `type:"structure" nopayload:"true"`
 10358  }
 10359  
 10360  // String returns the string representation.
 10361  //
 10362  // API parameter values that are decorated as "sensitive" in the API will not
 10363  // be included in the string output. The member name will be present, but the
 10364  // value will be replaced with "sensitive".
 10365  func (s CreateEmailIdentityPolicyOutput) String() string {
 10366  	return awsutil.Prettify(s)
 10367  }
 10368  
 10369  // GoString returns the string representation.
 10370  //
 10371  // API parameter values that are decorated as "sensitive" in the API will not
 10372  // be included in the string output. The member name will be present, but the
 10373  // value will be replaced with "sensitive".
 10374  func (s CreateEmailIdentityPolicyOutput) GoString() string {
 10375  	return s.String()
 10376  }
 10377  
 10378  // Represents a request to create an email template. For more information, see
 10379  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 10380  type CreateEmailTemplateInput struct {
 10381  	_ struct{} `type:"structure"`
 10382  
 10383  	// The content of the email template, composed of a subject line, an HTML part,
 10384  	// and a text-only part.
 10385  	//
 10386  	// TemplateContent is a required field
 10387  	TemplateContent *EmailTemplateContent `type:"structure" required:"true"`
 10388  
 10389  	// The name of the template.
 10390  	//
 10391  	// TemplateName is a required field
 10392  	TemplateName *string `min:"1" type:"string" required:"true"`
 10393  }
 10394  
 10395  // String returns the string representation.
 10396  //
 10397  // API parameter values that are decorated as "sensitive" in the API will not
 10398  // be included in the string output. The member name will be present, but the
 10399  // value will be replaced with "sensitive".
 10400  func (s CreateEmailTemplateInput) String() string {
 10401  	return awsutil.Prettify(s)
 10402  }
 10403  
 10404  // GoString returns the string representation.
 10405  //
 10406  // API parameter values that are decorated as "sensitive" in the API will not
 10407  // be included in the string output. The member name will be present, but the
 10408  // value will be replaced with "sensitive".
 10409  func (s CreateEmailTemplateInput) GoString() string {
 10410  	return s.String()
 10411  }
 10412  
 10413  // Validate inspects the fields of the type to determine if they are valid.
 10414  func (s *CreateEmailTemplateInput) Validate() error {
 10415  	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
 10416  	if s.TemplateContent == nil {
 10417  		invalidParams.Add(request.NewErrParamRequired("TemplateContent"))
 10418  	}
 10419  	if s.TemplateName == nil {
 10420  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 10421  	}
 10422  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 10423  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 10424  	}
 10425  
 10426  	if invalidParams.Len() > 0 {
 10427  		return invalidParams
 10428  	}
 10429  	return nil
 10430  }
 10431  
 10432  // SetTemplateContent sets the TemplateContent field's value.
 10433  func (s *CreateEmailTemplateInput) SetTemplateContent(v *EmailTemplateContent) *CreateEmailTemplateInput {
 10434  	s.TemplateContent = v
 10435  	return s
 10436  }
 10437  
 10438  // SetTemplateName sets the TemplateName field's value.
 10439  func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
 10440  	s.TemplateName = &v
 10441  	return s
 10442  }
 10443  
 10444  // If the action is successful, the service sends back an HTTP 200 response
 10445  // with an empty HTTP body.
 10446  type CreateEmailTemplateOutput struct {
 10447  	_ struct{} `type:"structure" nopayload:"true"`
 10448  }
 10449  
 10450  // String returns the string representation.
 10451  //
 10452  // API parameter values that are decorated as "sensitive" in the API will not
 10453  // be included in the string output. The member name will be present, but the
 10454  // value will be replaced with "sensitive".
 10455  func (s CreateEmailTemplateOutput) String() string {
 10456  	return awsutil.Prettify(s)
 10457  }
 10458  
 10459  // GoString returns the string representation.
 10460  //
 10461  // API parameter values that are decorated as "sensitive" in the API will not
 10462  // be included in the string output. The member name will be present, but the
 10463  // value will be replaced with "sensitive".
 10464  func (s CreateEmailTemplateOutput) GoString() string {
 10465  	return s.String()
 10466  }
 10467  
 10468  // Represents a request to create an import job from a data source for a data
 10469  // destination.
 10470  type CreateImportJobInput struct {
 10471  	_ struct{} `type:"structure"`
 10472  
 10473  	// The data source for the import job.
 10474  	//
 10475  	// ImportDataSource is a required field
 10476  	ImportDataSource *ImportDataSource `type:"structure" required:"true"`
 10477  
 10478  	// The destination for the import job.
 10479  	//
 10480  	// ImportDestination is a required field
 10481  	ImportDestination *ImportDestination `type:"structure" required:"true"`
 10482  }
 10483  
 10484  // String returns the string representation.
 10485  //
 10486  // API parameter values that are decorated as "sensitive" in the API will not
 10487  // be included in the string output. The member name will be present, but the
 10488  // value will be replaced with "sensitive".
 10489  func (s CreateImportJobInput) String() string {
 10490  	return awsutil.Prettify(s)
 10491  }
 10492  
 10493  // GoString returns the string representation.
 10494  //
 10495  // API parameter values that are decorated as "sensitive" in the API will not
 10496  // be included in the string output. The member name will be present, but the
 10497  // value will be replaced with "sensitive".
 10498  func (s CreateImportJobInput) GoString() string {
 10499  	return s.String()
 10500  }
 10501  
 10502  // Validate inspects the fields of the type to determine if they are valid.
 10503  func (s *CreateImportJobInput) Validate() error {
 10504  	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
 10505  	if s.ImportDataSource == nil {
 10506  		invalidParams.Add(request.NewErrParamRequired("ImportDataSource"))
 10507  	}
 10508  	if s.ImportDestination == nil {
 10509  		invalidParams.Add(request.NewErrParamRequired("ImportDestination"))
 10510  	}
 10511  	if s.ImportDataSource != nil {
 10512  		if err := s.ImportDataSource.Validate(); err != nil {
 10513  			invalidParams.AddNested("ImportDataSource", err.(request.ErrInvalidParams))
 10514  		}
 10515  	}
 10516  	if s.ImportDestination != nil {
 10517  		if err := s.ImportDestination.Validate(); err != nil {
 10518  			invalidParams.AddNested("ImportDestination", err.(request.ErrInvalidParams))
 10519  		}
 10520  	}
 10521  
 10522  	if invalidParams.Len() > 0 {
 10523  		return invalidParams
 10524  	}
 10525  	return nil
 10526  }
 10527  
 10528  // SetImportDataSource sets the ImportDataSource field's value.
 10529  func (s *CreateImportJobInput) SetImportDataSource(v *ImportDataSource) *CreateImportJobInput {
 10530  	s.ImportDataSource = v
 10531  	return s
 10532  }
 10533  
 10534  // SetImportDestination sets the ImportDestination field's value.
 10535  func (s *CreateImportJobInput) SetImportDestination(v *ImportDestination) *CreateImportJobInput {
 10536  	s.ImportDestination = v
 10537  	return s
 10538  }
 10539  
 10540  // An HTTP 200 response if the request succeeds, or an error message if the
 10541  // request fails.
 10542  type CreateImportJobOutput struct {
 10543  	_ struct{} `type:"structure"`
 10544  
 10545  	// A string that represents the import job ID.
 10546  	JobId *string `min:"1" type:"string"`
 10547  }
 10548  
 10549  // String returns the string representation.
 10550  //
 10551  // API parameter values that are decorated as "sensitive" in the API will not
 10552  // be included in the string output. The member name will be present, but the
 10553  // value will be replaced with "sensitive".
 10554  func (s CreateImportJobOutput) String() string {
 10555  	return awsutil.Prettify(s)
 10556  }
 10557  
 10558  // GoString returns the string representation.
 10559  //
 10560  // API parameter values that are decorated as "sensitive" in the API will not
 10561  // be included in the string output. The member name will be present, but the
 10562  // value will be replaced with "sensitive".
 10563  func (s CreateImportJobOutput) GoString() string {
 10564  	return s.String()
 10565  }
 10566  
 10567  // SetJobId sets the JobId field's value.
 10568  func (s *CreateImportJobOutput) SetJobId(v string) *CreateImportJobOutput {
 10569  	s.JobId = &v
 10570  	return s
 10571  }
 10572  
 10573  // Contains information about a custom verification email template.
 10574  type CustomVerificationEmailTemplateMetadata struct {
 10575  	_ struct{} `type:"structure"`
 10576  
 10577  	// The URL that the recipient of the verification email is sent to if his or
 10578  	// her address is not successfully verified.
 10579  	FailureRedirectionURL *string `type:"string"`
 10580  
 10581  	// The email address that the custom verification email is sent from.
 10582  	FromEmailAddress *string `type:"string"`
 10583  
 10584  	// The URL that the recipient of the verification email is sent to if his or
 10585  	// her address is successfully verified.
 10586  	SuccessRedirectionURL *string `type:"string"`
 10587  
 10588  	// The name of the custom verification email template.
 10589  	TemplateName *string `min:"1" type:"string"`
 10590  
 10591  	// The subject line of the custom verification email.
 10592  	TemplateSubject *string `type:"string"`
 10593  }
 10594  
 10595  // String returns the string representation.
 10596  //
 10597  // API parameter values that are decorated as "sensitive" in the API will not
 10598  // be included in the string output. The member name will be present, but the
 10599  // value will be replaced with "sensitive".
 10600  func (s CustomVerificationEmailTemplateMetadata) String() string {
 10601  	return awsutil.Prettify(s)
 10602  }
 10603  
 10604  // GoString returns the string representation.
 10605  //
 10606  // API parameter values that are decorated as "sensitive" in the API will not
 10607  // be included in the string output. The member name will be present, but the
 10608  // value will be replaced with "sensitive".
 10609  func (s CustomVerificationEmailTemplateMetadata) GoString() string {
 10610  	return s.String()
 10611  }
 10612  
 10613  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
 10614  func (s *CustomVerificationEmailTemplateMetadata) SetFailureRedirectionURL(v string) *CustomVerificationEmailTemplateMetadata {
 10615  	s.FailureRedirectionURL = &v
 10616  	return s
 10617  }
 10618  
 10619  // SetFromEmailAddress sets the FromEmailAddress field's value.
 10620  func (s *CustomVerificationEmailTemplateMetadata) SetFromEmailAddress(v string) *CustomVerificationEmailTemplateMetadata {
 10621  	s.FromEmailAddress = &v
 10622  	return s
 10623  }
 10624  
 10625  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
 10626  func (s *CustomVerificationEmailTemplateMetadata) SetSuccessRedirectionURL(v string) *CustomVerificationEmailTemplateMetadata {
 10627  	s.SuccessRedirectionURL = &v
 10628  	return s
 10629  }
 10630  
 10631  // SetTemplateName sets the TemplateName field's value.
 10632  func (s *CustomVerificationEmailTemplateMetadata) SetTemplateName(v string) *CustomVerificationEmailTemplateMetadata {
 10633  	s.TemplateName = &v
 10634  	return s
 10635  }
 10636  
 10637  // SetTemplateSubject sets the TemplateSubject field's value.
 10638  func (s *CustomVerificationEmailTemplateMetadata) SetTemplateSubject(v string) *CustomVerificationEmailTemplateMetadata {
 10639  	s.TemplateSubject = &v
 10640  	return s
 10641  }
 10642  
 10643  // An object that contains information about the volume of email sent on each
 10644  // day of the analysis period.
 10645  type DailyVolume struct {
 10646  	_ struct{} `type:"structure"`
 10647  
 10648  	// An object that contains inbox placement metrics for a specified day in the
 10649  	// analysis period, broken out by the recipient's email provider.
 10650  	DomainIspPlacements []*DomainIspPlacement `type:"list"`
 10651  
 10652  	// The date that the DailyVolume metrics apply to, in Unix time.
 10653  	StartDate *time.Time `type:"timestamp"`
 10654  
 10655  	// An object that contains inbox placement metrics for a specific day in the
 10656  	// analysis period.
 10657  	VolumeStatistics *VolumeStatistics `type:"structure"`
 10658  }
 10659  
 10660  // String returns the string representation.
 10661  //
 10662  // API parameter values that are decorated as "sensitive" in the API will not
 10663  // be included in the string output. The member name will be present, but the
 10664  // value will be replaced with "sensitive".
 10665  func (s DailyVolume) String() string {
 10666  	return awsutil.Prettify(s)
 10667  }
 10668  
 10669  // GoString returns the string representation.
 10670  //
 10671  // API parameter values that are decorated as "sensitive" in the API will not
 10672  // be included in the string output. The member name will be present, but the
 10673  // value will be replaced with "sensitive".
 10674  func (s DailyVolume) GoString() string {
 10675  	return s.String()
 10676  }
 10677  
 10678  // SetDomainIspPlacements sets the DomainIspPlacements field's value.
 10679  func (s *DailyVolume) SetDomainIspPlacements(v []*DomainIspPlacement) *DailyVolume {
 10680  	s.DomainIspPlacements = v
 10681  	return s
 10682  }
 10683  
 10684  // SetStartDate sets the StartDate field's value.
 10685  func (s *DailyVolume) SetStartDate(v time.Time) *DailyVolume {
 10686  	s.StartDate = &v
 10687  	return s
 10688  }
 10689  
 10690  // SetVolumeStatistics sets the VolumeStatistics field's value.
 10691  func (s *DailyVolume) SetVolumeStatistics(v *VolumeStatistics) *DailyVolume {
 10692  	s.VolumeStatistics = v
 10693  	return s
 10694  }
 10695  
 10696  // Contains information about a dedicated IP address that is associated with
 10697  // your Amazon SES account.
 10698  //
 10699  // To learn more about requesting dedicated IP addresses, see Requesting and
 10700  // Relinquishing Dedicated IP Addresses (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/dedicated-ip-case.html)
 10701  // in the Amazon SES Developer Guide.
 10702  type DedicatedIp struct {
 10703  	_ struct{} `type:"structure"`
 10704  
 10705  	// An IPv4 address.
 10706  	//
 10707  	// Ip is a required field
 10708  	Ip *string `type:"string" required:"true"`
 10709  
 10710  	// The name of the dedicated IP pool that the IP address is associated with.
 10711  	PoolName *string `type:"string"`
 10712  
 10713  	// Indicates how complete the dedicated IP warm-up process is. When this value
 10714  	// equals 1, the address has completed the warm-up process and is ready for
 10715  	// use.
 10716  	//
 10717  	// WarmupPercentage is a required field
 10718  	WarmupPercentage *int64 `type:"integer" required:"true"`
 10719  
 10720  	// The warm-up status of a dedicated IP address. The status can have one of
 10721  	// the following values:
 10722  	//
 10723  	//    * IN_PROGRESS – The IP address isn't ready to use because the dedicated
 10724  	//    IP warm-up process is ongoing.
 10725  	//
 10726  	//    * DONE – The dedicated IP warm-up process is complete, and the IP address
 10727  	//    is ready to use.
 10728  	//
 10729  	// WarmupStatus is a required field
 10730  	WarmupStatus *string `type:"string" required:"true" enum:"WarmupStatus"`
 10731  }
 10732  
 10733  // String returns the string representation.
 10734  //
 10735  // API parameter values that are decorated as "sensitive" in the API will not
 10736  // be included in the string output. The member name will be present, but the
 10737  // value will be replaced with "sensitive".
 10738  func (s DedicatedIp) String() string {
 10739  	return awsutil.Prettify(s)
 10740  }
 10741  
 10742  // GoString returns the string representation.
 10743  //
 10744  // API parameter values that are decorated as "sensitive" in the API will not
 10745  // be included in the string output. The member name will be present, but the
 10746  // value will be replaced with "sensitive".
 10747  func (s DedicatedIp) GoString() string {
 10748  	return s.String()
 10749  }
 10750  
 10751  // SetIp sets the Ip field's value.
 10752  func (s *DedicatedIp) SetIp(v string) *DedicatedIp {
 10753  	s.Ip = &v
 10754  	return s
 10755  }
 10756  
 10757  // SetPoolName sets the PoolName field's value.
 10758  func (s *DedicatedIp) SetPoolName(v string) *DedicatedIp {
 10759  	s.PoolName = &v
 10760  	return s
 10761  }
 10762  
 10763  // SetWarmupPercentage sets the WarmupPercentage field's value.
 10764  func (s *DedicatedIp) SetWarmupPercentage(v int64) *DedicatedIp {
 10765  	s.WarmupPercentage = &v
 10766  	return s
 10767  }
 10768  
 10769  // SetWarmupStatus sets the WarmupStatus field's value.
 10770  func (s *DedicatedIp) SetWarmupStatus(v string) *DedicatedIp {
 10771  	s.WarmupStatus = &v
 10772  	return s
 10773  }
 10774  
 10775  // A request to delete an event destination from a configuration set.
 10776  type DeleteConfigurationSetEventDestinationInput struct {
 10777  	_ struct{} `type:"structure" nopayload:"true"`
 10778  
 10779  	// The name of the configuration set that contains the event destination to
 10780  	// delete.
 10781  	//
 10782  	// ConfigurationSetName is a required field
 10783  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 10784  
 10785  	// The name of the event destination to delete.
 10786  	//
 10787  	// EventDestinationName is a required field
 10788  	EventDestinationName *string `location:"uri" locationName:"EventDestinationName" type:"string" required:"true"`
 10789  }
 10790  
 10791  // String returns the string representation.
 10792  //
 10793  // API parameter values that are decorated as "sensitive" in the API will not
 10794  // be included in the string output. The member name will be present, but the
 10795  // value will be replaced with "sensitive".
 10796  func (s DeleteConfigurationSetEventDestinationInput) String() string {
 10797  	return awsutil.Prettify(s)
 10798  }
 10799  
 10800  // GoString returns the string representation.
 10801  //
 10802  // API parameter values that are decorated as "sensitive" in the API will not
 10803  // be included in the string output. The member name will be present, but the
 10804  // value will be replaced with "sensitive".
 10805  func (s DeleteConfigurationSetEventDestinationInput) GoString() string {
 10806  	return s.String()
 10807  }
 10808  
 10809  // Validate inspects the fields of the type to determine if they are valid.
 10810  func (s *DeleteConfigurationSetEventDestinationInput) Validate() error {
 10811  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetEventDestinationInput"}
 10812  	if s.ConfigurationSetName == nil {
 10813  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 10814  	}
 10815  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 10816  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 10817  	}
 10818  	if s.EventDestinationName == nil {
 10819  		invalidParams.Add(request.NewErrParamRequired("EventDestinationName"))
 10820  	}
 10821  	if s.EventDestinationName != nil && len(*s.EventDestinationName) < 1 {
 10822  		invalidParams.Add(request.NewErrParamMinLen("EventDestinationName", 1))
 10823  	}
 10824  
 10825  	if invalidParams.Len() > 0 {
 10826  		return invalidParams
 10827  	}
 10828  	return nil
 10829  }
 10830  
 10831  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 10832  func (s *DeleteConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *DeleteConfigurationSetEventDestinationInput {
 10833  	s.ConfigurationSetName = &v
 10834  	return s
 10835  }
 10836  
 10837  // SetEventDestinationName sets the EventDestinationName field's value.
 10838  func (s *DeleteConfigurationSetEventDestinationInput) SetEventDestinationName(v string) *DeleteConfigurationSetEventDestinationInput {
 10839  	s.EventDestinationName = &v
 10840  	return s
 10841  }
 10842  
 10843  // An HTTP 200 response if the request succeeds, or an error message if the
 10844  // request fails.
 10845  type DeleteConfigurationSetEventDestinationOutput struct {
 10846  	_ struct{} `type:"structure" nopayload:"true"`
 10847  }
 10848  
 10849  // String returns the string representation.
 10850  //
 10851  // API parameter values that are decorated as "sensitive" in the API will not
 10852  // be included in the string output. The member name will be present, but the
 10853  // value will be replaced with "sensitive".
 10854  func (s DeleteConfigurationSetEventDestinationOutput) String() string {
 10855  	return awsutil.Prettify(s)
 10856  }
 10857  
 10858  // GoString returns the string representation.
 10859  //
 10860  // API parameter values that are decorated as "sensitive" in the API will not
 10861  // be included in the string output. The member name will be present, but the
 10862  // value will be replaced with "sensitive".
 10863  func (s DeleteConfigurationSetEventDestinationOutput) GoString() string {
 10864  	return s.String()
 10865  }
 10866  
 10867  // A request to delete a configuration set.
 10868  type DeleteConfigurationSetInput struct {
 10869  	_ struct{} `type:"structure" nopayload:"true"`
 10870  
 10871  	// The name of the configuration set.
 10872  	//
 10873  	// ConfigurationSetName is a required field
 10874  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 10875  }
 10876  
 10877  // String 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 DeleteConfigurationSetInput) String() string {
 10883  	return awsutil.Prettify(s)
 10884  }
 10885  
 10886  // GoString returns the string representation.
 10887  //
 10888  // API parameter values that are decorated as "sensitive" in the API will not
 10889  // be included in the string output. The member name will be present, but the
 10890  // value will be replaced with "sensitive".
 10891  func (s DeleteConfigurationSetInput) GoString() string {
 10892  	return s.String()
 10893  }
 10894  
 10895  // Validate inspects the fields of the type to determine if they are valid.
 10896  func (s *DeleteConfigurationSetInput) Validate() error {
 10897  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetInput"}
 10898  	if s.ConfigurationSetName == nil {
 10899  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 10900  	}
 10901  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 10902  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 10903  	}
 10904  
 10905  	if invalidParams.Len() > 0 {
 10906  		return invalidParams
 10907  	}
 10908  	return nil
 10909  }
 10910  
 10911  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 10912  func (s *DeleteConfigurationSetInput) SetConfigurationSetName(v string) *DeleteConfigurationSetInput {
 10913  	s.ConfigurationSetName = &v
 10914  	return s
 10915  }
 10916  
 10917  // An HTTP 200 response if the request succeeds, or an error message if the
 10918  // request fails.
 10919  type DeleteConfigurationSetOutput struct {
 10920  	_ struct{} `type:"structure" nopayload:"true"`
 10921  }
 10922  
 10923  // String returns the string representation.
 10924  //
 10925  // API parameter values that are decorated as "sensitive" in the API will not
 10926  // be included in the string output. The member name will be present, but the
 10927  // value will be replaced with "sensitive".
 10928  func (s DeleteConfigurationSetOutput) String() string {
 10929  	return awsutil.Prettify(s)
 10930  }
 10931  
 10932  // GoString returns the string representation.
 10933  //
 10934  // API parameter values that are decorated as "sensitive" in the API will not
 10935  // be included in the string output. The member name will be present, but the
 10936  // value will be replaced with "sensitive".
 10937  func (s DeleteConfigurationSetOutput) GoString() string {
 10938  	return s.String()
 10939  }
 10940  
 10941  type DeleteContactInput struct {
 10942  	_ struct{} `type:"structure" nopayload:"true"`
 10943  
 10944  	// The name of the contact list from which the contact should be removed.
 10945  	//
 10946  	// ContactListName is a required field
 10947  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 10948  
 10949  	// The contact's email address.
 10950  	//
 10951  	// EmailAddress is a required field
 10952  	EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"`
 10953  }
 10954  
 10955  // String returns the string representation.
 10956  //
 10957  // API parameter values that are decorated as "sensitive" in the API will not
 10958  // be included in the string output. The member name will be present, but the
 10959  // value will be replaced with "sensitive".
 10960  func (s DeleteContactInput) String() string {
 10961  	return awsutil.Prettify(s)
 10962  }
 10963  
 10964  // GoString returns the string representation.
 10965  //
 10966  // API parameter values that are decorated as "sensitive" in the API will not
 10967  // be included in the string output. The member name will be present, but the
 10968  // value will be replaced with "sensitive".
 10969  func (s DeleteContactInput) GoString() string {
 10970  	return s.String()
 10971  }
 10972  
 10973  // Validate inspects the fields of the type to determine if they are valid.
 10974  func (s *DeleteContactInput) Validate() error {
 10975  	invalidParams := request.ErrInvalidParams{Context: "DeleteContactInput"}
 10976  	if s.ContactListName == nil {
 10977  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 10978  	}
 10979  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 10980  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 10981  	}
 10982  	if s.EmailAddress == nil {
 10983  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 10984  	}
 10985  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
 10986  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
 10987  	}
 10988  
 10989  	if invalidParams.Len() > 0 {
 10990  		return invalidParams
 10991  	}
 10992  	return nil
 10993  }
 10994  
 10995  // SetContactListName sets the ContactListName field's value.
 10996  func (s *DeleteContactInput) SetContactListName(v string) *DeleteContactInput {
 10997  	s.ContactListName = &v
 10998  	return s
 10999  }
 11000  
 11001  // SetEmailAddress sets the EmailAddress field's value.
 11002  func (s *DeleteContactInput) SetEmailAddress(v string) *DeleteContactInput {
 11003  	s.EmailAddress = &v
 11004  	return s
 11005  }
 11006  
 11007  type DeleteContactListInput struct {
 11008  	_ struct{} `type:"structure" nopayload:"true"`
 11009  
 11010  	// The name of the contact list.
 11011  	//
 11012  	// ContactListName is a required field
 11013  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 11014  }
 11015  
 11016  // String returns the string representation.
 11017  //
 11018  // API parameter values that are decorated as "sensitive" in the API will not
 11019  // be included in the string output. The member name will be present, but the
 11020  // value will be replaced with "sensitive".
 11021  func (s DeleteContactListInput) String() string {
 11022  	return awsutil.Prettify(s)
 11023  }
 11024  
 11025  // GoString returns the string representation.
 11026  //
 11027  // API parameter values that are decorated as "sensitive" in the API will not
 11028  // be included in the string output. The member name will be present, but the
 11029  // value will be replaced with "sensitive".
 11030  func (s DeleteContactListInput) GoString() string {
 11031  	return s.String()
 11032  }
 11033  
 11034  // Validate inspects the fields of the type to determine if they are valid.
 11035  func (s *DeleteContactListInput) Validate() error {
 11036  	invalidParams := request.ErrInvalidParams{Context: "DeleteContactListInput"}
 11037  	if s.ContactListName == nil {
 11038  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 11039  	}
 11040  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 11041  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 11042  	}
 11043  
 11044  	if invalidParams.Len() > 0 {
 11045  		return invalidParams
 11046  	}
 11047  	return nil
 11048  }
 11049  
 11050  // SetContactListName sets the ContactListName field's value.
 11051  func (s *DeleteContactListInput) SetContactListName(v string) *DeleteContactListInput {
 11052  	s.ContactListName = &v
 11053  	return s
 11054  }
 11055  
 11056  type DeleteContactListOutput struct {
 11057  	_ struct{} `type:"structure" nopayload:"true"`
 11058  }
 11059  
 11060  // String returns the string representation.
 11061  //
 11062  // API parameter values that are decorated as "sensitive" in the API will not
 11063  // be included in the string output. The member name will be present, but the
 11064  // value will be replaced with "sensitive".
 11065  func (s DeleteContactListOutput) String() string {
 11066  	return awsutil.Prettify(s)
 11067  }
 11068  
 11069  // GoString returns the string representation.
 11070  //
 11071  // API parameter values that are decorated as "sensitive" in the API will not
 11072  // be included in the string output. The member name will be present, but the
 11073  // value will be replaced with "sensitive".
 11074  func (s DeleteContactListOutput) GoString() string {
 11075  	return s.String()
 11076  }
 11077  
 11078  type DeleteContactOutput struct {
 11079  	_ struct{} `type:"structure" nopayload:"true"`
 11080  }
 11081  
 11082  // String returns the string representation.
 11083  //
 11084  // API parameter values that are decorated as "sensitive" in the API will not
 11085  // be included in the string output. The member name will be present, but the
 11086  // value will be replaced with "sensitive".
 11087  func (s DeleteContactOutput) String() string {
 11088  	return awsutil.Prettify(s)
 11089  }
 11090  
 11091  // GoString returns the string representation.
 11092  //
 11093  // API parameter values that are decorated as "sensitive" in the API will not
 11094  // be included in the string output. The member name will be present, but the
 11095  // value will be replaced with "sensitive".
 11096  func (s DeleteContactOutput) GoString() string {
 11097  	return s.String()
 11098  }
 11099  
 11100  // Represents a request to delete an existing custom verification email template.
 11101  type DeleteCustomVerificationEmailTemplateInput struct {
 11102  	_ struct{} `type:"structure" nopayload:"true"`
 11103  
 11104  	// The name of the custom verification email template that you want to delete.
 11105  	//
 11106  	// TemplateName is a required field
 11107  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 11108  }
 11109  
 11110  // String returns the string representation.
 11111  //
 11112  // API parameter values that are decorated as "sensitive" in the API will not
 11113  // be included in the string output. The member name will be present, but the
 11114  // value will be replaced with "sensitive".
 11115  func (s DeleteCustomVerificationEmailTemplateInput) String() string {
 11116  	return awsutil.Prettify(s)
 11117  }
 11118  
 11119  // GoString returns the string representation.
 11120  //
 11121  // API parameter values that are decorated as "sensitive" in the API will not
 11122  // be included in the string output. The member name will be present, but the
 11123  // value will be replaced with "sensitive".
 11124  func (s DeleteCustomVerificationEmailTemplateInput) GoString() string {
 11125  	return s.String()
 11126  }
 11127  
 11128  // Validate inspects the fields of the type to determine if they are valid.
 11129  func (s *DeleteCustomVerificationEmailTemplateInput) Validate() error {
 11130  	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomVerificationEmailTemplateInput"}
 11131  	if s.TemplateName == nil {
 11132  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 11133  	}
 11134  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 11135  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 11136  	}
 11137  
 11138  	if invalidParams.Len() > 0 {
 11139  		return invalidParams
 11140  	}
 11141  	return nil
 11142  }
 11143  
 11144  // SetTemplateName sets the TemplateName field's value.
 11145  func (s *DeleteCustomVerificationEmailTemplateInput) SetTemplateName(v string) *DeleteCustomVerificationEmailTemplateInput {
 11146  	s.TemplateName = &v
 11147  	return s
 11148  }
 11149  
 11150  // If the action is successful, the service sends back an HTTP 200 response
 11151  // with an empty HTTP body.
 11152  type DeleteCustomVerificationEmailTemplateOutput struct {
 11153  	_ struct{} `type:"structure" nopayload:"true"`
 11154  }
 11155  
 11156  // String returns the string representation.
 11157  //
 11158  // API parameter values that are decorated as "sensitive" in the API will not
 11159  // be included in the string output. The member name will be present, but the
 11160  // value will be replaced with "sensitive".
 11161  func (s DeleteCustomVerificationEmailTemplateOutput) String() string {
 11162  	return awsutil.Prettify(s)
 11163  }
 11164  
 11165  // GoString returns the string representation.
 11166  //
 11167  // API parameter values that are decorated as "sensitive" in the API will not
 11168  // be included in the string output. The member name will be present, but the
 11169  // value will be replaced with "sensitive".
 11170  func (s DeleteCustomVerificationEmailTemplateOutput) GoString() string {
 11171  	return s.String()
 11172  }
 11173  
 11174  // A request to delete a dedicated IP pool.
 11175  type DeleteDedicatedIpPoolInput struct {
 11176  	_ struct{} `type:"structure" nopayload:"true"`
 11177  
 11178  	// The name of the dedicated IP pool that you want to delete.
 11179  	//
 11180  	// PoolName is a required field
 11181  	PoolName *string `location:"uri" locationName:"PoolName" type:"string" required:"true"`
 11182  }
 11183  
 11184  // String returns the string representation.
 11185  //
 11186  // API parameter values that are decorated as "sensitive" in the API will not
 11187  // be included in the string output. The member name will be present, but the
 11188  // value will be replaced with "sensitive".
 11189  func (s DeleteDedicatedIpPoolInput) String() string {
 11190  	return awsutil.Prettify(s)
 11191  }
 11192  
 11193  // GoString returns the string representation.
 11194  //
 11195  // API parameter values that are decorated as "sensitive" in the API will not
 11196  // be included in the string output. The member name will be present, but the
 11197  // value will be replaced with "sensitive".
 11198  func (s DeleteDedicatedIpPoolInput) GoString() string {
 11199  	return s.String()
 11200  }
 11201  
 11202  // Validate inspects the fields of the type to determine if they are valid.
 11203  func (s *DeleteDedicatedIpPoolInput) Validate() error {
 11204  	invalidParams := request.ErrInvalidParams{Context: "DeleteDedicatedIpPoolInput"}
 11205  	if s.PoolName == nil {
 11206  		invalidParams.Add(request.NewErrParamRequired("PoolName"))
 11207  	}
 11208  	if s.PoolName != nil && len(*s.PoolName) < 1 {
 11209  		invalidParams.Add(request.NewErrParamMinLen("PoolName", 1))
 11210  	}
 11211  
 11212  	if invalidParams.Len() > 0 {
 11213  		return invalidParams
 11214  	}
 11215  	return nil
 11216  }
 11217  
 11218  // SetPoolName sets the PoolName field's value.
 11219  func (s *DeleteDedicatedIpPoolInput) SetPoolName(v string) *DeleteDedicatedIpPoolInput {
 11220  	s.PoolName = &v
 11221  	return s
 11222  }
 11223  
 11224  // An HTTP 200 response if the request succeeds, or an error message if the
 11225  // request fails.
 11226  type DeleteDedicatedIpPoolOutput struct {
 11227  	_ struct{} `type:"structure" nopayload:"true"`
 11228  }
 11229  
 11230  // String returns the string representation.
 11231  //
 11232  // API parameter values that are decorated as "sensitive" in the API will not
 11233  // be included in the string output. The member name will be present, but the
 11234  // value will be replaced with "sensitive".
 11235  func (s DeleteDedicatedIpPoolOutput) String() string {
 11236  	return awsutil.Prettify(s)
 11237  }
 11238  
 11239  // GoString returns the string representation.
 11240  //
 11241  // API parameter values that are decorated as "sensitive" in the API will not
 11242  // be included in the string output. The member name will be present, but the
 11243  // value will be replaced with "sensitive".
 11244  func (s DeleteDedicatedIpPoolOutput) GoString() string {
 11245  	return s.String()
 11246  }
 11247  
 11248  // A request to delete an existing email identity. When you delete an identity,
 11249  // you lose the ability to send email from that identity. You can restore your
 11250  // ability to send email by completing the verification process for the identity
 11251  // again.
 11252  type DeleteEmailIdentityInput struct {
 11253  	_ struct{} `type:"structure" nopayload:"true"`
 11254  
 11255  	// The identity (that is, the email address or domain) to delete.
 11256  	//
 11257  	// EmailIdentity is a required field
 11258  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 11259  }
 11260  
 11261  // String returns the string representation.
 11262  //
 11263  // API parameter values that are decorated as "sensitive" in the API will not
 11264  // be included in the string output. The member name will be present, but the
 11265  // value will be replaced with "sensitive".
 11266  func (s DeleteEmailIdentityInput) String() string {
 11267  	return awsutil.Prettify(s)
 11268  }
 11269  
 11270  // GoString returns the string representation.
 11271  //
 11272  // API parameter values that are decorated as "sensitive" in the API will not
 11273  // be included in the string output. The member name will be present, but the
 11274  // value will be replaced with "sensitive".
 11275  func (s DeleteEmailIdentityInput) GoString() string {
 11276  	return s.String()
 11277  }
 11278  
 11279  // Validate inspects the fields of the type to determine if they are valid.
 11280  func (s *DeleteEmailIdentityInput) Validate() error {
 11281  	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailIdentityInput"}
 11282  	if s.EmailIdentity == nil {
 11283  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 11284  	}
 11285  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 11286  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 11287  	}
 11288  
 11289  	if invalidParams.Len() > 0 {
 11290  		return invalidParams
 11291  	}
 11292  	return nil
 11293  }
 11294  
 11295  // SetEmailIdentity sets the EmailIdentity field's value.
 11296  func (s *DeleteEmailIdentityInput) SetEmailIdentity(v string) *DeleteEmailIdentityInput {
 11297  	s.EmailIdentity = &v
 11298  	return s
 11299  }
 11300  
 11301  // An HTTP 200 response if the request succeeds, or an error message if the
 11302  // request fails.
 11303  type DeleteEmailIdentityOutput struct {
 11304  	_ struct{} `type:"structure" nopayload:"true"`
 11305  }
 11306  
 11307  // String returns the string representation.
 11308  //
 11309  // API parameter values that are decorated as "sensitive" in the API will not
 11310  // be included in the string output. The member name will be present, but the
 11311  // value will be replaced with "sensitive".
 11312  func (s DeleteEmailIdentityOutput) String() string {
 11313  	return awsutil.Prettify(s)
 11314  }
 11315  
 11316  // GoString returns the string representation.
 11317  //
 11318  // API parameter values that are decorated as "sensitive" in the API will not
 11319  // be included in the string output. The member name will be present, but the
 11320  // value will be replaced with "sensitive".
 11321  func (s DeleteEmailIdentityOutput) GoString() string {
 11322  	return s.String()
 11323  }
 11324  
 11325  // Represents a request to delete a sending authorization policy for an identity.
 11326  // Sending authorization is an Amazon SES feature that enables you to authorize
 11327  // other senders to use your identities. For information, see the Amazon SES
 11328  // Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-management.html).
 11329  type DeleteEmailIdentityPolicyInput struct {
 11330  	_ struct{} `type:"structure" nopayload:"true"`
 11331  
 11332  	// The email identity.
 11333  	//
 11334  	// EmailIdentity is a required field
 11335  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 11336  
 11337  	// The name of the policy.
 11338  	//
 11339  	// The policy name cannot exceed 64 characters and can only include alphanumeric
 11340  	// characters, dashes, and underscores.
 11341  	//
 11342  	// PolicyName is a required field
 11343  	PolicyName *string `location:"uri" locationName:"PolicyName" min:"1" type:"string" required:"true"`
 11344  }
 11345  
 11346  // String returns the string representation.
 11347  //
 11348  // API parameter values that are decorated as "sensitive" in the API will not
 11349  // be included in the string output. The member name will be present, but the
 11350  // value will be replaced with "sensitive".
 11351  func (s DeleteEmailIdentityPolicyInput) String() string {
 11352  	return awsutil.Prettify(s)
 11353  }
 11354  
 11355  // GoString returns the string representation.
 11356  //
 11357  // API parameter values that are decorated as "sensitive" in the API will not
 11358  // be included in the string output. The member name will be present, but the
 11359  // value will be replaced with "sensitive".
 11360  func (s DeleteEmailIdentityPolicyInput) GoString() string {
 11361  	return s.String()
 11362  }
 11363  
 11364  // Validate inspects the fields of the type to determine if they are valid.
 11365  func (s *DeleteEmailIdentityPolicyInput) Validate() error {
 11366  	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailIdentityPolicyInput"}
 11367  	if s.EmailIdentity == nil {
 11368  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 11369  	}
 11370  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 11371  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 11372  	}
 11373  	if s.PolicyName == nil {
 11374  		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
 11375  	}
 11376  	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
 11377  		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
 11378  	}
 11379  
 11380  	if invalidParams.Len() > 0 {
 11381  		return invalidParams
 11382  	}
 11383  	return nil
 11384  }
 11385  
 11386  // SetEmailIdentity sets the EmailIdentity field's value.
 11387  func (s *DeleteEmailIdentityPolicyInput) SetEmailIdentity(v string) *DeleteEmailIdentityPolicyInput {
 11388  	s.EmailIdentity = &v
 11389  	return s
 11390  }
 11391  
 11392  // SetPolicyName sets the PolicyName field's value.
 11393  func (s *DeleteEmailIdentityPolicyInput) SetPolicyName(v string) *DeleteEmailIdentityPolicyInput {
 11394  	s.PolicyName = &v
 11395  	return s
 11396  }
 11397  
 11398  // An HTTP 200 response if the request succeeds, or an error message if the
 11399  // request fails.
 11400  type DeleteEmailIdentityPolicyOutput struct {
 11401  	_ struct{} `type:"structure" nopayload:"true"`
 11402  }
 11403  
 11404  // String returns the string representation.
 11405  //
 11406  // API parameter values that are decorated as "sensitive" in the API will not
 11407  // be included in the string output. The member name will be present, but the
 11408  // value will be replaced with "sensitive".
 11409  func (s DeleteEmailIdentityPolicyOutput) String() string {
 11410  	return awsutil.Prettify(s)
 11411  }
 11412  
 11413  // GoString 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 DeleteEmailIdentityPolicyOutput) GoString() string {
 11419  	return s.String()
 11420  }
 11421  
 11422  // Represents a request to delete an email template. For more information, see
 11423  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 11424  type DeleteEmailTemplateInput struct {
 11425  	_ struct{} `type:"structure" nopayload:"true"`
 11426  
 11427  	// The name of the template to be deleted.
 11428  	//
 11429  	// TemplateName is a required field
 11430  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 11431  }
 11432  
 11433  // String returns the string representation.
 11434  //
 11435  // API parameter values that are decorated as "sensitive" in the API will not
 11436  // be included in the string output. The member name will be present, but the
 11437  // value will be replaced with "sensitive".
 11438  func (s DeleteEmailTemplateInput) String() string {
 11439  	return awsutil.Prettify(s)
 11440  }
 11441  
 11442  // GoString returns the string representation.
 11443  //
 11444  // API parameter values that are decorated as "sensitive" in the API will not
 11445  // be included in the string output. The member name will be present, but the
 11446  // value will be replaced with "sensitive".
 11447  func (s DeleteEmailTemplateInput) GoString() string {
 11448  	return s.String()
 11449  }
 11450  
 11451  // Validate inspects the fields of the type to determine if they are valid.
 11452  func (s *DeleteEmailTemplateInput) Validate() error {
 11453  	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
 11454  	if s.TemplateName == nil {
 11455  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 11456  	}
 11457  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 11458  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 11459  	}
 11460  
 11461  	if invalidParams.Len() > 0 {
 11462  		return invalidParams
 11463  	}
 11464  	return nil
 11465  }
 11466  
 11467  // SetTemplateName sets the TemplateName field's value.
 11468  func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
 11469  	s.TemplateName = &v
 11470  	return s
 11471  }
 11472  
 11473  // If the action is successful, the service sends back an HTTP 200 response
 11474  // with an empty HTTP body.
 11475  type DeleteEmailTemplateOutput struct {
 11476  	_ struct{} `type:"structure" nopayload:"true"`
 11477  }
 11478  
 11479  // String returns the string representation.
 11480  //
 11481  // API parameter values that are decorated as "sensitive" in the API will not
 11482  // be included in the string output. The member name will be present, but the
 11483  // value will be replaced with "sensitive".
 11484  func (s DeleteEmailTemplateOutput) String() string {
 11485  	return awsutil.Prettify(s)
 11486  }
 11487  
 11488  // GoString returns the string representation.
 11489  //
 11490  // API parameter values that are decorated as "sensitive" in the API will not
 11491  // be included in the string output. The member name will be present, but the
 11492  // value will be replaced with "sensitive".
 11493  func (s DeleteEmailTemplateOutput) GoString() string {
 11494  	return s.String()
 11495  }
 11496  
 11497  // A request to remove an email address from the suppression list for your account.
 11498  type DeleteSuppressedDestinationInput struct {
 11499  	_ struct{} `type:"structure" nopayload:"true"`
 11500  
 11501  	// The suppressed email destination to remove from the account suppression list.
 11502  	//
 11503  	// EmailAddress is a required field
 11504  	EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"`
 11505  }
 11506  
 11507  // String returns the string representation.
 11508  //
 11509  // API parameter values that are decorated as "sensitive" in the API will not
 11510  // be included in the string output. The member name will be present, but the
 11511  // value will be replaced with "sensitive".
 11512  func (s DeleteSuppressedDestinationInput) String() string {
 11513  	return awsutil.Prettify(s)
 11514  }
 11515  
 11516  // GoString returns the string representation.
 11517  //
 11518  // API parameter values that are decorated as "sensitive" in the API will not
 11519  // be included in the string output. The member name will be present, but the
 11520  // value will be replaced with "sensitive".
 11521  func (s DeleteSuppressedDestinationInput) GoString() string {
 11522  	return s.String()
 11523  }
 11524  
 11525  // Validate inspects the fields of the type to determine if they are valid.
 11526  func (s *DeleteSuppressedDestinationInput) Validate() error {
 11527  	invalidParams := request.ErrInvalidParams{Context: "DeleteSuppressedDestinationInput"}
 11528  	if s.EmailAddress == nil {
 11529  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 11530  	}
 11531  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
 11532  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
 11533  	}
 11534  
 11535  	if invalidParams.Len() > 0 {
 11536  		return invalidParams
 11537  	}
 11538  	return nil
 11539  }
 11540  
 11541  // SetEmailAddress sets the EmailAddress field's value.
 11542  func (s *DeleteSuppressedDestinationInput) SetEmailAddress(v string) *DeleteSuppressedDestinationInput {
 11543  	s.EmailAddress = &v
 11544  	return s
 11545  }
 11546  
 11547  // An HTTP 200 response if the request succeeds, or an error message if the
 11548  // request fails.
 11549  type DeleteSuppressedDestinationOutput struct {
 11550  	_ struct{} `type:"structure" nopayload:"true"`
 11551  }
 11552  
 11553  // String 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 DeleteSuppressedDestinationOutput) String() string {
 11559  	return awsutil.Prettify(s)
 11560  }
 11561  
 11562  // GoString returns the string representation.
 11563  //
 11564  // API parameter values that are decorated as "sensitive" in the API will not
 11565  // be included in the string output. The member name will be present, but the
 11566  // value will be replaced with "sensitive".
 11567  func (s DeleteSuppressedDestinationOutput) GoString() string {
 11568  	return s.String()
 11569  }
 11570  
 11571  // An object that contains metadata related to a predictive inbox placement
 11572  // test.
 11573  type DeliverabilityTestReport struct {
 11574  	_ struct{} `type:"structure"`
 11575  
 11576  	// The date and time when the predictive inbox placement test was created, in
 11577  	// Unix time format.
 11578  	CreateDate *time.Time `type:"timestamp"`
 11579  
 11580  	// The status of the predictive inbox placement test. If the status is IN_PROGRESS,
 11581  	// then the predictive inbox placement test is currently running. Predictive
 11582  	// inbox placement tests are usually complete within 24 hours of creating the
 11583  	// test. If the status is COMPLETE, then the test is finished, and you can use
 11584  	// the GetDeliverabilityTestReport to view the results of the test.
 11585  	DeliverabilityTestStatus *string `type:"string" enum:"DeliverabilityTestStatus"`
 11586  
 11587  	// The sender address that you specified for the predictive inbox placement
 11588  	// test.
 11589  	FromEmailAddress *string `type:"string"`
 11590  
 11591  	// A unique string that identifies the predictive inbox placement test.
 11592  	ReportId *string `type:"string"`
 11593  
 11594  	// A name that helps you identify a predictive inbox placement test report.
 11595  	ReportName *string `type:"string"`
 11596  
 11597  	// The subject line for an email that you submitted in a predictive inbox placement
 11598  	// test.
 11599  	Subject *string `type:"string"`
 11600  }
 11601  
 11602  // String returns the string representation.
 11603  //
 11604  // API parameter values that are decorated as "sensitive" in the API will not
 11605  // be included in the string output. The member name will be present, but the
 11606  // value will be replaced with "sensitive".
 11607  func (s DeliverabilityTestReport) String() string {
 11608  	return awsutil.Prettify(s)
 11609  }
 11610  
 11611  // GoString returns the string representation.
 11612  //
 11613  // API parameter values that are decorated as "sensitive" in the API will not
 11614  // be included in the string output. The member name will be present, but the
 11615  // value will be replaced with "sensitive".
 11616  func (s DeliverabilityTestReport) GoString() string {
 11617  	return s.String()
 11618  }
 11619  
 11620  // SetCreateDate sets the CreateDate field's value.
 11621  func (s *DeliverabilityTestReport) SetCreateDate(v time.Time) *DeliverabilityTestReport {
 11622  	s.CreateDate = &v
 11623  	return s
 11624  }
 11625  
 11626  // SetDeliverabilityTestStatus sets the DeliverabilityTestStatus field's value.
 11627  func (s *DeliverabilityTestReport) SetDeliverabilityTestStatus(v string) *DeliverabilityTestReport {
 11628  	s.DeliverabilityTestStatus = &v
 11629  	return s
 11630  }
 11631  
 11632  // SetFromEmailAddress sets the FromEmailAddress field's value.
 11633  func (s *DeliverabilityTestReport) SetFromEmailAddress(v string) *DeliverabilityTestReport {
 11634  	s.FromEmailAddress = &v
 11635  	return s
 11636  }
 11637  
 11638  // SetReportId sets the ReportId field's value.
 11639  func (s *DeliverabilityTestReport) SetReportId(v string) *DeliverabilityTestReport {
 11640  	s.ReportId = &v
 11641  	return s
 11642  }
 11643  
 11644  // SetReportName sets the ReportName field's value.
 11645  func (s *DeliverabilityTestReport) SetReportName(v string) *DeliverabilityTestReport {
 11646  	s.ReportName = &v
 11647  	return s
 11648  }
 11649  
 11650  // SetSubject sets the Subject field's value.
 11651  func (s *DeliverabilityTestReport) SetSubject(v string) *DeliverabilityTestReport {
 11652  	s.Subject = &v
 11653  	return s
 11654  }
 11655  
 11656  // Used to associate a configuration set with a dedicated IP pool.
 11657  type DeliveryOptions struct {
 11658  	_ struct{} `type:"structure"`
 11659  
 11660  	// The name of the dedicated IP pool to associate with the configuration set.
 11661  	SendingPoolName *string `type:"string"`
 11662  
 11663  	// Specifies whether messages that use the configuration set are required to
 11664  	// use Transport Layer Security (TLS). If the value is Require, messages are
 11665  	// only delivered if a TLS connection can be established. If the value is Optional,
 11666  	// messages can be delivered in plain text if a TLS connection can't be established.
 11667  	TlsPolicy *string `type:"string" enum:"TlsPolicy"`
 11668  }
 11669  
 11670  // String returns the string representation.
 11671  //
 11672  // API parameter values that are decorated as "sensitive" in the API will not
 11673  // be included in the string output. The member name will be present, but the
 11674  // value will be replaced with "sensitive".
 11675  func (s DeliveryOptions) String() string {
 11676  	return awsutil.Prettify(s)
 11677  }
 11678  
 11679  // GoString returns the string representation.
 11680  //
 11681  // API parameter values that are decorated as "sensitive" in the API will not
 11682  // be included in the string output. The member name will be present, but the
 11683  // value will be replaced with "sensitive".
 11684  func (s DeliveryOptions) GoString() string {
 11685  	return s.String()
 11686  }
 11687  
 11688  // SetSendingPoolName sets the SendingPoolName field's value.
 11689  func (s *DeliveryOptions) SetSendingPoolName(v string) *DeliveryOptions {
 11690  	s.SendingPoolName = &v
 11691  	return s
 11692  }
 11693  
 11694  // SetTlsPolicy sets the TlsPolicy field's value.
 11695  func (s *DeliveryOptions) SetTlsPolicy(v string) *DeliveryOptions {
 11696  	s.TlsPolicy = &v
 11697  	return s
 11698  }
 11699  
 11700  // An object that describes the recipients for an email.
 11701  //
 11702  // Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531
 11703  // (https://tools.ietf.org/html/rfc6531). For this reason, the local part of
 11704  // a destination email address (the part of the email address that precedes
 11705  // the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part).
 11706  // If the domain part of an address (the part after the @ sign) contains non-ASCII
 11707  // characters, they must be encoded using Punycode, as described in RFC3492
 11708  // (https://tools.ietf.org/html/rfc3492.html).
 11709  type Destination struct {
 11710  	_ struct{} `type:"structure"`
 11711  
 11712  	// An array that contains the email addresses of the "BCC" (blind carbon copy)
 11713  	// recipients for the email.
 11714  	BccAddresses []*string `type:"list"`
 11715  
 11716  	// An array that contains the email addresses of the "CC" (carbon copy) recipients
 11717  	// for the email.
 11718  	CcAddresses []*string `type:"list"`
 11719  
 11720  	// An array that contains the email addresses of the "To" recipients for the
 11721  	// email.
 11722  	ToAddresses []*string `type:"list"`
 11723  }
 11724  
 11725  // String returns the string representation.
 11726  //
 11727  // API parameter values that are decorated as "sensitive" in the API will not
 11728  // be included in the string output. The member name will be present, but the
 11729  // value will be replaced with "sensitive".
 11730  func (s Destination) String() string {
 11731  	return awsutil.Prettify(s)
 11732  }
 11733  
 11734  // GoString returns the string representation.
 11735  //
 11736  // API parameter values that are decorated as "sensitive" in the API will not
 11737  // be included in the string output. The member name will be present, but the
 11738  // value will be replaced with "sensitive".
 11739  func (s Destination) GoString() string {
 11740  	return s.String()
 11741  }
 11742  
 11743  // SetBccAddresses sets the BccAddresses field's value.
 11744  func (s *Destination) SetBccAddresses(v []*string) *Destination {
 11745  	s.BccAddresses = v
 11746  	return s
 11747  }
 11748  
 11749  // SetCcAddresses sets the CcAddresses field's value.
 11750  func (s *Destination) SetCcAddresses(v []*string) *Destination {
 11751  	s.CcAddresses = v
 11752  	return s
 11753  }
 11754  
 11755  // SetToAddresses sets the ToAddresses field's value.
 11756  func (s *Destination) SetToAddresses(v []*string) *Destination {
 11757  	s.ToAddresses = v
 11758  	return s
 11759  }
 11760  
 11761  // An object that contains information about the DKIM authentication status
 11762  // for an email identity.
 11763  //
 11764  // Amazon SES determines the authentication status by searching for specific
 11765  // records in the DNS configuration for the domain. If you used Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html)
 11766  // to set up DKIM authentication, Amazon SES tries to find three unique CNAME
 11767  // records in the DNS configuration for your domain. If you provided a public
 11768  // key to perform DKIM authentication, Amazon SES tries to find a TXT record
 11769  // that uses the selector that you specified. The value of the TXT record must
 11770  // be a public key that's paired with the private key that you specified in
 11771  // the process of creating the identity
 11772  type DkimAttributes struct {
 11773  	_ struct{} `type:"structure"`
 11774  
 11775  	// [Easy DKIM] The key length of the DKIM key pair in use.
 11776  	CurrentSigningKeyLength *string `type:"string" enum:"DkimSigningKeyLength"`
 11777  
 11778  	// [Easy DKIM] The last time a key pair was generated for this identity.
 11779  	LastKeyGenerationTimestamp *time.Time `type:"timestamp"`
 11780  
 11781  	// [Easy DKIM] The key length of the future DKIM key pair to be generated. This
 11782  	// can be changed at most once per day.
 11783  	NextSigningKeyLength *string `type:"string" enum:"DkimSigningKeyLength"`
 11784  
 11785  	// A string that indicates how DKIM was configured for the identity. These are
 11786  	// the possible values:
 11787  	//
 11788  	//    * AWS_SES – Indicates that DKIM was configured for the identity by using
 11789  	//    Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 11790  	//
 11791  	//    * EXTERNAL – Indicates that DKIM was configured for the identity by
 11792  	//    using Bring Your Own DKIM (BYODKIM).
 11793  	SigningAttributesOrigin *string `type:"string" enum:"DkimSigningAttributesOrigin"`
 11794  
 11795  	// If the value is true, then the messages that you send from the identity are
 11796  	// signed using DKIM. If the value is false, then the messages that you send
 11797  	// from the identity aren't DKIM-signed.
 11798  	SigningEnabled *bool `type:"boolean"`
 11799  
 11800  	// Describes whether or not Amazon SES has successfully located the DKIM records
 11801  	// in the DNS records for the domain. The status can be one of the following:
 11802  	//
 11803  	//    * PENDING – The verification process was initiated, but Amazon SES hasn't
 11804  	//    yet detected the DKIM records in the DNS configuration for the domain.
 11805  	//
 11806  	//    * SUCCESS – The verification process completed successfully.
 11807  	//
 11808  	//    * FAILED – The verification process failed. This typically occurs when
 11809  	//    Amazon SES fails to find the DKIM records in the DNS configuration of
 11810  	//    the domain.
 11811  	//
 11812  	//    * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from
 11813  	//    determining the DKIM authentication status of the domain.
 11814  	//
 11815  	//    * NOT_STARTED – The DKIM verification process hasn't been initiated
 11816  	//    for the domain.
 11817  	Status *string `type:"string" enum:"DkimStatus"`
 11818  
 11819  	// If you used Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html)
 11820  	// to configure DKIM authentication for the domain, then this object contains
 11821  	// a set of unique strings that you use to create a set of CNAME records that
 11822  	// you add to the DNS configuration for your domain. When Amazon SES detects
 11823  	// these records in the DNS configuration for your domain, the DKIM authentication
 11824  	// process is complete.
 11825  	//
 11826  	// If you configured DKIM authentication for the domain by providing your own
 11827  	// public-private key pair, then this object contains the selector for the public
 11828  	// key.
 11829  	//
 11830  	// Regardless of the DKIM authentication method you use, Amazon SES searches
 11831  	// for the appropriate records in the DNS configuration of the domain for up
 11832  	// to 72 hours.
 11833  	Tokens []*string `type:"list"`
 11834  }
 11835  
 11836  // String returns the string representation.
 11837  //
 11838  // API parameter values that are decorated as "sensitive" in the API will not
 11839  // be included in the string output. The member name will be present, but the
 11840  // value will be replaced with "sensitive".
 11841  func (s DkimAttributes) String() string {
 11842  	return awsutil.Prettify(s)
 11843  }
 11844  
 11845  // GoString returns the string representation.
 11846  //
 11847  // API parameter values that are decorated as "sensitive" in the API will not
 11848  // be included in the string output. The member name will be present, but the
 11849  // value will be replaced with "sensitive".
 11850  func (s DkimAttributes) GoString() string {
 11851  	return s.String()
 11852  }
 11853  
 11854  // SetCurrentSigningKeyLength sets the CurrentSigningKeyLength field's value.
 11855  func (s *DkimAttributes) SetCurrentSigningKeyLength(v string) *DkimAttributes {
 11856  	s.CurrentSigningKeyLength = &v
 11857  	return s
 11858  }
 11859  
 11860  // SetLastKeyGenerationTimestamp sets the LastKeyGenerationTimestamp field's value.
 11861  func (s *DkimAttributes) SetLastKeyGenerationTimestamp(v time.Time) *DkimAttributes {
 11862  	s.LastKeyGenerationTimestamp = &v
 11863  	return s
 11864  }
 11865  
 11866  // SetNextSigningKeyLength sets the NextSigningKeyLength field's value.
 11867  func (s *DkimAttributes) SetNextSigningKeyLength(v string) *DkimAttributes {
 11868  	s.NextSigningKeyLength = &v
 11869  	return s
 11870  }
 11871  
 11872  // SetSigningAttributesOrigin sets the SigningAttributesOrigin field's value.
 11873  func (s *DkimAttributes) SetSigningAttributesOrigin(v string) *DkimAttributes {
 11874  	s.SigningAttributesOrigin = &v
 11875  	return s
 11876  }
 11877  
 11878  // SetSigningEnabled sets the SigningEnabled field's value.
 11879  func (s *DkimAttributes) SetSigningEnabled(v bool) *DkimAttributes {
 11880  	s.SigningEnabled = &v
 11881  	return s
 11882  }
 11883  
 11884  // SetStatus sets the Status field's value.
 11885  func (s *DkimAttributes) SetStatus(v string) *DkimAttributes {
 11886  	s.Status = &v
 11887  	return s
 11888  }
 11889  
 11890  // SetTokens sets the Tokens field's value.
 11891  func (s *DkimAttributes) SetTokens(v []*string) *DkimAttributes {
 11892  	s.Tokens = v
 11893  	return s
 11894  }
 11895  
 11896  // An object that contains configuration for Bring Your Own DKIM (BYODKIM),
 11897  // or, for Easy DKIM
 11898  type DkimSigningAttributes struct {
 11899  	_ struct{} `type:"structure"`
 11900  
 11901  	// [Bring Your Own DKIM] A private key that's used to generate a DKIM signature.
 11902  	//
 11903  	// The private key must use 1024 or 2048-bit RSA encryption, and must be encoded
 11904  	// using base64 encoding.
 11905  	//
 11906  	// DomainSigningPrivateKey is a sensitive parameter and its value will be
 11907  	// replaced with "sensitive" in string returned by DkimSigningAttributes's
 11908  	// String and GoString methods.
 11909  	DomainSigningPrivateKey *string `min:"1" type:"string" sensitive:"true"`
 11910  
 11911  	// [Bring Your Own DKIM] A string that's used to identify a public key in the
 11912  	// DNS configuration for a domain.
 11913  	DomainSigningSelector *string `min:"1" type:"string"`
 11914  
 11915  	// [Easy DKIM] The key length of the future DKIM key pair to be generated. This
 11916  	// can be changed at most once per day.
 11917  	NextSigningKeyLength *string `type:"string" enum:"DkimSigningKeyLength"`
 11918  }
 11919  
 11920  // String returns the string representation.
 11921  //
 11922  // API parameter values that are decorated as "sensitive" in the API will not
 11923  // be included in the string output. The member name will be present, but the
 11924  // value will be replaced with "sensitive".
 11925  func (s DkimSigningAttributes) String() string {
 11926  	return awsutil.Prettify(s)
 11927  }
 11928  
 11929  // GoString returns the string representation.
 11930  //
 11931  // API parameter values that are decorated as "sensitive" in the API will not
 11932  // be included in the string output. The member name will be present, but the
 11933  // value will be replaced with "sensitive".
 11934  func (s DkimSigningAttributes) GoString() string {
 11935  	return s.String()
 11936  }
 11937  
 11938  // Validate inspects the fields of the type to determine if they are valid.
 11939  func (s *DkimSigningAttributes) Validate() error {
 11940  	invalidParams := request.ErrInvalidParams{Context: "DkimSigningAttributes"}
 11941  	if s.DomainSigningPrivateKey != nil && len(*s.DomainSigningPrivateKey) < 1 {
 11942  		invalidParams.Add(request.NewErrParamMinLen("DomainSigningPrivateKey", 1))
 11943  	}
 11944  	if s.DomainSigningSelector != nil && len(*s.DomainSigningSelector) < 1 {
 11945  		invalidParams.Add(request.NewErrParamMinLen("DomainSigningSelector", 1))
 11946  	}
 11947  
 11948  	if invalidParams.Len() > 0 {
 11949  		return invalidParams
 11950  	}
 11951  	return nil
 11952  }
 11953  
 11954  // SetDomainSigningPrivateKey sets the DomainSigningPrivateKey field's value.
 11955  func (s *DkimSigningAttributes) SetDomainSigningPrivateKey(v string) *DkimSigningAttributes {
 11956  	s.DomainSigningPrivateKey = &v
 11957  	return s
 11958  }
 11959  
 11960  // SetDomainSigningSelector sets the DomainSigningSelector field's value.
 11961  func (s *DkimSigningAttributes) SetDomainSigningSelector(v string) *DkimSigningAttributes {
 11962  	s.DomainSigningSelector = &v
 11963  	return s
 11964  }
 11965  
 11966  // SetNextSigningKeyLength sets the NextSigningKeyLength field's value.
 11967  func (s *DkimSigningAttributes) SetNextSigningKeyLength(v string) *DkimSigningAttributes {
 11968  	s.NextSigningKeyLength = &v
 11969  	return s
 11970  }
 11971  
 11972  // An object that contains the deliverability data for a specific campaign.
 11973  // This data is available for a campaign only if the campaign sent email by
 11974  // using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption
 11975  // operation).
 11976  type DomainDeliverabilityCampaign struct {
 11977  	_ struct{} `type:"structure"`
 11978  
 11979  	// The unique identifier for the campaign. The Deliverability dashboard automatically
 11980  	// generates and assigns this identifier to a campaign.
 11981  	CampaignId *string `type:"string"`
 11982  
 11983  	// The percentage of email messages that were deleted by recipients, without
 11984  	// being opened first. Due to technical limitations, this value only includes
 11985  	// recipients who opened the message by using an email client that supports
 11986  	// images.
 11987  	DeleteRate *float64 `type:"double"`
 11988  
 11989  	// The major email providers who handled the email message.
 11990  	Esps []*string `type:"list"`
 11991  
 11992  	// The first time, in Unix time format, when the email message was delivered
 11993  	// to any recipient's inbox. This value can help you determine how long it took
 11994  	// for a campaign to deliver an email message.
 11995  	FirstSeenDateTime *time.Time `type:"timestamp"`
 11996  
 11997  	// The verified email address that the email message was sent from.
 11998  	FromAddress *string `min:"1" type:"string"`
 11999  
 12000  	// The URL of an image that contains a snapshot of the email message that was
 12001  	// sent.
 12002  	ImageUrl *string `type:"string"`
 12003  
 12004  	// The number of email messages that were delivered to recipients’ inboxes.
 12005  	InboxCount *int64 `type:"long"`
 12006  
 12007  	// The last time, in Unix time format, when the email message was delivered
 12008  	// to any recipient's inbox. This value can help you determine how long it took
 12009  	// for a campaign to deliver an email message.
 12010  	LastSeenDateTime *time.Time `type:"timestamp"`
 12011  
 12012  	// The projected number of recipients that the email message was sent to.
 12013  	ProjectedVolume *int64 `type:"long"`
 12014  
 12015  	// The percentage of email messages that were opened and then deleted by recipients.
 12016  	// Due to technical limitations, this value only includes recipients who opened
 12017  	// the message by using an email client that supports images.
 12018  	ReadDeleteRate *float64 `type:"double"`
 12019  
 12020  	// The percentage of email messages that were opened by recipients. Due to technical
 12021  	// limitations, this value only includes recipients who opened the message by
 12022  	// using an email client that supports images.
 12023  	ReadRate *float64 `type:"double"`
 12024  
 12025  	// The IP addresses that were used to send the email message.
 12026  	SendingIps []*string `type:"list"`
 12027  
 12028  	// The number of email messages that were delivered to recipients' spam or junk
 12029  	// mail folders.
 12030  	SpamCount *int64 `type:"long"`
 12031  
 12032  	// The subject line, or title, of the email message.
 12033  	Subject *string `type:"string"`
 12034  }
 12035  
 12036  // String returns the string representation.
 12037  //
 12038  // API parameter values that are decorated as "sensitive" in the API will not
 12039  // be included in the string output. The member name will be present, but the
 12040  // value will be replaced with "sensitive".
 12041  func (s DomainDeliverabilityCampaign) String() string {
 12042  	return awsutil.Prettify(s)
 12043  }
 12044  
 12045  // GoString returns the string representation.
 12046  //
 12047  // API parameter values that are decorated as "sensitive" in the API will not
 12048  // be included in the string output. The member name will be present, but the
 12049  // value will be replaced with "sensitive".
 12050  func (s DomainDeliverabilityCampaign) GoString() string {
 12051  	return s.String()
 12052  }
 12053  
 12054  // SetCampaignId sets the CampaignId field's value.
 12055  func (s *DomainDeliverabilityCampaign) SetCampaignId(v string) *DomainDeliverabilityCampaign {
 12056  	s.CampaignId = &v
 12057  	return s
 12058  }
 12059  
 12060  // SetDeleteRate sets the DeleteRate field's value.
 12061  func (s *DomainDeliverabilityCampaign) SetDeleteRate(v float64) *DomainDeliverabilityCampaign {
 12062  	s.DeleteRate = &v
 12063  	return s
 12064  }
 12065  
 12066  // SetEsps sets the Esps field's value.
 12067  func (s *DomainDeliverabilityCampaign) SetEsps(v []*string) *DomainDeliverabilityCampaign {
 12068  	s.Esps = v
 12069  	return s
 12070  }
 12071  
 12072  // SetFirstSeenDateTime sets the FirstSeenDateTime field's value.
 12073  func (s *DomainDeliverabilityCampaign) SetFirstSeenDateTime(v time.Time) *DomainDeliverabilityCampaign {
 12074  	s.FirstSeenDateTime = &v
 12075  	return s
 12076  }
 12077  
 12078  // SetFromAddress sets the FromAddress field's value.
 12079  func (s *DomainDeliverabilityCampaign) SetFromAddress(v string) *DomainDeliverabilityCampaign {
 12080  	s.FromAddress = &v
 12081  	return s
 12082  }
 12083  
 12084  // SetImageUrl sets the ImageUrl field's value.
 12085  func (s *DomainDeliverabilityCampaign) SetImageUrl(v string) *DomainDeliverabilityCampaign {
 12086  	s.ImageUrl = &v
 12087  	return s
 12088  }
 12089  
 12090  // SetInboxCount sets the InboxCount field's value.
 12091  func (s *DomainDeliverabilityCampaign) SetInboxCount(v int64) *DomainDeliverabilityCampaign {
 12092  	s.InboxCount = &v
 12093  	return s
 12094  }
 12095  
 12096  // SetLastSeenDateTime sets the LastSeenDateTime field's value.
 12097  func (s *DomainDeliverabilityCampaign) SetLastSeenDateTime(v time.Time) *DomainDeliverabilityCampaign {
 12098  	s.LastSeenDateTime = &v
 12099  	return s
 12100  }
 12101  
 12102  // SetProjectedVolume sets the ProjectedVolume field's value.
 12103  func (s *DomainDeliverabilityCampaign) SetProjectedVolume(v int64) *DomainDeliverabilityCampaign {
 12104  	s.ProjectedVolume = &v
 12105  	return s
 12106  }
 12107  
 12108  // SetReadDeleteRate sets the ReadDeleteRate field's value.
 12109  func (s *DomainDeliverabilityCampaign) SetReadDeleteRate(v float64) *DomainDeliverabilityCampaign {
 12110  	s.ReadDeleteRate = &v
 12111  	return s
 12112  }
 12113  
 12114  // SetReadRate sets the ReadRate field's value.
 12115  func (s *DomainDeliverabilityCampaign) SetReadRate(v float64) *DomainDeliverabilityCampaign {
 12116  	s.ReadRate = &v
 12117  	return s
 12118  }
 12119  
 12120  // SetSendingIps sets the SendingIps field's value.
 12121  func (s *DomainDeliverabilityCampaign) SetSendingIps(v []*string) *DomainDeliverabilityCampaign {
 12122  	s.SendingIps = v
 12123  	return s
 12124  }
 12125  
 12126  // SetSpamCount sets the SpamCount field's value.
 12127  func (s *DomainDeliverabilityCampaign) SetSpamCount(v int64) *DomainDeliverabilityCampaign {
 12128  	s.SpamCount = &v
 12129  	return s
 12130  }
 12131  
 12132  // SetSubject sets the Subject field's value.
 12133  func (s *DomainDeliverabilityCampaign) SetSubject(v string) *DomainDeliverabilityCampaign {
 12134  	s.Subject = &v
 12135  	return s
 12136  }
 12137  
 12138  // An object that contains information about the Deliverability dashboard subscription
 12139  // for a verified domain that you use to send email and currently has an active
 12140  // Deliverability dashboard subscription. If a Deliverability dashboard subscription
 12141  // is active for a domain, you gain access to reputation, inbox placement, and
 12142  // other metrics for the domain.
 12143  type DomainDeliverabilityTrackingOption struct {
 12144  	_ struct{} `type:"structure"`
 12145  
 12146  	// A verified domain that’s associated with your Amazon Web Services account
 12147  	// and currently has an active Deliverability dashboard subscription.
 12148  	Domain *string `type:"string"`
 12149  
 12150  	// An object that contains information about the inbox placement data settings
 12151  	// for the domain.
 12152  	InboxPlacementTrackingOption *InboxPlacementTrackingOption `type:"structure"`
 12153  
 12154  	// The date, in Unix time format, when you enabled the Deliverability dashboard
 12155  	// for the domain.
 12156  	SubscriptionStartDate *time.Time `type:"timestamp"`
 12157  }
 12158  
 12159  // String returns the string representation.
 12160  //
 12161  // API parameter values that are decorated as "sensitive" in the API will not
 12162  // be included in the string output. The member name will be present, but the
 12163  // value will be replaced with "sensitive".
 12164  func (s DomainDeliverabilityTrackingOption) String() string {
 12165  	return awsutil.Prettify(s)
 12166  }
 12167  
 12168  // GoString returns the string representation.
 12169  //
 12170  // API parameter values that are decorated as "sensitive" in the API will not
 12171  // be included in the string output. The member name will be present, but the
 12172  // value will be replaced with "sensitive".
 12173  func (s DomainDeliverabilityTrackingOption) GoString() string {
 12174  	return s.String()
 12175  }
 12176  
 12177  // SetDomain sets the Domain field's value.
 12178  func (s *DomainDeliverabilityTrackingOption) SetDomain(v string) *DomainDeliverabilityTrackingOption {
 12179  	s.Domain = &v
 12180  	return s
 12181  }
 12182  
 12183  // SetInboxPlacementTrackingOption sets the InboxPlacementTrackingOption field's value.
 12184  func (s *DomainDeliverabilityTrackingOption) SetInboxPlacementTrackingOption(v *InboxPlacementTrackingOption) *DomainDeliverabilityTrackingOption {
 12185  	s.InboxPlacementTrackingOption = v
 12186  	return s
 12187  }
 12188  
 12189  // SetSubscriptionStartDate sets the SubscriptionStartDate field's value.
 12190  func (s *DomainDeliverabilityTrackingOption) SetSubscriptionStartDate(v time.Time) *DomainDeliverabilityTrackingOption {
 12191  	s.SubscriptionStartDate = &v
 12192  	return s
 12193  }
 12194  
 12195  // An object that contains inbox placement data for email sent from one of your
 12196  // email domains to a specific email provider.
 12197  type DomainIspPlacement struct {
 12198  	_ struct{} `type:"structure"`
 12199  
 12200  	// The percentage of messages that were sent from the selected domain to the
 12201  	// specified email provider that arrived in recipients' inboxes.
 12202  	InboxPercentage *float64 `type:"double"`
 12203  
 12204  	// The total number of messages that were sent from the selected domain to the
 12205  	// specified email provider that arrived in recipients' inboxes.
 12206  	InboxRawCount *int64 `type:"long"`
 12207  
 12208  	// The name of the email provider that the inbox placement data applies to.
 12209  	IspName *string `type:"string"`
 12210  
 12211  	// The percentage of messages that were sent from the selected domain to the
 12212  	// specified email provider that arrived in recipients' spam or junk mail folders.
 12213  	SpamPercentage *float64 `type:"double"`
 12214  
 12215  	// The total number of messages that were sent from the selected domain to the
 12216  	// specified email provider that arrived in recipients' spam or junk mail folders.
 12217  	SpamRawCount *int64 `type:"long"`
 12218  }
 12219  
 12220  // String returns the string representation.
 12221  //
 12222  // API parameter values that are decorated as "sensitive" in the API will not
 12223  // be included in the string output. The member name will be present, but the
 12224  // value will be replaced with "sensitive".
 12225  func (s DomainIspPlacement) String() string {
 12226  	return awsutil.Prettify(s)
 12227  }
 12228  
 12229  // GoString returns the string representation.
 12230  //
 12231  // API parameter values that are decorated as "sensitive" in the API will not
 12232  // be included in the string output. The member name will be present, but the
 12233  // value will be replaced with "sensitive".
 12234  func (s DomainIspPlacement) GoString() string {
 12235  	return s.String()
 12236  }
 12237  
 12238  // SetInboxPercentage sets the InboxPercentage field's value.
 12239  func (s *DomainIspPlacement) SetInboxPercentage(v float64) *DomainIspPlacement {
 12240  	s.InboxPercentage = &v
 12241  	return s
 12242  }
 12243  
 12244  // SetInboxRawCount sets the InboxRawCount field's value.
 12245  func (s *DomainIspPlacement) SetInboxRawCount(v int64) *DomainIspPlacement {
 12246  	s.InboxRawCount = &v
 12247  	return s
 12248  }
 12249  
 12250  // SetIspName sets the IspName field's value.
 12251  func (s *DomainIspPlacement) SetIspName(v string) *DomainIspPlacement {
 12252  	s.IspName = &v
 12253  	return s
 12254  }
 12255  
 12256  // SetSpamPercentage sets the SpamPercentage field's value.
 12257  func (s *DomainIspPlacement) SetSpamPercentage(v float64) *DomainIspPlacement {
 12258  	s.SpamPercentage = &v
 12259  	return s
 12260  }
 12261  
 12262  // SetSpamRawCount sets the SpamRawCount field's value.
 12263  func (s *DomainIspPlacement) SetSpamRawCount(v int64) *DomainIspPlacement {
 12264  	s.SpamRawCount = &v
 12265  	return s
 12266  }
 12267  
 12268  // An object that defines the entire content of the email, including the message
 12269  // headers and the body content. You can create a simple email message, in which
 12270  // you specify the subject and the text and HTML versions of the message body.
 12271  // You can also create raw messages, in which you specify a complete MIME-formatted
 12272  // message. Raw messages can include attachments and custom headers.
 12273  type EmailContent struct {
 12274  	_ struct{} `type:"structure"`
 12275  
 12276  	// The raw email message. The message has to meet the following criteria:
 12277  	//
 12278  	//    * The message has to contain a header and a body, separated by one blank
 12279  	//    line.
 12280  	//
 12281  	//    * All of the required header fields must be present in the message.
 12282  	//
 12283  	//    * Each part of a multipart MIME message must be formatted properly.
 12284  	//
 12285  	//    * If you include attachments, they must be in a file format that the Amazon
 12286  	//    SES API v2 supports.
 12287  	//
 12288  	//    * The entire message must be Base64 encoded.
 12289  	//
 12290  	//    * If any of the MIME parts in your message contain content that is outside
 12291  	//    of the 7-bit ASCII character range, you should encode that content to
 12292  	//    ensure that recipients' email clients render the message properly.
 12293  	//
 12294  	//    * The length of any single line of text in the message can't exceed 1,000
 12295  	//    characters. This restriction is defined in RFC 5321 (https://tools.ietf.org/html/rfc5321).
 12296  	Raw *RawMessage `type:"structure"`
 12297  
 12298  	// The simple email message. The message consists of a subject and a message
 12299  	// body.
 12300  	Simple *Message `type:"structure"`
 12301  
 12302  	// The template to use for the email message.
 12303  	Template *Template `type:"structure"`
 12304  }
 12305  
 12306  // String returns the string representation.
 12307  //
 12308  // API parameter values that are decorated as "sensitive" in the API will not
 12309  // be included in the string output. The member name will be present, but the
 12310  // value will be replaced with "sensitive".
 12311  func (s EmailContent) String() string {
 12312  	return awsutil.Prettify(s)
 12313  }
 12314  
 12315  // GoString returns the string representation.
 12316  //
 12317  // API parameter values that are decorated as "sensitive" in the API will not
 12318  // be included in the string output. The member name will be present, but the
 12319  // value will be replaced with "sensitive".
 12320  func (s EmailContent) GoString() string {
 12321  	return s.String()
 12322  }
 12323  
 12324  // Validate inspects the fields of the type to determine if they are valid.
 12325  func (s *EmailContent) Validate() error {
 12326  	invalidParams := request.ErrInvalidParams{Context: "EmailContent"}
 12327  	if s.Raw != nil {
 12328  		if err := s.Raw.Validate(); err != nil {
 12329  			invalidParams.AddNested("Raw", err.(request.ErrInvalidParams))
 12330  		}
 12331  	}
 12332  	if s.Simple != nil {
 12333  		if err := s.Simple.Validate(); err != nil {
 12334  			invalidParams.AddNested("Simple", err.(request.ErrInvalidParams))
 12335  		}
 12336  	}
 12337  	if s.Template != nil {
 12338  		if err := s.Template.Validate(); err != nil {
 12339  			invalidParams.AddNested("Template", err.(request.ErrInvalidParams))
 12340  		}
 12341  	}
 12342  
 12343  	if invalidParams.Len() > 0 {
 12344  		return invalidParams
 12345  	}
 12346  	return nil
 12347  }
 12348  
 12349  // SetRaw sets the Raw field's value.
 12350  func (s *EmailContent) SetRaw(v *RawMessage) *EmailContent {
 12351  	s.Raw = v
 12352  	return s
 12353  }
 12354  
 12355  // SetSimple sets the Simple field's value.
 12356  func (s *EmailContent) SetSimple(v *Message) *EmailContent {
 12357  	s.Simple = v
 12358  	return s
 12359  }
 12360  
 12361  // SetTemplate sets the Template field's value.
 12362  func (s *EmailContent) SetTemplate(v *Template) *EmailContent {
 12363  	s.Template = v
 12364  	return s
 12365  }
 12366  
 12367  // The content of the email, composed of a subject line, an HTML part, and a
 12368  // text-only part.
 12369  type EmailTemplateContent struct {
 12370  	_ struct{} `type:"structure"`
 12371  
 12372  	// The HTML body of the email.
 12373  	Html *string `type:"string"`
 12374  
 12375  	// The subject line of the email.
 12376  	Subject *string `type:"string"`
 12377  
 12378  	// The email body that will be visible to recipients whose email clients do
 12379  	// not display HTML.
 12380  	Text *string `type:"string"`
 12381  }
 12382  
 12383  // String returns the string representation.
 12384  //
 12385  // API parameter values that are decorated as "sensitive" in the API will not
 12386  // be included in the string output. The member name will be present, but the
 12387  // value will be replaced with "sensitive".
 12388  func (s EmailTemplateContent) String() string {
 12389  	return awsutil.Prettify(s)
 12390  }
 12391  
 12392  // GoString returns the string representation.
 12393  //
 12394  // API parameter values that are decorated as "sensitive" in the API will not
 12395  // be included in the string output. The member name will be present, but the
 12396  // value will be replaced with "sensitive".
 12397  func (s EmailTemplateContent) GoString() string {
 12398  	return s.String()
 12399  }
 12400  
 12401  // SetHtml sets the Html field's value.
 12402  func (s *EmailTemplateContent) SetHtml(v string) *EmailTemplateContent {
 12403  	s.Html = &v
 12404  	return s
 12405  }
 12406  
 12407  // SetSubject sets the Subject field's value.
 12408  func (s *EmailTemplateContent) SetSubject(v string) *EmailTemplateContent {
 12409  	s.Subject = &v
 12410  	return s
 12411  }
 12412  
 12413  // SetText sets the Text field's value.
 12414  func (s *EmailTemplateContent) SetText(v string) *EmailTemplateContent {
 12415  	s.Text = &v
 12416  	return s
 12417  }
 12418  
 12419  // Contains information about an email template.
 12420  type EmailTemplateMetadata struct {
 12421  	_ struct{} `type:"structure"`
 12422  
 12423  	// The time and date the template was created.
 12424  	CreatedTimestamp *time.Time `type:"timestamp"`
 12425  
 12426  	// The name of the template.
 12427  	TemplateName *string `min:"1" type:"string"`
 12428  }
 12429  
 12430  // String returns the string representation.
 12431  //
 12432  // API parameter values that are decorated as "sensitive" in the API will not
 12433  // be included in the string output. The member name will be present, but the
 12434  // value will be replaced with "sensitive".
 12435  func (s EmailTemplateMetadata) String() string {
 12436  	return awsutil.Prettify(s)
 12437  }
 12438  
 12439  // GoString returns the string representation.
 12440  //
 12441  // API parameter values that are decorated as "sensitive" in the API will not
 12442  // be included in the string output. The member name will be present, but the
 12443  // value will be replaced with "sensitive".
 12444  func (s EmailTemplateMetadata) GoString() string {
 12445  	return s.String()
 12446  }
 12447  
 12448  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 12449  func (s *EmailTemplateMetadata) SetCreatedTimestamp(v time.Time) *EmailTemplateMetadata {
 12450  	s.CreatedTimestamp = &v
 12451  	return s
 12452  }
 12453  
 12454  // SetTemplateName sets the TemplateName field's value.
 12455  func (s *EmailTemplateMetadata) SetTemplateName(v string) *EmailTemplateMetadata {
 12456  	s.TemplateName = &v
 12457  	return s
 12458  }
 12459  
 12460  // In the Amazon SES API v2, events include message sends, deliveries, opens,
 12461  // clicks, bounces, complaints and delivery delays. Event destinations are places
 12462  // that you can send information about these events to. For example, you can
 12463  // send event data to Amazon SNS to receive notifications when you receive bounces
 12464  // or complaints, or you can use Amazon Kinesis Data Firehose to stream data
 12465  // to Amazon S3 for long-term storage.
 12466  type EventDestination struct {
 12467  	_ struct{} `type:"structure"`
 12468  
 12469  	// An object that defines an Amazon CloudWatch destination for email events.
 12470  	// You can use Amazon CloudWatch to monitor and gain insights on your email
 12471  	// sending metrics.
 12472  	CloudWatchDestination *CloudWatchDestination `type:"structure"`
 12473  
 12474  	// If true, the event destination is enabled. When the event destination is
 12475  	// enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.
 12476  	//
 12477  	// If false, the event destination is disabled. When the event destination is
 12478  	// disabled, events aren't sent to the specified destinations.
 12479  	Enabled *bool `type:"boolean"`
 12480  
 12481  	// An object that defines an Amazon Kinesis Data Firehose destination for email
 12482  	// events. You can use Amazon Kinesis Data Firehose to stream data to other
 12483  	// services, such as Amazon S3 and Amazon Redshift.
 12484  	KinesisFirehoseDestination *KinesisFirehoseDestination `type:"structure"`
 12485  
 12486  	// The types of events that Amazon SES sends to the specified event destinations.
 12487  	//
 12488  	// MatchingEventTypes is a required field
 12489  	MatchingEventTypes []*string `type:"list" required:"true"`
 12490  
 12491  	// A name that identifies the event destination.
 12492  	//
 12493  	// Name is a required field
 12494  	Name *string `type:"string" required:"true"`
 12495  
 12496  	// An object that defines an Amazon Pinpoint project destination for email events.
 12497  	// You can send email event data to a Amazon Pinpoint project to view metrics
 12498  	// using the Transactional Messaging dashboards that are built in to Amazon
 12499  	// Pinpoint. For more information, see Transactional Messaging Charts (https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-transactional-messages.html)
 12500  	// in the Amazon Pinpoint User Guide.
 12501  	PinpointDestination *PinpointDestination `type:"structure"`
 12502  
 12503  	// An object that defines an Amazon SNS destination for email events. You can
 12504  	// use Amazon SNS to send notification when certain email events occur.
 12505  	SnsDestination *SnsDestination `type:"structure"`
 12506  }
 12507  
 12508  // String returns the string representation.
 12509  //
 12510  // API parameter values that are decorated as "sensitive" in the API will not
 12511  // be included in the string output. The member name will be present, but the
 12512  // value will be replaced with "sensitive".
 12513  func (s EventDestination) String() string {
 12514  	return awsutil.Prettify(s)
 12515  }
 12516  
 12517  // GoString returns the string representation.
 12518  //
 12519  // API parameter values that are decorated as "sensitive" in the API will not
 12520  // be included in the string output. The member name will be present, but the
 12521  // value will be replaced with "sensitive".
 12522  func (s EventDestination) GoString() string {
 12523  	return s.String()
 12524  }
 12525  
 12526  // SetCloudWatchDestination sets the CloudWatchDestination field's value.
 12527  func (s *EventDestination) SetCloudWatchDestination(v *CloudWatchDestination) *EventDestination {
 12528  	s.CloudWatchDestination = v
 12529  	return s
 12530  }
 12531  
 12532  // SetEnabled sets the Enabled field's value.
 12533  func (s *EventDestination) SetEnabled(v bool) *EventDestination {
 12534  	s.Enabled = &v
 12535  	return s
 12536  }
 12537  
 12538  // SetKinesisFirehoseDestination sets the KinesisFirehoseDestination field's value.
 12539  func (s *EventDestination) SetKinesisFirehoseDestination(v *KinesisFirehoseDestination) *EventDestination {
 12540  	s.KinesisFirehoseDestination = v
 12541  	return s
 12542  }
 12543  
 12544  // SetMatchingEventTypes sets the MatchingEventTypes field's value.
 12545  func (s *EventDestination) SetMatchingEventTypes(v []*string) *EventDestination {
 12546  	s.MatchingEventTypes = v
 12547  	return s
 12548  }
 12549  
 12550  // SetName sets the Name field's value.
 12551  func (s *EventDestination) SetName(v string) *EventDestination {
 12552  	s.Name = &v
 12553  	return s
 12554  }
 12555  
 12556  // SetPinpointDestination sets the PinpointDestination field's value.
 12557  func (s *EventDestination) SetPinpointDestination(v *PinpointDestination) *EventDestination {
 12558  	s.PinpointDestination = v
 12559  	return s
 12560  }
 12561  
 12562  // SetSnsDestination sets the SnsDestination field's value.
 12563  func (s *EventDestination) SetSnsDestination(v *SnsDestination) *EventDestination {
 12564  	s.SnsDestination = v
 12565  	return s
 12566  }
 12567  
 12568  // An object that defines the event destination. Specifically, it defines which
 12569  // services receive events from emails sent using the configuration set that
 12570  // the event destination is associated with. Also defines the types of events
 12571  // that are sent to the event destination.
 12572  type EventDestinationDefinition struct {
 12573  	_ struct{} `type:"structure"`
 12574  
 12575  	// An object that defines an Amazon CloudWatch destination for email events.
 12576  	// You can use Amazon CloudWatch to monitor and gain insights on your email
 12577  	// sending metrics.
 12578  	CloudWatchDestination *CloudWatchDestination `type:"structure"`
 12579  
 12580  	// If true, the event destination is enabled. When the event destination is
 12581  	// enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.
 12582  	//
 12583  	// If false, the event destination is disabled. When the event destination is
 12584  	// disabled, events aren't sent to the specified destinations.
 12585  	Enabled *bool `type:"boolean"`
 12586  
 12587  	// An object that defines an Amazon Kinesis Data Firehose destination for email
 12588  	// events. You can use Amazon Kinesis Data Firehose to stream data to other
 12589  	// services, such as Amazon S3 and Amazon Redshift.
 12590  	KinesisFirehoseDestination *KinesisFirehoseDestination `type:"structure"`
 12591  
 12592  	// An array that specifies which events the Amazon SES API v2 should send to
 12593  	// the destinations in this EventDestinationDefinition.
 12594  	MatchingEventTypes []*string `type:"list"`
 12595  
 12596  	// An object that defines an Amazon Pinpoint project destination for email events.
 12597  	// You can send email event data to a Amazon Pinpoint project to view metrics
 12598  	// using the Transactional Messaging dashboards that are built in to Amazon
 12599  	// Pinpoint. For more information, see Transactional Messaging Charts (https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-transactional-messages.html)
 12600  	// in the Amazon Pinpoint User Guide.
 12601  	PinpointDestination *PinpointDestination `type:"structure"`
 12602  
 12603  	// An object that defines an Amazon SNS destination for email events. You can
 12604  	// use Amazon SNS to send notification when certain email events occur.
 12605  	SnsDestination *SnsDestination `type:"structure"`
 12606  }
 12607  
 12608  // String returns the string representation.
 12609  //
 12610  // API parameter values that are decorated as "sensitive" in the API will not
 12611  // be included in the string output. The member name will be present, but the
 12612  // value will be replaced with "sensitive".
 12613  func (s EventDestinationDefinition) String() string {
 12614  	return awsutil.Prettify(s)
 12615  }
 12616  
 12617  // GoString returns the string representation.
 12618  //
 12619  // API parameter values that are decorated as "sensitive" in the API will not
 12620  // be included in the string output. The member name will be present, but the
 12621  // value will be replaced with "sensitive".
 12622  func (s EventDestinationDefinition) GoString() string {
 12623  	return s.String()
 12624  }
 12625  
 12626  // Validate inspects the fields of the type to determine if they are valid.
 12627  func (s *EventDestinationDefinition) Validate() error {
 12628  	invalidParams := request.ErrInvalidParams{Context: "EventDestinationDefinition"}
 12629  	if s.CloudWatchDestination != nil {
 12630  		if err := s.CloudWatchDestination.Validate(); err != nil {
 12631  			invalidParams.AddNested("CloudWatchDestination", err.(request.ErrInvalidParams))
 12632  		}
 12633  	}
 12634  	if s.KinesisFirehoseDestination != nil {
 12635  		if err := s.KinesisFirehoseDestination.Validate(); err != nil {
 12636  			invalidParams.AddNested("KinesisFirehoseDestination", err.(request.ErrInvalidParams))
 12637  		}
 12638  	}
 12639  	if s.SnsDestination != nil {
 12640  		if err := s.SnsDestination.Validate(); err != nil {
 12641  			invalidParams.AddNested("SnsDestination", err.(request.ErrInvalidParams))
 12642  		}
 12643  	}
 12644  
 12645  	if invalidParams.Len() > 0 {
 12646  		return invalidParams
 12647  	}
 12648  	return nil
 12649  }
 12650  
 12651  // SetCloudWatchDestination sets the CloudWatchDestination field's value.
 12652  func (s *EventDestinationDefinition) SetCloudWatchDestination(v *CloudWatchDestination) *EventDestinationDefinition {
 12653  	s.CloudWatchDestination = v
 12654  	return s
 12655  }
 12656  
 12657  // SetEnabled sets the Enabled field's value.
 12658  func (s *EventDestinationDefinition) SetEnabled(v bool) *EventDestinationDefinition {
 12659  	s.Enabled = &v
 12660  	return s
 12661  }
 12662  
 12663  // SetKinesisFirehoseDestination sets the KinesisFirehoseDestination field's value.
 12664  func (s *EventDestinationDefinition) SetKinesisFirehoseDestination(v *KinesisFirehoseDestination) *EventDestinationDefinition {
 12665  	s.KinesisFirehoseDestination = v
 12666  	return s
 12667  }
 12668  
 12669  // SetMatchingEventTypes sets the MatchingEventTypes field's value.
 12670  func (s *EventDestinationDefinition) SetMatchingEventTypes(v []*string) *EventDestinationDefinition {
 12671  	s.MatchingEventTypes = v
 12672  	return s
 12673  }
 12674  
 12675  // SetPinpointDestination sets the PinpointDestination field's value.
 12676  func (s *EventDestinationDefinition) SetPinpointDestination(v *PinpointDestination) *EventDestinationDefinition {
 12677  	s.PinpointDestination = v
 12678  	return s
 12679  }
 12680  
 12681  // SetSnsDestination sets the SnsDestination field's value.
 12682  func (s *EventDestinationDefinition) SetSnsDestination(v *SnsDestination) *EventDestinationDefinition {
 12683  	s.SnsDestination = v
 12684  	return s
 12685  }
 12686  
 12687  // An object that contains the failure details about an import job.
 12688  type FailureInfo struct {
 12689  	_ struct{} `type:"structure"`
 12690  
 12691  	// A message about why the import job failed.
 12692  	ErrorMessage *string `type:"string"`
 12693  
 12694  	// An Amazon S3 presigned URL that contains all the failed records and related
 12695  	// information.
 12696  	FailedRecordsS3Url *string `type:"string"`
 12697  }
 12698  
 12699  // String returns the string representation.
 12700  //
 12701  // API parameter values that are decorated as "sensitive" in the API will not
 12702  // be included in the string output. The member name will be present, but the
 12703  // value will be replaced with "sensitive".
 12704  func (s FailureInfo) String() string {
 12705  	return awsutil.Prettify(s)
 12706  }
 12707  
 12708  // GoString returns the string representation.
 12709  //
 12710  // API parameter values that are decorated as "sensitive" in the API will not
 12711  // be included in the string output. The member name will be present, but the
 12712  // value will be replaced with "sensitive".
 12713  func (s FailureInfo) GoString() string {
 12714  	return s.String()
 12715  }
 12716  
 12717  // SetErrorMessage sets the ErrorMessage field's value.
 12718  func (s *FailureInfo) SetErrorMessage(v string) *FailureInfo {
 12719  	s.ErrorMessage = &v
 12720  	return s
 12721  }
 12722  
 12723  // SetFailedRecordsS3Url sets the FailedRecordsS3Url field's value.
 12724  func (s *FailureInfo) SetFailedRecordsS3Url(v string) *FailureInfo {
 12725  	s.FailedRecordsS3Url = &v
 12726  	return s
 12727  }
 12728  
 12729  // A request to obtain information about the email-sending capabilities of your
 12730  // Amazon SES account.
 12731  type GetAccountInput struct {
 12732  	_ struct{} `type:"structure" nopayload:"true"`
 12733  }
 12734  
 12735  // String returns the string representation.
 12736  //
 12737  // API parameter values that are decorated as "sensitive" in the API will not
 12738  // be included in the string output. The member name will be present, but the
 12739  // value will be replaced with "sensitive".
 12740  func (s GetAccountInput) String() string {
 12741  	return awsutil.Prettify(s)
 12742  }
 12743  
 12744  // GoString returns the string representation.
 12745  //
 12746  // API parameter values that are decorated as "sensitive" in the API will not
 12747  // be included in the string output. The member name will be present, but the
 12748  // value will be replaced with "sensitive".
 12749  func (s GetAccountInput) GoString() string {
 12750  	return s.String()
 12751  }
 12752  
 12753  // A list of details about the email-sending capabilities of your Amazon SES
 12754  // account in the current Amazon Web Services Region.
 12755  type GetAccountOutput struct {
 12756  	_ struct{} `type:"structure"`
 12757  
 12758  	// Indicates whether or not the automatic warm-up feature is enabled for dedicated
 12759  	// IP addresses that are associated with your account.
 12760  	DedicatedIpAutoWarmupEnabled *bool `type:"boolean"`
 12761  
 12762  	// An object that defines your account details.
 12763  	Details *AccountDetails `type:"structure"`
 12764  
 12765  	// The reputation status of your Amazon SES account. The status can be one of
 12766  	// the following:
 12767  	//
 12768  	//    * HEALTHY – There are no reputation-related issues that currently impact
 12769  	//    your account.
 12770  	//
 12771  	//    * PROBATION – We've identified potential issues with your Amazon SES
 12772  	//    account. We're placing your account under review while you work on correcting
 12773  	//    these issues.
 12774  	//
 12775  	//    * SHUTDOWN – Your account's ability to send email is currently paused
 12776  	//    because of an issue with the email sent from your account. When you correct
 12777  	//    the issue, you can contact us and request that your account's ability
 12778  	//    to send email is resumed.
 12779  	EnforcementStatus *string `type:"string"`
 12780  
 12781  	// Indicates whether or not your account has production access in the current
 12782  	// Amazon Web Services Region.
 12783  	//
 12784  	// If the value is false, then your account is in the sandbox. When your account
 12785  	// is in the sandbox, you can only send email to verified identities. Additionally,
 12786  	// the maximum number of emails you can send in a 24-hour period (your sending
 12787  	// quota) is 200, and the maximum number of emails you can send per second (your
 12788  	// maximum sending rate) is 1.
 12789  	//
 12790  	// If the value is true, then your account has production access. When your
 12791  	// account has production access, you can send email to any address. The sending
 12792  	// quota and maximum sending rate for your account vary based on your specific
 12793  	// use case.
 12794  	ProductionAccessEnabled *bool `type:"boolean"`
 12795  
 12796  	// An object that contains information about the per-day and per-second sending
 12797  	// limits for your Amazon SES account in the current Amazon Web Services Region.
 12798  	SendQuota *SendQuota `type:"structure"`
 12799  
 12800  	// Indicates whether or not email sending is enabled for your Amazon SES account
 12801  	// in the current Amazon Web Services Region.
 12802  	SendingEnabled *bool `type:"boolean"`
 12803  
 12804  	// An object that contains information about the email address suppression preferences
 12805  	// for your account in the current Amazon Web Services Region.
 12806  	SuppressionAttributes *SuppressionAttributes `type:"structure"`
 12807  }
 12808  
 12809  // String returns the string representation.
 12810  //
 12811  // API parameter values that are decorated as "sensitive" in the API will not
 12812  // be included in the string output. The member name will be present, but the
 12813  // value will be replaced with "sensitive".
 12814  func (s GetAccountOutput) String() string {
 12815  	return awsutil.Prettify(s)
 12816  }
 12817  
 12818  // GoString returns the string representation.
 12819  //
 12820  // API parameter values that are decorated as "sensitive" in the API will not
 12821  // be included in the string output. The member name will be present, but the
 12822  // value will be replaced with "sensitive".
 12823  func (s GetAccountOutput) GoString() string {
 12824  	return s.String()
 12825  }
 12826  
 12827  // SetDedicatedIpAutoWarmupEnabled sets the DedicatedIpAutoWarmupEnabled field's value.
 12828  func (s *GetAccountOutput) SetDedicatedIpAutoWarmupEnabled(v bool) *GetAccountOutput {
 12829  	s.DedicatedIpAutoWarmupEnabled = &v
 12830  	return s
 12831  }
 12832  
 12833  // SetDetails sets the Details field's value.
 12834  func (s *GetAccountOutput) SetDetails(v *AccountDetails) *GetAccountOutput {
 12835  	s.Details = v
 12836  	return s
 12837  }
 12838  
 12839  // SetEnforcementStatus sets the EnforcementStatus field's value.
 12840  func (s *GetAccountOutput) SetEnforcementStatus(v string) *GetAccountOutput {
 12841  	s.EnforcementStatus = &v
 12842  	return s
 12843  }
 12844  
 12845  // SetProductionAccessEnabled sets the ProductionAccessEnabled field's value.
 12846  func (s *GetAccountOutput) SetProductionAccessEnabled(v bool) *GetAccountOutput {
 12847  	s.ProductionAccessEnabled = &v
 12848  	return s
 12849  }
 12850  
 12851  // SetSendQuota sets the SendQuota field's value.
 12852  func (s *GetAccountOutput) SetSendQuota(v *SendQuota) *GetAccountOutput {
 12853  	s.SendQuota = v
 12854  	return s
 12855  }
 12856  
 12857  // SetSendingEnabled sets the SendingEnabled field's value.
 12858  func (s *GetAccountOutput) SetSendingEnabled(v bool) *GetAccountOutput {
 12859  	s.SendingEnabled = &v
 12860  	return s
 12861  }
 12862  
 12863  // SetSuppressionAttributes sets the SuppressionAttributes field's value.
 12864  func (s *GetAccountOutput) SetSuppressionAttributes(v *SuppressionAttributes) *GetAccountOutput {
 12865  	s.SuppressionAttributes = v
 12866  	return s
 12867  }
 12868  
 12869  // A request to retrieve a list of the blacklists that your dedicated IP addresses
 12870  // appear on.
 12871  type GetBlacklistReportsInput struct {
 12872  	_ struct{} `type:"structure" nopayload:"true"`
 12873  
 12874  	// A list of IP addresses that you want to retrieve blacklist information about.
 12875  	// You can only specify the dedicated IP addresses that you use to send email
 12876  	// using Amazon SES or Amazon Pinpoint.
 12877  	//
 12878  	// BlacklistItemNames is a required field
 12879  	BlacklistItemNames []*string `location:"querystring" locationName:"BlacklistItemNames" type:"list" required:"true"`
 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 GetBlacklistReportsInput) 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 GetBlacklistReportsInput) GoString() string {
 12897  	return s.String()
 12898  }
 12899  
 12900  // Validate inspects the fields of the type to determine if they are valid.
 12901  func (s *GetBlacklistReportsInput) Validate() error {
 12902  	invalidParams := request.ErrInvalidParams{Context: "GetBlacklistReportsInput"}
 12903  	if s.BlacklistItemNames == nil {
 12904  		invalidParams.Add(request.NewErrParamRequired("BlacklistItemNames"))
 12905  	}
 12906  
 12907  	if invalidParams.Len() > 0 {
 12908  		return invalidParams
 12909  	}
 12910  	return nil
 12911  }
 12912  
 12913  // SetBlacklistItemNames sets the BlacklistItemNames field's value.
 12914  func (s *GetBlacklistReportsInput) SetBlacklistItemNames(v []*string) *GetBlacklistReportsInput {
 12915  	s.BlacklistItemNames = v
 12916  	return s
 12917  }
 12918  
 12919  // An object that contains information about blacklist events.
 12920  type GetBlacklistReportsOutput struct {
 12921  	_ struct{} `type:"structure"`
 12922  
 12923  	// An object that contains information about a blacklist that one of your dedicated
 12924  	// IP addresses appears on.
 12925  	//
 12926  	// BlacklistReport is a required field
 12927  	BlacklistReport map[string][]*BlacklistEntry `type:"map" required:"true"`
 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 GetBlacklistReportsOutput) 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 GetBlacklistReportsOutput) GoString() string {
 12945  	return s.String()
 12946  }
 12947  
 12948  // SetBlacklistReport sets the BlacklistReport field's value.
 12949  func (s *GetBlacklistReportsOutput) SetBlacklistReport(v map[string][]*BlacklistEntry) *GetBlacklistReportsOutput {
 12950  	s.BlacklistReport = v
 12951  	return s
 12952  }
 12953  
 12954  // A request to obtain information about the event destinations for a configuration
 12955  // set.
 12956  type GetConfigurationSetEventDestinationsInput struct {
 12957  	_ struct{} `type:"structure" nopayload:"true"`
 12958  
 12959  	// The name of the configuration set that contains the event destination.
 12960  	//
 12961  	// ConfigurationSetName is a required field
 12962  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 12963  }
 12964  
 12965  // String returns the string representation.
 12966  //
 12967  // API parameter values that are decorated as "sensitive" in the API will not
 12968  // be included in the string output. The member name will be present, but the
 12969  // value will be replaced with "sensitive".
 12970  func (s GetConfigurationSetEventDestinationsInput) String() string {
 12971  	return awsutil.Prettify(s)
 12972  }
 12973  
 12974  // GoString returns the string representation.
 12975  //
 12976  // API parameter values that are decorated as "sensitive" in the API will not
 12977  // be included in the string output. The member name will be present, but the
 12978  // value will be replaced with "sensitive".
 12979  func (s GetConfigurationSetEventDestinationsInput) GoString() string {
 12980  	return s.String()
 12981  }
 12982  
 12983  // Validate inspects the fields of the type to determine if they are valid.
 12984  func (s *GetConfigurationSetEventDestinationsInput) Validate() error {
 12985  	invalidParams := request.ErrInvalidParams{Context: "GetConfigurationSetEventDestinationsInput"}
 12986  	if s.ConfigurationSetName == nil {
 12987  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 12988  	}
 12989  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 12990  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 12991  	}
 12992  
 12993  	if invalidParams.Len() > 0 {
 12994  		return invalidParams
 12995  	}
 12996  	return nil
 12997  }
 12998  
 12999  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 13000  func (s *GetConfigurationSetEventDestinationsInput) SetConfigurationSetName(v string) *GetConfigurationSetEventDestinationsInput {
 13001  	s.ConfigurationSetName = &v
 13002  	return s
 13003  }
 13004  
 13005  // Information about an event destination for a configuration set.
 13006  type GetConfigurationSetEventDestinationsOutput struct {
 13007  	_ struct{} `type:"structure"`
 13008  
 13009  	// An array that includes all of the events destinations that have been configured
 13010  	// for the configuration set.
 13011  	EventDestinations []*EventDestination `type:"list"`
 13012  }
 13013  
 13014  // String returns the string representation.
 13015  //
 13016  // API parameter values that are decorated as "sensitive" in the API will not
 13017  // be included in the string output. The member name will be present, but the
 13018  // value will be replaced with "sensitive".
 13019  func (s GetConfigurationSetEventDestinationsOutput) String() string {
 13020  	return awsutil.Prettify(s)
 13021  }
 13022  
 13023  // GoString returns the string representation.
 13024  //
 13025  // API parameter values that are decorated as "sensitive" in the API will not
 13026  // be included in the string output. The member name will be present, but the
 13027  // value will be replaced with "sensitive".
 13028  func (s GetConfigurationSetEventDestinationsOutput) GoString() string {
 13029  	return s.String()
 13030  }
 13031  
 13032  // SetEventDestinations sets the EventDestinations field's value.
 13033  func (s *GetConfigurationSetEventDestinationsOutput) SetEventDestinations(v []*EventDestination) *GetConfigurationSetEventDestinationsOutput {
 13034  	s.EventDestinations = v
 13035  	return s
 13036  }
 13037  
 13038  // A request to obtain information about a configuration set.
 13039  type GetConfigurationSetInput struct {
 13040  	_ struct{} `type:"structure" nopayload:"true"`
 13041  
 13042  	// The name of the configuration set.
 13043  	//
 13044  	// ConfigurationSetName is a required field
 13045  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 13046  }
 13047  
 13048  // String returns the string representation.
 13049  //
 13050  // API parameter values that are decorated as "sensitive" in the API will not
 13051  // be included in the string output. The member name will be present, but the
 13052  // value will be replaced with "sensitive".
 13053  func (s GetConfigurationSetInput) String() string {
 13054  	return awsutil.Prettify(s)
 13055  }
 13056  
 13057  // GoString returns the string representation.
 13058  //
 13059  // API parameter values that are decorated as "sensitive" in the API will not
 13060  // be included in the string output. The member name will be present, but the
 13061  // value will be replaced with "sensitive".
 13062  func (s GetConfigurationSetInput) GoString() string {
 13063  	return s.String()
 13064  }
 13065  
 13066  // Validate inspects the fields of the type to determine if they are valid.
 13067  func (s *GetConfigurationSetInput) Validate() error {
 13068  	invalidParams := request.ErrInvalidParams{Context: "GetConfigurationSetInput"}
 13069  	if s.ConfigurationSetName == nil {
 13070  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 13071  	}
 13072  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 13073  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 13074  	}
 13075  
 13076  	if invalidParams.Len() > 0 {
 13077  		return invalidParams
 13078  	}
 13079  	return nil
 13080  }
 13081  
 13082  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 13083  func (s *GetConfigurationSetInput) SetConfigurationSetName(v string) *GetConfigurationSetInput {
 13084  	s.ConfigurationSetName = &v
 13085  	return s
 13086  }
 13087  
 13088  // Information about a configuration set.
 13089  type GetConfigurationSetOutput struct {
 13090  	_ struct{} `type:"structure"`
 13091  
 13092  	// The name of the configuration set.
 13093  	ConfigurationSetName *string `type:"string"`
 13094  
 13095  	// An object that defines the dedicated IP pool that is used to send emails
 13096  	// that you send using the configuration set.
 13097  	DeliveryOptions *DeliveryOptions `type:"structure"`
 13098  
 13099  	// An object that defines whether or not Amazon SES collects reputation metrics
 13100  	// for the emails that you send that use the configuration set.
 13101  	ReputationOptions *ReputationOptions `type:"structure"`
 13102  
 13103  	// An object that defines whether or not Amazon SES can send email that you
 13104  	// send using the configuration set.
 13105  	SendingOptions *SendingOptions `type:"structure"`
 13106  
 13107  	// An object that contains information about the suppression list preferences
 13108  	// for your account.
 13109  	SuppressionOptions *SuppressionOptions `type:"structure"`
 13110  
 13111  	// An array of objects that define the tags (keys and values) that are associated
 13112  	// with the configuration set.
 13113  	Tags []*Tag `type:"list"`
 13114  
 13115  	// An object that defines the open and click tracking options for emails that
 13116  	// you send using the configuration set.
 13117  	TrackingOptions *TrackingOptions `type:"structure"`
 13118  }
 13119  
 13120  // String returns the string representation.
 13121  //
 13122  // API parameter values that are decorated as "sensitive" in the API will not
 13123  // be included in the string output. The member name will be present, but the
 13124  // value will be replaced with "sensitive".
 13125  func (s GetConfigurationSetOutput) String() string {
 13126  	return awsutil.Prettify(s)
 13127  }
 13128  
 13129  // GoString returns the string representation.
 13130  //
 13131  // API parameter values that are decorated as "sensitive" in the API will not
 13132  // be included in the string output. The member name will be present, but the
 13133  // value will be replaced with "sensitive".
 13134  func (s GetConfigurationSetOutput) GoString() string {
 13135  	return s.String()
 13136  }
 13137  
 13138  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 13139  func (s *GetConfigurationSetOutput) SetConfigurationSetName(v string) *GetConfigurationSetOutput {
 13140  	s.ConfigurationSetName = &v
 13141  	return s
 13142  }
 13143  
 13144  // SetDeliveryOptions sets the DeliveryOptions field's value.
 13145  func (s *GetConfigurationSetOutput) SetDeliveryOptions(v *DeliveryOptions) *GetConfigurationSetOutput {
 13146  	s.DeliveryOptions = v
 13147  	return s
 13148  }
 13149  
 13150  // SetReputationOptions sets the ReputationOptions field's value.
 13151  func (s *GetConfigurationSetOutput) SetReputationOptions(v *ReputationOptions) *GetConfigurationSetOutput {
 13152  	s.ReputationOptions = v
 13153  	return s
 13154  }
 13155  
 13156  // SetSendingOptions sets the SendingOptions field's value.
 13157  func (s *GetConfigurationSetOutput) SetSendingOptions(v *SendingOptions) *GetConfigurationSetOutput {
 13158  	s.SendingOptions = v
 13159  	return s
 13160  }
 13161  
 13162  // SetSuppressionOptions sets the SuppressionOptions field's value.
 13163  func (s *GetConfigurationSetOutput) SetSuppressionOptions(v *SuppressionOptions) *GetConfigurationSetOutput {
 13164  	s.SuppressionOptions = v
 13165  	return s
 13166  }
 13167  
 13168  // SetTags sets the Tags field's value.
 13169  func (s *GetConfigurationSetOutput) SetTags(v []*Tag) *GetConfigurationSetOutput {
 13170  	s.Tags = v
 13171  	return s
 13172  }
 13173  
 13174  // SetTrackingOptions sets the TrackingOptions field's value.
 13175  func (s *GetConfigurationSetOutput) SetTrackingOptions(v *TrackingOptions) *GetConfigurationSetOutput {
 13176  	s.TrackingOptions = v
 13177  	return s
 13178  }
 13179  
 13180  type GetContactInput struct {
 13181  	_ struct{} `type:"structure" nopayload:"true"`
 13182  
 13183  	// The name of the contact list to which the contact belongs.
 13184  	//
 13185  	// ContactListName is a required field
 13186  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 13187  
 13188  	// The contact's email addres.
 13189  	//
 13190  	// EmailAddress is a required field
 13191  	EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"`
 13192  }
 13193  
 13194  // String returns the string representation.
 13195  //
 13196  // API parameter values that are decorated as "sensitive" in the API will not
 13197  // be included in the string output. The member name will be present, but the
 13198  // value will be replaced with "sensitive".
 13199  func (s GetContactInput) String() string {
 13200  	return awsutil.Prettify(s)
 13201  }
 13202  
 13203  // GoString returns the string representation.
 13204  //
 13205  // API parameter values that are decorated as "sensitive" in the API will not
 13206  // be included in the string output. The member name will be present, but the
 13207  // value will be replaced with "sensitive".
 13208  func (s GetContactInput) GoString() string {
 13209  	return s.String()
 13210  }
 13211  
 13212  // Validate inspects the fields of the type to determine if they are valid.
 13213  func (s *GetContactInput) Validate() error {
 13214  	invalidParams := request.ErrInvalidParams{Context: "GetContactInput"}
 13215  	if s.ContactListName == nil {
 13216  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 13217  	}
 13218  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 13219  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 13220  	}
 13221  	if s.EmailAddress == nil {
 13222  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 13223  	}
 13224  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
 13225  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
 13226  	}
 13227  
 13228  	if invalidParams.Len() > 0 {
 13229  		return invalidParams
 13230  	}
 13231  	return nil
 13232  }
 13233  
 13234  // SetContactListName sets the ContactListName field's value.
 13235  func (s *GetContactInput) SetContactListName(v string) *GetContactInput {
 13236  	s.ContactListName = &v
 13237  	return s
 13238  }
 13239  
 13240  // SetEmailAddress sets the EmailAddress field's value.
 13241  func (s *GetContactInput) SetEmailAddress(v string) *GetContactInput {
 13242  	s.EmailAddress = &v
 13243  	return s
 13244  }
 13245  
 13246  type GetContactListInput struct {
 13247  	_ struct{} `type:"structure" nopayload:"true"`
 13248  
 13249  	// The name of the contact list.
 13250  	//
 13251  	// ContactListName is a required field
 13252  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 13253  }
 13254  
 13255  // String returns the string representation.
 13256  //
 13257  // API parameter values that are decorated as "sensitive" in the API will not
 13258  // be included in the string output. The member name will be present, but the
 13259  // value will be replaced with "sensitive".
 13260  func (s GetContactListInput) String() string {
 13261  	return awsutil.Prettify(s)
 13262  }
 13263  
 13264  // GoString returns the string representation.
 13265  //
 13266  // API parameter values that are decorated as "sensitive" in the API will not
 13267  // be included in the string output. The member name will be present, but the
 13268  // value will be replaced with "sensitive".
 13269  func (s GetContactListInput) GoString() string {
 13270  	return s.String()
 13271  }
 13272  
 13273  // Validate inspects the fields of the type to determine if they are valid.
 13274  func (s *GetContactListInput) Validate() error {
 13275  	invalidParams := request.ErrInvalidParams{Context: "GetContactListInput"}
 13276  	if s.ContactListName == nil {
 13277  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 13278  	}
 13279  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 13280  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 13281  	}
 13282  
 13283  	if invalidParams.Len() > 0 {
 13284  		return invalidParams
 13285  	}
 13286  	return nil
 13287  }
 13288  
 13289  // SetContactListName sets the ContactListName field's value.
 13290  func (s *GetContactListInput) SetContactListName(v string) *GetContactListInput {
 13291  	s.ContactListName = &v
 13292  	return s
 13293  }
 13294  
 13295  type GetContactListOutput struct {
 13296  	_ struct{} `type:"structure"`
 13297  
 13298  	// The name of the contact list.
 13299  	ContactListName *string `type:"string"`
 13300  
 13301  	// A timestamp noting when the contact list was created.
 13302  	CreatedTimestamp *time.Time `type:"timestamp"`
 13303  
 13304  	// A description of what the contact list is about.
 13305  	Description *string `type:"string"`
 13306  
 13307  	// A timestamp noting the last time the contact list was updated.
 13308  	LastUpdatedTimestamp *time.Time `type:"timestamp"`
 13309  
 13310  	// The tags associated with a contact list.
 13311  	Tags []*Tag `type:"list"`
 13312  
 13313  	// An interest group, theme, or label within a list. A contact list can have
 13314  	// multiple topics.
 13315  	Topics []*Topic `type:"list"`
 13316  }
 13317  
 13318  // String returns the string representation.
 13319  //
 13320  // API parameter values that are decorated as "sensitive" in the API will not
 13321  // be included in the string output. The member name will be present, but the
 13322  // value will be replaced with "sensitive".
 13323  func (s GetContactListOutput) String() string {
 13324  	return awsutil.Prettify(s)
 13325  }
 13326  
 13327  // GoString returns the string representation.
 13328  //
 13329  // API parameter values that are decorated as "sensitive" in the API will not
 13330  // be included in the string output. The member name will be present, but the
 13331  // value will be replaced with "sensitive".
 13332  func (s GetContactListOutput) GoString() string {
 13333  	return s.String()
 13334  }
 13335  
 13336  // SetContactListName sets the ContactListName field's value.
 13337  func (s *GetContactListOutput) SetContactListName(v string) *GetContactListOutput {
 13338  	s.ContactListName = &v
 13339  	return s
 13340  }
 13341  
 13342  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 13343  func (s *GetContactListOutput) SetCreatedTimestamp(v time.Time) *GetContactListOutput {
 13344  	s.CreatedTimestamp = &v
 13345  	return s
 13346  }
 13347  
 13348  // SetDescription sets the Description field's value.
 13349  func (s *GetContactListOutput) SetDescription(v string) *GetContactListOutput {
 13350  	s.Description = &v
 13351  	return s
 13352  }
 13353  
 13354  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 13355  func (s *GetContactListOutput) SetLastUpdatedTimestamp(v time.Time) *GetContactListOutput {
 13356  	s.LastUpdatedTimestamp = &v
 13357  	return s
 13358  }
 13359  
 13360  // SetTags sets the Tags field's value.
 13361  func (s *GetContactListOutput) SetTags(v []*Tag) *GetContactListOutput {
 13362  	s.Tags = v
 13363  	return s
 13364  }
 13365  
 13366  // SetTopics sets the Topics field's value.
 13367  func (s *GetContactListOutput) SetTopics(v []*Topic) *GetContactListOutput {
 13368  	s.Topics = v
 13369  	return s
 13370  }
 13371  
 13372  type GetContactOutput struct {
 13373  	_ struct{} `type:"structure"`
 13374  
 13375  	// The attribute data attached to a contact.
 13376  	AttributesData *string `type:"string"`
 13377  
 13378  	// The name of the contact list to which the contact belongs.
 13379  	ContactListName *string `type:"string"`
 13380  
 13381  	// A timestamp noting when the contact was created.
 13382  	CreatedTimestamp *time.Time `type:"timestamp"`
 13383  
 13384  	// The contact's email addres.
 13385  	EmailAddress *string `type:"string"`
 13386  
 13387  	// A timestamp noting the last time the contact's information was updated.
 13388  	LastUpdatedTimestamp *time.Time `type:"timestamp"`
 13389  
 13390  	// The default topic preferences applied to the contact.
 13391  	TopicDefaultPreferences []*TopicPreference `type:"list"`
 13392  
 13393  	// The contact's preference for being opted-in to or opted-out of a topic.>
 13394  	TopicPreferences []*TopicPreference `type:"list"`
 13395  
 13396  	// A boolean value status noting if the contact is unsubscribed from all contact
 13397  	// list topics.
 13398  	UnsubscribeAll *bool `type:"boolean"`
 13399  }
 13400  
 13401  // String returns the string representation.
 13402  //
 13403  // API parameter values that are decorated as "sensitive" in the API will not
 13404  // be included in the string output. The member name will be present, but the
 13405  // value will be replaced with "sensitive".
 13406  func (s GetContactOutput) String() string {
 13407  	return awsutil.Prettify(s)
 13408  }
 13409  
 13410  // GoString returns the string representation.
 13411  //
 13412  // API parameter values that are decorated as "sensitive" in the API will not
 13413  // be included in the string output. The member name will be present, but the
 13414  // value will be replaced with "sensitive".
 13415  func (s GetContactOutput) GoString() string {
 13416  	return s.String()
 13417  }
 13418  
 13419  // SetAttributesData sets the AttributesData field's value.
 13420  func (s *GetContactOutput) SetAttributesData(v string) *GetContactOutput {
 13421  	s.AttributesData = &v
 13422  	return s
 13423  }
 13424  
 13425  // SetContactListName sets the ContactListName field's value.
 13426  func (s *GetContactOutput) SetContactListName(v string) *GetContactOutput {
 13427  	s.ContactListName = &v
 13428  	return s
 13429  }
 13430  
 13431  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 13432  func (s *GetContactOutput) SetCreatedTimestamp(v time.Time) *GetContactOutput {
 13433  	s.CreatedTimestamp = &v
 13434  	return s
 13435  }
 13436  
 13437  // SetEmailAddress sets the EmailAddress field's value.
 13438  func (s *GetContactOutput) SetEmailAddress(v string) *GetContactOutput {
 13439  	s.EmailAddress = &v
 13440  	return s
 13441  }
 13442  
 13443  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 13444  func (s *GetContactOutput) SetLastUpdatedTimestamp(v time.Time) *GetContactOutput {
 13445  	s.LastUpdatedTimestamp = &v
 13446  	return s
 13447  }
 13448  
 13449  // SetTopicDefaultPreferences sets the TopicDefaultPreferences field's value.
 13450  func (s *GetContactOutput) SetTopicDefaultPreferences(v []*TopicPreference) *GetContactOutput {
 13451  	s.TopicDefaultPreferences = v
 13452  	return s
 13453  }
 13454  
 13455  // SetTopicPreferences sets the TopicPreferences field's value.
 13456  func (s *GetContactOutput) SetTopicPreferences(v []*TopicPreference) *GetContactOutput {
 13457  	s.TopicPreferences = v
 13458  	return s
 13459  }
 13460  
 13461  // SetUnsubscribeAll sets the UnsubscribeAll field's value.
 13462  func (s *GetContactOutput) SetUnsubscribeAll(v bool) *GetContactOutput {
 13463  	s.UnsubscribeAll = &v
 13464  	return s
 13465  }
 13466  
 13467  // Represents a request to retrieve an existing custom verification email template.
 13468  type GetCustomVerificationEmailTemplateInput struct {
 13469  	_ struct{} `type:"structure" nopayload:"true"`
 13470  
 13471  	// The name of the custom verification email template that you want to retrieve.
 13472  	//
 13473  	// TemplateName is a required field
 13474  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 13475  }
 13476  
 13477  // String returns the string representation.
 13478  //
 13479  // API parameter values that are decorated as "sensitive" in the API will not
 13480  // be included in the string output. The member name will be present, but the
 13481  // value will be replaced with "sensitive".
 13482  func (s GetCustomVerificationEmailTemplateInput) String() string {
 13483  	return awsutil.Prettify(s)
 13484  }
 13485  
 13486  // GoString returns the string representation.
 13487  //
 13488  // API parameter values that are decorated as "sensitive" in the API will not
 13489  // be included in the string output. The member name will be present, but the
 13490  // value will be replaced with "sensitive".
 13491  func (s GetCustomVerificationEmailTemplateInput) GoString() string {
 13492  	return s.String()
 13493  }
 13494  
 13495  // Validate inspects the fields of the type to determine if they are valid.
 13496  func (s *GetCustomVerificationEmailTemplateInput) Validate() error {
 13497  	invalidParams := request.ErrInvalidParams{Context: "GetCustomVerificationEmailTemplateInput"}
 13498  	if s.TemplateName == nil {
 13499  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 13500  	}
 13501  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 13502  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 13503  	}
 13504  
 13505  	if invalidParams.Len() > 0 {
 13506  		return invalidParams
 13507  	}
 13508  	return nil
 13509  }
 13510  
 13511  // SetTemplateName sets the TemplateName field's value.
 13512  func (s *GetCustomVerificationEmailTemplateInput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateInput {
 13513  	s.TemplateName = &v
 13514  	return s
 13515  }
 13516  
 13517  // The following elements are returned by the service.
 13518  type GetCustomVerificationEmailTemplateOutput struct {
 13519  	_ struct{} `type:"structure"`
 13520  
 13521  	// The URL that the recipient of the verification email is sent to if his or
 13522  	// her address is not successfully verified.
 13523  	FailureRedirectionURL *string `type:"string"`
 13524  
 13525  	// The email address that the custom verification email is sent from.
 13526  	FromEmailAddress *string `type:"string"`
 13527  
 13528  	// The URL that the recipient of the verification email is sent to if his or
 13529  	// her address is successfully verified.
 13530  	SuccessRedirectionURL *string `type:"string"`
 13531  
 13532  	// The content of the custom verification email.
 13533  	TemplateContent *string `type:"string"`
 13534  
 13535  	// The name of the custom verification email template.
 13536  	TemplateName *string `min:"1" type:"string"`
 13537  
 13538  	// The subject line of the custom verification email.
 13539  	TemplateSubject *string `type:"string"`
 13540  }
 13541  
 13542  // String returns the string representation.
 13543  //
 13544  // API parameter values that are decorated as "sensitive" in the API will not
 13545  // be included in the string output. The member name will be present, but the
 13546  // value will be replaced with "sensitive".
 13547  func (s GetCustomVerificationEmailTemplateOutput) String() string {
 13548  	return awsutil.Prettify(s)
 13549  }
 13550  
 13551  // GoString returns the string representation.
 13552  //
 13553  // API parameter values that are decorated as "sensitive" in the API will not
 13554  // be included in the string output. The member name will be present, but the
 13555  // value will be replaced with "sensitive".
 13556  func (s GetCustomVerificationEmailTemplateOutput) GoString() string {
 13557  	return s.String()
 13558  }
 13559  
 13560  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
 13561  func (s *GetCustomVerificationEmailTemplateOutput) SetFailureRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput {
 13562  	s.FailureRedirectionURL = &v
 13563  	return s
 13564  }
 13565  
 13566  // SetFromEmailAddress sets the FromEmailAddress field's value.
 13567  func (s *GetCustomVerificationEmailTemplateOutput) SetFromEmailAddress(v string) *GetCustomVerificationEmailTemplateOutput {
 13568  	s.FromEmailAddress = &v
 13569  	return s
 13570  }
 13571  
 13572  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
 13573  func (s *GetCustomVerificationEmailTemplateOutput) SetSuccessRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput {
 13574  	s.SuccessRedirectionURL = &v
 13575  	return s
 13576  }
 13577  
 13578  // SetTemplateContent sets the TemplateContent field's value.
 13579  func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateContent(v string) *GetCustomVerificationEmailTemplateOutput {
 13580  	s.TemplateContent = &v
 13581  	return s
 13582  }
 13583  
 13584  // SetTemplateName sets the TemplateName field's value.
 13585  func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateOutput {
 13586  	s.TemplateName = &v
 13587  	return s
 13588  }
 13589  
 13590  // SetTemplateSubject sets the TemplateSubject field's value.
 13591  func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateSubject(v string) *GetCustomVerificationEmailTemplateOutput {
 13592  	s.TemplateSubject = &v
 13593  	return s
 13594  }
 13595  
 13596  // A request to obtain more information about a dedicated IP address.
 13597  type GetDedicatedIpInput struct {
 13598  	_ struct{} `type:"structure" nopayload:"true"`
 13599  
 13600  	// The IP address that you want to obtain more information about. The value
 13601  	// you specify has to be a dedicated IP address that's assocaited with your
 13602  	// Amazon Web Services account.
 13603  	//
 13604  	// Ip is a required field
 13605  	Ip *string `location:"uri" locationName:"IP" type:"string" required:"true"`
 13606  }
 13607  
 13608  // String returns the string representation.
 13609  //
 13610  // API parameter values that are decorated as "sensitive" in the API will not
 13611  // be included in the string output. The member name will be present, but the
 13612  // value will be replaced with "sensitive".
 13613  func (s GetDedicatedIpInput) String() string {
 13614  	return awsutil.Prettify(s)
 13615  }
 13616  
 13617  // GoString returns the string representation.
 13618  //
 13619  // API parameter values that are decorated as "sensitive" in the API will not
 13620  // be included in the string output. The member name will be present, but the
 13621  // value will be replaced with "sensitive".
 13622  func (s GetDedicatedIpInput) GoString() string {
 13623  	return s.String()
 13624  }
 13625  
 13626  // Validate inspects the fields of the type to determine if they are valid.
 13627  func (s *GetDedicatedIpInput) Validate() error {
 13628  	invalidParams := request.ErrInvalidParams{Context: "GetDedicatedIpInput"}
 13629  	if s.Ip == nil {
 13630  		invalidParams.Add(request.NewErrParamRequired("Ip"))
 13631  	}
 13632  	if s.Ip != nil && len(*s.Ip) < 1 {
 13633  		invalidParams.Add(request.NewErrParamMinLen("Ip", 1))
 13634  	}
 13635  
 13636  	if invalidParams.Len() > 0 {
 13637  		return invalidParams
 13638  	}
 13639  	return nil
 13640  }
 13641  
 13642  // SetIp sets the Ip field's value.
 13643  func (s *GetDedicatedIpInput) SetIp(v string) *GetDedicatedIpInput {
 13644  	s.Ip = &v
 13645  	return s
 13646  }
 13647  
 13648  // Information about a dedicated IP address.
 13649  type GetDedicatedIpOutput struct {
 13650  	_ struct{} `type:"structure"`
 13651  
 13652  	// An object that contains information about a dedicated IP address.
 13653  	DedicatedIp *DedicatedIp `type:"structure"`
 13654  }
 13655  
 13656  // String returns the string representation.
 13657  //
 13658  // API parameter values that are decorated as "sensitive" in the API will not
 13659  // be included in the string output. The member name will be present, but the
 13660  // value will be replaced with "sensitive".
 13661  func (s GetDedicatedIpOutput) String() string {
 13662  	return awsutil.Prettify(s)
 13663  }
 13664  
 13665  // GoString returns the string representation.
 13666  //
 13667  // API parameter values that are decorated as "sensitive" in the API will not
 13668  // be included in the string output. The member name will be present, but the
 13669  // value will be replaced with "sensitive".
 13670  func (s GetDedicatedIpOutput) GoString() string {
 13671  	return s.String()
 13672  }
 13673  
 13674  // SetDedicatedIp sets the DedicatedIp field's value.
 13675  func (s *GetDedicatedIpOutput) SetDedicatedIp(v *DedicatedIp) *GetDedicatedIpOutput {
 13676  	s.DedicatedIp = v
 13677  	return s
 13678  }
 13679  
 13680  // A request to obtain more information about dedicated IP pools.
 13681  type GetDedicatedIpsInput struct {
 13682  	_ struct{} `type:"structure" nopayload:"true"`
 13683  
 13684  	// A token returned from a previous call to GetDedicatedIps to indicate the
 13685  	// position of the dedicated IP pool in the list of IP pools.
 13686  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 13687  
 13688  	// The number of results to show in a single call to GetDedicatedIpsRequest.
 13689  	// If the number of results is larger than the number you specified in this
 13690  	// parameter, then the response includes a NextToken element, which you can
 13691  	// use to obtain additional results.
 13692  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 13693  
 13694  	// The name of the IP pool that the dedicated IP address is associated with.
 13695  	PoolName *string `location:"querystring" locationName:"PoolName" type:"string"`
 13696  }
 13697  
 13698  // String returns the string representation.
 13699  //
 13700  // API parameter values that are decorated as "sensitive" in the API will not
 13701  // be included in the string output. The member name will be present, but the
 13702  // value will be replaced with "sensitive".
 13703  func (s GetDedicatedIpsInput) String() string {
 13704  	return awsutil.Prettify(s)
 13705  }
 13706  
 13707  // GoString returns the string representation.
 13708  //
 13709  // API parameter values that are decorated as "sensitive" in the API will not
 13710  // be included in the string output. The member name will be present, but the
 13711  // value will be replaced with "sensitive".
 13712  func (s GetDedicatedIpsInput) GoString() string {
 13713  	return s.String()
 13714  }
 13715  
 13716  // SetNextToken sets the NextToken field's value.
 13717  func (s *GetDedicatedIpsInput) SetNextToken(v string) *GetDedicatedIpsInput {
 13718  	s.NextToken = &v
 13719  	return s
 13720  }
 13721  
 13722  // SetPageSize sets the PageSize field's value.
 13723  func (s *GetDedicatedIpsInput) SetPageSize(v int64) *GetDedicatedIpsInput {
 13724  	s.PageSize = &v
 13725  	return s
 13726  }
 13727  
 13728  // SetPoolName sets the PoolName field's value.
 13729  func (s *GetDedicatedIpsInput) SetPoolName(v string) *GetDedicatedIpsInput {
 13730  	s.PoolName = &v
 13731  	return s
 13732  }
 13733  
 13734  // Information about the dedicated IP addresses that are associated with your
 13735  // Amazon Web Services account.
 13736  type GetDedicatedIpsOutput struct {
 13737  	_ struct{} `type:"structure"`
 13738  
 13739  	// A list of dedicated IP addresses that are associated with your Amazon Web
 13740  	// Services account.
 13741  	DedicatedIps []*DedicatedIp `type:"list"`
 13742  
 13743  	// A token that indicates that there are additional dedicated IP addresses to
 13744  	// list. To view additional addresses, issue another request to GetDedicatedIps,
 13745  	// passing this token in the NextToken parameter.
 13746  	NextToken *string `type:"string"`
 13747  }
 13748  
 13749  // String returns the string representation.
 13750  //
 13751  // API parameter values that are decorated as "sensitive" in the API will not
 13752  // be included in the string output. The member name will be present, but the
 13753  // value will be replaced with "sensitive".
 13754  func (s GetDedicatedIpsOutput) String() string {
 13755  	return awsutil.Prettify(s)
 13756  }
 13757  
 13758  // GoString returns the string representation.
 13759  //
 13760  // API parameter values that are decorated as "sensitive" in the API will not
 13761  // be included in the string output. The member name will be present, but the
 13762  // value will be replaced with "sensitive".
 13763  func (s GetDedicatedIpsOutput) GoString() string {
 13764  	return s.String()
 13765  }
 13766  
 13767  // SetDedicatedIps sets the DedicatedIps field's value.
 13768  func (s *GetDedicatedIpsOutput) SetDedicatedIps(v []*DedicatedIp) *GetDedicatedIpsOutput {
 13769  	s.DedicatedIps = v
 13770  	return s
 13771  }
 13772  
 13773  // SetNextToken sets the NextToken field's value.
 13774  func (s *GetDedicatedIpsOutput) SetNextToken(v string) *GetDedicatedIpsOutput {
 13775  	s.NextToken = &v
 13776  	return s
 13777  }
 13778  
 13779  // Retrieve information about the status of the Deliverability dashboard for
 13780  // your Amazon Web Services account. When the Deliverability dashboard is enabled,
 13781  // you gain access to reputation, deliverability, and other metrics for your
 13782  // domains. You also gain the ability to perform predictive inbox placement
 13783  // tests.
 13784  //
 13785  // When you use the Deliverability dashboard, you pay a monthly subscription
 13786  // charge, in addition to any other fees that you accrue by using Amazon SES
 13787  // and other Amazon Web Services services. For more information about the features
 13788  // and cost of a Deliverability dashboard subscription, see Amazon Pinpoint
 13789  // Pricing (http://aws.amazon.com/pinpoint/pricing/).
 13790  type GetDeliverabilityDashboardOptionsInput struct {
 13791  	_ struct{} `type:"structure" nopayload:"true"`
 13792  }
 13793  
 13794  // String returns the string representation.
 13795  //
 13796  // API parameter values that are decorated as "sensitive" in the API will not
 13797  // be included in the string output. The member name will be present, but the
 13798  // value will be replaced with "sensitive".
 13799  func (s GetDeliverabilityDashboardOptionsInput) String() string {
 13800  	return awsutil.Prettify(s)
 13801  }
 13802  
 13803  // GoString returns the string representation.
 13804  //
 13805  // API parameter values that are decorated as "sensitive" in the API will not
 13806  // be included in the string output. The member name will be present, but the
 13807  // value will be replaced with "sensitive".
 13808  func (s GetDeliverabilityDashboardOptionsInput) GoString() string {
 13809  	return s.String()
 13810  }
 13811  
 13812  // An object that shows the status of the Deliverability dashboard.
 13813  type GetDeliverabilityDashboardOptionsOutput struct {
 13814  	_ struct{} `type:"structure"`
 13815  
 13816  	// The current status of your Deliverability dashboard subscription. If this
 13817  	// value is PENDING_EXPIRATION, your subscription is scheduled to expire at
 13818  	// the end of the current calendar month.
 13819  	AccountStatus *string `type:"string" enum:"DeliverabilityDashboardAccountStatus"`
 13820  
 13821  	// An array of objects, one for each verified domain that you use to send email
 13822  	// and currently has an active Deliverability dashboard subscription that isn’t
 13823  	// scheduled to expire at the end of the current calendar month.
 13824  	ActiveSubscribedDomains []*DomainDeliverabilityTrackingOption `type:"list"`
 13825  
 13826  	// Specifies whether the Deliverability dashboard is enabled. If this value
 13827  	// is true, the dashboard is enabled.
 13828  	//
 13829  	// DashboardEnabled is a required field
 13830  	DashboardEnabled *bool `type:"boolean" required:"true"`
 13831  
 13832  	// An array of objects, one for each verified domain that you use to send email
 13833  	// and currently has an active Deliverability dashboard subscription that's
 13834  	// scheduled to expire at the end of the current calendar month.
 13835  	PendingExpirationSubscribedDomains []*DomainDeliverabilityTrackingOption `type:"list"`
 13836  
 13837  	// The date, in Unix time format, when your current subscription to the Deliverability
 13838  	// dashboard is scheduled to expire, if your subscription is scheduled to expire
 13839  	// at the end of the current calendar month. This value is null if you have
 13840  	// an active subscription that isn’t due to expire at the end of the month.
 13841  	SubscriptionExpiryDate *time.Time `type:"timestamp"`
 13842  }
 13843  
 13844  // String returns the string representation.
 13845  //
 13846  // API parameter values that are decorated as "sensitive" in the API will not
 13847  // be included in the string output. The member name will be present, but the
 13848  // value will be replaced with "sensitive".
 13849  func (s GetDeliverabilityDashboardOptionsOutput) String() string {
 13850  	return awsutil.Prettify(s)
 13851  }
 13852  
 13853  // GoString returns the string representation.
 13854  //
 13855  // API parameter values that are decorated as "sensitive" in the API will not
 13856  // be included in the string output. The member name will be present, but the
 13857  // value will be replaced with "sensitive".
 13858  func (s GetDeliverabilityDashboardOptionsOutput) GoString() string {
 13859  	return s.String()
 13860  }
 13861  
 13862  // SetAccountStatus sets the AccountStatus field's value.
 13863  func (s *GetDeliverabilityDashboardOptionsOutput) SetAccountStatus(v string) *GetDeliverabilityDashboardOptionsOutput {
 13864  	s.AccountStatus = &v
 13865  	return s
 13866  }
 13867  
 13868  // SetActiveSubscribedDomains sets the ActiveSubscribedDomains field's value.
 13869  func (s *GetDeliverabilityDashboardOptionsOutput) SetActiveSubscribedDomains(v []*DomainDeliverabilityTrackingOption) *GetDeliverabilityDashboardOptionsOutput {
 13870  	s.ActiveSubscribedDomains = v
 13871  	return s
 13872  }
 13873  
 13874  // SetDashboardEnabled sets the DashboardEnabled field's value.
 13875  func (s *GetDeliverabilityDashboardOptionsOutput) SetDashboardEnabled(v bool) *GetDeliverabilityDashboardOptionsOutput {
 13876  	s.DashboardEnabled = &v
 13877  	return s
 13878  }
 13879  
 13880  // SetPendingExpirationSubscribedDomains sets the PendingExpirationSubscribedDomains field's value.
 13881  func (s *GetDeliverabilityDashboardOptionsOutput) SetPendingExpirationSubscribedDomains(v []*DomainDeliverabilityTrackingOption) *GetDeliverabilityDashboardOptionsOutput {
 13882  	s.PendingExpirationSubscribedDomains = v
 13883  	return s
 13884  }
 13885  
 13886  // SetSubscriptionExpiryDate sets the SubscriptionExpiryDate field's value.
 13887  func (s *GetDeliverabilityDashboardOptionsOutput) SetSubscriptionExpiryDate(v time.Time) *GetDeliverabilityDashboardOptionsOutput {
 13888  	s.SubscriptionExpiryDate = &v
 13889  	return s
 13890  }
 13891  
 13892  // A request to retrieve the results of a predictive inbox placement test.
 13893  type GetDeliverabilityTestReportInput struct {
 13894  	_ struct{} `type:"structure" nopayload:"true"`
 13895  
 13896  	// A unique string that identifies the predictive inbox placement test.
 13897  	//
 13898  	// ReportId is a required field
 13899  	ReportId *string `location:"uri" locationName:"ReportId" type:"string" required:"true"`
 13900  }
 13901  
 13902  // String returns the string representation.
 13903  //
 13904  // API parameter values that are decorated as "sensitive" in the API will not
 13905  // be included in the string output. The member name will be present, but the
 13906  // value will be replaced with "sensitive".
 13907  func (s GetDeliverabilityTestReportInput) String() string {
 13908  	return awsutil.Prettify(s)
 13909  }
 13910  
 13911  // GoString returns the string representation.
 13912  //
 13913  // API parameter values that are decorated as "sensitive" in the API will not
 13914  // be included in the string output. The member name will be present, but the
 13915  // value will be replaced with "sensitive".
 13916  func (s GetDeliverabilityTestReportInput) GoString() string {
 13917  	return s.String()
 13918  }
 13919  
 13920  // Validate inspects the fields of the type to determine if they are valid.
 13921  func (s *GetDeliverabilityTestReportInput) Validate() error {
 13922  	invalidParams := request.ErrInvalidParams{Context: "GetDeliverabilityTestReportInput"}
 13923  	if s.ReportId == nil {
 13924  		invalidParams.Add(request.NewErrParamRequired("ReportId"))
 13925  	}
 13926  	if s.ReportId != nil && len(*s.ReportId) < 1 {
 13927  		invalidParams.Add(request.NewErrParamMinLen("ReportId", 1))
 13928  	}
 13929  
 13930  	if invalidParams.Len() > 0 {
 13931  		return invalidParams
 13932  	}
 13933  	return nil
 13934  }
 13935  
 13936  // SetReportId sets the ReportId field's value.
 13937  func (s *GetDeliverabilityTestReportInput) SetReportId(v string) *GetDeliverabilityTestReportInput {
 13938  	s.ReportId = &v
 13939  	return s
 13940  }
 13941  
 13942  // The results of the predictive inbox placement test.
 13943  type GetDeliverabilityTestReportOutput struct {
 13944  	_ struct{} `type:"structure"`
 13945  
 13946  	// An object that contains the results of the predictive inbox placement test.
 13947  	//
 13948  	// DeliverabilityTestReport is a required field
 13949  	DeliverabilityTestReport *DeliverabilityTestReport `type:"structure" required:"true"`
 13950  
 13951  	// An object that describes how the test email was handled by several email
 13952  	// providers, including Gmail, Hotmail, Yahoo, AOL, and others.
 13953  	//
 13954  	// IspPlacements is a required field
 13955  	IspPlacements []*IspPlacement `type:"list" required:"true"`
 13956  
 13957  	// An object that contains the message that you sent when you performed this
 13958  	// predictive inbox placement test.
 13959  	Message *string `type:"string"`
 13960  
 13961  	// An object that specifies how many test messages that were sent during the
 13962  	// predictive inbox placement test were delivered to recipients' inboxes, how
 13963  	// many were sent to recipients' spam folders, and how many weren't delivered.
 13964  	//
 13965  	// OverallPlacement is a required field
 13966  	OverallPlacement *PlacementStatistics `type:"structure" required:"true"`
 13967  
 13968  	// An array of objects that define the tags (keys and values) that are associated
 13969  	// with the predictive inbox placement test.
 13970  	Tags []*Tag `type:"list"`
 13971  }
 13972  
 13973  // String returns the string representation.
 13974  //
 13975  // API parameter values that are decorated as "sensitive" in the API will not
 13976  // be included in the string output. The member name will be present, but the
 13977  // value will be replaced with "sensitive".
 13978  func (s GetDeliverabilityTestReportOutput) String() string {
 13979  	return awsutil.Prettify(s)
 13980  }
 13981  
 13982  // GoString returns the string representation.
 13983  //
 13984  // API parameter values that are decorated as "sensitive" in the API will not
 13985  // be included in the string output. The member name will be present, but the
 13986  // value will be replaced with "sensitive".
 13987  func (s GetDeliverabilityTestReportOutput) GoString() string {
 13988  	return s.String()
 13989  }
 13990  
 13991  // SetDeliverabilityTestReport sets the DeliverabilityTestReport field's value.
 13992  func (s *GetDeliverabilityTestReportOutput) SetDeliverabilityTestReport(v *DeliverabilityTestReport) *GetDeliverabilityTestReportOutput {
 13993  	s.DeliverabilityTestReport = v
 13994  	return s
 13995  }
 13996  
 13997  // SetIspPlacements sets the IspPlacements field's value.
 13998  func (s *GetDeliverabilityTestReportOutput) SetIspPlacements(v []*IspPlacement) *GetDeliverabilityTestReportOutput {
 13999  	s.IspPlacements = v
 14000  	return s
 14001  }
 14002  
 14003  // SetMessage sets the Message field's value.
 14004  func (s *GetDeliverabilityTestReportOutput) SetMessage(v string) *GetDeliverabilityTestReportOutput {
 14005  	s.Message = &v
 14006  	return s
 14007  }
 14008  
 14009  // SetOverallPlacement sets the OverallPlacement field's value.
 14010  func (s *GetDeliverabilityTestReportOutput) SetOverallPlacement(v *PlacementStatistics) *GetDeliverabilityTestReportOutput {
 14011  	s.OverallPlacement = v
 14012  	return s
 14013  }
 14014  
 14015  // SetTags sets the Tags field's value.
 14016  func (s *GetDeliverabilityTestReportOutput) SetTags(v []*Tag) *GetDeliverabilityTestReportOutput {
 14017  	s.Tags = v
 14018  	return s
 14019  }
 14020  
 14021  // Retrieve all the deliverability data for a specific campaign. This data is
 14022  // available for a campaign only if the campaign sent email by using a domain
 14023  // that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption
 14024  // operation).
 14025  type GetDomainDeliverabilityCampaignInput struct {
 14026  	_ struct{} `type:"structure" nopayload:"true"`
 14027  
 14028  	// The unique identifier for the campaign. The Deliverability dashboard automatically
 14029  	// generates and assigns this identifier to a campaign.
 14030  	//
 14031  	// CampaignId is a required field
 14032  	CampaignId *string `location:"uri" locationName:"CampaignId" type:"string" required:"true"`
 14033  }
 14034  
 14035  // String returns the string representation.
 14036  //
 14037  // API parameter values that are decorated as "sensitive" in the API will not
 14038  // be included in the string output. The member name will be present, but the
 14039  // value will be replaced with "sensitive".
 14040  func (s GetDomainDeliverabilityCampaignInput) String() string {
 14041  	return awsutil.Prettify(s)
 14042  }
 14043  
 14044  // GoString returns the string representation.
 14045  //
 14046  // API parameter values that are decorated as "sensitive" in the API will not
 14047  // be included in the string output. The member name will be present, but the
 14048  // value will be replaced with "sensitive".
 14049  func (s GetDomainDeliverabilityCampaignInput) GoString() string {
 14050  	return s.String()
 14051  }
 14052  
 14053  // Validate inspects the fields of the type to determine if they are valid.
 14054  func (s *GetDomainDeliverabilityCampaignInput) Validate() error {
 14055  	invalidParams := request.ErrInvalidParams{Context: "GetDomainDeliverabilityCampaignInput"}
 14056  	if s.CampaignId == nil {
 14057  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 14058  	}
 14059  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 14060  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 14061  	}
 14062  
 14063  	if invalidParams.Len() > 0 {
 14064  		return invalidParams
 14065  	}
 14066  	return nil
 14067  }
 14068  
 14069  // SetCampaignId sets the CampaignId field's value.
 14070  func (s *GetDomainDeliverabilityCampaignInput) SetCampaignId(v string) *GetDomainDeliverabilityCampaignInput {
 14071  	s.CampaignId = &v
 14072  	return s
 14073  }
 14074  
 14075  // An object that contains all the deliverability data for a specific campaign.
 14076  // This data is available for a campaign only if the campaign sent email by
 14077  // using a domain that the Deliverability dashboard is enabled for.
 14078  type GetDomainDeliverabilityCampaignOutput struct {
 14079  	_ struct{} `type:"structure"`
 14080  
 14081  	// An object that contains the deliverability data for the campaign.
 14082  	//
 14083  	// DomainDeliverabilityCampaign is a required field
 14084  	DomainDeliverabilityCampaign *DomainDeliverabilityCampaign `type:"structure" required:"true"`
 14085  }
 14086  
 14087  // String returns the string representation.
 14088  //
 14089  // API parameter values that are decorated as "sensitive" in the API will not
 14090  // be included in the string output. The member name will be present, but the
 14091  // value will be replaced with "sensitive".
 14092  func (s GetDomainDeliverabilityCampaignOutput) String() string {
 14093  	return awsutil.Prettify(s)
 14094  }
 14095  
 14096  // GoString returns the string representation.
 14097  //
 14098  // API parameter values that are decorated as "sensitive" in the API will not
 14099  // be included in the string output. The member name will be present, but the
 14100  // value will be replaced with "sensitive".
 14101  func (s GetDomainDeliverabilityCampaignOutput) GoString() string {
 14102  	return s.String()
 14103  }
 14104  
 14105  // SetDomainDeliverabilityCampaign sets the DomainDeliverabilityCampaign field's value.
 14106  func (s *GetDomainDeliverabilityCampaignOutput) SetDomainDeliverabilityCampaign(v *DomainDeliverabilityCampaign) *GetDomainDeliverabilityCampaignOutput {
 14107  	s.DomainDeliverabilityCampaign = v
 14108  	return s
 14109  }
 14110  
 14111  // A request to obtain deliverability metrics for a domain.
 14112  type GetDomainStatisticsReportInput struct {
 14113  	_ struct{} `type:"structure" nopayload:"true"`
 14114  
 14115  	// The domain that you want to obtain deliverability metrics for.
 14116  	//
 14117  	// Domain is a required field
 14118  	Domain *string `location:"uri" locationName:"Domain" min:"1" type:"string" required:"true"`
 14119  
 14120  	// The last day (in Unix time) that you want to obtain domain deliverability
 14121  	// metrics for. The EndDate that you specify has to be less than or equal to
 14122  	// 30 days after the StartDate.
 14123  	//
 14124  	// EndDate is a required field
 14125  	EndDate *time.Time `location:"querystring" locationName:"EndDate" type:"timestamp" required:"true"`
 14126  
 14127  	// The first day (in Unix time) that you want to obtain domain deliverability
 14128  	// metrics for.
 14129  	//
 14130  	// StartDate is a required field
 14131  	StartDate *time.Time `location:"querystring" locationName:"StartDate" type:"timestamp" required:"true"`
 14132  }
 14133  
 14134  // String returns the string representation.
 14135  //
 14136  // API parameter values that are decorated as "sensitive" in the API will not
 14137  // be included in the string output. The member name will be present, but the
 14138  // value will be replaced with "sensitive".
 14139  func (s GetDomainStatisticsReportInput) String() string {
 14140  	return awsutil.Prettify(s)
 14141  }
 14142  
 14143  // GoString returns the string representation.
 14144  //
 14145  // API parameter values that are decorated as "sensitive" in the API will not
 14146  // be included in the string output. The member name will be present, but the
 14147  // value will be replaced with "sensitive".
 14148  func (s GetDomainStatisticsReportInput) GoString() string {
 14149  	return s.String()
 14150  }
 14151  
 14152  // Validate inspects the fields of the type to determine if they are valid.
 14153  func (s *GetDomainStatisticsReportInput) Validate() error {
 14154  	invalidParams := request.ErrInvalidParams{Context: "GetDomainStatisticsReportInput"}
 14155  	if s.Domain == nil {
 14156  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 14157  	}
 14158  	if s.Domain != nil && len(*s.Domain) < 1 {
 14159  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 14160  	}
 14161  	if s.EndDate == nil {
 14162  		invalidParams.Add(request.NewErrParamRequired("EndDate"))
 14163  	}
 14164  	if s.StartDate == nil {
 14165  		invalidParams.Add(request.NewErrParamRequired("StartDate"))
 14166  	}
 14167  
 14168  	if invalidParams.Len() > 0 {
 14169  		return invalidParams
 14170  	}
 14171  	return nil
 14172  }
 14173  
 14174  // SetDomain sets the Domain field's value.
 14175  func (s *GetDomainStatisticsReportInput) SetDomain(v string) *GetDomainStatisticsReportInput {
 14176  	s.Domain = &v
 14177  	return s
 14178  }
 14179  
 14180  // SetEndDate sets the EndDate field's value.
 14181  func (s *GetDomainStatisticsReportInput) SetEndDate(v time.Time) *GetDomainStatisticsReportInput {
 14182  	s.EndDate = &v
 14183  	return s
 14184  }
 14185  
 14186  // SetStartDate sets the StartDate field's value.
 14187  func (s *GetDomainStatisticsReportInput) SetStartDate(v time.Time) *GetDomainStatisticsReportInput {
 14188  	s.StartDate = &v
 14189  	return s
 14190  }
 14191  
 14192  // An object that includes statistics that are related to the domain that you
 14193  // specified.
 14194  type GetDomainStatisticsReportOutput struct {
 14195  	_ struct{} `type:"structure"`
 14196  
 14197  	// An object that contains deliverability metrics for the domain that you specified.
 14198  	// This object contains data for each day, starting on the StartDate and ending
 14199  	// on the EndDate.
 14200  	//
 14201  	// DailyVolumes is a required field
 14202  	DailyVolumes []*DailyVolume `type:"list" required:"true"`
 14203  
 14204  	// An object that contains deliverability metrics for the domain that you specified.
 14205  	// The data in this object is a summary of all of the data that was collected
 14206  	// from the StartDate to the EndDate.
 14207  	//
 14208  	// OverallVolume is a required field
 14209  	OverallVolume *OverallVolume `type:"structure" required:"true"`
 14210  }
 14211  
 14212  // String returns the string representation.
 14213  //
 14214  // API parameter values that are decorated as "sensitive" in the API will not
 14215  // be included in the string output. The member name will be present, but the
 14216  // value will be replaced with "sensitive".
 14217  func (s GetDomainStatisticsReportOutput) String() string {
 14218  	return awsutil.Prettify(s)
 14219  }
 14220  
 14221  // GoString returns the string representation.
 14222  //
 14223  // API parameter values that are decorated as "sensitive" in the API will not
 14224  // be included in the string output. The member name will be present, but the
 14225  // value will be replaced with "sensitive".
 14226  func (s GetDomainStatisticsReportOutput) GoString() string {
 14227  	return s.String()
 14228  }
 14229  
 14230  // SetDailyVolumes sets the DailyVolumes field's value.
 14231  func (s *GetDomainStatisticsReportOutput) SetDailyVolumes(v []*DailyVolume) *GetDomainStatisticsReportOutput {
 14232  	s.DailyVolumes = v
 14233  	return s
 14234  }
 14235  
 14236  // SetOverallVolume sets the OverallVolume field's value.
 14237  func (s *GetDomainStatisticsReportOutput) SetOverallVolume(v *OverallVolume) *GetDomainStatisticsReportOutput {
 14238  	s.OverallVolume = v
 14239  	return s
 14240  }
 14241  
 14242  // A request to return details about an email identity.
 14243  type GetEmailIdentityInput struct {
 14244  	_ struct{} `type:"structure" nopayload:"true"`
 14245  
 14246  	// The email identity.
 14247  	//
 14248  	// EmailIdentity is a required field
 14249  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 14250  }
 14251  
 14252  // String returns the string representation.
 14253  //
 14254  // API parameter values that are decorated as "sensitive" in the API will not
 14255  // be included in the string output. The member name will be present, but the
 14256  // value will be replaced with "sensitive".
 14257  func (s GetEmailIdentityInput) String() string {
 14258  	return awsutil.Prettify(s)
 14259  }
 14260  
 14261  // GoString returns the string representation.
 14262  //
 14263  // API parameter values that are decorated as "sensitive" in the API will not
 14264  // be included in the string output. The member name will be present, but the
 14265  // value will be replaced with "sensitive".
 14266  func (s GetEmailIdentityInput) GoString() string {
 14267  	return s.String()
 14268  }
 14269  
 14270  // Validate inspects the fields of the type to determine if they are valid.
 14271  func (s *GetEmailIdentityInput) Validate() error {
 14272  	invalidParams := request.ErrInvalidParams{Context: "GetEmailIdentityInput"}
 14273  	if s.EmailIdentity == nil {
 14274  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 14275  	}
 14276  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 14277  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 14278  	}
 14279  
 14280  	if invalidParams.Len() > 0 {
 14281  		return invalidParams
 14282  	}
 14283  	return nil
 14284  }
 14285  
 14286  // SetEmailIdentity sets the EmailIdentity field's value.
 14287  func (s *GetEmailIdentityInput) SetEmailIdentity(v string) *GetEmailIdentityInput {
 14288  	s.EmailIdentity = &v
 14289  	return s
 14290  }
 14291  
 14292  // Details about an email identity.
 14293  type GetEmailIdentityOutput struct {
 14294  	_ struct{} `type:"structure"`
 14295  
 14296  	// The configuration set used by default when sending from this identity.
 14297  	ConfigurationSetName *string `type:"string"`
 14298  
 14299  	// An object that contains information about the DKIM attributes for the identity.
 14300  	DkimAttributes *DkimAttributes `type:"structure"`
 14301  
 14302  	// The feedback forwarding configuration for the identity.
 14303  	//
 14304  	// If the value is true, you receive email notifications when bounce or complaint
 14305  	// events occur. These notifications are sent to the address that you specified
 14306  	// in the Return-Path header of the original email.
 14307  	//
 14308  	// You're required to have a method of tracking bounces and complaints. If you
 14309  	// haven't set up another mechanism for receiving bounce or complaint notifications
 14310  	// (for example, by setting up an event destination), you receive an email notification
 14311  	// when these events occur (even if this setting is disabled).
 14312  	FeedbackForwardingStatus *bool `type:"boolean"`
 14313  
 14314  	// The email identity type. Note: the MANAGED_DOMAIN identity type is not supported.
 14315  	IdentityType *string `type:"string" enum:"IdentityType"`
 14316  
 14317  	// An object that contains information about the Mail-From attributes for the
 14318  	// email identity.
 14319  	MailFromAttributes *MailFromAttributes `type:"structure"`
 14320  
 14321  	// A map of policy names to policies.
 14322  	Policies map[string]*string `type:"map"`
 14323  
 14324  	// An array of objects that define the tags (keys and values) that are associated
 14325  	// with the email identity.
 14326  	Tags []*Tag `type:"list"`
 14327  
 14328  	// Specifies whether or not the identity is verified. You can only send email
 14329  	// from verified email addresses or domains. For more information about verifying
 14330  	// identities, see the Amazon Pinpoint User Guide (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-email-manage-verify.html).
 14331  	VerifiedForSendingStatus *bool `type:"boolean"`
 14332  }
 14333  
 14334  // String returns the string representation.
 14335  //
 14336  // API parameter values that are decorated as "sensitive" in the API will not
 14337  // be included in the string output. The member name will be present, but the
 14338  // value will be replaced with "sensitive".
 14339  func (s GetEmailIdentityOutput) String() string {
 14340  	return awsutil.Prettify(s)
 14341  }
 14342  
 14343  // GoString returns the string representation.
 14344  //
 14345  // API parameter values that are decorated as "sensitive" in the API will not
 14346  // be included in the string output. The member name will be present, but the
 14347  // value will be replaced with "sensitive".
 14348  func (s GetEmailIdentityOutput) GoString() string {
 14349  	return s.String()
 14350  }
 14351  
 14352  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 14353  func (s *GetEmailIdentityOutput) SetConfigurationSetName(v string) *GetEmailIdentityOutput {
 14354  	s.ConfigurationSetName = &v
 14355  	return s
 14356  }
 14357  
 14358  // SetDkimAttributes sets the DkimAttributes field's value.
 14359  func (s *GetEmailIdentityOutput) SetDkimAttributes(v *DkimAttributes) *GetEmailIdentityOutput {
 14360  	s.DkimAttributes = v
 14361  	return s
 14362  }
 14363  
 14364  // SetFeedbackForwardingStatus sets the FeedbackForwardingStatus field's value.
 14365  func (s *GetEmailIdentityOutput) SetFeedbackForwardingStatus(v bool) *GetEmailIdentityOutput {
 14366  	s.FeedbackForwardingStatus = &v
 14367  	return s
 14368  }
 14369  
 14370  // SetIdentityType sets the IdentityType field's value.
 14371  func (s *GetEmailIdentityOutput) SetIdentityType(v string) *GetEmailIdentityOutput {
 14372  	s.IdentityType = &v
 14373  	return s
 14374  }
 14375  
 14376  // SetMailFromAttributes sets the MailFromAttributes field's value.
 14377  func (s *GetEmailIdentityOutput) SetMailFromAttributes(v *MailFromAttributes) *GetEmailIdentityOutput {
 14378  	s.MailFromAttributes = v
 14379  	return s
 14380  }
 14381  
 14382  // SetPolicies sets the Policies field's value.
 14383  func (s *GetEmailIdentityOutput) SetPolicies(v map[string]*string) *GetEmailIdentityOutput {
 14384  	s.Policies = v
 14385  	return s
 14386  }
 14387  
 14388  // SetTags sets the Tags field's value.
 14389  func (s *GetEmailIdentityOutput) SetTags(v []*Tag) *GetEmailIdentityOutput {
 14390  	s.Tags = v
 14391  	return s
 14392  }
 14393  
 14394  // SetVerifiedForSendingStatus sets the VerifiedForSendingStatus field's value.
 14395  func (s *GetEmailIdentityOutput) SetVerifiedForSendingStatus(v bool) *GetEmailIdentityOutput {
 14396  	s.VerifiedForSendingStatus = &v
 14397  	return s
 14398  }
 14399  
 14400  // A request to return the policies of an email identity.
 14401  type GetEmailIdentityPoliciesInput struct {
 14402  	_ struct{} `type:"structure" nopayload:"true"`
 14403  
 14404  	// The email identity.
 14405  	//
 14406  	// EmailIdentity is a required field
 14407  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 14408  }
 14409  
 14410  // String returns the string representation.
 14411  //
 14412  // API parameter values that are decorated as "sensitive" in the API will not
 14413  // be included in the string output. The member name will be present, but the
 14414  // value will be replaced with "sensitive".
 14415  func (s GetEmailIdentityPoliciesInput) String() string {
 14416  	return awsutil.Prettify(s)
 14417  }
 14418  
 14419  // GoString returns the string representation.
 14420  //
 14421  // API parameter values that are decorated as "sensitive" in the API will not
 14422  // be included in the string output. The member name will be present, but the
 14423  // value will be replaced with "sensitive".
 14424  func (s GetEmailIdentityPoliciesInput) GoString() string {
 14425  	return s.String()
 14426  }
 14427  
 14428  // Validate inspects the fields of the type to determine if they are valid.
 14429  func (s *GetEmailIdentityPoliciesInput) Validate() error {
 14430  	invalidParams := request.ErrInvalidParams{Context: "GetEmailIdentityPoliciesInput"}
 14431  	if s.EmailIdentity == nil {
 14432  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 14433  	}
 14434  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 14435  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 14436  	}
 14437  
 14438  	if invalidParams.Len() > 0 {
 14439  		return invalidParams
 14440  	}
 14441  	return nil
 14442  }
 14443  
 14444  // SetEmailIdentity sets the EmailIdentity field's value.
 14445  func (s *GetEmailIdentityPoliciesInput) SetEmailIdentity(v string) *GetEmailIdentityPoliciesInput {
 14446  	s.EmailIdentity = &v
 14447  	return s
 14448  }
 14449  
 14450  // Identity policies associated with email identity.
 14451  type GetEmailIdentityPoliciesOutput struct {
 14452  	_ struct{} `type:"structure"`
 14453  
 14454  	// A map of policy names to policies.
 14455  	Policies map[string]*string `type:"map"`
 14456  }
 14457  
 14458  // String returns the string representation.
 14459  //
 14460  // API parameter values that are decorated as "sensitive" in the API will not
 14461  // be included in the string output. The member name will be present, but the
 14462  // value will be replaced with "sensitive".
 14463  func (s GetEmailIdentityPoliciesOutput) String() string {
 14464  	return awsutil.Prettify(s)
 14465  }
 14466  
 14467  // GoString returns the string representation.
 14468  //
 14469  // API parameter values that are decorated as "sensitive" in the API will not
 14470  // be included in the string output. The member name will be present, but the
 14471  // value will be replaced with "sensitive".
 14472  func (s GetEmailIdentityPoliciesOutput) GoString() string {
 14473  	return s.String()
 14474  }
 14475  
 14476  // SetPolicies sets the Policies field's value.
 14477  func (s *GetEmailIdentityPoliciesOutput) SetPolicies(v map[string]*string) *GetEmailIdentityPoliciesOutput {
 14478  	s.Policies = v
 14479  	return s
 14480  }
 14481  
 14482  // Represents a request to display the template object (which includes the subject
 14483  // line, HTML part and text part) for the template you specify.
 14484  type GetEmailTemplateInput struct {
 14485  	_ struct{} `type:"structure" nopayload:"true"`
 14486  
 14487  	// The name of the template.
 14488  	//
 14489  	// TemplateName is a required field
 14490  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 14491  }
 14492  
 14493  // String returns the string representation.
 14494  //
 14495  // API parameter values that are decorated as "sensitive" in the API will not
 14496  // be included in the string output. The member name will be present, but the
 14497  // value will be replaced with "sensitive".
 14498  func (s GetEmailTemplateInput) String() string {
 14499  	return awsutil.Prettify(s)
 14500  }
 14501  
 14502  // GoString returns the string representation.
 14503  //
 14504  // API parameter values that are decorated as "sensitive" in the API will not
 14505  // be included in the string output. The member name will be present, but the
 14506  // value will be replaced with "sensitive".
 14507  func (s GetEmailTemplateInput) GoString() string {
 14508  	return s.String()
 14509  }
 14510  
 14511  // Validate inspects the fields of the type to determine if they are valid.
 14512  func (s *GetEmailTemplateInput) Validate() error {
 14513  	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
 14514  	if s.TemplateName == nil {
 14515  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 14516  	}
 14517  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 14518  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 14519  	}
 14520  
 14521  	if invalidParams.Len() > 0 {
 14522  		return invalidParams
 14523  	}
 14524  	return nil
 14525  }
 14526  
 14527  // SetTemplateName sets the TemplateName field's value.
 14528  func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
 14529  	s.TemplateName = &v
 14530  	return s
 14531  }
 14532  
 14533  // The following element is returned by the service.
 14534  type GetEmailTemplateOutput struct {
 14535  	_ struct{} `type:"structure"`
 14536  
 14537  	// The content of the email template, composed of a subject line, an HTML part,
 14538  	// and a text-only part.
 14539  	//
 14540  	// TemplateContent is a required field
 14541  	TemplateContent *EmailTemplateContent `type:"structure" required:"true"`
 14542  
 14543  	// The name of the template.
 14544  	//
 14545  	// TemplateName is a required field
 14546  	TemplateName *string `min:"1" type:"string" required:"true"`
 14547  }
 14548  
 14549  // String returns the string representation.
 14550  //
 14551  // API parameter values that are decorated as "sensitive" in the API will not
 14552  // be included in the string output. The member name will be present, but the
 14553  // value will be replaced with "sensitive".
 14554  func (s GetEmailTemplateOutput) String() string {
 14555  	return awsutil.Prettify(s)
 14556  }
 14557  
 14558  // GoString returns the string representation.
 14559  //
 14560  // API parameter values that are decorated as "sensitive" in the API will not
 14561  // be included in the string output. The member name will be present, but the
 14562  // value will be replaced with "sensitive".
 14563  func (s GetEmailTemplateOutput) GoString() string {
 14564  	return s.String()
 14565  }
 14566  
 14567  // SetTemplateContent sets the TemplateContent field's value.
 14568  func (s *GetEmailTemplateOutput) SetTemplateContent(v *EmailTemplateContent) *GetEmailTemplateOutput {
 14569  	s.TemplateContent = v
 14570  	return s
 14571  }
 14572  
 14573  // SetTemplateName sets the TemplateName field's value.
 14574  func (s *GetEmailTemplateOutput) SetTemplateName(v string) *GetEmailTemplateOutput {
 14575  	s.TemplateName = &v
 14576  	return s
 14577  }
 14578  
 14579  // Represents a request for information about an import job using the import
 14580  // job ID.
 14581  type GetImportJobInput struct {
 14582  	_ struct{} `type:"structure" nopayload:"true"`
 14583  
 14584  	// The ID of the import job.
 14585  	//
 14586  	// JobId is a required field
 14587  	JobId *string `location:"uri" locationName:"JobId" min:"1" type:"string" required:"true"`
 14588  }
 14589  
 14590  // String returns the string representation.
 14591  //
 14592  // API parameter values that are decorated as "sensitive" in the API will not
 14593  // be included in the string output. The member name will be present, but the
 14594  // value will be replaced with "sensitive".
 14595  func (s GetImportJobInput) String() string {
 14596  	return awsutil.Prettify(s)
 14597  }
 14598  
 14599  // GoString returns the string representation.
 14600  //
 14601  // API parameter values that are decorated as "sensitive" in the API will not
 14602  // be included in the string output. The member name will be present, but the
 14603  // value will be replaced with "sensitive".
 14604  func (s GetImportJobInput) GoString() string {
 14605  	return s.String()
 14606  }
 14607  
 14608  // Validate inspects the fields of the type to determine if they are valid.
 14609  func (s *GetImportJobInput) Validate() error {
 14610  	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
 14611  	if s.JobId == nil {
 14612  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 14613  	}
 14614  	if s.JobId != nil && len(*s.JobId) < 1 {
 14615  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 14616  	}
 14617  
 14618  	if invalidParams.Len() > 0 {
 14619  		return invalidParams
 14620  	}
 14621  	return nil
 14622  }
 14623  
 14624  // SetJobId sets the JobId field's value.
 14625  func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
 14626  	s.JobId = &v
 14627  	return s
 14628  }
 14629  
 14630  // An HTTP 200 response if the request succeeds, or an error message if the
 14631  // request fails.
 14632  type GetImportJobOutput struct {
 14633  	_ struct{} `type:"structure"`
 14634  
 14635  	// The time stamp of when the import job was completed.
 14636  	CompletedTimestamp *time.Time `type:"timestamp"`
 14637  
 14638  	// The time stamp of when the import job was created.
 14639  	CreatedTimestamp *time.Time `type:"timestamp"`
 14640  
 14641  	// The number of records that failed processing because of invalid input or
 14642  	// other reasons.
 14643  	FailedRecordsCount *int64 `type:"integer"`
 14644  
 14645  	// The failure details about an import job.
 14646  	FailureInfo *FailureInfo `type:"structure"`
 14647  
 14648  	// The data source of the import job.
 14649  	ImportDataSource *ImportDataSource `type:"structure"`
 14650  
 14651  	// The destination of the import job.
 14652  	ImportDestination *ImportDestination `type:"structure"`
 14653  
 14654  	// A string that represents the import job ID.
 14655  	JobId *string `min:"1" type:"string"`
 14656  
 14657  	// The status of the import job.
 14658  	JobStatus *string `type:"string" enum:"JobStatus"`
 14659  
 14660  	// The current number of records processed.
 14661  	ProcessedRecordsCount *int64 `type:"integer"`
 14662  }
 14663  
 14664  // String returns the string representation.
 14665  //
 14666  // API parameter values that are decorated as "sensitive" in the API will not
 14667  // be included in the string output. The member name will be present, but the
 14668  // value will be replaced with "sensitive".
 14669  func (s GetImportJobOutput) String() string {
 14670  	return awsutil.Prettify(s)
 14671  }
 14672  
 14673  // GoString returns the string representation.
 14674  //
 14675  // API parameter values that are decorated as "sensitive" in the API will not
 14676  // be included in the string output. The member name will be present, but the
 14677  // value will be replaced with "sensitive".
 14678  func (s GetImportJobOutput) GoString() string {
 14679  	return s.String()
 14680  }
 14681  
 14682  // SetCompletedTimestamp sets the CompletedTimestamp field's value.
 14683  func (s *GetImportJobOutput) SetCompletedTimestamp(v time.Time) *GetImportJobOutput {
 14684  	s.CompletedTimestamp = &v
 14685  	return s
 14686  }
 14687  
 14688  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 14689  func (s *GetImportJobOutput) SetCreatedTimestamp(v time.Time) *GetImportJobOutput {
 14690  	s.CreatedTimestamp = &v
 14691  	return s
 14692  }
 14693  
 14694  // SetFailedRecordsCount sets the FailedRecordsCount field's value.
 14695  func (s *GetImportJobOutput) SetFailedRecordsCount(v int64) *GetImportJobOutput {
 14696  	s.FailedRecordsCount = &v
 14697  	return s
 14698  }
 14699  
 14700  // SetFailureInfo sets the FailureInfo field's value.
 14701  func (s *GetImportJobOutput) SetFailureInfo(v *FailureInfo) *GetImportJobOutput {
 14702  	s.FailureInfo = v
 14703  	return s
 14704  }
 14705  
 14706  // SetImportDataSource sets the ImportDataSource field's value.
 14707  func (s *GetImportJobOutput) SetImportDataSource(v *ImportDataSource) *GetImportJobOutput {
 14708  	s.ImportDataSource = v
 14709  	return s
 14710  }
 14711  
 14712  // SetImportDestination sets the ImportDestination field's value.
 14713  func (s *GetImportJobOutput) SetImportDestination(v *ImportDestination) *GetImportJobOutput {
 14714  	s.ImportDestination = v
 14715  	return s
 14716  }
 14717  
 14718  // SetJobId sets the JobId field's value.
 14719  func (s *GetImportJobOutput) SetJobId(v string) *GetImportJobOutput {
 14720  	s.JobId = &v
 14721  	return s
 14722  }
 14723  
 14724  // SetJobStatus sets the JobStatus field's value.
 14725  func (s *GetImportJobOutput) SetJobStatus(v string) *GetImportJobOutput {
 14726  	s.JobStatus = &v
 14727  	return s
 14728  }
 14729  
 14730  // SetProcessedRecordsCount sets the ProcessedRecordsCount field's value.
 14731  func (s *GetImportJobOutput) SetProcessedRecordsCount(v int64) *GetImportJobOutput {
 14732  	s.ProcessedRecordsCount = &v
 14733  	return s
 14734  }
 14735  
 14736  // A request to retrieve information about an email address that's on the suppression
 14737  // list for your account.
 14738  type GetSuppressedDestinationInput struct {
 14739  	_ struct{} `type:"structure" nopayload:"true"`
 14740  
 14741  	// The email address that's on the account suppression list.
 14742  	//
 14743  	// EmailAddress is a required field
 14744  	EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"`
 14745  }
 14746  
 14747  // String returns the string representation.
 14748  //
 14749  // API parameter values that are decorated as "sensitive" in the API will not
 14750  // be included in the string output. The member name will be present, but the
 14751  // value will be replaced with "sensitive".
 14752  func (s GetSuppressedDestinationInput) String() string {
 14753  	return awsutil.Prettify(s)
 14754  }
 14755  
 14756  // GoString returns the string representation.
 14757  //
 14758  // API parameter values that are decorated as "sensitive" in the API will not
 14759  // be included in the string output. The member name will be present, but the
 14760  // value will be replaced with "sensitive".
 14761  func (s GetSuppressedDestinationInput) GoString() string {
 14762  	return s.String()
 14763  }
 14764  
 14765  // Validate inspects the fields of the type to determine if they are valid.
 14766  func (s *GetSuppressedDestinationInput) Validate() error {
 14767  	invalidParams := request.ErrInvalidParams{Context: "GetSuppressedDestinationInput"}
 14768  	if s.EmailAddress == nil {
 14769  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 14770  	}
 14771  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
 14772  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
 14773  	}
 14774  
 14775  	if invalidParams.Len() > 0 {
 14776  		return invalidParams
 14777  	}
 14778  	return nil
 14779  }
 14780  
 14781  // SetEmailAddress sets the EmailAddress field's value.
 14782  func (s *GetSuppressedDestinationInput) SetEmailAddress(v string) *GetSuppressedDestinationInput {
 14783  	s.EmailAddress = &v
 14784  	return s
 14785  }
 14786  
 14787  // Information about the suppressed email address.
 14788  type GetSuppressedDestinationOutput struct {
 14789  	_ struct{} `type:"structure"`
 14790  
 14791  	// An object containing information about the suppressed email address.
 14792  	//
 14793  	// SuppressedDestination is a required field
 14794  	SuppressedDestination *SuppressedDestination `type:"structure" required:"true"`
 14795  }
 14796  
 14797  // String returns the string representation.
 14798  //
 14799  // API parameter values that are decorated as "sensitive" in the API will not
 14800  // be included in the string output. The member name will be present, but the
 14801  // value will be replaced with "sensitive".
 14802  func (s GetSuppressedDestinationOutput) String() string {
 14803  	return awsutil.Prettify(s)
 14804  }
 14805  
 14806  // GoString returns the string representation.
 14807  //
 14808  // API parameter values that are decorated as "sensitive" in the API will not
 14809  // be included in the string output. The member name will be present, but the
 14810  // value will be replaced with "sensitive".
 14811  func (s GetSuppressedDestinationOutput) GoString() string {
 14812  	return s.String()
 14813  }
 14814  
 14815  // SetSuppressedDestination sets the SuppressedDestination field's value.
 14816  func (s *GetSuppressedDestinationOutput) SetSuppressedDestination(v *SuppressedDestination) *GetSuppressedDestinationOutput {
 14817  	s.SuppressedDestination = v
 14818  	return s
 14819  }
 14820  
 14821  // Information about an email identity.
 14822  type IdentityInfo struct {
 14823  	_ struct{} `type:"structure"`
 14824  
 14825  	// The address or domain of the identity.
 14826  	IdentityName *string `min:"1" type:"string"`
 14827  
 14828  	// The email identity type. Note: the MANAGED_DOMAIN type is not supported for
 14829  	// email identity types.
 14830  	IdentityType *string `type:"string" enum:"IdentityType"`
 14831  
 14832  	// Indicates whether or not you can send email from the identity.
 14833  	//
 14834  	// An identity is an email address or domain that you send email from. Before
 14835  	// you can send email from an identity, you have to demostrate that you own
 14836  	// the identity, and that you authorize Amazon SES to send email from that identity.
 14837  	SendingEnabled *bool `type:"boolean"`
 14838  }
 14839  
 14840  // String returns the string representation.
 14841  //
 14842  // API parameter values that are decorated as "sensitive" in the API will not
 14843  // be included in the string output. The member name will be present, but the
 14844  // value will be replaced with "sensitive".
 14845  func (s IdentityInfo) String() string {
 14846  	return awsutil.Prettify(s)
 14847  }
 14848  
 14849  // GoString returns the string representation.
 14850  //
 14851  // API parameter values that are decorated as "sensitive" in the API will not
 14852  // be included in the string output. The member name will be present, but the
 14853  // value will be replaced with "sensitive".
 14854  func (s IdentityInfo) GoString() string {
 14855  	return s.String()
 14856  }
 14857  
 14858  // SetIdentityName sets the IdentityName field's value.
 14859  func (s *IdentityInfo) SetIdentityName(v string) *IdentityInfo {
 14860  	s.IdentityName = &v
 14861  	return s
 14862  }
 14863  
 14864  // SetIdentityType sets the IdentityType field's value.
 14865  func (s *IdentityInfo) SetIdentityType(v string) *IdentityInfo {
 14866  	s.IdentityType = &v
 14867  	return s
 14868  }
 14869  
 14870  // SetSendingEnabled sets the SendingEnabled field's value.
 14871  func (s *IdentityInfo) SetSendingEnabled(v bool) *IdentityInfo {
 14872  	s.SendingEnabled = &v
 14873  	return s
 14874  }
 14875  
 14876  // An object that contains details about the data source of the import job.
 14877  type ImportDataSource struct {
 14878  	_ struct{} `type:"structure"`
 14879  
 14880  	// The data format of the import job's data source.
 14881  	//
 14882  	// DataFormat is a required field
 14883  	DataFormat *string `type:"string" required:"true" enum:"DataFormat"`
 14884  
 14885  	// An Amazon S3 URL in the format s3://<bucket_name>/<object>.
 14886  	//
 14887  	// S3Url is a required field
 14888  	S3Url *string `type:"string" required:"true"`
 14889  }
 14890  
 14891  // String returns the string representation.
 14892  //
 14893  // API parameter values that are decorated as "sensitive" in the API will not
 14894  // be included in the string output. The member name will be present, but the
 14895  // value will be replaced with "sensitive".
 14896  func (s ImportDataSource) String() string {
 14897  	return awsutil.Prettify(s)
 14898  }
 14899  
 14900  // GoString 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 ImportDataSource) GoString() string {
 14906  	return s.String()
 14907  }
 14908  
 14909  // Validate inspects the fields of the type to determine if they are valid.
 14910  func (s *ImportDataSource) Validate() error {
 14911  	invalidParams := request.ErrInvalidParams{Context: "ImportDataSource"}
 14912  	if s.DataFormat == nil {
 14913  		invalidParams.Add(request.NewErrParamRequired("DataFormat"))
 14914  	}
 14915  	if s.S3Url == nil {
 14916  		invalidParams.Add(request.NewErrParamRequired("S3Url"))
 14917  	}
 14918  
 14919  	if invalidParams.Len() > 0 {
 14920  		return invalidParams
 14921  	}
 14922  	return nil
 14923  }
 14924  
 14925  // SetDataFormat sets the DataFormat field's value.
 14926  func (s *ImportDataSource) SetDataFormat(v string) *ImportDataSource {
 14927  	s.DataFormat = &v
 14928  	return s
 14929  }
 14930  
 14931  // SetS3Url sets the S3Url field's value.
 14932  func (s *ImportDataSource) SetS3Url(v string) *ImportDataSource {
 14933  	s.S3Url = &v
 14934  	return s
 14935  }
 14936  
 14937  // An object that contains details about the resource destination the import
 14938  // job is going to target.
 14939  type ImportDestination struct {
 14940  	_ struct{} `type:"structure"`
 14941  
 14942  	// An object that contains the action of the import job towards a contact list.
 14943  	ContactListDestination *ContactListDestination `type:"structure"`
 14944  
 14945  	// An object that contains the action of the import job towards suppression
 14946  	// list.
 14947  	SuppressionListDestination *SuppressionListDestination `type:"structure"`
 14948  }
 14949  
 14950  // String returns the string representation.
 14951  //
 14952  // API parameter values that are decorated as "sensitive" in the API will not
 14953  // be included in the string output. The member name will be present, but the
 14954  // value will be replaced with "sensitive".
 14955  func (s ImportDestination) String() string {
 14956  	return awsutil.Prettify(s)
 14957  }
 14958  
 14959  // GoString returns the string representation.
 14960  //
 14961  // API parameter values that are decorated as "sensitive" in the API will not
 14962  // be included in the string output. The member name will be present, but the
 14963  // value will be replaced with "sensitive".
 14964  func (s ImportDestination) GoString() string {
 14965  	return s.String()
 14966  }
 14967  
 14968  // Validate inspects the fields of the type to determine if they are valid.
 14969  func (s *ImportDestination) Validate() error {
 14970  	invalidParams := request.ErrInvalidParams{Context: "ImportDestination"}
 14971  	if s.ContactListDestination != nil {
 14972  		if err := s.ContactListDestination.Validate(); err != nil {
 14973  			invalidParams.AddNested("ContactListDestination", err.(request.ErrInvalidParams))
 14974  		}
 14975  	}
 14976  	if s.SuppressionListDestination != nil {
 14977  		if err := s.SuppressionListDestination.Validate(); err != nil {
 14978  			invalidParams.AddNested("SuppressionListDestination", err.(request.ErrInvalidParams))
 14979  		}
 14980  	}
 14981  
 14982  	if invalidParams.Len() > 0 {
 14983  		return invalidParams
 14984  	}
 14985  	return nil
 14986  }
 14987  
 14988  // SetContactListDestination sets the ContactListDestination field's value.
 14989  func (s *ImportDestination) SetContactListDestination(v *ContactListDestination) *ImportDestination {
 14990  	s.ContactListDestination = v
 14991  	return s
 14992  }
 14993  
 14994  // SetSuppressionListDestination sets the SuppressionListDestination field's value.
 14995  func (s *ImportDestination) SetSuppressionListDestination(v *SuppressionListDestination) *ImportDestination {
 14996  	s.SuppressionListDestination = v
 14997  	return s
 14998  }
 14999  
 15000  // A summary of the import job.
 15001  type ImportJobSummary struct {
 15002  	_ struct{} `type:"structure"`
 15003  
 15004  	// The date and time when the import job was created.
 15005  	CreatedTimestamp *time.Time `type:"timestamp"`
 15006  
 15007  	// An object that contains details about the resource destination the import
 15008  	// job is going to target.
 15009  	ImportDestination *ImportDestination `type:"structure"`
 15010  
 15011  	// A string that represents the import job ID.
 15012  	JobId *string `min:"1" type:"string"`
 15013  
 15014  	// The status of the import job.
 15015  	JobStatus *string `type:"string" enum:"JobStatus"`
 15016  }
 15017  
 15018  // String returns the string representation.
 15019  //
 15020  // API parameter values that are decorated as "sensitive" in the API will not
 15021  // be included in the string output. The member name will be present, but the
 15022  // value will be replaced with "sensitive".
 15023  func (s ImportJobSummary) String() string {
 15024  	return awsutil.Prettify(s)
 15025  }
 15026  
 15027  // GoString returns the string representation.
 15028  //
 15029  // API parameter values that are decorated as "sensitive" in the API will not
 15030  // be included in the string output. The member name will be present, but the
 15031  // value will be replaced with "sensitive".
 15032  func (s ImportJobSummary) GoString() string {
 15033  	return s.String()
 15034  }
 15035  
 15036  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 15037  func (s *ImportJobSummary) SetCreatedTimestamp(v time.Time) *ImportJobSummary {
 15038  	s.CreatedTimestamp = &v
 15039  	return s
 15040  }
 15041  
 15042  // SetImportDestination sets the ImportDestination field's value.
 15043  func (s *ImportJobSummary) SetImportDestination(v *ImportDestination) *ImportJobSummary {
 15044  	s.ImportDestination = v
 15045  	return s
 15046  }
 15047  
 15048  // SetJobId sets the JobId field's value.
 15049  func (s *ImportJobSummary) SetJobId(v string) *ImportJobSummary {
 15050  	s.JobId = &v
 15051  	return s
 15052  }
 15053  
 15054  // SetJobStatus sets the JobStatus field's value.
 15055  func (s *ImportJobSummary) SetJobStatus(v string) *ImportJobSummary {
 15056  	s.JobStatus = &v
 15057  	return s
 15058  }
 15059  
 15060  // An object that contains information about the inbox placement data settings
 15061  // for a verified domain that’s associated with your Amazon Web Services account.
 15062  // This data is available only if you enabled the Deliverability dashboard for
 15063  // the domain.
 15064  type InboxPlacementTrackingOption struct {
 15065  	_ struct{} `type:"structure"`
 15066  
 15067  	// Specifies whether inbox placement data is being tracked for the domain.
 15068  	Global *bool `type:"boolean"`
 15069  
 15070  	// An array of strings, one for each major email provider that the inbox placement
 15071  	// data applies to.
 15072  	TrackedIsps []*string `type:"list"`
 15073  }
 15074  
 15075  // String returns the string representation.
 15076  //
 15077  // API parameter values that are decorated as "sensitive" in the API will not
 15078  // be included in the string output. The member name will be present, but the
 15079  // value will be replaced with "sensitive".
 15080  func (s InboxPlacementTrackingOption) String() string {
 15081  	return awsutil.Prettify(s)
 15082  }
 15083  
 15084  // GoString returns the string representation.
 15085  //
 15086  // API parameter values that are decorated as "sensitive" in the API will not
 15087  // be included in the string output. The member name will be present, but the
 15088  // value will be replaced with "sensitive".
 15089  func (s InboxPlacementTrackingOption) GoString() string {
 15090  	return s.String()
 15091  }
 15092  
 15093  // SetGlobal sets the Global field's value.
 15094  func (s *InboxPlacementTrackingOption) SetGlobal(v bool) *InboxPlacementTrackingOption {
 15095  	s.Global = &v
 15096  	return s
 15097  }
 15098  
 15099  // SetTrackedIsps sets the TrackedIsps field's value.
 15100  func (s *InboxPlacementTrackingOption) SetTrackedIsps(v []*string) *InboxPlacementTrackingOption {
 15101  	s.TrackedIsps = v
 15102  	return s
 15103  }
 15104  
 15105  // The specified request includes an invalid or expired token.
 15106  type InvalidNextTokenException struct {
 15107  	_            struct{}                  `type:"structure"`
 15108  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15109  
 15110  	Message_ *string `locationName:"message" type:"string"`
 15111  }
 15112  
 15113  // String returns the string representation.
 15114  //
 15115  // API parameter values that are decorated as "sensitive" in the API will not
 15116  // be included in the string output. The member name will be present, but the
 15117  // value will be replaced with "sensitive".
 15118  func (s InvalidNextTokenException) String() string {
 15119  	return awsutil.Prettify(s)
 15120  }
 15121  
 15122  // GoString returns the string representation.
 15123  //
 15124  // API parameter values that are decorated as "sensitive" in the API will not
 15125  // be included in the string output. The member name will be present, but the
 15126  // value will be replaced with "sensitive".
 15127  func (s InvalidNextTokenException) GoString() string {
 15128  	return s.String()
 15129  }
 15130  
 15131  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
 15132  	return &InvalidNextTokenException{
 15133  		RespMetadata: v,
 15134  	}
 15135  }
 15136  
 15137  // Code returns the exception type name.
 15138  func (s *InvalidNextTokenException) Code() string {
 15139  	return "InvalidNextTokenException"
 15140  }
 15141  
 15142  // Message returns the exception's message.
 15143  func (s *InvalidNextTokenException) Message() string {
 15144  	if s.Message_ != nil {
 15145  		return *s.Message_
 15146  	}
 15147  	return ""
 15148  }
 15149  
 15150  // OrigErr always returns nil, satisfies awserr.Error interface.
 15151  func (s *InvalidNextTokenException) OrigErr() error {
 15152  	return nil
 15153  }
 15154  
 15155  func (s *InvalidNextTokenException) Error() string {
 15156  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15157  }
 15158  
 15159  // Status code returns the HTTP status code for the request's response error.
 15160  func (s *InvalidNextTokenException) StatusCode() int {
 15161  	return s.RespMetadata.StatusCode
 15162  }
 15163  
 15164  // RequestID returns the service's response RequestID for request.
 15165  func (s *InvalidNextTokenException) RequestID() string {
 15166  	return s.RespMetadata.RequestID
 15167  }
 15168  
 15169  // An object that describes how email sent during the predictive inbox placement
 15170  // test was handled by a certain email provider.
 15171  type IspPlacement struct {
 15172  	_ struct{} `type:"structure"`
 15173  
 15174  	// The name of the email provider that the inbox placement data applies to.
 15175  	IspName *string `type:"string"`
 15176  
 15177  	// An object that contains inbox placement metrics for a specific email provider.
 15178  	PlacementStatistics *PlacementStatistics `type:"structure"`
 15179  }
 15180  
 15181  // String returns the string representation.
 15182  //
 15183  // API parameter values that are decorated as "sensitive" in the API will not
 15184  // be included in the string output. The member name will be present, but the
 15185  // value will be replaced with "sensitive".
 15186  func (s IspPlacement) String() string {
 15187  	return awsutil.Prettify(s)
 15188  }
 15189  
 15190  // GoString returns the string representation.
 15191  //
 15192  // API parameter values that are decorated as "sensitive" in the API will not
 15193  // be included in the string output. The member name will be present, but the
 15194  // value will be replaced with "sensitive".
 15195  func (s IspPlacement) GoString() string {
 15196  	return s.String()
 15197  }
 15198  
 15199  // SetIspName sets the IspName field's value.
 15200  func (s *IspPlacement) SetIspName(v string) *IspPlacement {
 15201  	s.IspName = &v
 15202  	return s
 15203  }
 15204  
 15205  // SetPlacementStatistics sets the PlacementStatistics field's value.
 15206  func (s *IspPlacement) SetPlacementStatistics(v *PlacementStatistics) *IspPlacement {
 15207  	s.PlacementStatistics = v
 15208  	return s
 15209  }
 15210  
 15211  // An object that defines an Amazon Kinesis Data Firehose destination for email
 15212  // events. You can use Amazon Kinesis Data Firehose to stream data to other
 15213  // services, such as Amazon S3 and Amazon Redshift.
 15214  type KinesisFirehoseDestination struct {
 15215  	_ struct{} `type:"structure"`
 15216  
 15217  	// The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream
 15218  	// that the Amazon SES API v2 sends email events to.
 15219  	//
 15220  	// DeliveryStreamArn is a required field
 15221  	DeliveryStreamArn *string `type:"string" required:"true"`
 15222  
 15223  	// The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2
 15224  	// uses to send email events to the Amazon Kinesis Data Firehose stream.
 15225  	//
 15226  	// IamRoleArn is a required field
 15227  	IamRoleArn *string `type:"string" required:"true"`
 15228  }
 15229  
 15230  // String returns the string representation.
 15231  //
 15232  // API parameter values that are decorated as "sensitive" in the API will not
 15233  // be included in the string output. The member name will be present, but the
 15234  // value will be replaced with "sensitive".
 15235  func (s KinesisFirehoseDestination) String() string {
 15236  	return awsutil.Prettify(s)
 15237  }
 15238  
 15239  // GoString returns the string representation.
 15240  //
 15241  // API parameter values that are decorated as "sensitive" in the API will not
 15242  // be included in the string output. The member name will be present, but the
 15243  // value will be replaced with "sensitive".
 15244  func (s KinesisFirehoseDestination) GoString() string {
 15245  	return s.String()
 15246  }
 15247  
 15248  // Validate inspects the fields of the type to determine if they are valid.
 15249  func (s *KinesisFirehoseDestination) Validate() error {
 15250  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseDestination"}
 15251  	if s.DeliveryStreamArn == nil {
 15252  		invalidParams.Add(request.NewErrParamRequired("DeliveryStreamArn"))
 15253  	}
 15254  	if s.IamRoleArn == nil {
 15255  		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
 15256  	}
 15257  
 15258  	if invalidParams.Len() > 0 {
 15259  		return invalidParams
 15260  	}
 15261  	return nil
 15262  }
 15263  
 15264  // SetDeliveryStreamArn sets the DeliveryStreamArn field's value.
 15265  func (s *KinesisFirehoseDestination) SetDeliveryStreamArn(v string) *KinesisFirehoseDestination {
 15266  	s.DeliveryStreamArn = &v
 15267  	return s
 15268  }
 15269  
 15270  // SetIamRoleArn sets the IamRoleArn field's value.
 15271  func (s *KinesisFirehoseDestination) SetIamRoleArn(v string) *KinesisFirehoseDestination {
 15272  	s.IamRoleArn = &v
 15273  	return s
 15274  }
 15275  
 15276  // There are too many instances of the specified resource type.
 15277  type LimitExceededException struct {
 15278  	_            struct{}                  `type:"structure"`
 15279  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15280  
 15281  	Message_ *string `locationName:"message" type:"string"`
 15282  }
 15283  
 15284  // String returns the string representation.
 15285  //
 15286  // API parameter values that are decorated as "sensitive" in the API will not
 15287  // be included in the string output. The member name will be present, but the
 15288  // value will be replaced with "sensitive".
 15289  func (s LimitExceededException) String() string {
 15290  	return awsutil.Prettify(s)
 15291  }
 15292  
 15293  // GoString returns the string representation.
 15294  //
 15295  // API parameter values that are decorated as "sensitive" in the API will not
 15296  // be included in the string output. The member name will be present, but the
 15297  // value will be replaced with "sensitive".
 15298  func (s LimitExceededException) GoString() string {
 15299  	return s.String()
 15300  }
 15301  
 15302  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 15303  	return &LimitExceededException{
 15304  		RespMetadata: v,
 15305  	}
 15306  }
 15307  
 15308  // Code returns the exception type name.
 15309  func (s *LimitExceededException) Code() string {
 15310  	return "LimitExceededException"
 15311  }
 15312  
 15313  // Message returns the exception's message.
 15314  func (s *LimitExceededException) Message() string {
 15315  	if s.Message_ != nil {
 15316  		return *s.Message_
 15317  	}
 15318  	return ""
 15319  }
 15320  
 15321  // OrigErr always returns nil, satisfies awserr.Error interface.
 15322  func (s *LimitExceededException) OrigErr() error {
 15323  	return nil
 15324  }
 15325  
 15326  func (s *LimitExceededException) Error() string {
 15327  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15328  }
 15329  
 15330  // Status code returns the HTTP status code for the request's response error.
 15331  func (s *LimitExceededException) StatusCode() int {
 15332  	return s.RespMetadata.StatusCode
 15333  }
 15334  
 15335  // RequestID returns the service's response RequestID for request.
 15336  func (s *LimitExceededException) RequestID() string {
 15337  	return s.RespMetadata.RequestID
 15338  }
 15339  
 15340  // A request to obtain a list of configuration sets for your Amazon SES account
 15341  // in the current Amazon Web Services Region.
 15342  type ListConfigurationSetsInput struct {
 15343  	_ struct{} `type:"structure" nopayload:"true"`
 15344  
 15345  	// A token returned from a previous call to ListConfigurationSets to indicate
 15346  	// the position in the list of configuration sets.
 15347  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15348  
 15349  	// The number of results to show in a single call to ListConfigurationSets.
 15350  	// If the number of results is larger than the number you specified in this
 15351  	// parameter, then the response includes a NextToken element, which you can
 15352  	// use to obtain additional results.
 15353  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15354  }
 15355  
 15356  // String returns the string representation.
 15357  //
 15358  // API parameter values that are decorated as "sensitive" in the API will not
 15359  // be included in the string output. The member name will be present, but the
 15360  // value will be replaced with "sensitive".
 15361  func (s ListConfigurationSetsInput) String() string {
 15362  	return awsutil.Prettify(s)
 15363  }
 15364  
 15365  // GoString returns the string representation.
 15366  //
 15367  // API parameter values that are decorated as "sensitive" in the API will not
 15368  // be included in the string output. The member name will be present, but the
 15369  // value will be replaced with "sensitive".
 15370  func (s ListConfigurationSetsInput) GoString() string {
 15371  	return s.String()
 15372  }
 15373  
 15374  // SetNextToken sets the NextToken field's value.
 15375  func (s *ListConfigurationSetsInput) SetNextToken(v string) *ListConfigurationSetsInput {
 15376  	s.NextToken = &v
 15377  	return s
 15378  }
 15379  
 15380  // SetPageSize sets the PageSize field's value.
 15381  func (s *ListConfigurationSetsInput) SetPageSize(v int64) *ListConfigurationSetsInput {
 15382  	s.PageSize = &v
 15383  	return s
 15384  }
 15385  
 15386  // A list of configuration sets in your Amazon SES account in the current Amazon
 15387  // Web Services Region.
 15388  type ListConfigurationSetsOutput struct {
 15389  	_ struct{} `type:"structure"`
 15390  
 15391  	// An array that contains all of the configuration sets in your Amazon SES account
 15392  	// in the current Amazon Web Services Region.
 15393  	ConfigurationSets []*string `type:"list"`
 15394  
 15395  	// A token that indicates that there are additional configuration sets to list.
 15396  	// To view additional configuration sets, issue another request to ListConfigurationSets,
 15397  	// and pass this token in the NextToken parameter.
 15398  	NextToken *string `type:"string"`
 15399  }
 15400  
 15401  // String returns the string representation.
 15402  //
 15403  // API parameter values that are decorated as "sensitive" in the API will not
 15404  // be included in the string output. The member name will be present, but the
 15405  // value will be replaced with "sensitive".
 15406  func (s ListConfigurationSetsOutput) String() string {
 15407  	return awsutil.Prettify(s)
 15408  }
 15409  
 15410  // GoString returns the string representation.
 15411  //
 15412  // API parameter values that are decorated as "sensitive" in the API will not
 15413  // be included in the string output. The member name will be present, but the
 15414  // value will be replaced with "sensitive".
 15415  func (s ListConfigurationSetsOutput) GoString() string {
 15416  	return s.String()
 15417  }
 15418  
 15419  // SetConfigurationSets sets the ConfigurationSets field's value.
 15420  func (s *ListConfigurationSetsOutput) SetConfigurationSets(v []*string) *ListConfigurationSetsOutput {
 15421  	s.ConfigurationSets = v
 15422  	return s
 15423  }
 15424  
 15425  // SetNextToken sets the NextToken field's value.
 15426  func (s *ListConfigurationSetsOutput) SetNextToken(v string) *ListConfigurationSetsOutput {
 15427  	s.NextToken = &v
 15428  	return s
 15429  }
 15430  
 15431  type ListContactListsInput struct {
 15432  	_ struct{} `type:"structure" nopayload:"true"`
 15433  
 15434  	// A string token indicating that there might be additional contact lists available
 15435  	// to be listed. Use the token provided in the Response to use in the subsequent
 15436  	// call to ListContactLists with the same parameters to retrieve the next page
 15437  	// of contact lists.
 15438  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15439  
 15440  	// Maximum number of contact lists to return at once. Use this parameter to
 15441  	// paginate results. If additional contact lists exist beyond the specified
 15442  	// limit, the NextToken element is sent in the response. Use the NextToken value
 15443  	// in subsequent requests to retrieve additional lists.
 15444  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15445  }
 15446  
 15447  // String returns the string representation.
 15448  //
 15449  // API parameter values that are decorated as "sensitive" in the API will not
 15450  // be included in the string output. The member name will be present, but the
 15451  // value will be replaced with "sensitive".
 15452  func (s ListContactListsInput) String() string {
 15453  	return awsutil.Prettify(s)
 15454  }
 15455  
 15456  // GoString returns the string representation.
 15457  //
 15458  // API parameter values that are decorated as "sensitive" in the API will not
 15459  // be included in the string output. The member name will be present, but the
 15460  // value will be replaced with "sensitive".
 15461  func (s ListContactListsInput) GoString() string {
 15462  	return s.String()
 15463  }
 15464  
 15465  // SetNextToken sets the NextToken field's value.
 15466  func (s *ListContactListsInput) SetNextToken(v string) *ListContactListsInput {
 15467  	s.NextToken = &v
 15468  	return s
 15469  }
 15470  
 15471  // SetPageSize sets the PageSize field's value.
 15472  func (s *ListContactListsInput) SetPageSize(v int64) *ListContactListsInput {
 15473  	s.PageSize = &v
 15474  	return s
 15475  }
 15476  
 15477  type ListContactListsOutput struct {
 15478  	_ struct{} `type:"structure"`
 15479  
 15480  	// The available contact lists.
 15481  	ContactLists []*ContactList `type:"list"`
 15482  
 15483  	// A string token indicating that there might be additional contact lists available
 15484  	// to be listed. Copy this token to a subsequent call to ListContactLists with
 15485  	// the same parameters to retrieve the next page of contact lists.
 15486  	NextToken *string `type:"string"`
 15487  }
 15488  
 15489  // String returns the string representation.
 15490  //
 15491  // API parameter values that are decorated as "sensitive" in the API will not
 15492  // be included in the string output. The member name will be present, but the
 15493  // value will be replaced with "sensitive".
 15494  func (s ListContactListsOutput) String() string {
 15495  	return awsutil.Prettify(s)
 15496  }
 15497  
 15498  // GoString 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 ListContactListsOutput) GoString() string {
 15504  	return s.String()
 15505  }
 15506  
 15507  // SetContactLists sets the ContactLists field's value.
 15508  func (s *ListContactListsOutput) SetContactLists(v []*ContactList) *ListContactListsOutput {
 15509  	s.ContactLists = v
 15510  	return s
 15511  }
 15512  
 15513  // SetNextToken sets the NextToken field's value.
 15514  func (s *ListContactListsOutput) SetNextToken(v string) *ListContactListsOutput {
 15515  	s.NextToken = &v
 15516  	return s
 15517  }
 15518  
 15519  // A filter that can be applied to a list of contacts.
 15520  type ListContactsFilter struct {
 15521  	_ struct{} `type:"structure"`
 15522  
 15523  	// The status by which you are filtering: OPT_IN or OPT_OUT.
 15524  	FilteredStatus *string `type:"string" enum:"SubscriptionStatus"`
 15525  
 15526  	// Used for filtering by a specific topic preference.
 15527  	TopicFilter *TopicFilter `type:"structure"`
 15528  }
 15529  
 15530  // String returns the string representation.
 15531  //
 15532  // API parameter values that are decorated as "sensitive" in the API will not
 15533  // be included in the string output. The member name will be present, but the
 15534  // value will be replaced with "sensitive".
 15535  func (s ListContactsFilter) String() string {
 15536  	return awsutil.Prettify(s)
 15537  }
 15538  
 15539  // GoString returns the string representation.
 15540  //
 15541  // API parameter values that are decorated as "sensitive" in the API will not
 15542  // be included in the string output. The member name will be present, but the
 15543  // value will be replaced with "sensitive".
 15544  func (s ListContactsFilter) GoString() string {
 15545  	return s.String()
 15546  }
 15547  
 15548  // SetFilteredStatus sets the FilteredStatus field's value.
 15549  func (s *ListContactsFilter) SetFilteredStatus(v string) *ListContactsFilter {
 15550  	s.FilteredStatus = &v
 15551  	return s
 15552  }
 15553  
 15554  // SetTopicFilter sets the TopicFilter field's value.
 15555  func (s *ListContactsFilter) SetTopicFilter(v *TopicFilter) *ListContactsFilter {
 15556  	s.TopicFilter = v
 15557  	return s
 15558  }
 15559  
 15560  type ListContactsInput struct {
 15561  	_ struct{} `type:"structure"`
 15562  
 15563  	// The name of the contact list.
 15564  	//
 15565  	// ContactListName is a required field
 15566  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 15567  
 15568  	// A filter that can be applied to a list of contacts.
 15569  	Filter *ListContactsFilter `type:"structure"`
 15570  
 15571  	// A string token indicating that there might be additional contacts available
 15572  	// to be listed. Use the token provided in the Response to use in the subsequent
 15573  	// call to ListContacts with the same parameters to retrieve the next page of
 15574  	// contacts.
 15575  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15576  
 15577  	// The number of contacts that may be returned at once, which is dependent on
 15578  	// if there are more or less contacts than the value of the PageSize. Use this
 15579  	// parameter to paginate results. If additional contacts exist beyond the specified
 15580  	// limit, the NextToken element is sent in the response. Use the NextToken value
 15581  	// in subsequent requests to retrieve additional contacts.
 15582  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15583  }
 15584  
 15585  // String returns the string representation.
 15586  //
 15587  // API parameter values that are decorated as "sensitive" in the API will not
 15588  // be included in the string output. The member name will be present, but the
 15589  // value will be replaced with "sensitive".
 15590  func (s ListContactsInput) String() string {
 15591  	return awsutil.Prettify(s)
 15592  }
 15593  
 15594  // GoString returns the string representation.
 15595  //
 15596  // API parameter values that are decorated as "sensitive" in the API will not
 15597  // be included in the string output. The member name will be present, but the
 15598  // value will be replaced with "sensitive".
 15599  func (s ListContactsInput) GoString() string {
 15600  	return s.String()
 15601  }
 15602  
 15603  // Validate inspects the fields of the type to determine if they are valid.
 15604  func (s *ListContactsInput) Validate() error {
 15605  	invalidParams := request.ErrInvalidParams{Context: "ListContactsInput"}
 15606  	if s.ContactListName == nil {
 15607  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 15608  	}
 15609  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 15610  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 15611  	}
 15612  
 15613  	if invalidParams.Len() > 0 {
 15614  		return invalidParams
 15615  	}
 15616  	return nil
 15617  }
 15618  
 15619  // SetContactListName sets the ContactListName field's value.
 15620  func (s *ListContactsInput) SetContactListName(v string) *ListContactsInput {
 15621  	s.ContactListName = &v
 15622  	return s
 15623  }
 15624  
 15625  // SetFilter sets the Filter field's value.
 15626  func (s *ListContactsInput) SetFilter(v *ListContactsFilter) *ListContactsInput {
 15627  	s.Filter = v
 15628  	return s
 15629  }
 15630  
 15631  // SetNextToken sets the NextToken field's value.
 15632  func (s *ListContactsInput) SetNextToken(v string) *ListContactsInput {
 15633  	s.NextToken = &v
 15634  	return s
 15635  }
 15636  
 15637  // SetPageSize sets the PageSize field's value.
 15638  func (s *ListContactsInput) SetPageSize(v int64) *ListContactsInput {
 15639  	s.PageSize = &v
 15640  	return s
 15641  }
 15642  
 15643  type ListContactsOutput struct {
 15644  	_ struct{} `type:"structure"`
 15645  
 15646  	// The contacts present in a specific contact list.
 15647  	Contacts []*Contact `type:"list"`
 15648  
 15649  	// A string token indicating that there might be additional contacts available
 15650  	// to be listed. Copy this token to a subsequent call to ListContacts with the
 15651  	// same parameters to retrieve the next page of contacts.
 15652  	NextToken *string `type:"string"`
 15653  }
 15654  
 15655  // String returns the string representation.
 15656  //
 15657  // API parameter values that are decorated as "sensitive" in the API will not
 15658  // be included in the string output. The member name will be present, but the
 15659  // value will be replaced with "sensitive".
 15660  func (s ListContactsOutput) String() string {
 15661  	return awsutil.Prettify(s)
 15662  }
 15663  
 15664  // GoString returns the string representation.
 15665  //
 15666  // API parameter values that are decorated as "sensitive" in the API will not
 15667  // be included in the string output. The member name will be present, but the
 15668  // value will be replaced with "sensitive".
 15669  func (s ListContactsOutput) GoString() string {
 15670  	return s.String()
 15671  }
 15672  
 15673  // SetContacts sets the Contacts field's value.
 15674  func (s *ListContactsOutput) SetContacts(v []*Contact) *ListContactsOutput {
 15675  	s.Contacts = v
 15676  	return s
 15677  }
 15678  
 15679  // SetNextToken sets the NextToken field's value.
 15680  func (s *ListContactsOutput) SetNextToken(v string) *ListContactsOutput {
 15681  	s.NextToken = &v
 15682  	return s
 15683  }
 15684  
 15685  // Represents a request to list the existing custom verification email templates
 15686  // for your account.
 15687  type ListCustomVerificationEmailTemplatesInput struct {
 15688  	_ struct{} `type:"structure" nopayload:"true"`
 15689  
 15690  	// A token returned from a previous call to ListCustomVerificationEmailTemplates
 15691  	// to indicate the position in the list of custom verification email templates.
 15692  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15693  
 15694  	// The number of results to show in a single call to ListCustomVerificationEmailTemplates.
 15695  	// If the number of results is larger than the number you specified in this
 15696  	// parameter, then the response includes a NextToken element, which you can
 15697  	// use to obtain additional results.
 15698  	//
 15699  	// The value you specify has to be at least 1, and can be no more than 50.
 15700  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15701  }
 15702  
 15703  // String returns the string representation.
 15704  //
 15705  // API parameter values that are decorated as "sensitive" in the API will not
 15706  // be included in the string output. The member name will be present, but the
 15707  // value will be replaced with "sensitive".
 15708  func (s ListCustomVerificationEmailTemplatesInput) String() string {
 15709  	return awsutil.Prettify(s)
 15710  }
 15711  
 15712  // GoString returns the string representation.
 15713  //
 15714  // API parameter values that are decorated as "sensitive" in the API will not
 15715  // be included in the string output. The member name will be present, but the
 15716  // value will be replaced with "sensitive".
 15717  func (s ListCustomVerificationEmailTemplatesInput) GoString() string {
 15718  	return s.String()
 15719  }
 15720  
 15721  // SetNextToken sets the NextToken field's value.
 15722  func (s *ListCustomVerificationEmailTemplatesInput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesInput {
 15723  	s.NextToken = &v
 15724  	return s
 15725  }
 15726  
 15727  // SetPageSize sets the PageSize field's value.
 15728  func (s *ListCustomVerificationEmailTemplatesInput) SetPageSize(v int64) *ListCustomVerificationEmailTemplatesInput {
 15729  	s.PageSize = &v
 15730  	return s
 15731  }
 15732  
 15733  // The following elements are returned by the service.
 15734  type ListCustomVerificationEmailTemplatesOutput struct {
 15735  	_ struct{} `type:"structure"`
 15736  
 15737  	// A list of the custom verification email templates that exist in your account.
 15738  	CustomVerificationEmailTemplates []*CustomVerificationEmailTemplateMetadata `type:"list"`
 15739  
 15740  	// A token indicating that there are additional custom verification email templates
 15741  	// available to be listed. Pass this token to a subsequent call to ListCustomVerificationEmailTemplates
 15742  	// to retrieve the next 50 custom verification email templates.
 15743  	NextToken *string `type:"string"`
 15744  }
 15745  
 15746  // String returns the string representation.
 15747  //
 15748  // API parameter values that are decorated as "sensitive" in the API will not
 15749  // be included in the string output. The member name will be present, but the
 15750  // value will be replaced with "sensitive".
 15751  func (s ListCustomVerificationEmailTemplatesOutput) String() string {
 15752  	return awsutil.Prettify(s)
 15753  }
 15754  
 15755  // GoString returns the string representation.
 15756  //
 15757  // API parameter values that are decorated as "sensitive" in the API will not
 15758  // be included in the string output. The member name will be present, but the
 15759  // value will be replaced with "sensitive".
 15760  func (s ListCustomVerificationEmailTemplatesOutput) GoString() string {
 15761  	return s.String()
 15762  }
 15763  
 15764  // SetCustomVerificationEmailTemplates sets the CustomVerificationEmailTemplates field's value.
 15765  func (s *ListCustomVerificationEmailTemplatesOutput) SetCustomVerificationEmailTemplates(v []*CustomVerificationEmailTemplateMetadata) *ListCustomVerificationEmailTemplatesOutput {
 15766  	s.CustomVerificationEmailTemplates = v
 15767  	return s
 15768  }
 15769  
 15770  // SetNextToken sets the NextToken field's value.
 15771  func (s *ListCustomVerificationEmailTemplatesOutput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesOutput {
 15772  	s.NextToken = &v
 15773  	return s
 15774  }
 15775  
 15776  // A request to obtain a list of dedicated IP pools.
 15777  type ListDedicatedIpPoolsInput struct {
 15778  	_ struct{} `type:"structure" nopayload:"true"`
 15779  
 15780  	// A token returned from a previous call to ListDedicatedIpPools to indicate
 15781  	// the position in the list of dedicated IP pools.
 15782  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15783  
 15784  	// The number of results to show in a single call to ListDedicatedIpPools. If
 15785  	// the number of results is larger than the number you specified in this parameter,
 15786  	// then the response includes a NextToken element, which you can use to obtain
 15787  	// additional results.
 15788  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15789  }
 15790  
 15791  // String returns the string representation.
 15792  //
 15793  // API parameter values that are decorated as "sensitive" in the API will not
 15794  // be included in the string output. The member name will be present, but the
 15795  // value will be replaced with "sensitive".
 15796  func (s ListDedicatedIpPoolsInput) String() string {
 15797  	return awsutil.Prettify(s)
 15798  }
 15799  
 15800  // GoString returns the string representation.
 15801  //
 15802  // API parameter values that are decorated as "sensitive" in the API will not
 15803  // be included in the string output. The member name will be present, but the
 15804  // value will be replaced with "sensitive".
 15805  func (s ListDedicatedIpPoolsInput) GoString() string {
 15806  	return s.String()
 15807  }
 15808  
 15809  // SetNextToken sets the NextToken field's value.
 15810  func (s *ListDedicatedIpPoolsInput) SetNextToken(v string) *ListDedicatedIpPoolsInput {
 15811  	s.NextToken = &v
 15812  	return s
 15813  }
 15814  
 15815  // SetPageSize sets the PageSize field's value.
 15816  func (s *ListDedicatedIpPoolsInput) SetPageSize(v int64) *ListDedicatedIpPoolsInput {
 15817  	s.PageSize = &v
 15818  	return s
 15819  }
 15820  
 15821  // A list of dedicated IP pools.
 15822  type ListDedicatedIpPoolsOutput struct {
 15823  	_ struct{} `type:"structure"`
 15824  
 15825  	// A list of all of the dedicated IP pools that are associated with your Amazon
 15826  	// Web Services account in the current Region.
 15827  	DedicatedIpPools []*string `type:"list"`
 15828  
 15829  	// A token that indicates that there are additional IP pools to list. To view
 15830  	// additional IP pools, issue another request to ListDedicatedIpPools, passing
 15831  	// this token in the NextToken parameter.
 15832  	NextToken *string `type:"string"`
 15833  }
 15834  
 15835  // String returns the string representation.
 15836  //
 15837  // API parameter values that are decorated as "sensitive" in the API will not
 15838  // be included in the string output. The member name will be present, but the
 15839  // value will be replaced with "sensitive".
 15840  func (s ListDedicatedIpPoolsOutput) String() string {
 15841  	return awsutil.Prettify(s)
 15842  }
 15843  
 15844  // GoString returns the string representation.
 15845  //
 15846  // API parameter values that are decorated as "sensitive" in the API will not
 15847  // be included in the string output. The member name will be present, but the
 15848  // value will be replaced with "sensitive".
 15849  func (s ListDedicatedIpPoolsOutput) GoString() string {
 15850  	return s.String()
 15851  }
 15852  
 15853  // SetDedicatedIpPools sets the DedicatedIpPools field's value.
 15854  func (s *ListDedicatedIpPoolsOutput) SetDedicatedIpPools(v []*string) *ListDedicatedIpPoolsOutput {
 15855  	s.DedicatedIpPools = v
 15856  	return s
 15857  }
 15858  
 15859  // SetNextToken sets the NextToken field's value.
 15860  func (s *ListDedicatedIpPoolsOutput) SetNextToken(v string) *ListDedicatedIpPoolsOutput {
 15861  	s.NextToken = &v
 15862  	return s
 15863  }
 15864  
 15865  // A request to list all of the predictive inbox placement tests that you've
 15866  // performed.
 15867  type ListDeliverabilityTestReportsInput struct {
 15868  	_ struct{} `type:"structure" nopayload:"true"`
 15869  
 15870  	// A token returned from a previous call to ListDeliverabilityTestReports to
 15871  	// indicate the position in the list of predictive inbox placement tests.
 15872  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15873  
 15874  	// The number of results to show in a single call to ListDeliverabilityTestReports.
 15875  	// If the number of results is larger than the number you specified in this
 15876  	// parameter, then the response includes a NextToken element, which you can
 15877  	// use to obtain additional results.
 15878  	//
 15879  	// The value you specify has to be at least 0, and can be no more than 1000.
 15880  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15881  }
 15882  
 15883  // String returns the string representation.
 15884  //
 15885  // API parameter values that are decorated as "sensitive" in the API will not
 15886  // be included in the string output. The member name will be present, but the
 15887  // value will be replaced with "sensitive".
 15888  func (s ListDeliverabilityTestReportsInput) String() string {
 15889  	return awsutil.Prettify(s)
 15890  }
 15891  
 15892  // GoString returns the string representation.
 15893  //
 15894  // API parameter values that are decorated as "sensitive" in the API will not
 15895  // be included in the string output. The member name will be present, but the
 15896  // value will be replaced with "sensitive".
 15897  func (s ListDeliverabilityTestReportsInput) GoString() string {
 15898  	return s.String()
 15899  }
 15900  
 15901  // SetNextToken sets the NextToken field's value.
 15902  func (s *ListDeliverabilityTestReportsInput) SetNextToken(v string) *ListDeliverabilityTestReportsInput {
 15903  	s.NextToken = &v
 15904  	return s
 15905  }
 15906  
 15907  // SetPageSize sets the PageSize field's value.
 15908  func (s *ListDeliverabilityTestReportsInput) SetPageSize(v int64) *ListDeliverabilityTestReportsInput {
 15909  	s.PageSize = &v
 15910  	return s
 15911  }
 15912  
 15913  // A list of the predictive inbox placement test reports that are available
 15914  // for your account, regardless of whether or not those tests are complete.
 15915  type ListDeliverabilityTestReportsOutput struct {
 15916  	_ struct{} `type:"structure"`
 15917  
 15918  	// An object that contains a lists of predictive inbox placement tests that
 15919  	// you've performed.
 15920  	//
 15921  	// DeliverabilityTestReports is a required field
 15922  	DeliverabilityTestReports []*DeliverabilityTestReport `type:"list" required:"true"`
 15923  
 15924  	// A token that indicates that there are additional predictive inbox placement
 15925  	// tests to list. To view additional predictive inbox placement tests, issue
 15926  	// another request to ListDeliverabilityTestReports, and pass this token in
 15927  	// the NextToken parameter.
 15928  	NextToken *string `type:"string"`
 15929  }
 15930  
 15931  // String returns the string representation.
 15932  //
 15933  // API parameter values that are decorated as "sensitive" in the API will not
 15934  // be included in the string output. The member name will be present, but the
 15935  // value will be replaced with "sensitive".
 15936  func (s ListDeliverabilityTestReportsOutput) String() string {
 15937  	return awsutil.Prettify(s)
 15938  }
 15939  
 15940  // GoString returns the string representation.
 15941  //
 15942  // API parameter values that are decorated as "sensitive" in the API will not
 15943  // be included in the string output. The member name will be present, but the
 15944  // value will be replaced with "sensitive".
 15945  func (s ListDeliverabilityTestReportsOutput) GoString() string {
 15946  	return s.String()
 15947  }
 15948  
 15949  // SetDeliverabilityTestReports sets the DeliverabilityTestReports field's value.
 15950  func (s *ListDeliverabilityTestReportsOutput) SetDeliverabilityTestReports(v []*DeliverabilityTestReport) *ListDeliverabilityTestReportsOutput {
 15951  	s.DeliverabilityTestReports = v
 15952  	return s
 15953  }
 15954  
 15955  // SetNextToken sets the NextToken field's value.
 15956  func (s *ListDeliverabilityTestReportsOutput) SetNextToken(v string) *ListDeliverabilityTestReportsOutput {
 15957  	s.NextToken = &v
 15958  	return s
 15959  }
 15960  
 15961  // Retrieve deliverability data for all the campaigns that used a specific domain
 15962  // to send email during a specified time range. This data is available for a
 15963  // domain only if you enabled the Deliverability dashboard.
 15964  type ListDomainDeliverabilityCampaignsInput struct {
 15965  	_ struct{} `type:"structure" nopayload:"true"`
 15966  
 15967  	// The last day, in Unix time format, that you want to obtain deliverability
 15968  	// data for. This value has to be less than or equal to 30 days after the value
 15969  	// of the StartDate parameter.
 15970  	//
 15971  	// EndDate is a required field
 15972  	EndDate *time.Time `location:"querystring" locationName:"EndDate" type:"timestamp" required:"true"`
 15973  
 15974  	// A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns
 15975  	// operation. This token indicates the position of a campaign in the list of
 15976  	// campaigns.
 15977  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15978  
 15979  	// The maximum number of results to include in response to a single call to
 15980  	// the ListDomainDeliverabilityCampaigns operation. If the number of results
 15981  	// is larger than the number that you specify in this parameter, the response
 15982  	// includes a NextToken element, which you can use to obtain additional results.
 15983  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 15984  
 15985  	// The first day, in Unix time format, that you want to obtain deliverability
 15986  	// data for.
 15987  	//
 15988  	// StartDate is a required field
 15989  	StartDate *time.Time `location:"querystring" locationName:"StartDate" type:"timestamp" required:"true"`
 15990  
 15991  	// The domain to obtain deliverability data for.
 15992  	//
 15993  	// SubscribedDomain is a required field
 15994  	SubscribedDomain *string `location:"uri" locationName:"SubscribedDomain" type:"string" required:"true"`
 15995  }
 15996  
 15997  // String returns the string representation.
 15998  //
 15999  // API parameter values that are decorated as "sensitive" in the API will not
 16000  // be included in the string output. The member name will be present, but the
 16001  // value will be replaced with "sensitive".
 16002  func (s ListDomainDeliverabilityCampaignsInput) String() string {
 16003  	return awsutil.Prettify(s)
 16004  }
 16005  
 16006  // GoString returns the string representation.
 16007  //
 16008  // API parameter values that are decorated as "sensitive" in the API will not
 16009  // be included in the string output. The member name will be present, but the
 16010  // value will be replaced with "sensitive".
 16011  func (s ListDomainDeliverabilityCampaignsInput) GoString() string {
 16012  	return s.String()
 16013  }
 16014  
 16015  // Validate inspects the fields of the type to determine if they are valid.
 16016  func (s *ListDomainDeliverabilityCampaignsInput) Validate() error {
 16017  	invalidParams := request.ErrInvalidParams{Context: "ListDomainDeliverabilityCampaignsInput"}
 16018  	if s.EndDate == nil {
 16019  		invalidParams.Add(request.NewErrParamRequired("EndDate"))
 16020  	}
 16021  	if s.StartDate == nil {
 16022  		invalidParams.Add(request.NewErrParamRequired("StartDate"))
 16023  	}
 16024  	if s.SubscribedDomain == nil {
 16025  		invalidParams.Add(request.NewErrParamRequired("SubscribedDomain"))
 16026  	}
 16027  	if s.SubscribedDomain != nil && len(*s.SubscribedDomain) < 1 {
 16028  		invalidParams.Add(request.NewErrParamMinLen("SubscribedDomain", 1))
 16029  	}
 16030  
 16031  	if invalidParams.Len() > 0 {
 16032  		return invalidParams
 16033  	}
 16034  	return nil
 16035  }
 16036  
 16037  // SetEndDate sets the EndDate field's value.
 16038  func (s *ListDomainDeliverabilityCampaignsInput) SetEndDate(v time.Time) *ListDomainDeliverabilityCampaignsInput {
 16039  	s.EndDate = &v
 16040  	return s
 16041  }
 16042  
 16043  // SetNextToken sets the NextToken field's value.
 16044  func (s *ListDomainDeliverabilityCampaignsInput) SetNextToken(v string) *ListDomainDeliverabilityCampaignsInput {
 16045  	s.NextToken = &v
 16046  	return s
 16047  }
 16048  
 16049  // SetPageSize sets the PageSize field's value.
 16050  func (s *ListDomainDeliverabilityCampaignsInput) SetPageSize(v int64) *ListDomainDeliverabilityCampaignsInput {
 16051  	s.PageSize = &v
 16052  	return s
 16053  }
 16054  
 16055  // SetStartDate sets the StartDate field's value.
 16056  func (s *ListDomainDeliverabilityCampaignsInput) SetStartDate(v time.Time) *ListDomainDeliverabilityCampaignsInput {
 16057  	s.StartDate = &v
 16058  	return s
 16059  }
 16060  
 16061  // SetSubscribedDomain sets the SubscribedDomain field's value.
 16062  func (s *ListDomainDeliverabilityCampaignsInput) SetSubscribedDomain(v string) *ListDomainDeliverabilityCampaignsInput {
 16063  	s.SubscribedDomain = &v
 16064  	return s
 16065  }
 16066  
 16067  // An array of objects that provide deliverability data for all the campaigns
 16068  // that used a specific domain to send email during a specified time range.
 16069  // This data is available for a domain only if you enabled the Deliverability
 16070  // dashboard for the domain.
 16071  type ListDomainDeliverabilityCampaignsOutput struct {
 16072  	_ struct{} `type:"structure"`
 16073  
 16074  	// An array of responses, one for each campaign that used the domain to send
 16075  	// email during the specified time range.
 16076  	//
 16077  	// DomainDeliverabilityCampaigns is a required field
 16078  	DomainDeliverabilityCampaigns []*DomainDeliverabilityCampaign `type:"list" required:"true"`
 16079  
 16080  	// A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns
 16081  	// operation. This token indicates the position of the campaign in the list
 16082  	// of campaigns.
 16083  	NextToken *string `type:"string"`
 16084  }
 16085  
 16086  // String returns the string representation.
 16087  //
 16088  // API parameter values that are decorated as "sensitive" in the API will not
 16089  // be included in the string output. The member name will be present, but the
 16090  // value will be replaced with "sensitive".
 16091  func (s ListDomainDeliverabilityCampaignsOutput) String() string {
 16092  	return awsutil.Prettify(s)
 16093  }
 16094  
 16095  // GoString returns the string representation.
 16096  //
 16097  // API parameter values that are decorated as "sensitive" in the API will not
 16098  // be included in the string output. The member name will be present, but the
 16099  // value will be replaced with "sensitive".
 16100  func (s ListDomainDeliverabilityCampaignsOutput) GoString() string {
 16101  	return s.String()
 16102  }
 16103  
 16104  // SetDomainDeliverabilityCampaigns sets the DomainDeliverabilityCampaigns field's value.
 16105  func (s *ListDomainDeliverabilityCampaignsOutput) SetDomainDeliverabilityCampaigns(v []*DomainDeliverabilityCampaign) *ListDomainDeliverabilityCampaignsOutput {
 16106  	s.DomainDeliverabilityCampaigns = v
 16107  	return s
 16108  }
 16109  
 16110  // SetNextToken sets the NextToken field's value.
 16111  func (s *ListDomainDeliverabilityCampaignsOutput) SetNextToken(v string) *ListDomainDeliverabilityCampaignsOutput {
 16112  	s.NextToken = &v
 16113  	return s
 16114  }
 16115  
 16116  // A request to list all of the email identities associated with your Amazon
 16117  // Web Services account. This list includes identities that you've already verified,
 16118  // identities that are unverified, and identities that were verified in the
 16119  // past, but are no longer verified.
 16120  type ListEmailIdentitiesInput struct {
 16121  	_ struct{} `type:"structure" nopayload:"true"`
 16122  
 16123  	// A token returned from a previous call to ListEmailIdentities to indicate
 16124  	// the position in the list of identities.
 16125  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16126  
 16127  	// The number of results to show in a single call to ListEmailIdentities. If
 16128  	// the number of results is larger than the number you specified in this parameter,
 16129  	// then the response includes a NextToken element, which you can use to obtain
 16130  	// additional results.
 16131  	//
 16132  	// The value you specify has to be at least 0, and can be no more than 1000.
 16133  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 16134  }
 16135  
 16136  // String returns the string representation.
 16137  //
 16138  // API parameter values that are decorated as "sensitive" in the API will not
 16139  // be included in the string output. The member name will be present, but the
 16140  // value will be replaced with "sensitive".
 16141  func (s ListEmailIdentitiesInput) String() string {
 16142  	return awsutil.Prettify(s)
 16143  }
 16144  
 16145  // GoString returns the string representation.
 16146  //
 16147  // API parameter values that are decorated as "sensitive" in the API will not
 16148  // be included in the string output. The member name will be present, but the
 16149  // value will be replaced with "sensitive".
 16150  func (s ListEmailIdentitiesInput) GoString() string {
 16151  	return s.String()
 16152  }
 16153  
 16154  // SetNextToken sets the NextToken field's value.
 16155  func (s *ListEmailIdentitiesInput) SetNextToken(v string) *ListEmailIdentitiesInput {
 16156  	s.NextToken = &v
 16157  	return s
 16158  }
 16159  
 16160  // SetPageSize sets the PageSize field's value.
 16161  func (s *ListEmailIdentitiesInput) SetPageSize(v int64) *ListEmailIdentitiesInput {
 16162  	s.PageSize = &v
 16163  	return s
 16164  }
 16165  
 16166  // A list of all of the identities that you've attempted to verify, regardless
 16167  // of whether or not those identities were successfully verified.
 16168  type ListEmailIdentitiesOutput struct {
 16169  	_ struct{} `type:"structure"`
 16170  
 16171  	// An array that includes all of the email identities associated with your Amazon
 16172  	// Web Services account.
 16173  	EmailIdentities []*IdentityInfo `type:"list"`
 16174  
 16175  	// A token that indicates that there are additional configuration sets to list.
 16176  	// To view additional configuration sets, issue another request to ListEmailIdentities,
 16177  	// and pass this token in the NextToken parameter.
 16178  	NextToken *string `type:"string"`
 16179  }
 16180  
 16181  // String returns the string representation.
 16182  //
 16183  // API parameter values that are decorated as "sensitive" in the API will not
 16184  // be included in the string output. The member name will be present, but the
 16185  // value will be replaced with "sensitive".
 16186  func (s ListEmailIdentitiesOutput) String() string {
 16187  	return awsutil.Prettify(s)
 16188  }
 16189  
 16190  // GoString returns the string representation.
 16191  //
 16192  // API parameter values that are decorated as "sensitive" in the API will not
 16193  // be included in the string output. The member name will be present, but the
 16194  // value will be replaced with "sensitive".
 16195  func (s ListEmailIdentitiesOutput) GoString() string {
 16196  	return s.String()
 16197  }
 16198  
 16199  // SetEmailIdentities sets the EmailIdentities field's value.
 16200  func (s *ListEmailIdentitiesOutput) SetEmailIdentities(v []*IdentityInfo) *ListEmailIdentitiesOutput {
 16201  	s.EmailIdentities = v
 16202  	return s
 16203  }
 16204  
 16205  // SetNextToken sets the NextToken field's value.
 16206  func (s *ListEmailIdentitiesOutput) SetNextToken(v string) *ListEmailIdentitiesOutput {
 16207  	s.NextToken = &v
 16208  	return s
 16209  }
 16210  
 16211  // Represents a request to list the email templates present in your Amazon SES
 16212  // account in the current Amazon Web Services Region. For more information,
 16213  // see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 16214  type ListEmailTemplatesInput struct {
 16215  	_ struct{} `type:"structure" nopayload:"true"`
 16216  
 16217  	// A token returned from a previous call to ListEmailTemplates to indicate the
 16218  	// position in the list of email templates.
 16219  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16220  
 16221  	// The number of results to show in a single call to ListEmailTemplates. If
 16222  	// the number of results is larger than the number you specified in this parameter,
 16223  	// then the response includes a NextToken element, which you can use to obtain
 16224  	// additional results.
 16225  	//
 16226  	// The value you specify has to be at least 1, and can be no more than 10.
 16227  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 16228  }
 16229  
 16230  // String returns the string representation.
 16231  //
 16232  // API parameter values that are decorated as "sensitive" in the API will not
 16233  // be included in the string output. The member name will be present, but the
 16234  // value will be replaced with "sensitive".
 16235  func (s ListEmailTemplatesInput) String() string {
 16236  	return awsutil.Prettify(s)
 16237  }
 16238  
 16239  // GoString returns the string representation.
 16240  //
 16241  // API parameter values that are decorated as "sensitive" in the API will not
 16242  // be included in the string output. The member name will be present, but the
 16243  // value will be replaced with "sensitive".
 16244  func (s ListEmailTemplatesInput) GoString() string {
 16245  	return s.String()
 16246  }
 16247  
 16248  // SetNextToken sets the NextToken field's value.
 16249  func (s *ListEmailTemplatesInput) SetNextToken(v string) *ListEmailTemplatesInput {
 16250  	s.NextToken = &v
 16251  	return s
 16252  }
 16253  
 16254  // SetPageSize sets the PageSize field's value.
 16255  func (s *ListEmailTemplatesInput) SetPageSize(v int64) *ListEmailTemplatesInput {
 16256  	s.PageSize = &v
 16257  	return s
 16258  }
 16259  
 16260  // The following elements are returned by the service.
 16261  type ListEmailTemplatesOutput struct {
 16262  	_ struct{} `type:"structure"`
 16263  
 16264  	// A token indicating that there are additional email templates available to
 16265  	// be listed. Pass this token to a subsequent ListEmailTemplates call to retrieve
 16266  	// the next 10 email templates.
 16267  	NextToken *string `type:"string"`
 16268  
 16269  	// An array the contains the name and creation time stamp for each template
 16270  	// in your Amazon SES account.
 16271  	TemplatesMetadata []*EmailTemplateMetadata `type:"list"`
 16272  }
 16273  
 16274  // String returns the string representation.
 16275  //
 16276  // API parameter values that are decorated as "sensitive" in the API will not
 16277  // be included in the string output. The member name will be present, but the
 16278  // value will be replaced with "sensitive".
 16279  func (s ListEmailTemplatesOutput) String() string {
 16280  	return awsutil.Prettify(s)
 16281  }
 16282  
 16283  // GoString returns the string representation.
 16284  //
 16285  // API parameter values that are decorated as "sensitive" in the API will not
 16286  // be included in the string output. The member name will be present, but the
 16287  // value will be replaced with "sensitive".
 16288  func (s ListEmailTemplatesOutput) GoString() string {
 16289  	return s.String()
 16290  }
 16291  
 16292  // SetNextToken sets the NextToken field's value.
 16293  func (s *ListEmailTemplatesOutput) SetNextToken(v string) *ListEmailTemplatesOutput {
 16294  	s.NextToken = &v
 16295  	return s
 16296  }
 16297  
 16298  // SetTemplatesMetadata sets the TemplatesMetadata field's value.
 16299  func (s *ListEmailTemplatesOutput) SetTemplatesMetadata(v []*EmailTemplateMetadata) *ListEmailTemplatesOutput {
 16300  	s.TemplatesMetadata = v
 16301  	return s
 16302  }
 16303  
 16304  // Represents a request to list all of the import jobs for a data destination
 16305  // within the specified maximum number of import jobs.
 16306  type ListImportJobsInput struct {
 16307  	_ struct{} `type:"structure"`
 16308  
 16309  	// The destination of the import job, which can be used to list import jobs
 16310  	// that have a certain ImportDestinationType.
 16311  	ImportDestinationType *string `type:"string" enum:"ImportDestinationType"`
 16312  
 16313  	// A string token indicating that there might be additional import jobs available
 16314  	// to be listed. Copy this token to a subsequent call to ListImportJobs with
 16315  	// the same parameters to retrieve the next page of import jobs.
 16316  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16317  
 16318  	// Maximum number of import jobs to return at once. Use this parameter to paginate
 16319  	// results. If additional import jobs exist beyond the specified limit, the
 16320  	// NextToken element is sent in the response. Use the NextToken value in subsequent
 16321  	// requests to retrieve additional addresses.
 16322  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 16323  }
 16324  
 16325  // String returns the string representation.
 16326  //
 16327  // API parameter values that are decorated as "sensitive" in the API will not
 16328  // be included in the string output. The member name will be present, but the
 16329  // value will be replaced with "sensitive".
 16330  func (s ListImportJobsInput) String() string {
 16331  	return awsutil.Prettify(s)
 16332  }
 16333  
 16334  // GoString returns the string representation.
 16335  //
 16336  // API parameter values that are decorated as "sensitive" in the API will not
 16337  // be included in the string output. The member name will be present, but the
 16338  // value will be replaced with "sensitive".
 16339  func (s ListImportJobsInput) GoString() string {
 16340  	return s.String()
 16341  }
 16342  
 16343  // SetImportDestinationType sets the ImportDestinationType field's value.
 16344  func (s *ListImportJobsInput) SetImportDestinationType(v string) *ListImportJobsInput {
 16345  	s.ImportDestinationType = &v
 16346  	return s
 16347  }
 16348  
 16349  // SetNextToken sets the NextToken field's value.
 16350  func (s *ListImportJobsInput) SetNextToken(v string) *ListImportJobsInput {
 16351  	s.NextToken = &v
 16352  	return s
 16353  }
 16354  
 16355  // SetPageSize sets the PageSize field's value.
 16356  func (s *ListImportJobsInput) SetPageSize(v int64) *ListImportJobsInput {
 16357  	s.PageSize = &v
 16358  	return s
 16359  }
 16360  
 16361  // An HTTP 200 response if the request succeeds, or an error message if the
 16362  // request fails.
 16363  type ListImportJobsOutput struct {
 16364  	_ struct{} `type:"structure"`
 16365  
 16366  	// A list of the import job summaries.
 16367  	ImportJobs []*ImportJobSummary `type:"list"`
 16368  
 16369  	// A string token indicating that there might be additional import jobs available
 16370  	// to be listed. Copy this token to a subsequent call to ListImportJobs with
 16371  	// the same parameters to retrieve the next page of import jobs.
 16372  	NextToken *string `type:"string"`
 16373  }
 16374  
 16375  // String returns the string representation.
 16376  //
 16377  // API parameter values that are decorated as "sensitive" in the API will not
 16378  // be included in the string output. The member name will be present, but the
 16379  // value will be replaced with "sensitive".
 16380  func (s ListImportJobsOutput) String() string {
 16381  	return awsutil.Prettify(s)
 16382  }
 16383  
 16384  // GoString returns the string representation.
 16385  //
 16386  // API parameter values that are decorated as "sensitive" in the API will not
 16387  // be included in the string output. The member name will be present, but the
 16388  // value will be replaced with "sensitive".
 16389  func (s ListImportJobsOutput) GoString() string {
 16390  	return s.String()
 16391  }
 16392  
 16393  // SetImportJobs sets the ImportJobs field's value.
 16394  func (s *ListImportJobsOutput) SetImportJobs(v []*ImportJobSummary) *ListImportJobsOutput {
 16395  	s.ImportJobs = v
 16396  	return s
 16397  }
 16398  
 16399  // SetNextToken sets the NextToken field's value.
 16400  func (s *ListImportJobsOutput) SetNextToken(v string) *ListImportJobsOutput {
 16401  	s.NextToken = &v
 16402  	return s
 16403  }
 16404  
 16405  // An object used to specify a list or topic to which an email belongs, which
 16406  // will be used when a contact chooses to unsubscribe.
 16407  type ListManagementOptions struct {
 16408  	_ struct{} `type:"structure"`
 16409  
 16410  	// The name of the contact list.
 16411  	//
 16412  	// ContactListName is a required field
 16413  	ContactListName *string `type:"string" required:"true"`
 16414  
 16415  	// The name of the topic.
 16416  	TopicName *string `type:"string"`
 16417  }
 16418  
 16419  // String returns the string representation.
 16420  //
 16421  // API parameter values that are decorated as "sensitive" in the API will not
 16422  // be included in the string output. The member name will be present, but the
 16423  // value will be replaced with "sensitive".
 16424  func (s ListManagementOptions) String() string {
 16425  	return awsutil.Prettify(s)
 16426  }
 16427  
 16428  // GoString returns the string representation.
 16429  //
 16430  // API parameter values that are decorated as "sensitive" in the API will not
 16431  // be included in the string output. The member name will be present, but the
 16432  // value will be replaced with "sensitive".
 16433  func (s ListManagementOptions) GoString() string {
 16434  	return s.String()
 16435  }
 16436  
 16437  // Validate inspects the fields of the type to determine if they are valid.
 16438  func (s *ListManagementOptions) Validate() error {
 16439  	invalidParams := request.ErrInvalidParams{Context: "ListManagementOptions"}
 16440  	if s.ContactListName == nil {
 16441  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 16442  	}
 16443  
 16444  	if invalidParams.Len() > 0 {
 16445  		return invalidParams
 16446  	}
 16447  	return nil
 16448  }
 16449  
 16450  // SetContactListName sets the ContactListName field's value.
 16451  func (s *ListManagementOptions) SetContactListName(v string) *ListManagementOptions {
 16452  	s.ContactListName = &v
 16453  	return s
 16454  }
 16455  
 16456  // SetTopicName sets the TopicName field's value.
 16457  func (s *ListManagementOptions) SetTopicName(v string) *ListManagementOptions {
 16458  	s.TopicName = &v
 16459  	return s
 16460  }
 16461  
 16462  // A request to obtain a list of email destinations that are on the suppression
 16463  // list for your account.
 16464  type ListSuppressedDestinationsInput struct {
 16465  	_ struct{} `type:"structure" nopayload:"true"`
 16466  
 16467  	// Used to filter the list of suppressed email destinations so that it only
 16468  	// includes addresses that were added to the list before a specific date. The
 16469  	// date that you specify should be in Unix time format.
 16470  	EndDate *time.Time `location:"querystring" locationName:"EndDate" type:"timestamp"`
 16471  
 16472  	// A token returned from a previous call to ListSuppressedDestinations to indicate
 16473  	// the position in the list of suppressed email addresses.
 16474  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16475  
 16476  	// The number of results to show in a single call to ListSuppressedDestinations.
 16477  	// If the number of results is larger than the number you specified in this
 16478  	// parameter, then the response includes a NextToken element, which you can
 16479  	// use to obtain additional results.
 16480  	PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"`
 16481  
 16482  	// The factors that caused the email address to be added to .
 16483  	Reasons []*string `location:"querystring" locationName:"Reason" type:"list"`
 16484  
 16485  	// Used to filter the list of suppressed email destinations so that it only
 16486  	// includes addresses that were added to the list after a specific date. The
 16487  	// date that you specify should be in Unix time format.
 16488  	StartDate *time.Time `location:"querystring" locationName:"StartDate" type:"timestamp"`
 16489  }
 16490  
 16491  // String returns the string representation.
 16492  //
 16493  // API parameter values that are decorated as "sensitive" in the API will not
 16494  // be included in the string output. The member name will be present, but the
 16495  // value will be replaced with "sensitive".
 16496  func (s ListSuppressedDestinationsInput) String() string {
 16497  	return awsutil.Prettify(s)
 16498  }
 16499  
 16500  // GoString returns the string representation.
 16501  //
 16502  // API parameter values that are decorated as "sensitive" in the API will not
 16503  // be included in the string output. The member name will be present, but the
 16504  // value will be replaced with "sensitive".
 16505  func (s ListSuppressedDestinationsInput) GoString() string {
 16506  	return s.String()
 16507  }
 16508  
 16509  // SetEndDate sets the EndDate field's value.
 16510  func (s *ListSuppressedDestinationsInput) SetEndDate(v time.Time) *ListSuppressedDestinationsInput {
 16511  	s.EndDate = &v
 16512  	return s
 16513  }
 16514  
 16515  // SetNextToken sets the NextToken field's value.
 16516  func (s *ListSuppressedDestinationsInput) SetNextToken(v string) *ListSuppressedDestinationsInput {
 16517  	s.NextToken = &v
 16518  	return s
 16519  }
 16520  
 16521  // SetPageSize sets the PageSize field's value.
 16522  func (s *ListSuppressedDestinationsInput) SetPageSize(v int64) *ListSuppressedDestinationsInput {
 16523  	s.PageSize = &v
 16524  	return s
 16525  }
 16526  
 16527  // SetReasons sets the Reasons field's value.
 16528  func (s *ListSuppressedDestinationsInput) SetReasons(v []*string) *ListSuppressedDestinationsInput {
 16529  	s.Reasons = v
 16530  	return s
 16531  }
 16532  
 16533  // SetStartDate sets the StartDate field's value.
 16534  func (s *ListSuppressedDestinationsInput) SetStartDate(v time.Time) *ListSuppressedDestinationsInput {
 16535  	s.StartDate = &v
 16536  	return s
 16537  }
 16538  
 16539  // A list of suppressed email addresses.
 16540  type ListSuppressedDestinationsOutput struct {
 16541  	_ struct{} `type:"structure"`
 16542  
 16543  	// A token that indicates that there are additional email addresses on the suppression
 16544  	// list for your account. To view additional suppressed addresses, issue another
 16545  	// request to ListSuppressedDestinations, and pass this token in the NextToken
 16546  	// parameter.
 16547  	NextToken *string `type:"string"`
 16548  
 16549  	// A list of summaries, each containing a summary for a suppressed email destination.
 16550  	SuppressedDestinationSummaries []*SuppressedDestinationSummary `type:"list"`
 16551  }
 16552  
 16553  // String returns the string representation.
 16554  //
 16555  // API parameter values that are decorated as "sensitive" in the API will not
 16556  // be included in the string output. The member name will be present, but the
 16557  // value will be replaced with "sensitive".
 16558  func (s ListSuppressedDestinationsOutput) String() string {
 16559  	return awsutil.Prettify(s)
 16560  }
 16561  
 16562  // GoString returns the string representation.
 16563  //
 16564  // API parameter values that are decorated as "sensitive" in the API will not
 16565  // be included in the string output. The member name will be present, but the
 16566  // value will be replaced with "sensitive".
 16567  func (s ListSuppressedDestinationsOutput) GoString() string {
 16568  	return s.String()
 16569  }
 16570  
 16571  // SetNextToken sets the NextToken field's value.
 16572  func (s *ListSuppressedDestinationsOutput) SetNextToken(v string) *ListSuppressedDestinationsOutput {
 16573  	s.NextToken = &v
 16574  	return s
 16575  }
 16576  
 16577  // SetSuppressedDestinationSummaries sets the SuppressedDestinationSummaries field's value.
 16578  func (s *ListSuppressedDestinationsOutput) SetSuppressedDestinationSummaries(v []*SuppressedDestinationSummary) *ListSuppressedDestinationsOutput {
 16579  	s.SuppressedDestinationSummaries = v
 16580  	return s
 16581  }
 16582  
 16583  type ListTagsForResourceInput struct {
 16584  	_ struct{} `type:"structure" nopayload:"true"`
 16585  
 16586  	// The Amazon Resource Name (ARN) of the resource that you want to retrieve
 16587  	// tag information for.
 16588  	//
 16589  	// ResourceArn is a required field
 16590  	ResourceArn *string `location:"querystring" locationName:"ResourceArn" type:"string" required:"true"`
 16591  }
 16592  
 16593  // String returns the string representation.
 16594  //
 16595  // API parameter values that are decorated as "sensitive" in the API will not
 16596  // be included in the string output. The member name will be present, but the
 16597  // value will be replaced with "sensitive".
 16598  func (s ListTagsForResourceInput) String() string {
 16599  	return awsutil.Prettify(s)
 16600  }
 16601  
 16602  // GoString returns the string representation.
 16603  //
 16604  // API parameter values that are decorated as "sensitive" in the API will not
 16605  // be included in the string output. The member name will be present, but the
 16606  // value will be replaced with "sensitive".
 16607  func (s ListTagsForResourceInput) GoString() string {
 16608  	return s.String()
 16609  }
 16610  
 16611  // Validate inspects the fields of the type to determine if they are valid.
 16612  func (s *ListTagsForResourceInput) Validate() error {
 16613  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 16614  	if s.ResourceArn == nil {
 16615  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16616  	}
 16617  
 16618  	if invalidParams.Len() > 0 {
 16619  		return invalidParams
 16620  	}
 16621  	return nil
 16622  }
 16623  
 16624  // SetResourceArn sets the ResourceArn field's value.
 16625  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 16626  	s.ResourceArn = &v
 16627  	return s
 16628  }
 16629  
 16630  type ListTagsForResourceOutput struct {
 16631  	_ struct{} `type:"structure"`
 16632  
 16633  	// An array that lists all the tags that are associated with the resource. Each
 16634  	// tag consists of a required tag key (Key) and an associated tag value (Value)
 16635  	//
 16636  	// Tags is a required field
 16637  	Tags []*Tag `type:"list" required:"true"`
 16638  }
 16639  
 16640  // String returns the string representation.
 16641  //
 16642  // API parameter values that are decorated as "sensitive" in the API will not
 16643  // be included in the string output. The member name will be present, but the
 16644  // value will be replaced with "sensitive".
 16645  func (s ListTagsForResourceOutput) String() string {
 16646  	return awsutil.Prettify(s)
 16647  }
 16648  
 16649  // GoString returns the string representation.
 16650  //
 16651  // API parameter values that are decorated as "sensitive" in the API will not
 16652  // be included in the string output. The member name will be present, but the
 16653  // value will be replaced with "sensitive".
 16654  func (s ListTagsForResourceOutput) GoString() string {
 16655  	return s.String()
 16656  }
 16657  
 16658  // SetTags sets the Tags field's value.
 16659  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 16660  	s.Tags = v
 16661  	return s
 16662  }
 16663  
 16664  // A list of attributes that are associated with a MAIL FROM domain.
 16665  type MailFromAttributes struct {
 16666  	_ struct{} `type:"structure"`
 16667  
 16668  	// The action to take if the required MX record can't be found when you send
 16669  	// an email. When you set this value to UseDefaultValue, the mail is sent using
 16670  	// amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage,
 16671  	// the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't
 16672  	// attempt to deliver the email.
 16673  	//
 16674  	// These behaviors are taken when the custom MAIL FROM domain configuration
 16675  	// is in the Pending, Failed, and TemporaryFailure states.
 16676  	//
 16677  	// BehaviorOnMxFailure is a required field
 16678  	BehaviorOnMxFailure *string `type:"string" required:"true" enum:"BehaviorOnMxFailure"`
 16679  
 16680  	// The name of a domain that an email identity uses as a custom MAIL FROM domain.
 16681  	//
 16682  	// MailFromDomain is a required field
 16683  	MailFromDomain *string `type:"string" required:"true"`
 16684  
 16685  	// The status of the MAIL FROM domain. This status can have the following values:
 16686  	//
 16687  	//    * PENDING – Amazon SES hasn't started searching for the MX record yet.
 16688  	//
 16689  	//    * SUCCESS – Amazon SES detected the required MX record for the MAIL
 16690  	//    FROM domain.
 16691  	//
 16692  	//    * FAILED – Amazon SES can't find the required MX record, or the record
 16693  	//    no longer exists.
 16694  	//
 16695  	//    * TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon
 16696  	//    SES from determining the status of the MAIL FROM domain.
 16697  	//
 16698  	// MailFromDomainStatus is a required field
 16699  	MailFromDomainStatus *string `type:"string" required:"true" enum:"MailFromDomainStatus"`
 16700  }
 16701  
 16702  // String returns the string representation.
 16703  //
 16704  // API parameter values that are decorated as "sensitive" in the API will not
 16705  // be included in the string output. The member name will be present, but the
 16706  // value will be replaced with "sensitive".
 16707  func (s MailFromAttributes) String() string {
 16708  	return awsutil.Prettify(s)
 16709  }
 16710  
 16711  // GoString returns the string representation.
 16712  //
 16713  // API parameter values that are decorated as "sensitive" in the API will not
 16714  // be included in the string output. The member name will be present, but the
 16715  // value will be replaced with "sensitive".
 16716  func (s MailFromAttributes) GoString() string {
 16717  	return s.String()
 16718  }
 16719  
 16720  // SetBehaviorOnMxFailure sets the BehaviorOnMxFailure field's value.
 16721  func (s *MailFromAttributes) SetBehaviorOnMxFailure(v string) *MailFromAttributes {
 16722  	s.BehaviorOnMxFailure = &v
 16723  	return s
 16724  }
 16725  
 16726  // SetMailFromDomain sets the MailFromDomain field's value.
 16727  func (s *MailFromAttributes) SetMailFromDomain(v string) *MailFromAttributes {
 16728  	s.MailFromDomain = &v
 16729  	return s
 16730  }
 16731  
 16732  // SetMailFromDomainStatus sets the MailFromDomainStatus field's value.
 16733  func (s *MailFromAttributes) SetMailFromDomainStatus(v string) *MailFromAttributes {
 16734  	s.MailFromDomainStatus = &v
 16735  	return s
 16736  }
 16737  
 16738  // The message can't be sent because the sending domain isn't verified.
 16739  type MailFromDomainNotVerifiedException struct {
 16740  	_            struct{}                  `type:"structure"`
 16741  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16742  
 16743  	Message_ *string `locationName:"message" type:"string"`
 16744  }
 16745  
 16746  // String returns the string representation.
 16747  //
 16748  // API parameter values that are decorated as "sensitive" in the API will not
 16749  // be included in the string output. The member name will be present, but the
 16750  // value will be replaced with "sensitive".
 16751  func (s MailFromDomainNotVerifiedException) String() string {
 16752  	return awsutil.Prettify(s)
 16753  }
 16754  
 16755  // GoString returns the string representation.
 16756  //
 16757  // API parameter values that are decorated as "sensitive" in the API will not
 16758  // be included in the string output. The member name will be present, but the
 16759  // value will be replaced with "sensitive".
 16760  func (s MailFromDomainNotVerifiedException) GoString() string {
 16761  	return s.String()
 16762  }
 16763  
 16764  func newErrorMailFromDomainNotVerifiedException(v protocol.ResponseMetadata) error {
 16765  	return &MailFromDomainNotVerifiedException{
 16766  		RespMetadata: v,
 16767  	}
 16768  }
 16769  
 16770  // Code returns the exception type name.
 16771  func (s *MailFromDomainNotVerifiedException) Code() string {
 16772  	return "MailFromDomainNotVerifiedException"
 16773  }
 16774  
 16775  // Message returns the exception's message.
 16776  func (s *MailFromDomainNotVerifiedException) Message() string {
 16777  	if s.Message_ != nil {
 16778  		return *s.Message_
 16779  	}
 16780  	return ""
 16781  }
 16782  
 16783  // OrigErr always returns nil, satisfies awserr.Error interface.
 16784  func (s *MailFromDomainNotVerifiedException) OrigErr() error {
 16785  	return nil
 16786  }
 16787  
 16788  func (s *MailFromDomainNotVerifiedException) Error() string {
 16789  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16790  }
 16791  
 16792  // Status code returns the HTTP status code for the request's response error.
 16793  func (s *MailFromDomainNotVerifiedException) StatusCode() int {
 16794  	return s.RespMetadata.StatusCode
 16795  }
 16796  
 16797  // RequestID returns the service's response RequestID for request.
 16798  func (s *MailFromDomainNotVerifiedException) RequestID() string {
 16799  	return s.RespMetadata.RequestID
 16800  }
 16801  
 16802  // Represents the email message that you're sending. The Message object consists
 16803  // of a subject line and a message body.
 16804  type Message struct {
 16805  	_ struct{} `type:"structure"`
 16806  
 16807  	// The body of the message. You can specify an HTML version of the message,
 16808  	// a text-only version of the message, or both.
 16809  	//
 16810  	// Body is a required field
 16811  	Body *Body `type:"structure" required:"true"`
 16812  
 16813  	// The subject line of the email. The subject line can only contain 7-bit ASCII
 16814  	// characters. However, you can specify non-ASCII characters in the subject
 16815  	// line by using encoded-word syntax, as described in RFC 2047 (https://tools.ietf.org/html/rfc2047).
 16816  	//
 16817  	// Subject is a required field
 16818  	Subject *Content `type:"structure" required:"true"`
 16819  }
 16820  
 16821  // String returns the string representation.
 16822  //
 16823  // API parameter values that are decorated as "sensitive" in the API will not
 16824  // be included in the string output. The member name will be present, but the
 16825  // value will be replaced with "sensitive".
 16826  func (s Message) String() string {
 16827  	return awsutil.Prettify(s)
 16828  }
 16829  
 16830  // GoString returns the string representation.
 16831  //
 16832  // API parameter values that are decorated as "sensitive" in the API will not
 16833  // be included in the string output. The member name will be present, but the
 16834  // value will be replaced with "sensitive".
 16835  func (s Message) GoString() string {
 16836  	return s.String()
 16837  }
 16838  
 16839  // Validate inspects the fields of the type to determine if they are valid.
 16840  func (s *Message) Validate() error {
 16841  	invalidParams := request.ErrInvalidParams{Context: "Message"}
 16842  	if s.Body == nil {
 16843  		invalidParams.Add(request.NewErrParamRequired("Body"))
 16844  	}
 16845  	if s.Subject == nil {
 16846  		invalidParams.Add(request.NewErrParamRequired("Subject"))
 16847  	}
 16848  	if s.Body != nil {
 16849  		if err := s.Body.Validate(); err != nil {
 16850  			invalidParams.AddNested("Body", err.(request.ErrInvalidParams))
 16851  		}
 16852  	}
 16853  	if s.Subject != nil {
 16854  		if err := s.Subject.Validate(); err != nil {
 16855  			invalidParams.AddNested("Subject", err.(request.ErrInvalidParams))
 16856  		}
 16857  	}
 16858  
 16859  	if invalidParams.Len() > 0 {
 16860  		return invalidParams
 16861  	}
 16862  	return nil
 16863  }
 16864  
 16865  // SetBody sets the Body field's value.
 16866  func (s *Message) SetBody(v *Body) *Message {
 16867  	s.Body = v
 16868  	return s
 16869  }
 16870  
 16871  // SetSubject sets the Subject field's value.
 16872  func (s *Message) SetSubject(v *Content) *Message {
 16873  	s.Subject = v
 16874  	return s
 16875  }
 16876  
 16877  // The message can't be sent because it contains invalid content.
 16878  type MessageRejected struct {
 16879  	_            struct{}                  `type:"structure"`
 16880  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16881  
 16882  	Message_ *string `locationName:"message" type:"string"`
 16883  }
 16884  
 16885  // String returns the string representation.
 16886  //
 16887  // API parameter values that are decorated as "sensitive" in the API will not
 16888  // be included in the string output. The member name will be present, but the
 16889  // value will be replaced with "sensitive".
 16890  func (s MessageRejected) String() string {
 16891  	return awsutil.Prettify(s)
 16892  }
 16893  
 16894  // GoString returns the string representation.
 16895  //
 16896  // API parameter values that are decorated as "sensitive" in the API will not
 16897  // be included in the string output. The member name will be present, but the
 16898  // value will be replaced with "sensitive".
 16899  func (s MessageRejected) GoString() string {
 16900  	return s.String()
 16901  }
 16902  
 16903  func newErrorMessageRejected(v protocol.ResponseMetadata) error {
 16904  	return &MessageRejected{
 16905  		RespMetadata: v,
 16906  	}
 16907  }
 16908  
 16909  // Code returns the exception type name.
 16910  func (s *MessageRejected) Code() string {
 16911  	return "MessageRejected"
 16912  }
 16913  
 16914  // Message returns the exception's message.
 16915  func (s *MessageRejected) Message() string {
 16916  	if s.Message_ != nil {
 16917  		return *s.Message_
 16918  	}
 16919  	return ""
 16920  }
 16921  
 16922  // OrigErr always returns nil, satisfies awserr.Error interface.
 16923  func (s *MessageRejected) OrigErr() error {
 16924  	return nil
 16925  }
 16926  
 16927  func (s *MessageRejected) Error() string {
 16928  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16929  }
 16930  
 16931  // Status code returns the HTTP status code for the request's response error.
 16932  func (s *MessageRejected) StatusCode() int {
 16933  	return s.RespMetadata.StatusCode
 16934  }
 16935  
 16936  // RequestID returns the service's response RequestID for request.
 16937  func (s *MessageRejected) RequestID() string {
 16938  	return s.RespMetadata.RequestID
 16939  }
 16940  
 16941  // Contains the name and value of a tag that you apply to an email. You can
 16942  // use message tags when you publish email sending events.
 16943  type MessageTag struct {
 16944  	_ struct{} `type:"structure"`
 16945  
 16946  	// The name of the message tag. The message tag name has to meet the following
 16947  	// criteria:
 16948  	//
 16949  	//    * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores
 16950  	//    (_), or dashes (-).
 16951  	//
 16952  	//    * It can contain no more than 256 characters.
 16953  	//
 16954  	// Name is a required field
 16955  	Name *string `type:"string" required:"true"`
 16956  
 16957  	// The value of the message tag. The message tag value has to meet the following
 16958  	// criteria:
 16959  	//
 16960  	//    * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores
 16961  	//    (_), or dashes (-).
 16962  	//
 16963  	//    * It can contain no more than 256 characters.
 16964  	//
 16965  	// Value is a required field
 16966  	Value *string `type:"string" required:"true"`
 16967  }
 16968  
 16969  // String returns the string representation.
 16970  //
 16971  // API parameter values that are decorated as "sensitive" in the API will not
 16972  // be included in the string output. The member name will be present, but the
 16973  // value will be replaced with "sensitive".
 16974  func (s MessageTag) String() string {
 16975  	return awsutil.Prettify(s)
 16976  }
 16977  
 16978  // GoString returns the string representation.
 16979  //
 16980  // API parameter values that are decorated as "sensitive" in the API will not
 16981  // be included in the string output. The member name will be present, but the
 16982  // value will be replaced with "sensitive".
 16983  func (s MessageTag) GoString() string {
 16984  	return s.String()
 16985  }
 16986  
 16987  // Validate inspects the fields of the type to determine if they are valid.
 16988  func (s *MessageTag) Validate() error {
 16989  	invalidParams := request.ErrInvalidParams{Context: "MessageTag"}
 16990  	if s.Name == nil {
 16991  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16992  	}
 16993  	if s.Value == nil {
 16994  		invalidParams.Add(request.NewErrParamRequired("Value"))
 16995  	}
 16996  
 16997  	if invalidParams.Len() > 0 {
 16998  		return invalidParams
 16999  	}
 17000  	return nil
 17001  }
 17002  
 17003  // SetName sets the Name field's value.
 17004  func (s *MessageTag) SetName(v string) *MessageTag {
 17005  	s.Name = &v
 17006  	return s
 17007  }
 17008  
 17009  // SetValue sets the Value field's value.
 17010  func (s *MessageTag) SetValue(v string) *MessageTag {
 17011  	s.Value = &v
 17012  	return s
 17013  }
 17014  
 17015  // The resource you attempted to access doesn't exist.
 17016  type NotFoundException struct {
 17017  	_            struct{}                  `type:"structure"`
 17018  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 17019  
 17020  	Message_ *string `locationName:"message" type:"string"`
 17021  }
 17022  
 17023  // String returns the string representation.
 17024  //
 17025  // API parameter values that are decorated as "sensitive" in the API will not
 17026  // be included in the string output. The member name will be present, but the
 17027  // value will be replaced with "sensitive".
 17028  func (s NotFoundException) String() string {
 17029  	return awsutil.Prettify(s)
 17030  }
 17031  
 17032  // GoString returns the string representation.
 17033  //
 17034  // API parameter values that are decorated as "sensitive" in the API will not
 17035  // be included in the string output. The member name will be present, but the
 17036  // value will be replaced with "sensitive".
 17037  func (s NotFoundException) GoString() string {
 17038  	return s.String()
 17039  }
 17040  
 17041  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 17042  	return &NotFoundException{
 17043  		RespMetadata: v,
 17044  	}
 17045  }
 17046  
 17047  // Code returns the exception type name.
 17048  func (s *NotFoundException) Code() string {
 17049  	return "NotFoundException"
 17050  }
 17051  
 17052  // Message returns the exception's message.
 17053  func (s *NotFoundException) Message() string {
 17054  	if s.Message_ != nil {
 17055  		return *s.Message_
 17056  	}
 17057  	return ""
 17058  }
 17059  
 17060  // OrigErr always returns nil, satisfies awserr.Error interface.
 17061  func (s *NotFoundException) OrigErr() error {
 17062  	return nil
 17063  }
 17064  
 17065  func (s *NotFoundException) Error() string {
 17066  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 17067  }
 17068  
 17069  // Status code returns the HTTP status code for the request's response error.
 17070  func (s *NotFoundException) StatusCode() int {
 17071  	return s.RespMetadata.StatusCode
 17072  }
 17073  
 17074  // RequestID returns the service's response RequestID for request.
 17075  func (s *NotFoundException) RequestID() string {
 17076  	return s.RespMetadata.RequestID
 17077  }
 17078  
 17079  // An object that contains information about email that was sent from the selected
 17080  // domain.
 17081  type OverallVolume struct {
 17082  	_ struct{} `type:"structure"`
 17083  
 17084  	// An object that contains inbox and junk mail placement metrics for individual
 17085  	// email providers.
 17086  	DomainIspPlacements []*DomainIspPlacement `type:"list"`
 17087  
 17088  	// The percentage of emails that were sent from the domain that were read by
 17089  	// their recipients.
 17090  	ReadRatePercent *float64 `type:"double"`
 17091  
 17092  	// An object that contains information about the numbers of messages that arrived
 17093  	// in recipients' inboxes and junk mail folders.
 17094  	VolumeStatistics *VolumeStatistics `type:"structure"`
 17095  }
 17096  
 17097  // String returns the string representation.
 17098  //
 17099  // API parameter values that are decorated as "sensitive" in the API will not
 17100  // be included in the string output. The member name will be present, but the
 17101  // value will be replaced with "sensitive".
 17102  func (s OverallVolume) String() string {
 17103  	return awsutil.Prettify(s)
 17104  }
 17105  
 17106  // GoString returns the string representation.
 17107  //
 17108  // API parameter values that are decorated as "sensitive" in the API will not
 17109  // be included in the string output. The member name will be present, but the
 17110  // value will be replaced with "sensitive".
 17111  func (s OverallVolume) GoString() string {
 17112  	return s.String()
 17113  }
 17114  
 17115  // SetDomainIspPlacements sets the DomainIspPlacements field's value.
 17116  func (s *OverallVolume) SetDomainIspPlacements(v []*DomainIspPlacement) *OverallVolume {
 17117  	s.DomainIspPlacements = v
 17118  	return s
 17119  }
 17120  
 17121  // SetReadRatePercent sets the ReadRatePercent field's value.
 17122  func (s *OverallVolume) SetReadRatePercent(v float64) *OverallVolume {
 17123  	s.ReadRatePercent = &v
 17124  	return s
 17125  }
 17126  
 17127  // SetVolumeStatistics sets the VolumeStatistics field's value.
 17128  func (s *OverallVolume) SetVolumeStatistics(v *VolumeStatistics) *OverallVolume {
 17129  	s.VolumeStatistics = v
 17130  	return s
 17131  }
 17132  
 17133  // An object that defines an Amazon Pinpoint project destination for email events.
 17134  // You can send email event data to a Amazon Pinpoint project to view metrics
 17135  // using the Transactional Messaging dashboards that are built in to Amazon
 17136  // Pinpoint. For more information, see Transactional Messaging Charts (https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-transactional-messages.html)
 17137  // in the Amazon Pinpoint User Guide.
 17138  type PinpointDestination struct {
 17139  	_ struct{} `type:"structure"`
 17140  
 17141  	// The Amazon Resource Name (ARN) of the Amazon Pinpoint project to send email
 17142  	// events to.
 17143  	ApplicationArn *string `type:"string"`
 17144  }
 17145  
 17146  // String returns the string representation.
 17147  //
 17148  // API parameter values that are decorated as "sensitive" in the API will not
 17149  // be included in the string output. The member name will be present, but the
 17150  // value will be replaced with "sensitive".
 17151  func (s PinpointDestination) String() string {
 17152  	return awsutil.Prettify(s)
 17153  }
 17154  
 17155  // GoString returns the string representation.
 17156  //
 17157  // API parameter values that are decorated as "sensitive" in the API will not
 17158  // be included in the string output. The member name will be present, but the
 17159  // value will be replaced with "sensitive".
 17160  func (s PinpointDestination) GoString() string {
 17161  	return s.String()
 17162  }
 17163  
 17164  // SetApplicationArn sets the ApplicationArn field's value.
 17165  func (s *PinpointDestination) SetApplicationArn(v string) *PinpointDestination {
 17166  	s.ApplicationArn = &v
 17167  	return s
 17168  }
 17169  
 17170  // An object that contains inbox placement data for an email provider.
 17171  type PlacementStatistics struct {
 17172  	_ struct{} `type:"structure"`
 17173  
 17174  	// The percentage of emails that were authenticated by using DomainKeys Identified
 17175  	// Mail (DKIM) during the predictive inbox placement test.
 17176  	DkimPercentage *float64 `type:"double"`
 17177  
 17178  	// The percentage of emails that arrived in recipients' inboxes during the predictive
 17179  	// inbox placement test.
 17180  	InboxPercentage *float64 `type:"double"`
 17181  
 17182  	// The percentage of emails that didn't arrive in recipients' inboxes at all
 17183  	// during the predictive inbox placement test.
 17184  	MissingPercentage *float64 `type:"double"`
 17185  
 17186  	// The percentage of emails that arrived in recipients' spam or junk mail folders
 17187  	// during the predictive inbox placement test.
 17188  	SpamPercentage *float64 `type:"double"`
 17189  
 17190  	// The percentage of emails that were authenticated by using Sender Policy Framework
 17191  	// (SPF) during the predictive inbox placement test.
 17192  	SpfPercentage *float64 `type:"double"`
 17193  }
 17194  
 17195  // String returns the string representation.
 17196  //
 17197  // API parameter values that are decorated as "sensitive" in the API will not
 17198  // be included in the string output. The member name will be present, but the
 17199  // value will be replaced with "sensitive".
 17200  func (s PlacementStatistics) String() string {
 17201  	return awsutil.Prettify(s)
 17202  }
 17203  
 17204  // GoString returns the string representation.
 17205  //
 17206  // API parameter values that are decorated as "sensitive" in the API will not
 17207  // be included in the string output. The member name will be present, but the
 17208  // value will be replaced with "sensitive".
 17209  func (s PlacementStatistics) GoString() string {
 17210  	return s.String()
 17211  }
 17212  
 17213  // SetDkimPercentage sets the DkimPercentage field's value.
 17214  func (s *PlacementStatistics) SetDkimPercentage(v float64) *PlacementStatistics {
 17215  	s.DkimPercentage = &v
 17216  	return s
 17217  }
 17218  
 17219  // SetInboxPercentage sets the InboxPercentage field's value.
 17220  func (s *PlacementStatistics) SetInboxPercentage(v float64) *PlacementStatistics {
 17221  	s.InboxPercentage = &v
 17222  	return s
 17223  }
 17224  
 17225  // SetMissingPercentage sets the MissingPercentage field's value.
 17226  func (s *PlacementStatistics) SetMissingPercentage(v float64) *PlacementStatistics {
 17227  	s.MissingPercentage = &v
 17228  	return s
 17229  }
 17230  
 17231  // SetSpamPercentage sets the SpamPercentage field's value.
 17232  func (s *PlacementStatistics) SetSpamPercentage(v float64) *PlacementStatistics {
 17233  	s.SpamPercentage = &v
 17234  	return s
 17235  }
 17236  
 17237  // SetSpfPercentage sets the SpfPercentage field's value.
 17238  func (s *PlacementStatistics) SetSpfPercentage(v float64) *PlacementStatistics {
 17239  	s.SpfPercentage = &v
 17240  	return s
 17241  }
 17242  
 17243  // A request to enable or disable the automatic IP address warm-up feature.
 17244  type PutAccountDedicatedIpWarmupAttributesInput struct {
 17245  	_ struct{} `type:"structure"`
 17246  
 17247  	// Enables or disables the automatic warm-up feature for dedicated IP addresses
 17248  	// that are associated with your Amazon SES account in the current Amazon Web
 17249  	// Services Region. Set to true to enable the automatic warm-up feature, or
 17250  	// set to false to disable it.
 17251  	AutoWarmupEnabled *bool `type:"boolean"`
 17252  }
 17253  
 17254  // String returns the string representation.
 17255  //
 17256  // API parameter values that are decorated as "sensitive" in the API will not
 17257  // be included in the string output. The member name will be present, but the
 17258  // value will be replaced with "sensitive".
 17259  func (s PutAccountDedicatedIpWarmupAttributesInput) String() string {
 17260  	return awsutil.Prettify(s)
 17261  }
 17262  
 17263  // GoString returns the string representation.
 17264  //
 17265  // API parameter values that are decorated as "sensitive" in the API will not
 17266  // be included in the string output. The member name will be present, but the
 17267  // value will be replaced with "sensitive".
 17268  func (s PutAccountDedicatedIpWarmupAttributesInput) GoString() string {
 17269  	return s.String()
 17270  }
 17271  
 17272  // SetAutoWarmupEnabled sets the AutoWarmupEnabled field's value.
 17273  func (s *PutAccountDedicatedIpWarmupAttributesInput) SetAutoWarmupEnabled(v bool) *PutAccountDedicatedIpWarmupAttributesInput {
 17274  	s.AutoWarmupEnabled = &v
 17275  	return s
 17276  }
 17277  
 17278  // An HTTP 200 response if the request succeeds, or an error message if the
 17279  // request fails.
 17280  type PutAccountDedicatedIpWarmupAttributesOutput struct {
 17281  	_ struct{} `type:"structure" nopayload:"true"`
 17282  }
 17283  
 17284  // String returns the string representation.
 17285  //
 17286  // API parameter values that are decorated as "sensitive" in the API will not
 17287  // be included in the string output. The member name will be present, but the
 17288  // value will be replaced with "sensitive".
 17289  func (s PutAccountDedicatedIpWarmupAttributesOutput) String() string {
 17290  	return awsutil.Prettify(s)
 17291  }
 17292  
 17293  // GoString returns the string representation.
 17294  //
 17295  // API parameter values that are decorated as "sensitive" in the API will not
 17296  // be included in the string output. The member name will be present, but the
 17297  // value will be replaced with "sensitive".
 17298  func (s PutAccountDedicatedIpWarmupAttributesOutput) GoString() string {
 17299  	return s.String()
 17300  }
 17301  
 17302  // A request to submit new account details.
 17303  type PutAccountDetailsInput struct {
 17304  	_ struct{} `type:"structure"`
 17305  
 17306  	// Additional email addresses that you would like to be notified regarding Amazon
 17307  	// SES matters.
 17308  	//
 17309  	// AdditionalContactEmailAddresses is a sensitive parameter and its value will be
 17310  	// replaced with "sensitive" in string returned by PutAccountDetailsInput's
 17311  	// String and GoString methods.
 17312  	AdditionalContactEmailAddresses []*string `min:"1" type:"list" sensitive:"true"`
 17313  
 17314  	// The language you would prefer to be contacted with.
 17315  	ContactLanguage *string `type:"string" enum:"ContactLanguage"`
 17316  
 17317  	// The type of email your account will send.
 17318  	//
 17319  	// MailType is a required field
 17320  	MailType *string `type:"string" required:"true" enum:"MailType"`
 17321  
 17322  	// Indicates whether or not your account should have production access in the
 17323  	// current Amazon Web Services Region.
 17324  	//
 17325  	// If the value is false, then your account is in the sandbox. When your account
 17326  	// is in the sandbox, you can only send email to verified identities. Additionally,
 17327  	// the maximum number of emails you can send in a 24-hour period (your sending
 17328  	// quota) is 200, and the maximum number of emails you can send per second (your
 17329  	// maximum sending rate) is 1.
 17330  	//
 17331  	// If the value is true, then your account has production access. When your
 17332  	// account has production access, you can send email to any address. The sending
 17333  	// quota and maximum sending rate for your account vary based on your specific
 17334  	// use case.
 17335  	ProductionAccessEnabled *bool `type:"boolean"`
 17336  
 17337  	// A description of the types of email that you plan to send.
 17338  	//
 17339  	// UseCaseDescription is a sensitive parameter and its value will be
 17340  	// replaced with "sensitive" in string returned by PutAccountDetailsInput's
 17341  	// String and GoString methods.
 17342  	//
 17343  	// UseCaseDescription is a required field
 17344  	UseCaseDescription *string `min:"1" type:"string" required:"true" sensitive:"true"`
 17345  
 17346  	// The URL of your website. This information helps us better understand the
 17347  	// type of content that you plan to send.
 17348  	//
 17349  	// WebsiteURL is a sensitive parameter and its value will be
 17350  	// replaced with "sensitive" in string returned by PutAccountDetailsInput's
 17351  	// String and GoString methods.
 17352  	//
 17353  	// WebsiteURL is a required field
 17354  	WebsiteURL *string `min:"1" type:"string" required:"true" sensitive:"true"`
 17355  }
 17356  
 17357  // String returns the string representation.
 17358  //
 17359  // API parameter values that are decorated as "sensitive" in the API will not
 17360  // be included in the string output. The member name will be present, but the
 17361  // value will be replaced with "sensitive".
 17362  func (s PutAccountDetailsInput) String() string {
 17363  	return awsutil.Prettify(s)
 17364  }
 17365  
 17366  // GoString returns the string representation.
 17367  //
 17368  // API parameter values that are decorated as "sensitive" in the API will not
 17369  // be included in the string output. The member name will be present, but the
 17370  // value will be replaced with "sensitive".
 17371  func (s PutAccountDetailsInput) GoString() string {
 17372  	return s.String()
 17373  }
 17374  
 17375  // Validate inspects the fields of the type to determine if they are valid.
 17376  func (s *PutAccountDetailsInput) Validate() error {
 17377  	invalidParams := request.ErrInvalidParams{Context: "PutAccountDetailsInput"}
 17378  	if s.AdditionalContactEmailAddresses != nil && len(s.AdditionalContactEmailAddresses) < 1 {
 17379  		invalidParams.Add(request.NewErrParamMinLen("AdditionalContactEmailAddresses", 1))
 17380  	}
 17381  	if s.MailType == nil {
 17382  		invalidParams.Add(request.NewErrParamRequired("MailType"))
 17383  	}
 17384  	if s.UseCaseDescription == nil {
 17385  		invalidParams.Add(request.NewErrParamRequired("UseCaseDescription"))
 17386  	}
 17387  	if s.UseCaseDescription != nil && len(*s.UseCaseDescription) < 1 {
 17388  		invalidParams.Add(request.NewErrParamMinLen("UseCaseDescription", 1))
 17389  	}
 17390  	if s.WebsiteURL == nil {
 17391  		invalidParams.Add(request.NewErrParamRequired("WebsiteURL"))
 17392  	}
 17393  	if s.WebsiteURL != nil && len(*s.WebsiteURL) < 1 {
 17394  		invalidParams.Add(request.NewErrParamMinLen("WebsiteURL", 1))
 17395  	}
 17396  
 17397  	if invalidParams.Len() > 0 {
 17398  		return invalidParams
 17399  	}
 17400  	return nil
 17401  }
 17402  
 17403  // SetAdditionalContactEmailAddresses sets the AdditionalContactEmailAddresses field's value.
 17404  func (s *PutAccountDetailsInput) SetAdditionalContactEmailAddresses(v []*string) *PutAccountDetailsInput {
 17405  	s.AdditionalContactEmailAddresses = v
 17406  	return s
 17407  }
 17408  
 17409  // SetContactLanguage sets the ContactLanguage field's value.
 17410  func (s *PutAccountDetailsInput) SetContactLanguage(v string) *PutAccountDetailsInput {
 17411  	s.ContactLanguage = &v
 17412  	return s
 17413  }
 17414  
 17415  // SetMailType sets the MailType field's value.
 17416  func (s *PutAccountDetailsInput) SetMailType(v string) *PutAccountDetailsInput {
 17417  	s.MailType = &v
 17418  	return s
 17419  }
 17420  
 17421  // SetProductionAccessEnabled sets the ProductionAccessEnabled field's value.
 17422  func (s *PutAccountDetailsInput) SetProductionAccessEnabled(v bool) *PutAccountDetailsInput {
 17423  	s.ProductionAccessEnabled = &v
 17424  	return s
 17425  }
 17426  
 17427  // SetUseCaseDescription sets the UseCaseDescription field's value.
 17428  func (s *PutAccountDetailsInput) SetUseCaseDescription(v string) *PutAccountDetailsInput {
 17429  	s.UseCaseDescription = &v
 17430  	return s
 17431  }
 17432  
 17433  // SetWebsiteURL sets the WebsiteURL field's value.
 17434  func (s *PutAccountDetailsInput) SetWebsiteURL(v string) *PutAccountDetailsInput {
 17435  	s.WebsiteURL = &v
 17436  	return s
 17437  }
 17438  
 17439  // An HTTP 200 response if the request succeeds, or an error message if the
 17440  // request fails.
 17441  type PutAccountDetailsOutput struct {
 17442  	_ struct{} `type:"structure" nopayload:"true"`
 17443  }
 17444  
 17445  // String returns the string representation.
 17446  //
 17447  // API parameter values that are decorated as "sensitive" in the API will not
 17448  // be included in the string output. The member name will be present, but the
 17449  // value will be replaced with "sensitive".
 17450  func (s PutAccountDetailsOutput) String() string {
 17451  	return awsutil.Prettify(s)
 17452  }
 17453  
 17454  // GoString returns the string representation.
 17455  //
 17456  // API parameter values that are decorated as "sensitive" in the API will not
 17457  // be included in the string output. The member name will be present, but the
 17458  // value will be replaced with "sensitive".
 17459  func (s PutAccountDetailsOutput) GoString() string {
 17460  	return s.String()
 17461  }
 17462  
 17463  // A request to change the ability of your account to send email.
 17464  type PutAccountSendingAttributesInput struct {
 17465  	_ struct{} `type:"structure"`
 17466  
 17467  	// Enables or disables your account's ability to send email. Set to true to
 17468  	// enable email sending, or set to false to disable email sending.
 17469  	//
 17470  	// If Amazon Web Services paused your account's ability to send email, you can't
 17471  	// use this operation to resume your account's ability to send email.
 17472  	SendingEnabled *bool `type:"boolean"`
 17473  }
 17474  
 17475  // String returns the string representation.
 17476  //
 17477  // API parameter values that are decorated as "sensitive" in the API will not
 17478  // be included in the string output. The member name will be present, but the
 17479  // value will be replaced with "sensitive".
 17480  func (s PutAccountSendingAttributesInput) String() string {
 17481  	return awsutil.Prettify(s)
 17482  }
 17483  
 17484  // GoString returns the string representation.
 17485  //
 17486  // API parameter values that are decorated as "sensitive" in the API will not
 17487  // be included in the string output. The member name will be present, but the
 17488  // value will be replaced with "sensitive".
 17489  func (s PutAccountSendingAttributesInput) GoString() string {
 17490  	return s.String()
 17491  }
 17492  
 17493  // SetSendingEnabled sets the SendingEnabled field's value.
 17494  func (s *PutAccountSendingAttributesInput) SetSendingEnabled(v bool) *PutAccountSendingAttributesInput {
 17495  	s.SendingEnabled = &v
 17496  	return s
 17497  }
 17498  
 17499  // An HTTP 200 response if the request succeeds, or an error message if the
 17500  // request fails.
 17501  type PutAccountSendingAttributesOutput struct {
 17502  	_ struct{} `type:"structure" nopayload:"true"`
 17503  }
 17504  
 17505  // String returns the string representation.
 17506  //
 17507  // API parameter values that are decorated as "sensitive" in the API will not
 17508  // be included in the string output. The member name will be present, but the
 17509  // value will be replaced with "sensitive".
 17510  func (s PutAccountSendingAttributesOutput) String() string {
 17511  	return awsutil.Prettify(s)
 17512  }
 17513  
 17514  // GoString returns the string representation.
 17515  //
 17516  // API parameter values that are decorated as "sensitive" in the API will not
 17517  // be included in the string output. The member name will be present, but the
 17518  // value will be replaced with "sensitive".
 17519  func (s PutAccountSendingAttributesOutput) GoString() string {
 17520  	return s.String()
 17521  }
 17522  
 17523  // A request to change your account's suppression preferences.
 17524  type PutAccountSuppressionAttributesInput struct {
 17525  	_ struct{} `type:"structure"`
 17526  
 17527  	// A list that contains the reasons that email addresses will be automatically
 17528  	// added to the suppression list for your account. This list can contain any
 17529  	// or all of the following:
 17530  	//
 17531  	//    * COMPLAINT – Amazon SES adds an email address to the suppression list
 17532  	//    for your account when a message sent to that address results in a complaint.
 17533  	//
 17534  	//    * BOUNCE – Amazon SES adds an email address to the suppression list
 17535  	//    for your account when a message sent to that address results in a hard
 17536  	//    bounce.
 17537  	SuppressedReasons []*string `type:"list"`
 17538  }
 17539  
 17540  // String returns the string representation.
 17541  //
 17542  // API parameter values that are decorated as "sensitive" in the API will not
 17543  // be included in the string output. The member name will be present, but the
 17544  // value will be replaced with "sensitive".
 17545  func (s PutAccountSuppressionAttributesInput) String() string {
 17546  	return awsutil.Prettify(s)
 17547  }
 17548  
 17549  // GoString returns the string representation.
 17550  //
 17551  // API parameter values that are decorated as "sensitive" in the API will not
 17552  // be included in the string output. The member name will be present, but the
 17553  // value will be replaced with "sensitive".
 17554  func (s PutAccountSuppressionAttributesInput) GoString() string {
 17555  	return s.String()
 17556  }
 17557  
 17558  // SetSuppressedReasons sets the SuppressedReasons field's value.
 17559  func (s *PutAccountSuppressionAttributesInput) SetSuppressedReasons(v []*string) *PutAccountSuppressionAttributesInput {
 17560  	s.SuppressedReasons = v
 17561  	return s
 17562  }
 17563  
 17564  // An HTTP 200 response if the request succeeds, or an error message if the
 17565  // request fails.
 17566  type PutAccountSuppressionAttributesOutput struct {
 17567  	_ struct{} `type:"structure" nopayload:"true"`
 17568  }
 17569  
 17570  // String returns the string representation.
 17571  //
 17572  // API parameter values that are decorated as "sensitive" in the API will not
 17573  // be included in the string output. The member name will be present, but the
 17574  // value will be replaced with "sensitive".
 17575  func (s PutAccountSuppressionAttributesOutput) String() string {
 17576  	return awsutil.Prettify(s)
 17577  }
 17578  
 17579  // GoString returns the string representation.
 17580  //
 17581  // API parameter values that are decorated as "sensitive" in the API will not
 17582  // be included in the string output. The member name will be present, but the
 17583  // value will be replaced with "sensitive".
 17584  func (s PutAccountSuppressionAttributesOutput) GoString() string {
 17585  	return s.String()
 17586  }
 17587  
 17588  // A request to associate a configuration set with a dedicated IP pool.
 17589  type PutConfigurationSetDeliveryOptionsInput struct {
 17590  	_ struct{} `type:"structure"`
 17591  
 17592  	// The name of the configuration set to associate with a dedicated IP pool.
 17593  	//
 17594  	// ConfigurationSetName is a required field
 17595  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 17596  
 17597  	// The name of the dedicated IP pool to associate with the configuration set.
 17598  	SendingPoolName *string `type:"string"`
 17599  
 17600  	// Specifies whether messages that use the configuration set are required to
 17601  	// use Transport Layer Security (TLS). If the value is Require, messages are
 17602  	// only delivered if a TLS connection can be established. If the value is Optional,
 17603  	// messages can be delivered in plain text if a TLS connection can't be established.
 17604  	TlsPolicy *string `type:"string" enum:"TlsPolicy"`
 17605  }
 17606  
 17607  // String returns the string representation.
 17608  //
 17609  // API parameter values that are decorated as "sensitive" in the API will not
 17610  // be included in the string output. The member name will be present, but the
 17611  // value will be replaced with "sensitive".
 17612  func (s PutConfigurationSetDeliveryOptionsInput) String() string {
 17613  	return awsutil.Prettify(s)
 17614  }
 17615  
 17616  // GoString returns the string representation.
 17617  //
 17618  // API parameter values that are decorated as "sensitive" in the API will not
 17619  // be included in the string output. The member name will be present, but the
 17620  // value will be replaced with "sensitive".
 17621  func (s PutConfigurationSetDeliveryOptionsInput) GoString() string {
 17622  	return s.String()
 17623  }
 17624  
 17625  // Validate inspects the fields of the type to determine if they are valid.
 17626  func (s *PutConfigurationSetDeliveryOptionsInput) Validate() error {
 17627  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetDeliveryOptionsInput"}
 17628  	if s.ConfigurationSetName == nil {
 17629  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 17630  	}
 17631  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 17632  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 17633  	}
 17634  
 17635  	if invalidParams.Len() > 0 {
 17636  		return invalidParams
 17637  	}
 17638  	return nil
 17639  }
 17640  
 17641  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 17642  func (s *PutConfigurationSetDeliveryOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetDeliveryOptionsInput {
 17643  	s.ConfigurationSetName = &v
 17644  	return s
 17645  }
 17646  
 17647  // SetSendingPoolName sets the SendingPoolName field's value.
 17648  func (s *PutConfigurationSetDeliveryOptionsInput) SetSendingPoolName(v string) *PutConfigurationSetDeliveryOptionsInput {
 17649  	s.SendingPoolName = &v
 17650  	return s
 17651  }
 17652  
 17653  // SetTlsPolicy sets the TlsPolicy field's value.
 17654  func (s *PutConfigurationSetDeliveryOptionsInput) SetTlsPolicy(v string) *PutConfigurationSetDeliveryOptionsInput {
 17655  	s.TlsPolicy = &v
 17656  	return s
 17657  }
 17658  
 17659  // An HTTP 200 response if the request succeeds, or an error message if the
 17660  // request fails.
 17661  type PutConfigurationSetDeliveryOptionsOutput struct {
 17662  	_ struct{} `type:"structure" nopayload:"true"`
 17663  }
 17664  
 17665  // String returns the string representation.
 17666  //
 17667  // API parameter values that are decorated as "sensitive" in the API will not
 17668  // be included in the string output. The member name will be present, but the
 17669  // value will be replaced with "sensitive".
 17670  func (s PutConfigurationSetDeliveryOptionsOutput) String() string {
 17671  	return awsutil.Prettify(s)
 17672  }
 17673  
 17674  // GoString returns the string representation.
 17675  //
 17676  // API parameter values that are decorated as "sensitive" in the API will not
 17677  // be included in the string output. The member name will be present, but the
 17678  // value will be replaced with "sensitive".
 17679  func (s PutConfigurationSetDeliveryOptionsOutput) GoString() string {
 17680  	return s.String()
 17681  }
 17682  
 17683  // A request to enable or disable tracking of reputation metrics for a configuration
 17684  // set.
 17685  type PutConfigurationSetReputationOptionsInput struct {
 17686  	_ struct{} `type:"structure"`
 17687  
 17688  	// The name of the configuration set.
 17689  	//
 17690  	// ConfigurationSetName is a required field
 17691  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 17692  
 17693  	// If true, tracking of reputation metrics is enabled for the configuration
 17694  	// set. If false, tracking of reputation metrics is disabled for the configuration
 17695  	// set.
 17696  	ReputationMetricsEnabled *bool `type:"boolean"`
 17697  }
 17698  
 17699  // String returns the string representation.
 17700  //
 17701  // API parameter values that are decorated as "sensitive" in the API will not
 17702  // be included in the string output. The member name will be present, but the
 17703  // value will be replaced with "sensitive".
 17704  func (s PutConfigurationSetReputationOptionsInput) String() string {
 17705  	return awsutil.Prettify(s)
 17706  }
 17707  
 17708  // GoString returns the string representation.
 17709  //
 17710  // API parameter values that are decorated as "sensitive" in the API will not
 17711  // be included in the string output. The member name will be present, but the
 17712  // value will be replaced with "sensitive".
 17713  func (s PutConfigurationSetReputationOptionsInput) GoString() string {
 17714  	return s.String()
 17715  }
 17716  
 17717  // Validate inspects the fields of the type to determine if they are valid.
 17718  func (s *PutConfigurationSetReputationOptionsInput) Validate() error {
 17719  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetReputationOptionsInput"}
 17720  	if s.ConfigurationSetName == nil {
 17721  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 17722  	}
 17723  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 17724  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 17725  	}
 17726  
 17727  	if invalidParams.Len() > 0 {
 17728  		return invalidParams
 17729  	}
 17730  	return nil
 17731  }
 17732  
 17733  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 17734  func (s *PutConfigurationSetReputationOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetReputationOptionsInput {
 17735  	s.ConfigurationSetName = &v
 17736  	return s
 17737  }
 17738  
 17739  // SetReputationMetricsEnabled sets the ReputationMetricsEnabled field's value.
 17740  func (s *PutConfigurationSetReputationOptionsInput) SetReputationMetricsEnabled(v bool) *PutConfigurationSetReputationOptionsInput {
 17741  	s.ReputationMetricsEnabled = &v
 17742  	return s
 17743  }
 17744  
 17745  // An HTTP 200 response if the request succeeds, or an error message if the
 17746  // request fails.
 17747  type PutConfigurationSetReputationOptionsOutput struct {
 17748  	_ struct{} `type:"structure" nopayload:"true"`
 17749  }
 17750  
 17751  // String returns the string representation.
 17752  //
 17753  // API parameter values that are decorated as "sensitive" in the API will not
 17754  // be included in the string output. The member name will be present, but the
 17755  // value will be replaced with "sensitive".
 17756  func (s PutConfigurationSetReputationOptionsOutput) String() string {
 17757  	return awsutil.Prettify(s)
 17758  }
 17759  
 17760  // GoString returns the string representation.
 17761  //
 17762  // API parameter values that are decorated as "sensitive" in the API will not
 17763  // be included in the string output. The member name will be present, but the
 17764  // value will be replaced with "sensitive".
 17765  func (s PutConfigurationSetReputationOptionsOutput) GoString() string {
 17766  	return s.String()
 17767  }
 17768  
 17769  // A request to enable or disable the ability of Amazon SES to send emails that
 17770  // use a specific configuration set.
 17771  type PutConfigurationSetSendingOptionsInput struct {
 17772  	_ struct{} `type:"structure"`
 17773  
 17774  	// The name of the configuration set to enable or disable email sending for.
 17775  	//
 17776  	// ConfigurationSetName is a required field
 17777  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 17778  
 17779  	// If true, email sending is enabled for the configuration set. If false, email
 17780  	// sending is disabled for the configuration set.
 17781  	SendingEnabled *bool `type:"boolean"`
 17782  }
 17783  
 17784  // String returns the string representation.
 17785  //
 17786  // API parameter values that are decorated as "sensitive" in the API will not
 17787  // be included in the string output. The member name will be present, but the
 17788  // value will be replaced with "sensitive".
 17789  func (s PutConfigurationSetSendingOptionsInput) String() string {
 17790  	return awsutil.Prettify(s)
 17791  }
 17792  
 17793  // GoString returns the string representation.
 17794  //
 17795  // API parameter values that are decorated as "sensitive" in the API will not
 17796  // be included in the string output. The member name will be present, but the
 17797  // value will be replaced with "sensitive".
 17798  func (s PutConfigurationSetSendingOptionsInput) GoString() string {
 17799  	return s.String()
 17800  }
 17801  
 17802  // Validate inspects the fields of the type to determine if they are valid.
 17803  func (s *PutConfigurationSetSendingOptionsInput) Validate() error {
 17804  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetSendingOptionsInput"}
 17805  	if s.ConfigurationSetName == nil {
 17806  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 17807  	}
 17808  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 17809  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 17810  	}
 17811  
 17812  	if invalidParams.Len() > 0 {
 17813  		return invalidParams
 17814  	}
 17815  	return nil
 17816  }
 17817  
 17818  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 17819  func (s *PutConfigurationSetSendingOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetSendingOptionsInput {
 17820  	s.ConfigurationSetName = &v
 17821  	return s
 17822  }
 17823  
 17824  // SetSendingEnabled sets the SendingEnabled field's value.
 17825  func (s *PutConfigurationSetSendingOptionsInput) SetSendingEnabled(v bool) *PutConfigurationSetSendingOptionsInput {
 17826  	s.SendingEnabled = &v
 17827  	return s
 17828  }
 17829  
 17830  // An HTTP 200 response if the request succeeds, or an error message if the
 17831  // request fails.
 17832  type PutConfigurationSetSendingOptionsOutput struct {
 17833  	_ struct{} `type:"structure" nopayload:"true"`
 17834  }
 17835  
 17836  // String returns the string representation.
 17837  //
 17838  // API parameter values that are decorated as "sensitive" in the API will not
 17839  // be included in the string output. The member name will be present, but the
 17840  // value will be replaced with "sensitive".
 17841  func (s PutConfigurationSetSendingOptionsOutput) String() string {
 17842  	return awsutil.Prettify(s)
 17843  }
 17844  
 17845  // GoString returns the string representation.
 17846  //
 17847  // API parameter values that are decorated as "sensitive" in the API will not
 17848  // be included in the string output. The member name will be present, but the
 17849  // value will be replaced with "sensitive".
 17850  func (s PutConfigurationSetSendingOptionsOutput) GoString() string {
 17851  	return s.String()
 17852  }
 17853  
 17854  // A request to change the account suppression list preferences for a specific
 17855  // configuration set.
 17856  type PutConfigurationSetSuppressionOptionsInput struct {
 17857  	_ struct{} `type:"structure"`
 17858  
 17859  	// The name of the configuration set to change the suppression list preferences
 17860  	// for.
 17861  	//
 17862  	// ConfigurationSetName is a required field
 17863  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 17864  
 17865  	// A list that contains the reasons that email addresses are automatically added
 17866  	// to the suppression list for your account. This list can contain any or all
 17867  	// of the following:
 17868  	//
 17869  	//    * COMPLAINT – Amazon SES adds an email address to the suppression list
 17870  	//    for your account when a message sent to that address results in a complaint.
 17871  	//
 17872  	//    * BOUNCE – Amazon SES adds an email address to the suppression list
 17873  	//    for your account when a message sent to that address results in a hard
 17874  	//    bounce.
 17875  	SuppressedReasons []*string `type:"list"`
 17876  }
 17877  
 17878  // String returns the string representation.
 17879  //
 17880  // API parameter values that are decorated as "sensitive" in the API will not
 17881  // be included in the string output. The member name will be present, but the
 17882  // value will be replaced with "sensitive".
 17883  func (s PutConfigurationSetSuppressionOptionsInput) String() string {
 17884  	return awsutil.Prettify(s)
 17885  }
 17886  
 17887  // GoString returns the string representation.
 17888  //
 17889  // API parameter values that are decorated as "sensitive" in the API will not
 17890  // be included in the string output. The member name will be present, but the
 17891  // value will be replaced with "sensitive".
 17892  func (s PutConfigurationSetSuppressionOptionsInput) GoString() string {
 17893  	return s.String()
 17894  }
 17895  
 17896  // Validate inspects the fields of the type to determine if they are valid.
 17897  func (s *PutConfigurationSetSuppressionOptionsInput) Validate() error {
 17898  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetSuppressionOptionsInput"}
 17899  	if s.ConfigurationSetName == nil {
 17900  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 17901  	}
 17902  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 17903  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 17904  	}
 17905  
 17906  	if invalidParams.Len() > 0 {
 17907  		return invalidParams
 17908  	}
 17909  	return nil
 17910  }
 17911  
 17912  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 17913  func (s *PutConfigurationSetSuppressionOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetSuppressionOptionsInput {
 17914  	s.ConfigurationSetName = &v
 17915  	return s
 17916  }
 17917  
 17918  // SetSuppressedReasons sets the SuppressedReasons field's value.
 17919  func (s *PutConfigurationSetSuppressionOptionsInput) SetSuppressedReasons(v []*string) *PutConfigurationSetSuppressionOptionsInput {
 17920  	s.SuppressedReasons = v
 17921  	return s
 17922  }
 17923  
 17924  // An HTTP 200 response if the request succeeds, or an error message if the
 17925  // request fails.
 17926  type PutConfigurationSetSuppressionOptionsOutput struct {
 17927  	_ struct{} `type:"structure" nopayload:"true"`
 17928  }
 17929  
 17930  // String returns the string representation.
 17931  //
 17932  // API parameter values that are decorated as "sensitive" in the API will not
 17933  // be included in the string output. The member name will be present, but the
 17934  // value will be replaced with "sensitive".
 17935  func (s PutConfigurationSetSuppressionOptionsOutput) String() string {
 17936  	return awsutil.Prettify(s)
 17937  }
 17938  
 17939  // GoString returns the string representation.
 17940  //
 17941  // API parameter values that are decorated as "sensitive" in the API will not
 17942  // be included in the string output. The member name will be present, but the
 17943  // value will be replaced with "sensitive".
 17944  func (s PutConfigurationSetSuppressionOptionsOutput) GoString() string {
 17945  	return s.String()
 17946  }
 17947  
 17948  // A request to add a custom domain for tracking open and click events to a
 17949  // configuration set.
 17950  type PutConfigurationSetTrackingOptionsInput struct {
 17951  	_ struct{} `type:"structure"`
 17952  
 17953  	// The name of the configuration set.
 17954  	//
 17955  	// ConfigurationSetName is a required field
 17956  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 17957  
 17958  	// The domain to use to track open and click events.
 17959  	CustomRedirectDomain *string `type:"string"`
 17960  }
 17961  
 17962  // String returns the string representation.
 17963  //
 17964  // API parameter values that are decorated as "sensitive" in the API will not
 17965  // be included in the string output. The member name will be present, but the
 17966  // value will be replaced with "sensitive".
 17967  func (s PutConfigurationSetTrackingOptionsInput) String() string {
 17968  	return awsutil.Prettify(s)
 17969  }
 17970  
 17971  // GoString returns the string representation.
 17972  //
 17973  // API parameter values that are decorated as "sensitive" in the API will not
 17974  // be included in the string output. The member name will be present, but the
 17975  // value will be replaced with "sensitive".
 17976  func (s PutConfigurationSetTrackingOptionsInput) GoString() string {
 17977  	return s.String()
 17978  }
 17979  
 17980  // Validate inspects the fields of the type to determine if they are valid.
 17981  func (s *PutConfigurationSetTrackingOptionsInput) Validate() error {
 17982  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetTrackingOptionsInput"}
 17983  	if s.ConfigurationSetName == nil {
 17984  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 17985  	}
 17986  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 17987  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 17988  	}
 17989  
 17990  	if invalidParams.Len() > 0 {
 17991  		return invalidParams
 17992  	}
 17993  	return nil
 17994  }
 17995  
 17996  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 17997  func (s *PutConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetTrackingOptionsInput {
 17998  	s.ConfigurationSetName = &v
 17999  	return s
 18000  }
 18001  
 18002  // SetCustomRedirectDomain sets the CustomRedirectDomain field's value.
 18003  func (s *PutConfigurationSetTrackingOptionsInput) SetCustomRedirectDomain(v string) *PutConfigurationSetTrackingOptionsInput {
 18004  	s.CustomRedirectDomain = &v
 18005  	return s
 18006  }
 18007  
 18008  // An HTTP 200 response if the request succeeds, or an error message if the
 18009  // request fails.
 18010  type PutConfigurationSetTrackingOptionsOutput struct {
 18011  	_ struct{} `type:"structure" nopayload:"true"`
 18012  }
 18013  
 18014  // String returns the string representation.
 18015  //
 18016  // API parameter values that are decorated as "sensitive" in the API will not
 18017  // be included in the string output. The member name will be present, but the
 18018  // value will be replaced with "sensitive".
 18019  func (s PutConfigurationSetTrackingOptionsOutput) String() string {
 18020  	return awsutil.Prettify(s)
 18021  }
 18022  
 18023  // GoString returns the string representation.
 18024  //
 18025  // API parameter values that are decorated as "sensitive" in the API will not
 18026  // be included in the string output. The member name will be present, but the
 18027  // value will be replaced with "sensitive".
 18028  func (s PutConfigurationSetTrackingOptionsOutput) GoString() string {
 18029  	return s.String()
 18030  }
 18031  
 18032  // A request to move a dedicated IP address to a dedicated IP pool.
 18033  type PutDedicatedIpInPoolInput struct {
 18034  	_ struct{} `type:"structure"`
 18035  
 18036  	// The name of the IP pool that you want to add the dedicated IP address to.
 18037  	// You have to specify an IP pool that already exists.
 18038  	//
 18039  	// DestinationPoolName is a required field
 18040  	DestinationPoolName *string `type:"string" required:"true"`
 18041  
 18042  	// The IP address that you want to move to the dedicated IP pool. The value
 18043  	// you specify has to be a dedicated IP address that's associated with your
 18044  	// Amazon Web Services account.
 18045  	//
 18046  	// Ip is a required field
 18047  	Ip *string `location:"uri" locationName:"IP" type:"string" required:"true"`
 18048  }
 18049  
 18050  // String returns the string representation.
 18051  //
 18052  // API parameter values that are decorated as "sensitive" in the API will not
 18053  // be included in the string output. The member name will be present, but the
 18054  // value will be replaced with "sensitive".
 18055  func (s PutDedicatedIpInPoolInput) String() string {
 18056  	return awsutil.Prettify(s)
 18057  }
 18058  
 18059  // GoString returns the string representation.
 18060  //
 18061  // API parameter values that are decorated as "sensitive" in the API will not
 18062  // be included in the string output. The member name will be present, but the
 18063  // value will be replaced with "sensitive".
 18064  func (s PutDedicatedIpInPoolInput) GoString() string {
 18065  	return s.String()
 18066  }
 18067  
 18068  // Validate inspects the fields of the type to determine if they are valid.
 18069  func (s *PutDedicatedIpInPoolInput) Validate() error {
 18070  	invalidParams := request.ErrInvalidParams{Context: "PutDedicatedIpInPoolInput"}
 18071  	if s.DestinationPoolName == nil {
 18072  		invalidParams.Add(request.NewErrParamRequired("DestinationPoolName"))
 18073  	}
 18074  	if s.Ip == nil {
 18075  		invalidParams.Add(request.NewErrParamRequired("Ip"))
 18076  	}
 18077  	if s.Ip != nil && len(*s.Ip) < 1 {
 18078  		invalidParams.Add(request.NewErrParamMinLen("Ip", 1))
 18079  	}
 18080  
 18081  	if invalidParams.Len() > 0 {
 18082  		return invalidParams
 18083  	}
 18084  	return nil
 18085  }
 18086  
 18087  // SetDestinationPoolName sets the DestinationPoolName field's value.
 18088  func (s *PutDedicatedIpInPoolInput) SetDestinationPoolName(v string) *PutDedicatedIpInPoolInput {
 18089  	s.DestinationPoolName = &v
 18090  	return s
 18091  }
 18092  
 18093  // SetIp sets the Ip field's value.
 18094  func (s *PutDedicatedIpInPoolInput) SetIp(v string) *PutDedicatedIpInPoolInput {
 18095  	s.Ip = &v
 18096  	return s
 18097  }
 18098  
 18099  // An HTTP 200 response if the request succeeds, or an error message if the
 18100  // request fails.
 18101  type PutDedicatedIpInPoolOutput struct {
 18102  	_ struct{} `type:"structure" nopayload:"true"`
 18103  }
 18104  
 18105  // String returns the string representation.
 18106  //
 18107  // API parameter values that are decorated as "sensitive" in the API will not
 18108  // be included in the string output. The member name will be present, but the
 18109  // value will be replaced with "sensitive".
 18110  func (s PutDedicatedIpInPoolOutput) String() string {
 18111  	return awsutil.Prettify(s)
 18112  }
 18113  
 18114  // GoString returns the string representation.
 18115  //
 18116  // API parameter values that are decorated as "sensitive" in the API will not
 18117  // be included in the string output. The member name will be present, but the
 18118  // value will be replaced with "sensitive".
 18119  func (s PutDedicatedIpInPoolOutput) GoString() string {
 18120  	return s.String()
 18121  }
 18122  
 18123  // A request to change the warm-up attributes for a dedicated IP address. This
 18124  // operation is useful when you want to resume the warm-up process for an existing
 18125  // IP address.
 18126  type PutDedicatedIpWarmupAttributesInput struct {
 18127  	_ struct{} `type:"structure"`
 18128  
 18129  	// The dedicated IP address that you want to update the warm-up attributes for.
 18130  	//
 18131  	// Ip is a required field
 18132  	Ip *string `location:"uri" locationName:"IP" type:"string" required:"true"`
 18133  
 18134  	// The warm-up percentage that you want to associate with the dedicated IP address.
 18135  	//
 18136  	// WarmupPercentage is a required field
 18137  	WarmupPercentage *int64 `type:"integer" required:"true"`
 18138  }
 18139  
 18140  // String returns the string representation.
 18141  //
 18142  // API parameter values that are decorated as "sensitive" in the API will not
 18143  // be included in the string output. The member name will be present, but the
 18144  // value will be replaced with "sensitive".
 18145  func (s PutDedicatedIpWarmupAttributesInput) String() string {
 18146  	return awsutil.Prettify(s)
 18147  }
 18148  
 18149  // GoString returns the string representation.
 18150  //
 18151  // API parameter values that are decorated as "sensitive" in the API will not
 18152  // be included in the string output. The member name will be present, but the
 18153  // value will be replaced with "sensitive".
 18154  func (s PutDedicatedIpWarmupAttributesInput) GoString() string {
 18155  	return s.String()
 18156  }
 18157  
 18158  // Validate inspects the fields of the type to determine if they are valid.
 18159  func (s *PutDedicatedIpWarmupAttributesInput) Validate() error {
 18160  	invalidParams := request.ErrInvalidParams{Context: "PutDedicatedIpWarmupAttributesInput"}
 18161  	if s.Ip == nil {
 18162  		invalidParams.Add(request.NewErrParamRequired("Ip"))
 18163  	}
 18164  	if s.Ip != nil && len(*s.Ip) < 1 {
 18165  		invalidParams.Add(request.NewErrParamMinLen("Ip", 1))
 18166  	}
 18167  	if s.WarmupPercentage == nil {
 18168  		invalidParams.Add(request.NewErrParamRequired("WarmupPercentage"))
 18169  	}
 18170  
 18171  	if invalidParams.Len() > 0 {
 18172  		return invalidParams
 18173  	}
 18174  	return nil
 18175  }
 18176  
 18177  // SetIp sets the Ip field's value.
 18178  func (s *PutDedicatedIpWarmupAttributesInput) SetIp(v string) *PutDedicatedIpWarmupAttributesInput {
 18179  	s.Ip = &v
 18180  	return s
 18181  }
 18182  
 18183  // SetWarmupPercentage sets the WarmupPercentage field's value.
 18184  func (s *PutDedicatedIpWarmupAttributesInput) SetWarmupPercentage(v int64) *PutDedicatedIpWarmupAttributesInput {
 18185  	s.WarmupPercentage = &v
 18186  	return s
 18187  }
 18188  
 18189  // An HTTP 200 response if the request succeeds, or an error message if the
 18190  // request fails.
 18191  type PutDedicatedIpWarmupAttributesOutput struct {
 18192  	_ struct{} `type:"structure" nopayload:"true"`
 18193  }
 18194  
 18195  // String returns the string representation.
 18196  //
 18197  // API parameter values that are decorated as "sensitive" in the API will not
 18198  // be included in the string output. The member name will be present, but the
 18199  // value will be replaced with "sensitive".
 18200  func (s PutDedicatedIpWarmupAttributesOutput) String() string {
 18201  	return awsutil.Prettify(s)
 18202  }
 18203  
 18204  // GoString returns the string representation.
 18205  //
 18206  // API parameter values that are decorated as "sensitive" in the API will not
 18207  // be included in the string output. The member name will be present, but the
 18208  // value will be replaced with "sensitive".
 18209  func (s PutDedicatedIpWarmupAttributesOutput) GoString() string {
 18210  	return s.String()
 18211  }
 18212  
 18213  // Enable or disable the Deliverability dashboard. When you enable the Deliverability
 18214  // dashboard, you gain access to reputation, deliverability, and other metrics
 18215  // for the domains that you use to send email using Amazon SES API v2. You also
 18216  // gain the ability to perform predictive inbox placement tests.
 18217  //
 18218  // When you use the Deliverability dashboard, you pay a monthly subscription
 18219  // charge, in addition to any other fees that you accrue by using Amazon SES
 18220  // and other Amazon Web Services services. For more information about the features
 18221  // and cost of a Deliverability dashboard subscription, see Amazon Pinpoint
 18222  // Pricing (http://aws.amazon.com/pinpoint/pricing/).
 18223  type PutDeliverabilityDashboardOptionInput struct {
 18224  	_ struct{} `type:"structure"`
 18225  
 18226  	// Specifies whether to enable the Deliverability dashboard. To enable the dashboard,
 18227  	// set this value to true.
 18228  	//
 18229  	// DashboardEnabled is a required field
 18230  	DashboardEnabled *bool `type:"boolean" required:"true"`
 18231  
 18232  	// An array of objects, one for each verified domain that you use to send email
 18233  	// and enabled the Deliverability dashboard for.
 18234  	SubscribedDomains []*DomainDeliverabilityTrackingOption `type:"list"`
 18235  }
 18236  
 18237  // String returns the string representation.
 18238  //
 18239  // API parameter values that are decorated as "sensitive" in the API will not
 18240  // be included in the string output. The member name will be present, but the
 18241  // value will be replaced with "sensitive".
 18242  func (s PutDeliverabilityDashboardOptionInput) String() string {
 18243  	return awsutil.Prettify(s)
 18244  }
 18245  
 18246  // GoString returns the string representation.
 18247  //
 18248  // API parameter values that are decorated as "sensitive" in the API will not
 18249  // be included in the string output. The member name will be present, but the
 18250  // value will be replaced with "sensitive".
 18251  func (s PutDeliverabilityDashboardOptionInput) GoString() string {
 18252  	return s.String()
 18253  }
 18254  
 18255  // Validate inspects the fields of the type to determine if they are valid.
 18256  func (s *PutDeliverabilityDashboardOptionInput) Validate() error {
 18257  	invalidParams := request.ErrInvalidParams{Context: "PutDeliverabilityDashboardOptionInput"}
 18258  	if s.DashboardEnabled == nil {
 18259  		invalidParams.Add(request.NewErrParamRequired("DashboardEnabled"))
 18260  	}
 18261  
 18262  	if invalidParams.Len() > 0 {
 18263  		return invalidParams
 18264  	}
 18265  	return nil
 18266  }
 18267  
 18268  // SetDashboardEnabled sets the DashboardEnabled field's value.
 18269  func (s *PutDeliverabilityDashboardOptionInput) SetDashboardEnabled(v bool) *PutDeliverabilityDashboardOptionInput {
 18270  	s.DashboardEnabled = &v
 18271  	return s
 18272  }
 18273  
 18274  // SetSubscribedDomains sets the SubscribedDomains field's value.
 18275  func (s *PutDeliverabilityDashboardOptionInput) SetSubscribedDomains(v []*DomainDeliverabilityTrackingOption) *PutDeliverabilityDashboardOptionInput {
 18276  	s.SubscribedDomains = v
 18277  	return s
 18278  }
 18279  
 18280  // A response that indicates whether the Deliverability dashboard is enabled.
 18281  type PutDeliverabilityDashboardOptionOutput struct {
 18282  	_ struct{} `type:"structure" nopayload:"true"`
 18283  }
 18284  
 18285  // String returns the string representation.
 18286  //
 18287  // API parameter values that are decorated as "sensitive" in the API will not
 18288  // be included in the string output. The member name will be present, but the
 18289  // value will be replaced with "sensitive".
 18290  func (s PutDeliverabilityDashboardOptionOutput) String() string {
 18291  	return awsutil.Prettify(s)
 18292  }
 18293  
 18294  // GoString returns the string representation.
 18295  //
 18296  // API parameter values that are decorated as "sensitive" in the API will not
 18297  // be included in the string output. The member name will be present, but the
 18298  // value will be replaced with "sensitive".
 18299  func (s PutDeliverabilityDashboardOptionOutput) GoString() string {
 18300  	return s.String()
 18301  }
 18302  
 18303  // A request to associate a configuration set with an email identity.
 18304  type PutEmailIdentityConfigurationSetAttributesInput struct {
 18305  	_ struct{} `type:"structure"`
 18306  
 18307  	// The configuration set to associate with an email identity.
 18308  	ConfigurationSetName *string `type:"string"`
 18309  
 18310  	// The email address or domain to associate with a configuration set.
 18311  	//
 18312  	// EmailIdentity is a required field
 18313  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 18314  }
 18315  
 18316  // String returns the string representation.
 18317  //
 18318  // API parameter values that are decorated as "sensitive" in the API will not
 18319  // be included in the string output. The member name will be present, but the
 18320  // value will be replaced with "sensitive".
 18321  func (s PutEmailIdentityConfigurationSetAttributesInput) String() string {
 18322  	return awsutil.Prettify(s)
 18323  }
 18324  
 18325  // GoString returns the string representation.
 18326  //
 18327  // API parameter values that are decorated as "sensitive" in the API will not
 18328  // be included in the string output. The member name will be present, but the
 18329  // value will be replaced with "sensitive".
 18330  func (s PutEmailIdentityConfigurationSetAttributesInput) GoString() string {
 18331  	return s.String()
 18332  }
 18333  
 18334  // Validate inspects the fields of the type to determine if they are valid.
 18335  func (s *PutEmailIdentityConfigurationSetAttributesInput) Validate() error {
 18336  	invalidParams := request.ErrInvalidParams{Context: "PutEmailIdentityConfigurationSetAttributesInput"}
 18337  	if s.EmailIdentity == nil {
 18338  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 18339  	}
 18340  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 18341  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 18342  	}
 18343  
 18344  	if invalidParams.Len() > 0 {
 18345  		return invalidParams
 18346  	}
 18347  	return nil
 18348  }
 18349  
 18350  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 18351  func (s *PutEmailIdentityConfigurationSetAttributesInput) SetConfigurationSetName(v string) *PutEmailIdentityConfigurationSetAttributesInput {
 18352  	s.ConfigurationSetName = &v
 18353  	return s
 18354  }
 18355  
 18356  // SetEmailIdentity sets the EmailIdentity field's value.
 18357  func (s *PutEmailIdentityConfigurationSetAttributesInput) SetEmailIdentity(v string) *PutEmailIdentityConfigurationSetAttributesInput {
 18358  	s.EmailIdentity = &v
 18359  	return s
 18360  }
 18361  
 18362  // If the action is successful, the service sends back an HTTP 200 response
 18363  // with an empty HTTP body.
 18364  type PutEmailIdentityConfigurationSetAttributesOutput struct {
 18365  	_ struct{} `type:"structure" nopayload:"true"`
 18366  }
 18367  
 18368  // String returns the string representation.
 18369  //
 18370  // API parameter values that are decorated as "sensitive" in the API will not
 18371  // be included in the string output. The member name will be present, but the
 18372  // value will be replaced with "sensitive".
 18373  func (s PutEmailIdentityConfigurationSetAttributesOutput) String() string {
 18374  	return awsutil.Prettify(s)
 18375  }
 18376  
 18377  // GoString returns the string representation.
 18378  //
 18379  // API parameter values that are decorated as "sensitive" in the API will not
 18380  // be included in the string output. The member name will be present, but the
 18381  // value will be replaced with "sensitive".
 18382  func (s PutEmailIdentityConfigurationSetAttributesOutput) GoString() string {
 18383  	return s.String()
 18384  }
 18385  
 18386  // A request to enable or disable DKIM signing of email that you send from an
 18387  // email identity.
 18388  type PutEmailIdentityDkimAttributesInput struct {
 18389  	_ struct{} `type:"structure"`
 18390  
 18391  	// The email identity.
 18392  	//
 18393  	// EmailIdentity is a required field
 18394  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 18395  
 18396  	// Sets the DKIM signing configuration for the identity.
 18397  	//
 18398  	// When you set this value true, then the messages that are sent from the identity
 18399  	// are signed using DKIM. If you set this value to false, your messages are
 18400  	// sent without DKIM signing.
 18401  	SigningEnabled *bool `type:"boolean"`
 18402  }
 18403  
 18404  // String returns the string representation.
 18405  //
 18406  // API parameter values that are decorated as "sensitive" in the API will not
 18407  // be included in the string output. The member name will be present, but the
 18408  // value will be replaced with "sensitive".
 18409  func (s PutEmailIdentityDkimAttributesInput) String() string {
 18410  	return awsutil.Prettify(s)
 18411  }
 18412  
 18413  // GoString returns the string representation.
 18414  //
 18415  // API parameter values that are decorated as "sensitive" in the API will not
 18416  // be included in the string output. The member name will be present, but the
 18417  // value will be replaced with "sensitive".
 18418  func (s PutEmailIdentityDkimAttributesInput) GoString() string {
 18419  	return s.String()
 18420  }
 18421  
 18422  // Validate inspects the fields of the type to determine if they are valid.
 18423  func (s *PutEmailIdentityDkimAttributesInput) Validate() error {
 18424  	invalidParams := request.ErrInvalidParams{Context: "PutEmailIdentityDkimAttributesInput"}
 18425  	if s.EmailIdentity == nil {
 18426  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 18427  	}
 18428  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 18429  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 18430  	}
 18431  
 18432  	if invalidParams.Len() > 0 {
 18433  		return invalidParams
 18434  	}
 18435  	return nil
 18436  }
 18437  
 18438  // SetEmailIdentity sets the EmailIdentity field's value.
 18439  func (s *PutEmailIdentityDkimAttributesInput) SetEmailIdentity(v string) *PutEmailIdentityDkimAttributesInput {
 18440  	s.EmailIdentity = &v
 18441  	return s
 18442  }
 18443  
 18444  // SetSigningEnabled sets the SigningEnabled field's value.
 18445  func (s *PutEmailIdentityDkimAttributesInput) SetSigningEnabled(v bool) *PutEmailIdentityDkimAttributesInput {
 18446  	s.SigningEnabled = &v
 18447  	return s
 18448  }
 18449  
 18450  // An HTTP 200 response if the request succeeds, or an error message if the
 18451  // request fails.
 18452  type PutEmailIdentityDkimAttributesOutput struct {
 18453  	_ struct{} `type:"structure" nopayload:"true"`
 18454  }
 18455  
 18456  // String returns the string representation.
 18457  //
 18458  // API parameter values that are decorated as "sensitive" in the API will not
 18459  // be included in the string output. The member name will be present, but the
 18460  // value will be replaced with "sensitive".
 18461  func (s PutEmailIdentityDkimAttributesOutput) String() string {
 18462  	return awsutil.Prettify(s)
 18463  }
 18464  
 18465  // GoString returns the string representation.
 18466  //
 18467  // API parameter values that are decorated as "sensitive" in the API will not
 18468  // be included in the string output. The member name will be present, but the
 18469  // value will be replaced with "sensitive".
 18470  func (s PutEmailIdentityDkimAttributesOutput) GoString() string {
 18471  	return s.String()
 18472  }
 18473  
 18474  // A request to change the DKIM attributes for an email identity.
 18475  type PutEmailIdentityDkimSigningAttributesInput struct {
 18476  	_ struct{} `type:"structure"`
 18477  
 18478  	// The email identity.
 18479  	//
 18480  	// EmailIdentity is a required field
 18481  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 18482  
 18483  	// An object that contains information about the private key and selector that
 18484  	// you want to use to configure DKIM for the identity for Bring Your Own DKIM
 18485  	// (BYODKIM) for the identity, or, configures the key length to be used for
 18486  	// Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 18487  	SigningAttributes *DkimSigningAttributes `type:"structure"`
 18488  
 18489  	// The method to use to configure DKIM for the identity. There are the following
 18490  	// possible values:
 18491  	//
 18492  	//    * AWS_SES – Configure DKIM for the identity by using Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
 18493  	//
 18494  	//    * EXTERNAL – Configure DKIM for the identity by using Bring Your Own
 18495  	//    DKIM (BYODKIM).
 18496  	//
 18497  	// SigningAttributesOrigin is a required field
 18498  	SigningAttributesOrigin *string `type:"string" required:"true" enum:"DkimSigningAttributesOrigin"`
 18499  }
 18500  
 18501  // String returns the string representation.
 18502  //
 18503  // API parameter values that are decorated as "sensitive" in the API will not
 18504  // be included in the string output. The member name will be present, but the
 18505  // value will be replaced with "sensitive".
 18506  func (s PutEmailIdentityDkimSigningAttributesInput) String() string {
 18507  	return awsutil.Prettify(s)
 18508  }
 18509  
 18510  // GoString returns the string representation.
 18511  //
 18512  // API parameter values that are decorated as "sensitive" in the API will not
 18513  // be included in the string output. The member name will be present, but the
 18514  // value will be replaced with "sensitive".
 18515  func (s PutEmailIdentityDkimSigningAttributesInput) GoString() string {
 18516  	return s.String()
 18517  }
 18518  
 18519  // Validate inspects the fields of the type to determine if they are valid.
 18520  func (s *PutEmailIdentityDkimSigningAttributesInput) Validate() error {
 18521  	invalidParams := request.ErrInvalidParams{Context: "PutEmailIdentityDkimSigningAttributesInput"}
 18522  	if s.EmailIdentity == nil {
 18523  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 18524  	}
 18525  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 18526  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 18527  	}
 18528  	if s.SigningAttributesOrigin == nil {
 18529  		invalidParams.Add(request.NewErrParamRequired("SigningAttributesOrigin"))
 18530  	}
 18531  	if s.SigningAttributes != nil {
 18532  		if err := s.SigningAttributes.Validate(); err != nil {
 18533  			invalidParams.AddNested("SigningAttributes", err.(request.ErrInvalidParams))
 18534  		}
 18535  	}
 18536  
 18537  	if invalidParams.Len() > 0 {
 18538  		return invalidParams
 18539  	}
 18540  	return nil
 18541  }
 18542  
 18543  // SetEmailIdentity sets the EmailIdentity field's value.
 18544  func (s *PutEmailIdentityDkimSigningAttributesInput) SetEmailIdentity(v string) *PutEmailIdentityDkimSigningAttributesInput {
 18545  	s.EmailIdentity = &v
 18546  	return s
 18547  }
 18548  
 18549  // SetSigningAttributes sets the SigningAttributes field's value.
 18550  func (s *PutEmailIdentityDkimSigningAttributesInput) SetSigningAttributes(v *DkimSigningAttributes) *PutEmailIdentityDkimSigningAttributesInput {
 18551  	s.SigningAttributes = v
 18552  	return s
 18553  }
 18554  
 18555  // SetSigningAttributesOrigin sets the SigningAttributesOrigin field's value.
 18556  func (s *PutEmailIdentityDkimSigningAttributesInput) SetSigningAttributesOrigin(v string) *PutEmailIdentityDkimSigningAttributesInput {
 18557  	s.SigningAttributesOrigin = &v
 18558  	return s
 18559  }
 18560  
 18561  // If the action is successful, the service sends back an HTTP 200 response.
 18562  //
 18563  // The following data is returned in JSON format by the service.
 18564  type PutEmailIdentityDkimSigningAttributesOutput struct {
 18565  	_ struct{} `type:"structure"`
 18566  
 18567  	// The DKIM authentication status of the identity. Amazon SES determines the
 18568  	// authentication status by searching for specific records in the DNS configuration
 18569  	// for your domain. If you used Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html)
 18570  	// to set up DKIM authentication, Amazon SES tries to find three unique CNAME
 18571  	// records in the DNS configuration for your domain.
 18572  	//
 18573  	// If you provided a public key to perform DKIM authentication, Amazon SES tries
 18574  	// to find a TXT record that uses the selector that you specified. The value
 18575  	// of the TXT record must be a public key that's paired with the private key
 18576  	// that you specified in the process of creating the identity.
 18577  	//
 18578  	// The status can be one of the following:
 18579  	//
 18580  	//    * PENDING – The verification process was initiated, but Amazon SES hasn't
 18581  	//    yet detected the DKIM records in the DNS configuration for the domain.
 18582  	//
 18583  	//    * SUCCESS – The verification process completed successfully.
 18584  	//
 18585  	//    * FAILED – The verification process failed. This typically occurs when
 18586  	//    Amazon SES fails to find the DKIM records in the DNS configuration of
 18587  	//    the domain.
 18588  	//
 18589  	//    * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from
 18590  	//    determining the DKIM authentication status of the domain.
 18591  	//
 18592  	//    * NOT_STARTED – The DKIM verification process hasn't been initiated
 18593  	//    for the domain.
 18594  	DkimStatus *string `type:"string" enum:"DkimStatus"`
 18595  
 18596  	// If you used Easy DKIM (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html)
 18597  	// to configure DKIM authentication for the domain, then this object contains
 18598  	// a set of unique strings that you use to create a set of CNAME records that
 18599  	// you add to the DNS configuration for your domain. When Amazon SES detects
 18600  	// these records in the DNS configuration for your domain, the DKIM authentication
 18601  	// process is complete.
 18602  	//
 18603  	// If you configured DKIM authentication for the domain by providing your own
 18604  	// public-private key pair, then this object contains the selector that's associated
 18605  	// with your public key.
 18606  	//
 18607  	// Regardless of the DKIM authentication method you use, Amazon SES searches
 18608  	// for the appropriate records in the DNS configuration of the domain for up
 18609  	// to 72 hours.
 18610  	DkimTokens []*string `type:"list"`
 18611  }
 18612  
 18613  // String returns the string representation.
 18614  //
 18615  // API parameter values that are decorated as "sensitive" in the API will not
 18616  // be included in the string output. The member name will be present, but the
 18617  // value will be replaced with "sensitive".
 18618  func (s PutEmailIdentityDkimSigningAttributesOutput) String() string {
 18619  	return awsutil.Prettify(s)
 18620  }
 18621  
 18622  // GoString returns the string representation.
 18623  //
 18624  // API parameter values that are decorated as "sensitive" in the API will not
 18625  // be included in the string output. The member name will be present, but the
 18626  // value will be replaced with "sensitive".
 18627  func (s PutEmailIdentityDkimSigningAttributesOutput) GoString() string {
 18628  	return s.String()
 18629  }
 18630  
 18631  // SetDkimStatus sets the DkimStatus field's value.
 18632  func (s *PutEmailIdentityDkimSigningAttributesOutput) SetDkimStatus(v string) *PutEmailIdentityDkimSigningAttributesOutput {
 18633  	s.DkimStatus = &v
 18634  	return s
 18635  }
 18636  
 18637  // SetDkimTokens sets the DkimTokens field's value.
 18638  func (s *PutEmailIdentityDkimSigningAttributesOutput) SetDkimTokens(v []*string) *PutEmailIdentityDkimSigningAttributesOutput {
 18639  	s.DkimTokens = v
 18640  	return s
 18641  }
 18642  
 18643  // A request to set the attributes that control how bounce and complaint events
 18644  // are processed.
 18645  type PutEmailIdentityFeedbackAttributesInput struct {
 18646  	_ struct{} `type:"structure"`
 18647  
 18648  	// Sets the feedback forwarding configuration for the identity.
 18649  	//
 18650  	// If the value is true, you receive email notifications when bounce or complaint
 18651  	// events occur. These notifications are sent to the address that you specified
 18652  	// in the Return-Path header of the original email.
 18653  	//
 18654  	// You're required to have a method of tracking bounces and complaints. If you
 18655  	// haven't set up another mechanism for receiving bounce or complaint notifications
 18656  	// (for example, by setting up an event destination), you receive an email notification
 18657  	// when these events occur (even if this setting is disabled).
 18658  	EmailForwardingEnabled *bool `type:"boolean"`
 18659  
 18660  	// The email identity.
 18661  	//
 18662  	// EmailIdentity is a required field
 18663  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 18664  }
 18665  
 18666  // String returns the string representation.
 18667  //
 18668  // API parameter values that are decorated as "sensitive" in the API will not
 18669  // be included in the string output. The member name will be present, but the
 18670  // value will be replaced with "sensitive".
 18671  func (s PutEmailIdentityFeedbackAttributesInput) String() string {
 18672  	return awsutil.Prettify(s)
 18673  }
 18674  
 18675  // GoString returns the string representation.
 18676  //
 18677  // API parameter values that are decorated as "sensitive" in the API will not
 18678  // be included in the string output. The member name will be present, but the
 18679  // value will be replaced with "sensitive".
 18680  func (s PutEmailIdentityFeedbackAttributesInput) GoString() string {
 18681  	return s.String()
 18682  }
 18683  
 18684  // Validate inspects the fields of the type to determine if they are valid.
 18685  func (s *PutEmailIdentityFeedbackAttributesInput) Validate() error {
 18686  	invalidParams := request.ErrInvalidParams{Context: "PutEmailIdentityFeedbackAttributesInput"}
 18687  	if s.EmailIdentity == nil {
 18688  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 18689  	}
 18690  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 18691  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 18692  	}
 18693  
 18694  	if invalidParams.Len() > 0 {
 18695  		return invalidParams
 18696  	}
 18697  	return nil
 18698  }
 18699  
 18700  // SetEmailForwardingEnabled sets the EmailForwardingEnabled field's value.
 18701  func (s *PutEmailIdentityFeedbackAttributesInput) SetEmailForwardingEnabled(v bool) *PutEmailIdentityFeedbackAttributesInput {
 18702  	s.EmailForwardingEnabled = &v
 18703  	return s
 18704  }
 18705  
 18706  // SetEmailIdentity sets the EmailIdentity field's value.
 18707  func (s *PutEmailIdentityFeedbackAttributesInput) SetEmailIdentity(v string) *PutEmailIdentityFeedbackAttributesInput {
 18708  	s.EmailIdentity = &v
 18709  	return s
 18710  }
 18711  
 18712  // An HTTP 200 response if the request succeeds, or an error message if the
 18713  // request fails.
 18714  type PutEmailIdentityFeedbackAttributesOutput struct {
 18715  	_ struct{} `type:"structure" nopayload:"true"`
 18716  }
 18717  
 18718  // String returns the string representation.
 18719  //
 18720  // API parameter values that are decorated as "sensitive" in the API will not
 18721  // be included in the string output. The member name will be present, but the
 18722  // value will be replaced with "sensitive".
 18723  func (s PutEmailIdentityFeedbackAttributesOutput) String() string {
 18724  	return awsutil.Prettify(s)
 18725  }
 18726  
 18727  // GoString returns the string representation.
 18728  //
 18729  // API parameter values that are decorated as "sensitive" in the API will not
 18730  // be included in the string output. The member name will be present, but the
 18731  // value will be replaced with "sensitive".
 18732  func (s PutEmailIdentityFeedbackAttributesOutput) GoString() string {
 18733  	return s.String()
 18734  }
 18735  
 18736  // A request to configure the custom MAIL FROM domain for a verified identity.
 18737  type PutEmailIdentityMailFromAttributesInput struct {
 18738  	_ struct{} `type:"structure"`
 18739  
 18740  	// The action to take if the required MX record isn't found when you send an
 18741  	// email. When you set this value to UseDefaultValue, the mail is sent using
 18742  	// amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage,
 18743  	// the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't
 18744  	// attempt to deliver the email.
 18745  	//
 18746  	// These behaviors are taken when the custom MAIL FROM domain configuration
 18747  	// is in the Pending, Failed, and TemporaryFailure states.
 18748  	BehaviorOnMxFailure *string `type:"string" enum:"BehaviorOnMxFailure"`
 18749  
 18750  	// The verified email identity.
 18751  	//
 18752  	// EmailIdentity is a required field
 18753  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 18754  
 18755  	// The custom MAIL FROM domain that you want the verified identity to use. The
 18756  	// MAIL FROM domain must meet the following criteria:
 18757  	//
 18758  	//    * It has to be a subdomain of the verified identity.
 18759  	//
 18760  	//    * It can't be used to receive email.
 18761  	//
 18762  	//    * It can't be used in a "From" address if the MAIL FROM domain is a destination
 18763  	//    for feedback forwarding emails.
 18764  	MailFromDomain *string `type:"string"`
 18765  }
 18766  
 18767  // String returns the string representation.
 18768  //
 18769  // API parameter values that are decorated as "sensitive" in the API will not
 18770  // be included in the string output. The member name will be present, but the
 18771  // value will be replaced with "sensitive".
 18772  func (s PutEmailIdentityMailFromAttributesInput) String() string {
 18773  	return awsutil.Prettify(s)
 18774  }
 18775  
 18776  // GoString returns the string representation.
 18777  //
 18778  // API parameter values that are decorated as "sensitive" in the API will not
 18779  // be included in the string output. The member name will be present, but the
 18780  // value will be replaced with "sensitive".
 18781  func (s PutEmailIdentityMailFromAttributesInput) GoString() string {
 18782  	return s.String()
 18783  }
 18784  
 18785  // Validate inspects the fields of the type to determine if they are valid.
 18786  func (s *PutEmailIdentityMailFromAttributesInput) Validate() error {
 18787  	invalidParams := request.ErrInvalidParams{Context: "PutEmailIdentityMailFromAttributesInput"}
 18788  	if s.EmailIdentity == nil {
 18789  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 18790  	}
 18791  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 18792  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 18793  	}
 18794  
 18795  	if invalidParams.Len() > 0 {
 18796  		return invalidParams
 18797  	}
 18798  	return nil
 18799  }
 18800  
 18801  // SetBehaviorOnMxFailure sets the BehaviorOnMxFailure field's value.
 18802  func (s *PutEmailIdentityMailFromAttributesInput) SetBehaviorOnMxFailure(v string) *PutEmailIdentityMailFromAttributesInput {
 18803  	s.BehaviorOnMxFailure = &v
 18804  	return s
 18805  }
 18806  
 18807  // SetEmailIdentity sets the EmailIdentity field's value.
 18808  func (s *PutEmailIdentityMailFromAttributesInput) SetEmailIdentity(v string) *PutEmailIdentityMailFromAttributesInput {
 18809  	s.EmailIdentity = &v
 18810  	return s
 18811  }
 18812  
 18813  // SetMailFromDomain sets the MailFromDomain field's value.
 18814  func (s *PutEmailIdentityMailFromAttributesInput) SetMailFromDomain(v string) *PutEmailIdentityMailFromAttributesInput {
 18815  	s.MailFromDomain = &v
 18816  	return s
 18817  }
 18818  
 18819  // An HTTP 200 response if the request succeeds, or an error message if the
 18820  // request fails.
 18821  type PutEmailIdentityMailFromAttributesOutput struct {
 18822  	_ struct{} `type:"structure" nopayload:"true"`
 18823  }
 18824  
 18825  // String returns the string representation.
 18826  //
 18827  // API parameter values that are decorated as "sensitive" in the API will not
 18828  // be included in the string output. The member name will be present, but the
 18829  // value will be replaced with "sensitive".
 18830  func (s PutEmailIdentityMailFromAttributesOutput) String() string {
 18831  	return awsutil.Prettify(s)
 18832  }
 18833  
 18834  // GoString returns the string representation.
 18835  //
 18836  // API parameter values that are decorated as "sensitive" in the API will not
 18837  // be included in the string output. The member name will be present, but the
 18838  // value will be replaced with "sensitive".
 18839  func (s PutEmailIdentityMailFromAttributesOutput) GoString() string {
 18840  	return s.String()
 18841  }
 18842  
 18843  // A request to add an email destination to the suppression list for your account.
 18844  type PutSuppressedDestinationInput struct {
 18845  	_ struct{} `type:"structure"`
 18846  
 18847  	// The email address that should be added to the suppression list for your account.
 18848  	//
 18849  	// EmailAddress is a required field
 18850  	EmailAddress *string `type:"string" required:"true"`
 18851  
 18852  	// The factors that should cause the email address to be added to the suppression
 18853  	// list for your account.
 18854  	//
 18855  	// Reason is a required field
 18856  	Reason *string `type:"string" required:"true" enum:"SuppressionListReason"`
 18857  }
 18858  
 18859  // String returns the string representation.
 18860  //
 18861  // API parameter values that are decorated as "sensitive" in the API will not
 18862  // be included in the string output. The member name will be present, but the
 18863  // value will be replaced with "sensitive".
 18864  func (s PutSuppressedDestinationInput) String() string {
 18865  	return awsutil.Prettify(s)
 18866  }
 18867  
 18868  // GoString returns the string representation.
 18869  //
 18870  // API parameter values that are decorated as "sensitive" in the API will not
 18871  // be included in the string output. The member name will be present, but the
 18872  // value will be replaced with "sensitive".
 18873  func (s PutSuppressedDestinationInput) GoString() string {
 18874  	return s.String()
 18875  }
 18876  
 18877  // Validate inspects the fields of the type to determine if they are valid.
 18878  func (s *PutSuppressedDestinationInput) Validate() error {
 18879  	invalidParams := request.ErrInvalidParams{Context: "PutSuppressedDestinationInput"}
 18880  	if s.EmailAddress == nil {
 18881  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 18882  	}
 18883  	if s.Reason == nil {
 18884  		invalidParams.Add(request.NewErrParamRequired("Reason"))
 18885  	}
 18886  
 18887  	if invalidParams.Len() > 0 {
 18888  		return invalidParams
 18889  	}
 18890  	return nil
 18891  }
 18892  
 18893  // SetEmailAddress sets the EmailAddress field's value.
 18894  func (s *PutSuppressedDestinationInput) SetEmailAddress(v string) *PutSuppressedDestinationInput {
 18895  	s.EmailAddress = &v
 18896  	return s
 18897  }
 18898  
 18899  // SetReason sets the Reason field's value.
 18900  func (s *PutSuppressedDestinationInput) SetReason(v string) *PutSuppressedDestinationInput {
 18901  	s.Reason = &v
 18902  	return s
 18903  }
 18904  
 18905  // An HTTP 200 response if the request succeeds, or an error message if the
 18906  // request fails.
 18907  type PutSuppressedDestinationOutput struct {
 18908  	_ struct{} `type:"structure" nopayload:"true"`
 18909  }
 18910  
 18911  // String returns the string representation.
 18912  //
 18913  // API parameter values that are decorated as "sensitive" in the API will not
 18914  // be included in the string output. The member name will be present, but the
 18915  // value will be replaced with "sensitive".
 18916  func (s PutSuppressedDestinationOutput) String() string {
 18917  	return awsutil.Prettify(s)
 18918  }
 18919  
 18920  // GoString returns the string representation.
 18921  //
 18922  // API parameter values that are decorated as "sensitive" in the API will not
 18923  // be included in the string output. The member name will be present, but the
 18924  // value will be replaced with "sensitive".
 18925  func (s PutSuppressedDestinationOutput) GoString() string {
 18926  	return s.String()
 18927  }
 18928  
 18929  // Represents the raw content of an email message.
 18930  type RawMessage struct {
 18931  	_ struct{} `type:"structure"`
 18932  
 18933  	// The raw email message. The message has to meet the following criteria:
 18934  	//
 18935  	//    * The message has to contain a header and a body, separated by one blank
 18936  	//    line.
 18937  	//
 18938  	//    * All of the required header fields must be present in the message.
 18939  	//
 18940  	//    * Each part of a multipart MIME message must be formatted properly.
 18941  	//
 18942  	//    * Attachments must be in a file format that the Amazon SES supports.
 18943  	//
 18944  	//    * The entire message must be Base64 encoded.
 18945  	//
 18946  	//    * If any of the MIME parts in your message contain content that is outside
 18947  	//    of the 7-bit ASCII character range, you should encode that content to
 18948  	//    ensure that recipients' email clients render the message properly.
 18949  	//
 18950  	//    * The length of any single line of text in the message can't exceed 1,000
 18951  	//    characters. This restriction is defined in RFC 5321 (https://tools.ietf.org/html/rfc5321).
 18952  	// Data is automatically base64 encoded/decoded by the SDK.
 18953  	//
 18954  	// Data is a required field
 18955  	Data []byte `type:"blob" required:"true"`
 18956  }
 18957  
 18958  // String returns the string representation.
 18959  //
 18960  // API parameter values that are decorated as "sensitive" in the API will not
 18961  // be included in the string output. The member name will be present, but the
 18962  // value will be replaced with "sensitive".
 18963  func (s RawMessage) String() string {
 18964  	return awsutil.Prettify(s)
 18965  }
 18966  
 18967  // GoString returns the string representation.
 18968  //
 18969  // API parameter values that are decorated as "sensitive" in the API will not
 18970  // be included in the string output. The member name will be present, but the
 18971  // value will be replaced with "sensitive".
 18972  func (s RawMessage) GoString() string {
 18973  	return s.String()
 18974  }
 18975  
 18976  // Validate inspects the fields of the type to determine if they are valid.
 18977  func (s *RawMessage) Validate() error {
 18978  	invalidParams := request.ErrInvalidParams{Context: "RawMessage"}
 18979  	if s.Data == nil {
 18980  		invalidParams.Add(request.NewErrParamRequired("Data"))
 18981  	}
 18982  
 18983  	if invalidParams.Len() > 0 {
 18984  		return invalidParams
 18985  	}
 18986  	return nil
 18987  }
 18988  
 18989  // SetData sets the Data field's value.
 18990  func (s *RawMessage) SetData(v []byte) *RawMessage {
 18991  	s.Data = v
 18992  	return s
 18993  }
 18994  
 18995  // The ReplaceEmailContent object to be used for a specific BulkEmailEntry.
 18996  // The ReplacementTemplate can be specified within this object.
 18997  type ReplacementEmailContent struct {
 18998  	_ struct{} `type:"structure"`
 18999  
 19000  	// The ReplacementTemplate associated with ReplacementEmailContent.
 19001  	ReplacementTemplate *ReplacementTemplate `type:"structure"`
 19002  }
 19003  
 19004  // String returns the string representation.
 19005  //
 19006  // API parameter values that are decorated as "sensitive" in the API will not
 19007  // be included in the string output. The member name will be present, but the
 19008  // value will be replaced with "sensitive".
 19009  func (s ReplacementEmailContent) String() string {
 19010  	return awsutil.Prettify(s)
 19011  }
 19012  
 19013  // GoString returns the string representation.
 19014  //
 19015  // API parameter values that are decorated as "sensitive" in the API will not
 19016  // be included in the string output. The member name will be present, but the
 19017  // value will be replaced with "sensitive".
 19018  func (s ReplacementEmailContent) GoString() string {
 19019  	return s.String()
 19020  }
 19021  
 19022  // SetReplacementTemplate sets the ReplacementTemplate field's value.
 19023  func (s *ReplacementEmailContent) SetReplacementTemplate(v *ReplacementTemplate) *ReplacementEmailContent {
 19024  	s.ReplacementTemplate = v
 19025  	return s
 19026  }
 19027  
 19028  // An object which contains ReplacementTemplateData to be used for a specific
 19029  // BulkEmailEntry.
 19030  type ReplacementTemplate struct {
 19031  	_ struct{} `type:"structure"`
 19032  
 19033  	// A list of replacement values to apply to the template. This parameter is
 19034  	// a JSON object, typically consisting of key-value pairs in which the keys
 19035  	// correspond to replacement tags in the email template.
 19036  	ReplacementTemplateData *string `type:"string"`
 19037  }
 19038  
 19039  // String returns the string representation.
 19040  //
 19041  // API parameter values that are decorated as "sensitive" in the API will not
 19042  // be included in the string output. The member name will be present, but the
 19043  // value will be replaced with "sensitive".
 19044  func (s ReplacementTemplate) String() string {
 19045  	return awsutil.Prettify(s)
 19046  }
 19047  
 19048  // GoString returns the string representation.
 19049  //
 19050  // API parameter values that are decorated as "sensitive" in the API will not
 19051  // be included in the string output. The member name will be present, but the
 19052  // value will be replaced with "sensitive".
 19053  func (s ReplacementTemplate) GoString() string {
 19054  	return s.String()
 19055  }
 19056  
 19057  // SetReplacementTemplateData sets the ReplacementTemplateData field's value.
 19058  func (s *ReplacementTemplate) SetReplacementTemplateData(v string) *ReplacementTemplate {
 19059  	s.ReplacementTemplateData = &v
 19060  	return s
 19061  }
 19062  
 19063  // Enable or disable collection of reputation metrics for emails that you send
 19064  // using this configuration set in the current Amazon Web Services Region.
 19065  type ReputationOptions struct {
 19066  	_ struct{} `type:"structure"`
 19067  
 19068  	// The date and time (in Unix time) when the reputation metrics were last given
 19069  	// a fresh start. When your account is given a fresh start, your reputation
 19070  	// metrics are calculated starting from the date of the fresh start.
 19071  	LastFreshStart *time.Time `type:"timestamp"`
 19072  
 19073  	// If true, tracking of reputation metrics is enabled for the configuration
 19074  	// set. If false, tracking of reputation metrics is disabled for the configuration
 19075  	// set.
 19076  	ReputationMetricsEnabled *bool `type:"boolean"`
 19077  }
 19078  
 19079  // String returns the string representation.
 19080  //
 19081  // API parameter values that are decorated as "sensitive" in the API will not
 19082  // be included in the string output. The member name will be present, but the
 19083  // value will be replaced with "sensitive".
 19084  func (s ReputationOptions) String() string {
 19085  	return awsutil.Prettify(s)
 19086  }
 19087  
 19088  // GoString returns the string representation.
 19089  //
 19090  // API parameter values that are decorated as "sensitive" in the API will not
 19091  // be included in the string output. The member name will be present, but the
 19092  // value will be replaced with "sensitive".
 19093  func (s ReputationOptions) GoString() string {
 19094  	return s.String()
 19095  }
 19096  
 19097  // SetLastFreshStart sets the LastFreshStart field's value.
 19098  func (s *ReputationOptions) SetLastFreshStart(v time.Time) *ReputationOptions {
 19099  	s.LastFreshStart = &v
 19100  	return s
 19101  }
 19102  
 19103  // SetReputationMetricsEnabled sets the ReputationMetricsEnabled field's value.
 19104  func (s *ReputationOptions) SetReputationMetricsEnabled(v bool) *ReputationOptions {
 19105  	s.ReputationMetricsEnabled = &v
 19106  	return s
 19107  }
 19108  
 19109  // An object that contains information about your account details review.
 19110  type ReviewDetails struct {
 19111  	_ struct{} `type:"structure"`
 19112  
 19113  	// The associated support center case ID (if any).
 19114  	CaseId *string `type:"string"`
 19115  
 19116  	// The status of the latest review of your account. The status can be one of
 19117  	// the following:
 19118  	//
 19119  	//    * PENDING – We have received your appeal and are in the process of reviewing
 19120  	//    it.
 19121  	//
 19122  	//    * GRANTED – Your appeal has been reviewed and your production access
 19123  	//    has been granted.
 19124  	//
 19125  	//    * DENIED – Your appeal has been reviewed and your production access
 19126  	//    has been denied.
 19127  	//
 19128  	//    * FAILED – An internal error occurred and we didn't receive your appeal.
 19129  	//    You can submit your appeal again.
 19130  	Status *string `type:"string" enum:"ReviewStatus"`
 19131  }
 19132  
 19133  // String returns the string representation.
 19134  //
 19135  // API parameter values that are decorated as "sensitive" in the API will not
 19136  // be included in the string output. The member name will be present, but the
 19137  // value will be replaced with "sensitive".
 19138  func (s ReviewDetails) String() string {
 19139  	return awsutil.Prettify(s)
 19140  }
 19141  
 19142  // GoString returns the string representation.
 19143  //
 19144  // API parameter values that are decorated as "sensitive" in the API will not
 19145  // be included in the string output. The member name will be present, but the
 19146  // value will be replaced with "sensitive".
 19147  func (s ReviewDetails) GoString() string {
 19148  	return s.String()
 19149  }
 19150  
 19151  // SetCaseId sets the CaseId field's value.
 19152  func (s *ReviewDetails) SetCaseId(v string) *ReviewDetails {
 19153  	s.CaseId = &v
 19154  	return s
 19155  }
 19156  
 19157  // SetStatus sets the Status field's value.
 19158  func (s *ReviewDetails) SetStatus(v string) *ReviewDetails {
 19159  	s.Status = &v
 19160  	return s
 19161  }
 19162  
 19163  // Represents a request to send email messages to multiple destinations using
 19164  // Amazon SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 19165  type SendBulkEmailInput struct {
 19166  	_ struct{} `type:"structure"`
 19167  
 19168  	// The list of bulk email entry objects.
 19169  	//
 19170  	// BulkEmailEntries is a required field
 19171  	BulkEmailEntries []*BulkEmailEntry `type:"list" required:"true"`
 19172  
 19173  	// The name of the configuration set to use when sending the email.
 19174  	ConfigurationSetName *string `type:"string"`
 19175  
 19176  	// An object that contains the body of the message. You can specify a template
 19177  	// message.
 19178  	//
 19179  	// DefaultContent is a required field
 19180  	DefaultContent *BulkEmailContent `type:"structure" required:"true"`
 19181  
 19182  	// A list of tags, in the form of name/value pairs, to apply to an email that
 19183  	// you send using the SendEmail operation. Tags correspond to characteristics
 19184  	// of the email that you define, so that you can publish email sending events.
 19185  	DefaultEmailTags []*MessageTag `type:"list"`
 19186  
 19187  	// The address that you want bounce and complaint notifications to be sent to.
 19188  	FeedbackForwardingEmailAddress *string `type:"string"`
 19189  
 19190  	// This parameter is used only for sending authorization. It is the ARN of the
 19191  	// identity that is associated with the sending authorization policy that permits
 19192  	// you to use the email address specified in the FeedbackForwardingEmailAddress
 19193  	// parameter.
 19194  	//
 19195  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 19196  	// attaches a policy to it that authorizes you to use feedback@example.com,
 19197  	// then you would specify the FeedbackForwardingEmailAddressIdentityArn to be
 19198  	// arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress
 19199  	// to be feedback@example.com.
 19200  	//
 19201  	// For more information about sending authorization, see the Amazon SES Developer
 19202  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 19203  	FeedbackForwardingEmailAddressIdentityArn *string `type:"string"`
 19204  
 19205  	// The email address to use as the "From" address for the email. The address
 19206  	// that you specify has to be verified.
 19207  	FromEmailAddress *string `type:"string"`
 19208  
 19209  	// This parameter is used only for sending authorization. It is the ARN of the
 19210  	// identity that is associated with the sending authorization policy that permits
 19211  	// you to use the email address specified in the FromEmailAddress parameter.
 19212  	//
 19213  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 19214  	// attaches a policy to it that authorizes you to use sender@example.com, then
 19215  	// you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 19216  	// and the FromEmailAddress to be sender@example.com.
 19217  	//
 19218  	// For more information about sending authorization, see the Amazon SES Developer
 19219  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 19220  	FromEmailAddressIdentityArn *string `type:"string"`
 19221  
 19222  	// The "Reply-to" email addresses for the message. When the recipient replies
 19223  	// to the message, each Reply-to address receives the reply.
 19224  	ReplyToAddresses []*string `type:"list"`
 19225  }
 19226  
 19227  // String returns the string representation.
 19228  //
 19229  // API parameter values that are decorated as "sensitive" in the API will not
 19230  // be included in the string output. The member name will be present, but the
 19231  // value will be replaced with "sensitive".
 19232  func (s SendBulkEmailInput) String() string {
 19233  	return awsutil.Prettify(s)
 19234  }
 19235  
 19236  // GoString returns the string representation.
 19237  //
 19238  // API parameter values that are decorated as "sensitive" in the API will not
 19239  // be included in the string output. The member name will be present, but the
 19240  // value will be replaced with "sensitive".
 19241  func (s SendBulkEmailInput) GoString() string {
 19242  	return s.String()
 19243  }
 19244  
 19245  // Validate inspects the fields of the type to determine if they are valid.
 19246  func (s *SendBulkEmailInput) Validate() error {
 19247  	invalidParams := request.ErrInvalidParams{Context: "SendBulkEmailInput"}
 19248  	if s.BulkEmailEntries == nil {
 19249  		invalidParams.Add(request.NewErrParamRequired("BulkEmailEntries"))
 19250  	}
 19251  	if s.DefaultContent == nil {
 19252  		invalidParams.Add(request.NewErrParamRequired("DefaultContent"))
 19253  	}
 19254  	if s.BulkEmailEntries != nil {
 19255  		for i, v := range s.BulkEmailEntries {
 19256  			if v == nil {
 19257  				continue
 19258  			}
 19259  			if err := v.Validate(); err != nil {
 19260  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BulkEmailEntries", i), err.(request.ErrInvalidParams))
 19261  			}
 19262  		}
 19263  	}
 19264  	if s.DefaultContent != nil {
 19265  		if err := s.DefaultContent.Validate(); err != nil {
 19266  			invalidParams.AddNested("DefaultContent", err.(request.ErrInvalidParams))
 19267  		}
 19268  	}
 19269  	if s.DefaultEmailTags != nil {
 19270  		for i, v := range s.DefaultEmailTags {
 19271  			if v == nil {
 19272  				continue
 19273  			}
 19274  			if err := v.Validate(); err != nil {
 19275  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultEmailTags", i), err.(request.ErrInvalidParams))
 19276  			}
 19277  		}
 19278  	}
 19279  
 19280  	if invalidParams.Len() > 0 {
 19281  		return invalidParams
 19282  	}
 19283  	return nil
 19284  }
 19285  
 19286  // SetBulkEmailEntries sets the BulkEmailEntries field's value.
 19287  func (s *SendBulkEmailInput) SetBulkEmailEntries(v []*BulkEmailEntry) *SendBulkEmailInput {
 19288  	s.BulkEmailEntries = v
 19289  	return s
 19290  }
 19291  
 19292  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 19293  func (s *SendBulkEmailInput) SetConfigurationSetName(v string) *SendBulkEmailInput {
 19294  	s.ConfigurationSetName = &v
 19295  	return s
 19296  }
 19297  
 19298  // SetDefaultContent sets the DefaultContent field's value.
 19299  func (s *SendBulkEmailInput) SetDefaultContent(v *BulkEmailContent) *SendBulkEmailInput {
 19300  	s.DefaultContent = v
 19301  	return s
 19302  }
 19303  
 19304  // SetDefaultEmailTags sets the DefaultEmailTags field's value.
 19305  func (s *SendBulkEmailInput) SetDefaultEmailTags(v []*MessageTag) *SendBulkEmailInput {
 19306  	s.DefaultEmailTags = v
 19307  	return s
 19308  }
 19309  
 19310  // SetFeedbackForwardingEmailAddress sets the FeedbackForwardingEmailAddress field's value.
 19311  func (s *SendBulkEmailInput) SetFeedbackForwardingEmailAddress(v string) *SendBulkEmailInput {
 19312  	s.FeedbackForwardingEmailAddress = &v
 19313  	return s
 19314  }
 19315  
 19316  // SetFeedbackForwardingEmailAddressIdentityArn sets the FeedbackForwardingEmailAddressIdentityArn field's value.
 19317  func (s *SendBulkEmailInput) SetFeedbackForwardingEmailAddressIdentityArn(v string) *SendBulkEmailInput {
 19318  	s.FeedbackForwardingEmailAddressIdentityArn = &v
 19319  	return s
 19320  }
 19321  
 19322  // SetFromEmailAddress sets the FromEmailAddress field's value.
 19323  func (s *SendBulkEmailInput) SetFromEmailAddress(v string) *SendBulkEmailInput {
 19324  	s.FromEmailAddress = &v
 19325  	return s
 19326  }
 19327  
 19328  // SetFromEmailAddressIdentityArn sets the FromEmailAddressIdentityArn field's value.
 19329  func (s *SendBulkEmailInput) SetFromEmailAddressIdentityArn(v string) *SendBulkEmailInput {
 19330  	s.FromEmailAddressIdentityArn = &v
 19331  	return s
 19332  }
 19333  
 19334  // SetReplyToAddresses sets the ReplyToAddresses field's value.
 19335  func (s *SendBulkEmailInput) SetReplyToAddresses(v []*string) *SendBulkEmailInput {
 19336  	s.ReplyToAddresses = v
 19337  	return s
 19338  }
 19339  
 19340  // The following data is returned in JSON format by the service.
 19341  type SendBulkEmailOutput struct {
 19342  	_ struct{} `type:"structure"`
 19343  
 19344  	// One object per intended recipient. Check each response object and retry any
 19345  	// messages with a failure status.
 19346  	//
 19347  	// BulkEmailEntryResults is a required field
 19348  	BulkEmailEntryResults []*BulkEmailEntryResult `type:"list" required:"true"`
 19349  }
 19350  
 19351  // String returns the string representation.
 19352  //
 19353  // API parameter values that are decorated as "sensitive" in the API will not
 19354  // be included in the string output. The member name will be present, but the
 19355  // value will be replaced with "sensitive".
 19356  func (s SendBulkEmailOutput) String() string {
 19357  	return awsutil.Prettify(s)
 19358  }
 19359  
 19360  // GoString returns the string representation.
 19361  //
 19362  // API parameter values that are decorated as "sensitive" in the API will not
 19363  // be included in the string output. The member name will be present, but the
 19364  // value will be replaced with "sensitive".
 19365  func (s SendBulkEmailOutput) GoString() string {
 19366  	return s.String()
 19367  }
 19368  
 19369  // SetBulkEmailEntryResults sets the BulkEmailEntryResults field's value.
 19370  func (s *SendBulkEmailOutput) SetBulkEmailEntryResults(v []*BulkEmailEntryResult) *SendBulkEmailOutput {
 19371  	s.BulkEmailEntryResults = v
 19372  	return s
 19373  }
 19374  
 19375  // Represents a request to send a custom verification email to a specified recipient.
 19376  type SendCustomVerificationEmailInput struct {
 19377  	_ struct{} `type:"structure"`
 19378  
 19379  	// Name of a configuration set to use when sending the verification email.
 19380  	ConfigurationSetName *string `type:"string"`
 19381  
 19382  	// The email address to verify.
 19383  	//
 19384  	// EmailAddress is a required field
 19385  	EmailAddress *string `type:"string" required:"true"`
 19386  
 19387  	// The name of the custom verification email template to use when sending the
 19388  	// verification email.
 19389  	//
 19390  	// TemplateName is a required field
 19391  	TemplateName *string `min:"1" type:"string" required:"true"`
 19392  }
 19393  
 19394  // String returns the string representation.
 19395  //
 19396  // API parameter values that are decorated as "sensitive" in the API will not
 19397  // be included in the string output. The member name will be present, but the
 19398  // value will be replaced with "sensitive".
 19399  func (s SendCustomVerificationEmailInput) String() string {
 19400  	return awsutil.Prettify(s)
 19401  }
 19402  
 19403  // GoString returns the string representation.
 19404  //
 19405  // API parameter values that are decorated as "sensitive" in the API will not
 19406  // be included in the string output. The member name will be present, but the
 19407  // value will be replaced with "sensitive".
 19408  func (s SendCustomVerificationEmailInput) GoString() string {
 19409  	return s.String()
 19410  }
 19411  
 19412  // Validate inspects the fields of the type to determine if they are valid.
 19413  func (s *SendCustomVerificationEmailInput) Validate() error {
 19414  	invalidParams := request.ErrInvalidParams{Context: "SendCustomVerificationEmailInput"}
 19415  	if s.EmailAddress == nil {
 19416  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 19417  	}
 19418  	if s.TemplateName == nil {
 19419  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 19420  	}
 19421  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 19422  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 19423  	}
 19424  
 19425  	if invalidParams.Len() > 0 {
 19426  		return invalidParams
 19427  	}
 19428  	return nil
 19429  }
 19430  
 19431  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 19432  func (s *SendCustomVerificationEmailInput) SetConfigurationSetName(v string) *SendCustomVerificationEmailInput {
 19433  	s.ConfigurationSetName = &v
 19434  	return s
 19435  }
 19436  
 19437  // SetEmailAddress sets the EmailAddress field's value.
 19438  func (s *SendCustomVerificationEmailInput) SetEmailAddress(v string) *SendCustomVerificationEmailInput {
 19439  	s.EmailAddress = &v
 19440  	return s
 19441  }
 19442  
 19443  // SetTemplateName sets the TemplateName field's value.
 19444  func (s *SendCustomVerificationEmailInput) SetTemplateName(v string) *SendCustomVerificationEmailInput {
 19445  	s.TemplateName = &v
 19446  	return s
 19447  }
 19448  
 19449  // The following element is returned by the service.
 19450  type SendCustomVerificationEmailOutput struct {
 19451  	_ struct{} `type:"structure"`
 19452  
 19453  	// The unique message identifier returned from the SendCustomVerificationEmail
 19454  	// operation.
 19455  	MessageId *string `type:"string"`
 19456  }
 19457  
 19458  // String returns the string representation.
 19459  //
 19460  // API parameter values that are decorated as "sensitive" in the API will not
 19461  // be included in the string output. The member name will be present, but the
 19462  // value will be replaced with "sensitive".
 19463  func (s SendCustomVerificationEmailOutput) String() string {
 19464  	return awsutil.Prettify(s)
 19465  }
 19466  
 19467  // GoString returns the string representation.
 19468  //
 19469  // API parameter values that are decorated as "sensitive" in the API will not
 19470  // be included in the string output. The member name will be present, but the
 19471  // value will be replaced with "sensitive".
 19472  func (s SendCustomVerificationEmailOutput) GoString() string {
 19473  	return s.String()
 19474  }
 19475  
 19476  // SetMessageId sets the MessageId field's value.
 19477  func (s *SendCustomVerificationEmailOutput) SetMessageId(v string) *SendCustomVerificationEmailOutput {
 19478  	s.MessageId = &v
 19479  	return s
 19480  }
 19481  
 19482  // Represents a request to send a single formatted email using Amazon SES. For
 19483  // more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html).
 19484  type SendEmailInput struct {
 19485  	_ struct{} `type:"structure"`
 19486  
 19487  	// The name of the configuration set to use when sending the email.
 19488  	ConfigurationSetName *string `type:"string"`
 19489  
 19490  	// An object that contains the body of the message. You can send either a Simple
 19491  	// message Raw message or a template Message.
 19492  	//
 19493  	// Content is a required field
 19494  	Content *EmailContent `type:"structure" required:"true"`
 19495  
 19496  	// An object that contains the recipients of the email message.
 19497  	Destination *Destination `type:"structure"`
 19498  
 19499  	// A list of tags, in the form of name/value pairs, to apply to an email that
 19500  	// you send using the SendEmail operation. Tags correspond to characteristics
 19501  	// of the email that you define, so that you can publish email sending events.
 19502  	EmailTags []*MessageTag `type:"list"`
 19503  
 19504  	// The address that you want bounce and complaint notifications to be sent to.
 19505  	FeedbackForwardingEmailAddress *string `type:"string"`
 19506  
 19507  	// This parameter is used only for sending authorization. It is the ARN of the
 19508  	// identity that is associated with the sending authorization policy that permits
 19509  	// you to use the email address specified in the FeedbackForwardingEmailAddress
 19510  	// parameter.
 19511  	//
 19512  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 19513  	// attaches a policy to it that authorizes you to use feedback@example.com,
 19514  	// then you would specify the FeedbackForwardingEmailAddressIdentityArn to be
 19515  	// arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress
 19516  	// to be feedback@example.com.
 19517  	//
 19518  	// For more information about sending authorization, see the Amazon SES Developer
 19519  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 19520  	FeedbackForwardingEmailAddressIdentityArn *string `type:"string"`
 19521  
 19522  	// The email address to use as the "From" address for the email. The address
 19523  	// that you specify has to be verified.
 19524  	FromEmailAddress *string `type:"string"`
 19525  
 19526  	// This parameter is used only for sending authorization. It is the ARN of the
 19527  	// identity that is associated with the sending authorization policy that permits
 19528  	// you to use the email address specified in the FromEmailAddress parameter.
 19529  	//
 19530  	// For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com)
 19531  	// attaches a policy to it that authorizes you to use sender@example.com, then
 19532  	// you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com,
 19533  	// and the FromEmailAddress to be sender@example.com.
 19534  	//
 19535  	// For more information about sending authorization, see the Amazon SES Developer
 19536  	// Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
 19537  	//
 19538  	// For Raw emails, the FromEmailAddressIdentityArn value overrides the X-SES-SOURCE-ARN
 19539  	// and X-SES-FROM-ARN headers specified in raw email message content.
 19540  	FromEmailAddressIdentityArn *string `type:"string"`
 19541  
 19542  	// An object used to specify a list or topic to which an email belongs, which
 19543  	// will be used when a contact chooses to unsubscribe.
 19544  	ListManagementOptions *ListManagementOptions `type:"structure"`
 19545  
 19546  	// The "Reply-to" email addresses for the message. When the recipient replies
 19547  	// to the message, each Reply-to address receives the reply.
 19548  	ReplyToAddresses []*string `type:"list"`
 19549  }
 19550  
 19551  // String returns the string representation.
 19552  //
 19553  // API parameter values that are decorated as "sensitive" in the API will not
 19554  // be included in the string output. The member name will be present, but the
 19555  // value will be replaced with "sensitive".
 19556  func (s SendEmailInput) String() string {
 19557  	return awsutil.Prettify(s)
 19558  }
 19559  
 19560  // GoString returns the string representation.
 19561  //
 19562  // API parameter values that are decorated as "sensitive" in the API will not
 19563  // be included in the string output. The member name will be present, but the
 19564  // value will be replaced with "sensitive".
 19565  func (s SendEmailInput) GoString() string {
 19566  	return s.String()
 19567  }
 19568  
 19569  // Validate inspects the fields of the type to determine if they are valid.
 19570  func (s *SendEmailInput) Validate() error {
 19571  	invalidParams := request.ErrInvalidParams{Context: "SendEmailInput"}
 19572  	if s.Content == nil {
 19573  		invalidParams.Add(request.NewErrParamRequired("Content"))
 19574  	}
 19575  	if s.Content != nil {
 19576  		if err := s.Content.Validate(); err != nil {
 19577  			invalidParams.AddNested("Content", err.(request.ErrInvalidParams))
 19578  		}
 19579  	}
 19580  	if s.EmailTags != nil {
 19581  		for i, v := range s.EmailTags {
 19582  			if v == nil {
 19583  				continue
 19584  			}
 19585  			if err := v.Validate(); err != nil {
 19586  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmailTags", i), err.(request.ErrInvalidParams))
 19587  			}
 19588  		}
 19589  	}
 19590  	if s.ListManagementOptions != nil {
 19591  		if err := s.ListManagementOptions.Validate(); err != nil {
 19592  			invalidParams.AddNested("ListManagementOptions", err.(request.ErrInvalidParams))
 19593  		}
 19594  	}
 19595  
 19596  	if invalidParams.Len() > 0 {
 19597  		return invalidParams
 19598  	}
 19599  	return nil
 19600  }
 19601  
 19602  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 19603  func (s *SendEmailInput) SetConfigurationSetName(v string) *SendEmailInput {
 19604  	s.ConfigurationSetName = &v
 19605  	return s
 19606  }
 19607  
 19608  // SetContent sets the Content field's value.
 19609  func (s *SendEmailInput) SetContent(v *EmailContent) *SendEmailInput {
 19610  	s.Content = v
 19611  	return s
 19612  }
 19613  
 19614  // SetDestination sets the Destination field's value.
 19615  func (s *SendEmailInput) SetDestination(v *Destination) *SendEmailInput {
 19616  	s.Destination = v
 19617  	return s
 19618  }
 19619  
 19620  // SetEmailTags sets the EmailTags field's value.
 19621  func (s *SendEmailInput) SetEmailTags(v []*MessageTag) *SendEmailInput {
 19622  	s.EmailTags = v
 19623  	return s
 19624  }
 19625  
 19626  // SetFeedbackForwardingEmailAddress sets the FeedbackForwardingEmailAddress field's value.
 19627  func (s *SendEmailInput) SetFeedbackForwardingEmailAddress(v string) *SendEmailInput {
 19628  	s.FeedbackForwardingEmailAddress = &v
 19629  	return s
 19630  }
 19631  
 19632  // SetFeedbackForwardingEmailAddressIdentityArn sets the FeedbackForwardingEmailAddressIdentityArn field's value.
 19633  func (s *SendEmailInput) SetFeedbackForwardingEmailAddressIdentityArn(v string) *SendEmailInput {
 19634  	s.FeedbackForwardingEmailAddressIdentityArn = &v
 19635  	return s
 19636  }
 19637  
 19638  // SetFromEmailAddress sets the FromEmailAddress field's value.
 19639  func (s *SendEmailInput) SetFromEmailAddress(v string) *SendEmailInput {
 19640  	s.FromEmailAddress = &v
 19641  	return s
 19642  }
 19643  
 19644  // SetFromEmailAddressIdentityArn sets the FromEmailAddressIdentityArn field's value.
 19645  func (s *SendEmailInput) SetFromEmailAddressIdentityArn(v string) *SendEmailInput {
 19646  	s.FromEmailAddressIdentityArn = &v
 19647  	return s
 19648  }
 19649  
 19650  // SetListManagementOptions sets the ListManagementOptions field's value.
 19651  func (s *SendEmailInput) SetListManagementOptions(v *ListManagementOptions) *SendEmailInput {
 19652  	s.ListManagementOptions = v
 19653  	return s
 19654  }
 19655  
 19656  // SetReplyToAddresses sets the ReplyToAddresses field's value.
 19657  func (s *SendEmailInput) SetReplyToAddresses(v []*string) *SendEmailInput {
 19658  	s.ReplyToAddresses = v
 19659  	return s
 19660  }
 19661  
 19662  // A unique message ID that you receive when an email is accepted for sending.
 19663  type SendEmailOutput struct {
 19664  	_ struct{} `type:"structure"`
 19665  
 19666  	// A unique identifier for the message that is generated when the message is
 19667  	// accepted.
 19668  	//
 19669  	// It's possible for Amazon SES to accept a message without sending it. This
 19670  	// can happen when the message that you're trying to send has an attachment
 19671  	// contains a virus, or when you send a templated email that contains invalid
 19672  	// personalization content, for example.
 19673  	MessageId *string `type:"string"`
 19674  }
 19675  
 19676  // String returns the string representation.
 19677  //
 19678  // API parameter values that are decorated as "sensitive" in the API will not
 19679  // be included in the string output. The member name will be present, but the
 19680  // value will be replaced with "sensitive".
 19681  func (s SendEmailOutput) String() string {
 19682  	return awsutil.Prettify(s)
 19683  }
 19684  
 19685  // GoString returns the string representation.
 19686  //
 19687  // API parameter values that are decorated as "sensitive" in the API will not
 19688  // be included in the string output. The member name will be present, but the
 19689  // value will be replaced with "sensitive".
 19690  func (s SendEmailOutput) GoString() string {
 19691  	return s.String()
 19692  }
 19693  
 19694  // SetMessageId sets the MessageId field's value.
 19695  func (s *SendEmailOutput) SetMessageId(v string) *SendEmailOutput {
 19696  	s.MessageId = &v
 19697  	return s
 19698  }
 19699  
 19700  // An object that contains information about the per-day and per-second sending
 19701  // limits for your Amazon SES account in the current Amazon Web Services Region.
 19702  type SendQuota struct {
 19703  	_ struct{} `type:"structure"`
 19704  
 19705  	// The maximum number of emails that you can send in the current Amazon Web
 19706  	// Services Region over a 24-hour period. This value is also called your sending
 19707  	// quota.
 19708  	Max24HourSend *float64 `type:"double"`
 19709  
 19710  	// The maximum number of emails that you can send per second in the current
 19711  	// Amazon Web Services Region. This value is also called your maximum sending
 19712  	// rate or your maximum TPS (transactions per second) rate.
 19713  	MaxSendRate *float64 `type:"double"`
 19714  
 19715  	// The number of emails sent from your Amazon SES account in the current Amazon
 19716  	// Web Services Region over the past 24 hours.
 19717  	SentLast24Hours *float64 `type:"double"`
 19718  }
 19719  
 19720  // String returns the string representation.
 19721  //
 19722  // API parameter values that are decorated as "sensitive" in the API will not
 19723  // be included in the string output. The member name will be present, but the
 19724  // value will be replaced with "sensitive".
 19725  func (s SendQuota) String() string {
 19726  	return awsutil.Prettify(s)
 19727  }
 19728  
 19729  // GoString returns the string representation.
 19730  //
 19731  // API parameter values that are decorated as "sensitive" in the API will not
 19732  // be included in the string output. The member name will be present, but the
 19733  // value will be replaced with "sensitive".
 19734  func (s SendQuota) GoString() string {
 19735  	return s.String()
 19736  }
 19737  
 19738  // SetMax24HourSend sets the Max24HourSend field's value.
 19739  func (s *SendQuota) SetMax24HourSend(v float64) *SendQuota {
 19740  	s.Max24HourSend = &v
 19741  	return s
 19742  }
 19743  
 19744  // SetMaxSendRate sets the MaxSendRate field's value.
 19745  func (s *SendQuota) SetMaxSendRate(v float64) *SendQuota {
 19746  	s.MaxSendRate = &v
 19747  	return s
 19748  }
 19749  
 19750  // SetSentLast24Hours sets the SentLast24Hours field's value.
 19751  func (s *SendQuota) SetSentLast24Hours(v float64) *SendQuota {
 19752  	s.SentLast24Hours = &v
 19753  	return s
 19754  }
 19755  
 19756  // Used to enable or disable email sending for messages that use this configuration
 19757  // set in the current Amazon Web Services Region.
 19758  type SendingOptions struct {
 19759  	_ struct{} `type:"structure"`
 19760  
 19761  	// If true, email sending is enabled for the configuration set. If false, email
 19762  	// sending is disabled for the configuration set.
 19763  	SendingEnabled *bool `type:"boolean"`
 19764  }
 19765  
 19766  // String returns the string representation.
 19767  //
 19768  // API parameter values that are decorated as "sensitive" in the API will not
 19769  // be included in the string output. The member name will be present, but the
 19770  // value will be replaced with "sensitive".
 19771  func (s SendingOptions) String() string {
 19772  	return awsutil.Prettify(s)
 19773  }
 19774  
 19775  // GoString returns the string representation.
 19776  //
 19777  // API parameter values that are decorated as "sensitive" in the API will not
 19778  // be included in the string output. The member name will be present, but the
 19779  // value will be replaced with "sensitive".
 19780  func (s SendingOptions) GoString() string {
 19781  	return s.String()
 19782  }
 19783  
 19784  // SetSendingEnabled sets the SendingEnabled field's value.
 19785  func (s *SendingOptions) SetSendingEnabled(v bool) *SendingOptions {
 19786  	s.SendingEnabled = &v
 19787  	return s
 19788  }
 19789  
 19790  // The message can't be sent because the account's ability to send email is
 19791  // currently paused.
 19792  type SendingPausedException struct {
 19793  	_            struct{}                  `type:"structure"`
 19794  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19795  
 19796  	Message_ *string `locationName:"message" type:"string"`
 19797  }
 19798  
 19799  // String returns the string representation.
 19800  //
 19801  // API parameter values that are decorated as "sensitive" in the API will not
 19802  // be included in the string output. The member name will be present, but the
 19803  // value will be replaced with "sensitive".
 19804  func (s SendingPausedException) String() string {
 19805  	return awsutil.Prettify(s)
 19806  }
 19807  
 19808  // GoString returns the string representation.
 19809  //
 19810  // API parameter values that are decorated as "sensitive" in the API will not
 19811  // be included in the string output. The member name will be present, but the
 19812  // value will be replaced with "sensitive".
 19813  func (s SendingPausedException) GoString() string {
 19814  	return s.String()
 19815  }
 19816  
 19817  func newErrorSendingPausedException(v protocol.ResponseMetadata) error {
 19818  	return &SendingPausedException{
 19819  		RespMetadata: v,
 19820  	}
 19821  }
 19822  
 19823  // Code returns the exception type name.
 19824  func (s *SendingPausedException) Code() string {
 19825  	return "SendingPausedException"
 19826  }
 19827  
 19828  // Message returns the exception's message.
 19829  func (s *SendingPausedException) Message() string {
 19830  	if s.Message_ != nil {
 19831  		return *s.Message_
 19832  	}
 19833  	return ""
 19834  }
 19835  
 19836  // OrigErr always returns nil, satisfies awserr.Error interface.
 19837  func (s *SendingPausedException) OrigErr() error {
 19838  	return nil
 19839  }
 19840  
 19841  func (s *SendingPausedException) Error() string {
 19842  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 19843  }
 19844  
 19845  // Status code returns the HTTP status code for the request's response error.
 19846  func (s *SendingPausedException) StatusCode() int {
 19847  	return s.RespMetadata.StatusCode
 19848  }
 19849  
 19850  // RequestID returns the service's response RequestID for request.
 19851  func (s *SendingPausedException) RequestID() string {
 19852  	return s.RespMetadata.RequestID
 19853  }
 19854  
 19855  // An object that defines an Amazon SNS destination for email events. You can
 19856  // use Amazon SNS to send notification when certain email events occur.
 19857  type SnsDestination struct {
 19858  	_ struct{} `type:"structure"`
 19859  
 19860  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to publish email events
 19861  	// to. For more information about Amazon SNS topics, see the Amazon SNS Developer
 19862  	// Guide (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
 19863  	//
 19864  	// TopicArn is a required field
 19865  	TopicArn *string `type:"string" required:"true"`
 19866  }
 19867  
 19868  // String returns the string representation.
 19869  //
 19870  // API parameter values that are decorated as "sensitive" in the API will not
 19871  // be included in the string output. The member name will be present, but the
 19872  // value will be replaced with "sensitive".
 19873  func (s SnsDestination) String() string {
 19874  	return awsutil.Prettify(s)
 19875  }
 19876  
 19877  // GoString returns the string representation.
 19878  //
 19879  // API parameter values that are decorated as "sensitive" in the API will not
 19880  // be included in the string output. The member name will be present, but the
 19881  // value will be replaced with "sensitive".
 19882  func (s SnsDestination) GoString() string {
 19883  	return s.String()
 19884  }
 19885  
 19886  // Validate inspects the fields of the type to determine if they are valid.
 19887  func (s *SnsDestination) Validate() error {
 19888  	invalidParams := request.ErrInvalidParams{Context: "SnsDestination"}
 19889  	if s.TopicArn == nil {
 19890  		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
 19891  	}
 19892  
 19893  	if invalidParams.Len() > 0 {
 19894  		return invalidParams
 19895  	}
 19896  	return nil
 19897  }
 19898  
 19899  // SetTopicArn sets the TopicArn field's value.
 19900  func (s *SnsDestination) SetTopicArn(v string) *SnsDestination {
 19901  	s.TopicArn = &v
 19902  	return s
 19903  }
 19904  
 19905  // An object that contains information about an email address that is on the
 19906  // suppression list for your account.
 19907  type SuppressedDestination struct {
 19908  	_ struct{} `type:"structure"`
 19909  
 19910  	// An optional value that can contain additional information about the reasons
 19911  	// that the address was added to the suppression list for your account.
 19912  	Attributes *SuppressedDestinationAttributes `type:"structure"`
 19913  
 19914  	// The email address that is on the suppression list for your account.
 19915  	//
 19916  	// EmailAddress is a required field
 19917  	EmailAddress *string `type:"string" required:"true"`
 19918  
 19919  	// The date and time when the suppressed destination was last updated, shown
 19920  	// in Unix time format.
 19921  	//
 19922  	// LastUpdateTime is a required field
 19923  	LastUpdateTime *time.Time `type:"timestamp" required:"true"`
 19924  
 19925  	// The reason that the address was added to the suppression list for your account.
 19926  	//
 19927  	// Reason is a required field
 19928  	Reason *string `type:"string" required:"true" enum:"SuppressionListReason"`
 19929  }
 19930  
 19931  // String returns the string representation.
 19932  //
 19933  // API parameter values that are decorated as "sensitive" in the API will not
 19934  // be included in the string output. The member name will be present, but the
 19935  // value will be replaced with "sensitive".
 19936  func (s SuppressedDestination) String() string {
 19937  	return awsutil.Prettify(s)
 19938  }
 19939  
 19940  // GoString returns the string representation.
 19941  //
 19942  // API parameter values that are decorated as "sensitive" in the API will not
 19943  // be included in the string output. The member name will be present, but the
 19944  // value will be replaced with "sensitive".
 19945  func (s SuppressedDestination) GoString() string {
 19946  	return s.String()
 19947  }
 19948  
 19949  // SetAttributes sets the Attributes field's value.
 19950  func (s *SuppressedDestination) SetAttributes(v *SuppressedDestinationAttributes) *SuppressedDestination {
 19951  	s.Attributes = v
 19952  	return s
 19953  }
 19954  
 19955  // SetEmailAddress sets the EmailAddress field's value.
 19956  func (s *SuppressedDestination) SetEmailAddress(v string) *SuppressedDestination {
 19957  	s.EmailAddress = &v
 19958  	return s
 19959  }
 19960  
 19961  // SetLastUpdateTime sets the LastUpdateTime field's value.
 19962  func (s *SuppressedDestination) SetLastUpdateTime(v time.Time) *SuppressedDestination {
 19963  	s.LastUpdateTime = &v
 19964  	return s
 19965  }
 19966  
 19967  // SetReason sets the Reason field's value.
 19968  func (s *SuppressedDestination) SetReason(v string) *SuppressedDestination {
 19969  	s.Reason = &v
 19970  	return s
 19971  }
 19972  
 19973  // An object that contains additional attributes that are related an email address
 19974  // that is on the suppression list for your account.
 19975  type SuppressedDestinationAttributes struct {
 19976  	_ struct{} `type:"structure"`
 19977  
 19978  	// A unique identifier that's generated when an email address is added to the
 19979  	// suppression list for your account.
 19980  	FeedbackId *string `type:"string"`
 19981  
 19982  	// The unique identifier of the email message that caused the email address
 19983  	// to be added to the suppression list for your account.
 19984  	MessageId *string `type:"string"`
 19985  }
 19986  
 19987  // String returns the string representation.
 19988  //
 19989  // API parameter values that are decorated as "sensitive" in the API will not
 19990  // be included in the string output. The member name will be present, but the
 19991  // value will be replaced with "sensitive".
 19992  func (s SuppressedDestinationAttributes) String() string {
 19993  	return awsutil.Prettify(s)
 19994  }
 19995  
 19996  // GoString returns the string representation.
 19997  //
 19998  // API parameter values that are decorated as "sensitive" in the API will not
 19999  // be included in the string output. The member name will be present, but the
 20000  // value will be replaced with "sensitive".
 20001  func (s SuppressedDestinationAttributes) GoString() string {
 20002  	return s.String()
 20003  }
 20004  
 20005  // SetFeedbackId sets the FeedbackId field's value.
 20006  func (s *SuppressedDestinationAttributes) SetFeedbackId(v string) *SuppressedDestinationAttributes {
 20007  	s.FeedbackId = &v
 20008  	return s
 20009  }
 20010  
 20011  // SetMessageId sets the MessageId field's value.
 20012  func (s *SuppressedDestinationAttributes) SetMessageId(v string) *SuppressedDestinationAttributes {
 20013  	s.MessageId = &v
 20014  	return s
 20015  }
 20016  
 20017  // A summary that describes the suppressed email address.
 20018  type SuppressedDestinationSummary struct {
 20019  	_ struct{} `type:"structure"`
 20020  
 20021  	// The email address that's on the suppression list for your account.
 20022  	//
 20023  	// EmailAddress is a required field
 20024  	EmailAddress *string `type:"string" required:"true"`
 20025  
 20026  	// The date and time when the suppressed destination was last updated, shown
 20027  	// in Unix time format.
 20028  	//
 20029  	// LastUpdateTime is a required field
 20030  	LastUpdateTime *time.Time `type:"timestamp" required:"true"`
 20031  
 20032  	// The reason that the address was added to the suppression list for your account.
 20033  	//
 20034  	// Reason is a required field
 20035  	Reason *string `type:"string" required:"true" enum:"SuppressionListReason"`
 20036  }
 20037  
 20038  // String returns the string representation.
 20039  //
 20040  // API parameter values that are decorated as "sensitive" in the API will not
 20041  // be included in the string output. The member name will be present, but the
 20042  // value will be replaced with "sensitive".
 20043  func (s SuppressedDestinationSummary) String() string {
 20044  	return awsutil.Prettify(s)
 20045  }
 20046  
 20047  // GoString returns the string representation.
 20048  //
 20049  // API parameter values that are decorated as "sensitive" in the API will not
 20050  // be included in the string output. The member name will be present, but the
 20051  // value will be replaced with "sensitive".
 20052  func (s SuppressedDestinationSummary) GoString() string {
 20053  	return s.String()
 20054  }
 20055  
 20056  // SetEmailAddress sets the EmailAddress field's value.
 20057  func (s *SuppressedDestinationSummary) SetEmailAddress(v string) *SuppressedDestinationSummary {
 20058  	s.EmailAddress = &v
 20059  	return s
 20060  }
 20061  
 20062  // SetLastUpdateTime sets the LastUpdateTime field's value.
 20063  func (s *SuppressedDestinationSummary) SetLastUpdateTime(v time.Time) *SuppressedDestinationSummary {
 20064  	s.LastUpdateTime = &v
 20065  	return s
 20066  }
 20067  
 20068  // SetReason sets the Reason field's value.
 20069  func (s *SuppressedDestinationSummary) SetReason(v string) *SuppressedDestinationSummary {
 20070  	s.Reason = &v
 20071  	return s
 20072  }
 20073  
 20074  // An object that contains information about the email address suppression preferences
 20075  // for your account in the current Amazon Web Services Region.
 20076  type SuppressionAttributes struct {
 20077  	_ struct{} `type:"structure"`
 20078  
 20079  	// A list that contains the reasons that email addresses will be automatically
 20080  	// added to the suppression list for your account. This list can contain any
 20081  	// or all of the following:
 20082  	//
 20083  	//    * COMPLAINT – Amazon SES adds an email address to the suppression list
 20084  	//    for your account when a message sent to that address results in a complaint.
 20085  	//
 20086  	//    * BOUNCE – Amazon SES adds an email address to the suppression list
 20087  	//    for your account when a message sent to that address results in a hard
 20088  	//    bounce.
 20089  	SuppressedReasons []*string `type:"list"`
 20090  }
 20091  
 20092  // String returns the string representation.
 20093  //
 20094  // API parameter values that are decorated as "sensitive" in the API will not
 20095  // be included in the string output. The member name will be present, but the
 20096  // value will be replaced with "sensitive".
 20097  func (s SuppressionAttributes) String() string {
 20098  	return awsutil.Prettify(s)
 20099  }
 20100  
 20101  // GoString returns the string representation.
 20102  //
 20103  // API parameter values that are decorated as "sensitive" in the API will not
 20104  // be included in the string output. The member name will be present, but the
 20105  // value will be replaced with "sensitive".
 20106  func (s SuppressionAttributes) GoString() string {
 20107  	return s.String()
 20108  }
 20109  
 20110  // SetSuppressedReasons sets the SuppressedReasons field's value.
 20111  func (s *SuppressionAttributes) SetSuppressedReasons(v []*string) *SuppressionAttributes {
 20112  	s.SuppressedReasons = v
 20113  	return s
 20114  }
 20115  
 20116  // An object that contains details about the action of suppression list.
 20117  type SuppressionListDestination struct {
 20118  	_ struct{} `type:"structure"`
 20119  
 20120  	// The type of action to perform on the address. The following are possible
 20121  	// values:
 20122  	//
 20123  	//    * PUT: add the addresses to the suppression list. If the record already
 20124  	//    exists, it will override it with the new value.
 20125  	//
 20126  	//    * DELETE: remove the addresses from the suppression list.
 20127  	//
 20128  	// SuppressionListImportAction is a required field
 20129  	SuppressionListImportAction *string `type:"string" required:"true" enum:"SuppressionListImportAction"`
 20130  }
 20131  
 20132  // String returns the string representation.
 20133  //
 20134  // API parameter values that are decorated as "sensitive" in the API will not
 20135  // be included in the string output. The member name will be present, but the
 20136  // value will be replaced with "sensitive".
 20137  func (s SuppressionListDestination) String() string {
 20138  	return awsutil.Prettify(s)
 20139  }
 20140  
 20141  // GoString returns the string representation.
 20142  //
 20143  // API parameter values that are decorated as "sensitive" in the API will not
 20144  // be included in the string output. The member name will be present, but the
 20145  // value will be replaced with "sensitive".
 20146  func (s SuppressionListDestination) GoString() string {
 20147  	return s.String()
 20148  }
 20149  
 20150  // Validate inspects the fields of the type to determine if they are valid.
 20151  func (s *SuppressionListDestination) Validate() error {
 20152  	invalidParams := request.ErrInvalidParams{Context: "SuppressionListDestination"}
 20153  	if s.SuppressionListImportAction == nil {
 20154  		invalidParams.Add(request.NewErrParamRequired("SuppressionListImportAction"))
 20155  	}
 20156  
 20157  	if invalidParams.Len() > 0 {
 20158  		return invalidParams
 20159  	}
 20160  	return nil
 20161  }
 20162  
 20163  // SetSuppressionListImportAction sets the SuppressionListImportAction field's value.
 20164  func (s *SuppressionListDestination) SetSuppressionListImportAction(v string) *SuppressionListDestination {
 20165  	s.SuppressionListImportAction = &v
 20166  	return s
 20167  }
 20168  
 20169  // An object that contains information about the suppression list preferences
 20170  // for your account.
 20171  type SuppressionOptions struct {
 20172  	_ struct{} `type:"structure"`
 20173  
 20174  	// A list that contains the reasons that email addresses are automatically added
 20175  	// to the suppression list for your account. This list can contain any or all
 20176  	// of the following:
 20177  	//
 20178  	//    * COMPLAINT – Amazon SES adds an email address to the suppression list
 20179  	//    for your account when a message sent to that address results in a complaint.
 20180  	//
 20181  	//    * BOUNCE – Amazon SES adds an email address to the suppression list
 20182  	//    for your account when a message sent to that address results in a hard
 20183  	//    bounce.
 20184  	SuppressedReasons []*string `type:"list"`
 20185  }
 20186  
 20187  // String returns the string representation.
 20188  //
 20189  // API parameter values that are decorated as "sensitive" in the API will not
 20190  // be included in the string output. The member name will be present, but the
 20191  // value will be replaced with "sensitive".
 20192  func (s SuppressionOptions) String() string {
 20193  	return awsutil.Prettify(s)
 20194  }
 20195  
 20196  // GoString returns the string representation.
 20197  //
 20198  // API parameter values that are decorated as "sensitive" in the API will not
 20199  // be included in the string output. The member name will be present, but the
 20200  // value will be replaced with "sensitive".
 20201  func (s SuppressionOptions) GoString() string {
 20202  	return s.String()
 20203  }
 20204  
 20205  // SetSuppressedReasons sets the SuppressedReasons field's value.
 20206  func (s *SuppressionOptions) SetSuppressedReasons(v []*string) *SuppressionOptions {
 20207  	s.SuppressedReasons = v
 20208  	return s
 20209  }
 20210  
 20211  // An object that defines the tags that are associated with a resource. A tag
 20212  // is a label that you optionally define and associate with a resource. Tags
 20213  // can help you categorize and manage resources in different ways, such as by
 20214  // purpose, owner, environment, or other criteria. A resource can have as many
 20215  // as 50 tags.
 20216  //
 20217  // Each tag consists of a required tag key and an associated tag value, both
 20218  // of which you define. A tag key is a general label that acts as a category
 20219  // for a more specific tag value. A tag value acts as a descriptor within a
 20220  // tag key. A tag key can contain as many as 128 characters. A tag value can
 20221  // contain as many as 256 characters. The characters can be Unicode letters,
 20222  // digits, white space, or one of the following symbols: _ . : / = + -. The
 20223  // following additional restrictions apply to tags:
 20224  //
 20225  //    * Tag keys and values are case sensitive.
 20226  //
 20227  //    * For each associated resource, each tag key must be unique and it can
 20228  //    have only one value.
 20229  //
 20230  //    * The aws: prefix is reserved for use by Amazon Web Services; you can’t
 20231  //    use it in any tag keys or values that you define. In addition, you can't
 20232  //    edit or remove tag keys or values that use this prefix. Tags that use
 20233  //    this prefix don’t count against the limit of 50 tags per resource.
 20234  //
 20235  //    * You can associate tags with public or shared resources, but the tags
 20236  //    are available only for your Amazon Web Services account, not any other
 20237  //    accounts that share the resource. In addition, the tags are available
 20238  //    only for resources that are located in the specified Amazon Web Services
 20239  //    Region for your Amazon Web Services account.
 20240  type Tag struct {
 20241  	_ struct{} `type:"structure"`
 20242  
 20243  	// One part of a key-value pair that defines a tag. The maximum length of a
 20244  	// tag key is 128 characters. The minimum length is 1 character.
 20245  	//
 20246  	// Key is a required field
 20247  	Key *string `type:"string" required:"true"`
 20248  
 20249  	// The optional part of a key-value pair that defines a tag. The maximum length
 20250  	// of a tag value is 256 characters. The minimum length is 0 characters. If
 20251  	// you don't want a resource to have a specific tag value, don't specify a value
 20252  	// for this parameter. If you don't specify a value, Amazon SES sets the value
 20253  	// to an empty string.
 20254  	//
 20255  	// Value is a required field
 20256  	Value *string `type:"string" required:"true"`
 20257  }
 20258  
 20259  // String returns the string representation.
 20260  //
 20261  // API parameter values that are decorated as "sensitive" in the API will not
 20262  // be included in the string output. The member name will be present, but the
 20263  // value will be replaced with "sensitive".
 20264  func (s Tag) String() string {
 20265  	return awsutil.Prettify(s)
 20266  }
 20267  
 20268  // GoString returns the string representation.
 20269  //
 20270  // API parameter values that are decorated as "sensitive" in the API will not
 20271  // be included in the string output. The member name will be present, but the
 20272  // value will be replaced with "sensitive".
 20273  func (s Tag) GoString() string {
 20274  	return s.String()
 20275  }
 20276  
 20277  // Validate inspects the fields of the type to determine if they are valid.
 20278  func (s *Tag) Validate() error {
 20279  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 20280  	if s.Key == nil {
 20281  		invalidParams.Add(request.NewErrParamRequired("Key"))
 20282  	}
 20283  	if s.Value == nil {
 20284  		invalidParams.Add(request.NewErrParamRequired("Value"))
 20285  	}
 20286  
 20287  	if invalidParams.Len() > 0 {
 20288  		return invalidParams
 20289  	}
 20290  	return nil
 20291  }
 20292  
 20293  // SetKey sets the Key field's value.
 20294  func (s *Tag) SetKey(v string) *Tag {
 20295  	s.Key = &v
 20296  	return s
 20297  }
 20298  
 20299  // SetValue sets the Value field's value.
 20300  func (s *Tag) SetValue(v string) *Tag {
 20301  	s.Value = &v
 20302  	return s
 20303  }
 20304  
 20305  type TagResourceInput struct {
 20306  	_ struct{} `type:"structure"`
 20307  
 20308  	// The Amazon Resource Name (ARN) of the resource that you want to add one or
 20309  	// more tags to.
 20310  	//
 20311  	// ResourceArn is a required field
 20312  	ResourceArn *string `type:"string" required:"true"`
 20313  
 20314  	// A list of the tags that you want to add to the resource. A tag consists of
 20315  	// a required tag key (Key) and an associated tag value (Value). The maximum
 20316  	// length of a tag key is 128 characters. The maximum length of a tag value
 20317  	// is 256 characters.
 20318  	//
 20319  	// Tags is a required field
 20320  	Tags []*Tag `type:"list" required:"true"`
 20321  }
 20322  
 20323  // String returns the string representation.
 20324  //
 20325  // API parameter values that are decorated as "sensitive" in the API will not
 20326  // be included in the string output. The member name will be present, but the
 20327  // value will be replaced with "sensitive".
 20328  func (s TagResourceInput) String() string {
 20329  	return awsutil.Prettify(s)
 20330  }
 20331  
 20332  // GoString returns the string representation.
 20333  //
 20334  // API parameter values that are decorated as "sensitive" in the API will not
 20335  // be included in the string output. The member name will be present, but the
 20336  // value will be replaced with "sensitive".
 20337  func (s TagResourceInput) GoString() string {
 20338  	return s.String()
 20339  }
 20340  
 20341  // Validate inspects the fields of the type to determine if they are valid.
 20342  func (s *TagResourceInput) Validate() error {
 20343  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 20344  	if s.ResourceArn == nil {
 20345  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 20346  	}
 20347  	if s.Tags == nil {
 20348  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 20349  	}
 20350  	if s.Tags != nil {
 20351  		for i, v := range s.Tags {
 20352  			if v == nil {
 20353  				continue
 20354  			}
 20355  			if err := v.Validate(); err != nil {
 20356  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 20357  			}
 20358  		}
 20359  	}
 20360  
 20361  	if invalidParams.Len() > 0 {
 20362  		return invalidParams
 20363  	}
 20364  	return nil
 20365  }
 20366  
 20367  // SetResourceArn sets the ResourceArn field's value.
 20368  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 20369  	s.ResourceArn = &v
 20370  	return s
 20371  }
 20372  
 20373  // SetTags sets the Tags field's value.
 20374  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 20375  	s.Tags = v
 20376  	return s
 20377  }
 20378  
 20379  type TagResourceOutput struct {
 20380  	_ struct{} `type:"structure" nopayload:"true"`
 20381  }
 20382  
 20383  // String returns the string representation.
 20384  //
 20385  // API parameter values that are decorated as "sensitive" in the API will not
 20386  // be included in the string output. The member name will be present, but the
 20387  // value will be replaced with "sensitive".
 20388  func (s TagResourceOutput) String() string {
 20389  	return awsutil.Prettify(s)
 20390  }
 20391  
 20392  // GoString returns the string representation.
 20393  //
 20394  // API parameter values that are decorated as "sensitive" in the API will not
 20395  // be included in the string output. The member name will be present, but the
 20396  // value will be replaced with "sensitive".
 20397  func (s TagResourceOutput) GoString() string {
 20398  	return s.String()
 20399  }
 20400  
 20401  // An object that defines the email template to use for an email message, and
 20402  // the values to use for any message variables in that template. An email template
 20403  // is a type of message template that contains content that you want to define,
 20404  // save, and reuse in email messages that you send.
 20405  type Template struct {
 20406  	_ struct{} `type:"structure"`
 20407  
 20408  	// The Amazon Resource Name (ARN) of the template.
 20409  	TemplateArn *string `type:"string"`
 20410  
 20411  	// An object that defines the values to use for message variables in the template.
 20412  	// This object is a set of key-value pairs. Each key defines a message variable
 20413  	// in the template. The corresponding value defines the value to use for that
 20414  	// variable.
 20415  	TemplateData *string `type:"string"`
 20416  
 20417  	// The name of the template. You will refer to this name when you send email
 20418  	// using the SendTemplatedEmail or SendBulkTemplatedEmail operations.
 20419  	TemplateName *string `min:"1" type:"string"`
 20420  }
 20421  
 20422  // String returns the string representation.
 20423  //
 20424  // API parameter values that are decorated as "sensitive" in the API will not
 20425  // be included in the string output. The member name will be present, but the
 20426  // value will be replaced with "sensitive".
 20427  func (s Template) String() string {
 20428  	return awsutil.Prettify(s)
 20429  }
 20430  
 20431  // GoString returns the string representation.
 20432  //
 20433  // API parameter values that are decorated as "sensitive" in the API will not
 20434  // be included in the string output. The member name will be present, but the
 20435  // value will be replaced with "sensitive".
 20436  func (s Template) GoString() string {
 20437  	return s.String()
 20438  }
 20439  
 20440  // Validate inspects the fields of the type to determine if they are valid.
 20441  func (s *Template) Validate() error {
 20442  	invalidParams := request.ErrInvalidParams{Context: "Template"}
 20443  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 20444  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 20445  	}
 20446  
 20447  	if invalidParams.Len() > 0 {
 20448  		return invalidParams
 20449  	}
 20450  	return nil
 20451  }
 20452  
 20453  // SetTemplateArn sets the TemplateArn field's value.
 20454  func (s *Template) SetTemplateArn(v string) *Template {
 20455  	s.TemplateArn = &v
 20456  	return s
 20457  }
 20458  
 20459  // SetTemplateData sets the TemplateData field's value.
 20460  func (s *Template) SetTemplateData(v string) *Template {
 20461  	s.TemplateData = &v
 20462  	return s
 20463  }
 20464  
 20465  // SetTemplateName sets the TemplateName field's value.
 20466  func (s *Template) SetTemplateName(v string) *Template {
 20467  	s.TemplateName = &v
 20468  	return s
 20469  }
 20470  
 20471  // >Represents a request to create a preview of the MIME content of an email
 20472  // when provided with a template and a set of replacement data.
 20473  type TestRenderEmailTemplateInput struct {
 20474  	_ struct{} `type:"structure"`
 20475  
 20476  	// A list of replacement values to apply to the template. This parameter is
 20477  	// a JSON object, typically consisting of key-value pairs in which the keys
 20478  	// correspond to replacement tags in the email template.
 20479  	//
 20480  	// TemplateData is a required field
 20481  	TemplateData *string `type:"string" required:"true"`
 20482  
 20483  	// The name of the template.
 20484  	//
 20485  	// TemplateName is a required field
 20486  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 20487  }
 20488  
 20489  // String returns the string representation.
 20490  //
 20491  // API parameter values that are decorated as "sensitive" in the API will not
 20492  // be included in the string output. The member name will be present, but the
 20493  // value will be replaced with "sensitive".
 20494  func (s TestRenderEmailTemplateInput) String() string {
 20495  	return awsutil.Prettify(s)
 20496  }
 20497  
 20498  // GoString returns the string representation.
 20499  //
 20500  // API parameter values that are decorated as "sensitive" in the API will not
 20501  // be included in the string output. The member name will be present, but the
 20502  // value will be replaced with "sensitive".
 20503  func (s TestRenderEmailTemplateInput) GoString() string {
 20504  	return s.String()
 20505  }
 20506  
 20507  // Validate inspects the fields of the type to determine if they are valid.
 20508  func (s *TestRenderEmailTemplateInput) Validate() error {
 20509  	invalidParams := request.ErrInvalidParams{Context: "TestRenderEmailTemplateInput"}
 20510  	if s.TemplateData == nil {
 20511  		invalidParams.Add(request.NewErrParamRequired("TemplateData"))
 20512  	}
 20513  	if s.TemplateName == nil {
 20514  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 20515  	}
 20516  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 20517  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 20518  	}
 20519  
 20520  	if invalidParams.Len() > 0 {
 20521  		return invalidParams
 20522  	}
 20523  	return nil
 20524  }
 20525  
 20526  // SetTemplateData sets the TemplateData field's value.
 20527  func (s *TestRenderEmailTemplateInput) SetTemplateData(v string) *TestRenderEmailTemplateInput {
 20528  	s.TemplateData = &v
 20529  	return s
 20530  }
 20531  
 20532  // SetTemplateName sets the TemplateName field's value.
 20533  func (s *TestRenderEmailTemplateInput) SetTemplateName(v string) *TestRenderEmailTemplateInput {
 20534  	s.TemplateName = &v
 20535  	return s
 20536  }
 20537  
 20538  // The following element is returned by the service.
 20539  type TestRenderEmailTemplateOutput struct {
 20540  	_ struct{} `type:"structure"`
 20541  
 20542  	// The complete MIME message rendered by applying the data in the TemplateData
 20543  	// parameter to the template specified in the TemplateName parameter.
 20544  	//
 20545  	// RenderedTemplate is a required field
 20546  	RenderedTemplate *string `type:"string" required:"true"`
 20547  }
 20548  
 20549  // String returns the string representation.
 20550  //
 20551  // API parameter values that are decorated as "sensitive" in the API will not
 20552  // be included in the string output. The member name will be present, but the
 20553  // value will be replaced with "sensitive".
 20554  func (s TestRenderEmailTemplateOutput) String() string {
 20555  	return awsutil.Prettify(s)
 20556  }
 20557  
 20558  // GoString returns the string representation.
 20559  //
 20560  // API parameter values that are decorated as "sensitive" in the API will not
 20561  // be included in the string output. The member name will be present, but the
 20562  // value will be replaced with "sensitive".
 20563  func (s TestRenderEmailTemplateOutput) GoString() string {
 20564  	return s.String()
 20565  }
 20566  
 20567  // SetRenderedTemplate sets the RenderedTemplate field's value.
 20568  func (s *TestRenderEmailTemplateOutput) SetRenderedTemplate(v string) *TestRenderEmailTemplateOutput {
 20569  	s.RenderedTemplate = &v
 20570  	return s
 20571  }
 20572  
 20573  // Too many requests have been made to the operation.
 20574  type TooManyRequestsException struct {
 20575  	_            struct{}                  `type:"structure"`
 20576  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20577  
 20578  	Message_ *string `locationName:"message" type:"string"`
 20579  }
 20580  
 20581  // String returns the string representation.
 20582  //
 20583  // API parameter values that are decorated as "sensitive" in the API will not
 20584  // be included in the string output. The member name will be present, but the
 20585  // value will be replaced with "sensitive".
 20586  func (s TooManyRequestsException) String() string {
 20587  	return awsutil.Prettify(s)
 20588  }
 20589  
 20590  // GoString returns the string representation.
 20591  //
 20592  // API parameter values that are decorated as "sensitive" in the API will not
 20593  // be included in the string output. The member name will be present, but the
 20594  // value will be replaced with "sensitive".
 20595  func (s TooManyRequestsException) GoString() string {
 20596  	return s.String()
 20597  }
 20598  
 20599  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
 20600  	return &TooManyRequestsException{
 20601  		RespMetadata: v,
 20602  	}
 20603  }
 20604  
 20605  // Code returns the exception type name.
 20606  func (s *TooManyRequestsException) Code() string {
 20607  	return "TooManyRequestsException"
 20608  }
 20609  
 20610  // Message returns the exception's message.
 20611  func (s *TooManyRequestsException) Message() string {
 20612  	if s.Message_ != nil {
 20613  		return *s.Message_
 20614  	}
 20615  	return ""
 20616  }
 20617  
 20618  // OrigErr always returns nil, satisfies awserr.Error interface.
 20619  func (s *TooManyRequestsException) OrigErr() error {
 20620  	return nil
 20621  }
 20622  
 20623  func (s *TooManyRequestsException) Error() string {
 20624  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20625  }
 20626  
 20627  // Status code returns the HTTP status code for the request's response error.
 20628  func (s *TooManyRequestsException) StatusCode() int {
 20629  	return s.RespMetadata.StatusCode
 20630  }
 20631  
 20632  // RequestID returns the service's response RequestID for request.
 20633  func (s *TooManyRequestsException) RequestID() string {
 20634  	return s.RespMetadata.RequestID
 20635  }
 20636  
 20637  // An interest group, theme, or label within a list. Lists can have multiple
 20638  // topics.
 20639  type Topic struct {
 20640  	_ struct{} `type:"structure"`
 20641  
 20642  	// The default subscription status to be applied to a contact if the contact
 20643  	// has not noted their preference for subscribing to a topic.
 20644  	//
 20645  	// DefaultSubscriptionStatus is a required field
 20646  	DefaultSubscriptionStatus *string `type:"string" required:"true" enum:"SubscriptionStatus"`
 20647  
 20648  	// A description of what the topic is about, which the contact will see.
 20649  	Description *string `type:"string"`
 20650  
 20651  	// The name of the topic the contact will see.
 20652  	//
 20653  	// DisplayName is a required field
 20654  	DisplayName *string `type:"string" required:"true"`
 20655  
 20656  	// The name of the topic.
 20657  	//
 20658  	// TopicName is a required field
 20659  	TopicName *string `type:"string" required:"true"`
 20660  }
 20661  
 20662  // String returns the string representation.
 20663  //
 20664  // API parameter values that are decorated as "sensitive" in the API will not
 20665  // be included in the string output. The member name will be present, but the
 20666  // value will be replaced with "sensitive".
 20667  func (s Topic) String() string {
 20668  	return awsutil.Prettify(s)
 20669  }
 20670  
 20671  // GoString returns the string representation.
 20672  //
 20673  // API parameter values that are decorated as "sensitive" in the API will not
 20674  // be included in the string output. The member name will be present, but the
 20675  // value will be replaced with "sensitive".
 20676  func (s Topic) GoString() string {
 20677  	return s.String()
 20678  }
 20679  
 20680  // Validate inspects the fields of the type to determine if they are valid.
 20681  func (s *Topic) Validate() error {
 20682  	invalidParams := request.ErrInvalidParams{Context: "Topic"}
 20683  	if s.DefaultSubscriptionStatus == nil {
 20684  		invalidParams.Add(request.NewErrParamRequired("DefaultSubscriptionStatus"))
 20685  	}
 20686  	if s.DisplayName == nil {
 20687  		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
 20688  	}
 20689  	if s.TopicName == nil {
 20690  		invalidParams.Add(request.NewErrParamRequired("TopicName"))
 20691  	}
 20692  
 20693  	if invalidParams.Len() > 0 {
 20694  		return invalidParams
 20695  	}
 20696  	return nil
 20697  }
 20698  
 20699  // SetDefaultSubscriptionStatus sets the DefaultSubscriptionStatus field's value.
 20700  func (s *Topic) SetDefaultSubscriptionStatus(v string) *Topic {
 20701  	s.DefaultSubscriptionStatus = &v
 20702  	return s
 20703  }
 20704  
 20705  // SetDescription sets the Description field's value.
 20706  func (s *Topic) SetDescription(v string) *Topic {
 20707  	s.Description = &v
 20708  	return s
 20709  }
 20710  
 20711  // SetDisplayName sets the DisplayName field's value.
 20712  func (s *Topic) SetDisplayName(v string) *Topic {
 20713  	s.DisplayName = &v
 20714  	return s
 20715  }
 20716  
 20717  // SetTopicName sets the TopicName field's value.
 20718  func (s *Topic) SetTopicName(v string) *Topic {
 20719  	s.TopicName = &v
 20720  	return s
 20721  }
 20722  
 20723  // Used for filtering by a specific topic preference.
 20724  type TopicFilter struct {
 20725  	_ struct{} `type:"structure"`
 20726  
 20727  	// The name of a topic on which you wish to apply the filter.
 20728  	TopicName *string `type:"string"`
 20729  
 20730  	// Notes that the default subscription status should be applied to a contact
 20731  	// because the contact has not noted their preference for subscribing to a topic.
 20732  	UseDefaultIfPreferenceUnavailable *bool `type:"boolean"`
 20733  }
 20734  
 20735  // String returns the string representation.
 20736  //
 20737  // API parameter values that are decorated as "sensitive" in the API will not
 20738  // be included in the string output. The member name will be present, but the
 20739  // value will be replaced with "sensitive".
 20740  func (s TopicFilter) String() string {
 20741  	return awsutil.Prettify(s)
 20742  }
 20743  
 20744  // GoString returns the string representation.
 20745  //
 20746  // API parameter values that are decorated as "sensitive" in the API will not
 20747  // be included in the string output. The member name will be present, but the
 20748  // value will be replaced with "sensitive".
 20749  func (s TopicFilter) GoString() string {
 20750  	return s.String()
 20751  }
 20752  
 20753  // SetTopicName sets the TopicName field's value.
 20754  func (s *TopicFilter) SetTopicName(v string) *TopicFilter {
 20755  	s.TopicName = &v
 20756  	return s
 20757  }
 20758  
 20759  // SetUseDefaultIfPreferenceUnavailable sets the UseDefaultIfPreferenceUnavailable field's value.
 20760  func (s *TopicFilter) SetUseDefaultIfPreferenceUnavailable(v bool) *TopicFilter {
 20761  	s.UseDefaultIfPreferenceUnavailable = &v
 20762  	return s
 20763  }
 20764  
 20765  // The contact's preference for being opted-in to or opted-out of a topic.
 20766  type TopicPreference struct {
 20767  	_ struct{} `type:"structure"`
 20768  
 20769  	// The contact's subscription status to a topic which is either OPT_IN or OPT_OUT.
 20770  	//
 20771  	// SubscriptionStatus is a required field
 20772  	SubscriptionStatus *string `type:"string" required:"true" enum:"SubscriptionStatus"`
 20773  
 20774  	// The name of the topic.
 20775  	//
 20776  	// TopicName is a required field
 20777  	TopicName *string `type:"string" required:"true"`
 20778  }
 20779  
 20780  // String returns the string representation.
 20781  //
 20782  // API parameter values that are decorated as "sensitive" in the API will not
 20783  // be included in the string output. The member name will be present, but the
 20784  // value will be replaced with "sensitive".
 20785  func (s TopicPreference) String() string {
 20786  	return awsutil.Prettify(s)
 20787  }
 20788  
 20789  // GoString returns the string representation.
 20790  //
 20791  // API parameter values that are decorated as "sensitive" in the API will not
 20792  // be included in the string output. The member name will be present, but the
 20793  // value will be replaced with "sensitive".
 20794  func (s TopicPreference) GoString() string {
 20795  	return s.String()
 20796  }
 20797  
 20798  // Validate inspects the fields of the type to determine if they are valid.
 20799  func (s *TopicPreference) Validate() error {
 20800  	invalidParams := request.ErrInvalidParams{Context: "TopicPreference"}
 20801  	if s.SubscriptionStatus == nil {
 20802  		invalidParams.Add(request.NewErrParamRequired("SubscriptionStatus"))
 20803  	}
 20804  	if s.TopicName == nil {
 20805  		invalidParams.Add(request.NewErrParamRequired("TopicName"))
 20806  	}
 20807  
 20808  	if invalidParams.Len() > 0 {
 20809  		return invalidParams
 20810  	}
 20811  	return nil
 20812  }
 20813  
 20814  // SetSubscriptionStatus sets the SubscriptionStatus field's value.
 20815  func (s *TopicPreference) SetSubscriptionStatus(v string) *TopicPreference {
 20816  	s.SubscriptionStatus = &v
 20817  	return s
 20818  }
 20819  
 20820  // SetTopicName sets the TopicName field's value.
 20821  func (s *TopicPreference) SetTopicName(v string) *TopicPreference {
 20822  	s.TopicName = &v
 20823  	return s
 20824  }
 20825  
 20826  // An object that defines the tracking options for a configuration set. When
 20827  // you use the Amazon SES API v2 to send an email, it contains an invisible
 20828  // image that's used to track when recipients open your email. If your email
 20829  // contains links, those links are changed slightly in order to track when recipients
 20830  // click them.
 20831  //
 20832  // These images and links include references to a domain operated by Amazon
 20833  // Web Services. You can optionally configure the Amazon SES to use a domain
 20834  // that you operate for these images and links.
 20835  type TrackingOptions struct {
 20836  	_ struct{} `type:"structure"`
 20837  
 20838  	// The domain to use for tracking open and click events.
 20839  	//
 20840  	// CustomRedirectDomain is a required field
 20841  	CustomRedirectDomain *string `type:"string" required:"true"`
 20842  }
 20843  
 20844  // String returns the string representation.
 20845  //
 20846  // API parameter values that are decorated as "sensitive" in the API will not
 20847  // be included in the string output. The member name will be present, but the
 20848  // value will be replaced with "sensitive".
 20849  func (s TrackingOptions) String() string {
 20850  	return awsutil.Prettify(s)
 20851  }
 20852  
 20853  // GoString returns the string representation.
 20854  //
 20855  // API parameter values that are decorated as "sensitive" in the API will not
 20856  // be included in the string output. The member name will be present, but the
 20857  // value will be replaced with "sensitive".
 20858  func (s TrackingOptions) GoString() string {
 20859  	return s.String()
 20860  }
 20861  
 20862  // Validate inspects the fields of the type to determine if they are valid.
 20863  func (s *TrackingOptions) Validate() error {
 20864  	invalidParams := request.ErrInvalidParams{Context: "TrackingOptions"}
 20865  	if s.CustomRedirectDomain == nil {
 20866  		invalidParams.Add(request.NewErrParamRequired("CustomRedirectDomain"))
 20867  	}
 20868  
 20869  	if invalidParams.Len() > 0 {
 20870  		return invalidParams
 20871  	}
 20872  	return nil
 20873  }
 20874  
 20875  // SetCustomRedirectDomain sets the CustomRedirectDomain field's value.
 20876  func (s *TrackingOptions) SetCustomRedirectDomain(v string) *TrackingOptions {
 20877  	s.CustomRedirectDomain = &v
 20878  	return s
 20879  }
 20880  
 20881  type UntagResourceInput struct {
 20882  	_ struct{} `type:"structure" nopayload:"true"`
 20883  
 20884  	// The Amazon Resource Name (ARN) of the resource that you want to remove one
 20885  	// or more tags from.
 20886  	//
 20887  	// ResourceArn is a required field
 20888  	ResourceArn *string `location:"querystring" locationName:"ResourceArn" type:"string" required:"true"`
 20889  
 20890  	// The tags (tag keys) that you want to remove from the resource. When you specify
 20891  	// a tag key, the action removes both that key and its associated tag value.
 20892  	//
 20893  	// To remove more than one tag from the resource, append the TagKeys parameter
 20894  	// and argument for each additional tag to remove, separated by an ampersand.
 20895  	// For example: /v2/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2
 20896  	//
 20897  	// TagKeys is a required field
 20898  	TagKeys []*string `location:"querystring" locationName:"TagKeys" type:"list" required:"true"`
 20899  }
 20900  
 20901  // String returns the string representation.
 20902  //
 20903  // API parameter values that are decorated as "sensitive" in the API will not
 20904  // be included in the string output. The member name will be present, but the
 20905  // value will be replaced with "sensitive".
 20906  func (s UntagResourceInput) String() string {
 20907  	return awsutil.Prettify(s)
 20908  }
 20909  
 20910  // GoString returns the string representation.
 20911  //
 20912  // API parameter values that are decorated as "sensitive" in the API will not
 20913  // be included in the string output. The member name will be present, but the
 20914  // value will be replaced with "sensitive".
 20915  func (s UntagResourceInput) GoString() string {
 20916  	return s.String()
 20917  }
 20918  
 20919  // Validate inspects the fields of the type to determine if they are valid.
 20920  func (s *UntagResourceInput) Validate() error {
 20921  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 20922  	if s.ResourceArn == nil {
 20923  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 20924  	}
 20925  	if s.TagKeys == nil {
 20926  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 20927  	}
 20928  
 20929  	if invalidParams.Len() > 0 {
 20930  		return invalidParams
 20931  	}
 20932  	return nil
 20933  }
 20934  
 20935  // SetResourceArn sets the ResourceArn field's value.
 20936  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 20937  	s.ResourceArn = &v
 20938  	return s
 20939  }
 20940  
 20941  // SetTagKeys sets the TagKeys field's value.
 20942  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 20943  	s.TagKeys = v
 20944  	return s
 20945  }
 20946  
 20947  type UntagResourceOutput struct {
 20948  	_ struct{} `type:"structure" nopayload:"true"`
 20949  }
 20950  
 20951  // String returns the string representation.
 20952  //
 20953  // API parameter values that are decorated as "sensitive" in the API will not
 20954  // be included in the string output. The member name will be present, but the
 20955  // value will be replaced with "sensitive".
 20956  func (s UntagResourceOutput) String() string {
 20957  	return awsutil.Prettify(s)
 20958  }
 20959  
 20960  // GoString returns the string representation.
 20961  //
 20962  // API parameter values that are decorated as "sensitive" in the API will not
 20963  // be included in the string output. The member name will be present, but the
 20964  // value will be replaced with "sensitive".
 20965  func (s UntagResourceOutput) GoString() string {
 20966  	return s.String()
 20967  }
 20968  
 20969  // A request to change the settings for an event destination for a configuration
 20970  // set.
 20971  type UpdateConfigurationSetEventDestinationInput struct {
 20972  	_ struct{} `type:"structure"`
 20973  
 20974  	// The name of the configuration set that contains the event destination to
 20975  	// modify.
 20976  	//
 20977  	// ConfigurationSetName is a required field
 20978  	ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"`
 20979  
 20980  	// An object that defines the event destination.
 20981  	//
 20982  	// EventDestination is a required field
 20983  	EventDestination *EventDestinationDefinition `type:"structure" required:"true"`
 20984  
 20985  	// The name of the event destination.
 20986  	//
 20987  	// EventDestinationName is a required field
 20988  	EventDestinationName *string `location:"uri" locationName:"EventDestinationName" type:"string" required:"true"`
 20989  }
 20990  
 20991  // String returns the string representation.
 20992  //
 20993  // API parameter values that are decorated as "sensitive" in the API will not
 20994  // be included in the string output. The member name will be present, but the
 20995  // value will be replaced with "sensitive".
 20996  func (s UpdateConfigurationSetEventDestinationInput) String() string {
 20997  	return awsutil.Prettify(s)
 20998  }
 20999  
 21000  // GoString returns the string representation.
 21001  //
 21002  // API parameter values that are decorated as "sensitive" in the API will not
 21003  // be included in the string output. The member name will be present, but the
 21004  // value will be replaced with "sensitive".
 21005  func (s UpdateConfigurationSetEventDestinationInput) GoString() string {
 21006  	return s.String()
 21007  }
 21008  
 21009  // Validate inspects the fields of the type to determine if they are valid.
 21010  func (s *UpdateConfigurationSetEventDestinationInput) Validate() error {
 21011  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetEventDestinationInput"}
 21012  	if s.ConfigurationSetName == nil {
 21013  		invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName"))
 21014  	}
 21015  	if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 {
 21016  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1))
 21017  	}
 21018  	if s.EventDestination == nil {
 21019  		invalidParams.Add(request.NewErrParamRequired("EventDestination"))
 21020  	}
 21021  	if s.EventDestinationName == nil {
 21022  		invalidParams.Add(request.NewErrParamRequired("EventDestinationName"))
 21023  	}
 21024  	if s.EventDestinationName != nil && len(*s.EventDestinationName) < 1 {
 21025  		invalidParams.Add(request.NewErrParamMinLen("EventDestinationName", 1))
 21026  	}
 21027  	if s.EventDestination != nil {
 21028  		if err := s.EventDestination.Validate(); err != nil {
 21029  			invalidParams.AddNested("EventDestination", err.(request.ErrInvalidParams))
 21030  		}
 21031  	}
 21032  
 21033  	if invalidParams.Len() > 0 {
 21034  		return invalidParams
 21035  	}
 21036  	return nil
 21037  }
 21038  
 21039  // SetConfigurationSetName sets the ConfigurationSetName field's value.
 21040  func (s *UpdateConfigurationSetEventDestinationInput) SetConfigurationSetName(v string) *UpdateConfigurationSetEventDestinationInput {
 21041  	s.ConfigurationSetName = &v
 21042  	return s
 21043  }
 21044  
 21045  // SetEventDestination sets the EventDestination field's value.
 21046  func (s *UpdateConfigurationSetEventDestinationInput) SetEventDestination(v *EventDestinationDefinition) *UpdateConfigurationSetEventDestinationInput {
 21047  	s.EventDestination = v
 21048  	return s
 21049  }
 21050  
 21051  // SetEventDestinationName sets the EventDestinationName field's value.
 21052  func (s *UpdateConfigurationSetEventDestinationInput) SetEventDestinationName(v string) *UpdateConfigurationSetEventDestinationInput {
 21053  	s.EventDestinationName = &v
 21054  	return s
 21055  }
 21056  
 21057  // An HTTP 200 response if the request succeeds, or an error message if the
 21058  // request fails.
 21059  type UpdateConfigurationSetEventDestinationOutput struct {
 21060  	_ struct{} `type:"structure" nopayload:"true"`
 21061  }
 21062  
 21063  // String returns the string representation.
 21064  //
 21065  // API parameter values that are decorated as "sensitive" in the API will not
 21066  // be included in the string output. The member name will be present, but the
 21067  // value will be replaced with "sensitive".
 21068  func (s UpdateConfigurationSetEventDestinationOutput) String() string {
 21069  	return awsutil.Prettify(s)
 21070  }
 21071  
 21072  // GoString returns the string representation.
 21073  //
 21074  // API parameter values that are decorated as "sensitive" in the API will not
 21075  // be included in the string output. The member name will be present, but the
 21076  // value will be replaced with "sensitive".
 21077  func (s UpdateConfigurationSetEventDestinationOutput) GoString() string {
 21078  	return s.String()
 21079  }
 21080  
 21081  type UpdateContactInput struct {
 21082  	_ struct{} `type:"structure"`
 21083  
 21084  	// The attribute data attached to a contact.
 21085  	AttributesData *string `type:"string"`
 21086  
 21087  	// The name of the contact list.
 21088  	//
 21089  	// ContactListName is a required field
 21090  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 21091  
 21092  	// The contact's email addres.
 21093  	//
 21094  	// EmailAddress is a required field
 21095  	EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"`
 21096  
 21097  	// The contact's preference for being opted-in to or opted-out of a topic.
 21098  	TopicPreferences []*TopicPreference `type:"list"`
 21099  
 21100  	// A boolean value status noting if the contact is unsubscribed from all contact
 21101  	// list topics.
 21102  	UnsubscribeAll *bool `type:"boolean"`
 21103  }
 21104  
 21105  // String returns the string representation.
 21106  //
 21107  // API parameter values that are decorated as "sensitive" in the API will not
 21108  // be included in the string output. The member name will be present, but the
 21109  // value will be replaced with "sensitive".
 21110  func (s UpdateContactInput) String() string {
 21111  	return awsutil.Prettify(s)
 21112  }
 21113  
 21114  // GoString returns the string representation.
 21115  //
 21116  // API parameter values that are decorated as "sensitive" in the API will not
 21117  // be included in the string output. The member name will be present, but the
 21118  // value will be replaced with "sensitive".
 21119  func (s UpdateContactInput) GoString() string {
 21120  	return s.String()
 21121  }
 21122  
 21123  // Validate inspects the fields of the type to determine if they are valid.
 21124  func (s *UpdateContactInput) Validate() error {
 21125  	invalidParams := request.ErrInvalidParams{Context: "UpdateContactInput"}
 21126  	if s.ContactListName == nil {
 21127  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 21128  	}
 21129  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 21130  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 21131  	}
 21132  	if s.EmailAddress == nil {
 21133  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
 21134  	}
 21135  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
 21136  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
 21137  	}
 21138  	if s.TopicPreferences != nil {
 21139  		for i, v := range s.TopicPreferences {
 21140  			if v == nil {
 21141  				continue
 21142  			}
 21143  			if err := v.Validate(); err != nil {
 21144  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicPreferences", i), err.(request.ErrInvalidParams))
 21145  			}
 21146  		}
 21147  	}
 21148  
 21149  	if invalidParams.Len() > 0 {
 21150  		return invalidParams
 21151  	}
 21152  	return nil
 21153  }
 21154  
 21155  // SetAttributesData sets the AttributesData field's value.
 21156  func (s *UpdateContactInput) SetAttributesData(v string) *UpdateContactInput {
 21157  	s.AttributesData = &v
 21158  	return s
 21159  }
 21160  
 21161  // SetContactListName sets the ContactListName field's value.
 21162  func (s *UpdateContactInput) SetContactListName(v string) *UpdateContactInput {
 21163  	s.ContactListName = &v
 21164  	return s
 21165  }
 21166  
 21167  // SetEmailAddress sets the EmailAddress field's value.
 21168  func (s *UpdateContactInput) SetEmailAddress(v string) *UpdateContactInput {
 21169  	s.EmailAddress = &v
 21170  	return s
 21171  }
 21172  
 21173  // SetTopicPreferences sets the TopicPreferences field's value.
 21174  func (s *UpdateContactInput) SetTopicPreferences(v []*TopicPreference) *UpdateContactInput {
 21175  	s.TopicPreferences = v
 21176  	return s
 21177  }
 21178  
 21179  // SetUnsubscribeAll sets the UnsubscribeAll field's value.
 21180  func (s *UpdateContactInput) SetUnsubscribeAll(v bool) *UpdateContactInput {
 21181  	s.UnsubscribeAll = &v
 21182  	return s
 21183  }
 21184  
 21185  type UpdateContactListInput struct {
 21186  	_ struct{} `type:"structure"`
 21187  
 21188  	// The name of the contact list.
 21189  	//
 21190  	// ContactListName is a required field
 21191  	ContactListName *string `location:"uri" locationName:"ContactListName" type:"string" required:"true"`
 21192  
 21193  	// A description of what the contact list is about.
 21194  	Description *string `type:"string"`
 21195  
 21196  	// An interest group, theme, or label within a list. A contact list can have
 21197  	// multiple topics.
 21198  	Topics []*Topic `type:"list"`
 21199  }
 21200  
 21201  // String returns the string representation.
 21202  //
 21203  // API parameter values that are decorated as "sensitive" in the API will not
 21204  // be included in the string output. The member name will be present, but the
 21205  // value will be replaced with "sensitive".
 21206  func (s UpdateContactListInput) String() string {
 21207  	return awsutil.Prettify(s)
 21208  }
 21209  
 21210  // GoString returns the string representation.
 21211  //
 21212  // API parameter values that are decorated as "sensitive" in the API will not
 21213  // be included in the string output. The member name will be present, but the
 21214  // value will be replaced with "sensitive".
 21215  func (s UpdateContactListInput) GoString() string {
 21216  	return s.String()
 21217  }
 21218  
 21219  // Validate inspects the fields of the type to determine if they are valid.
 21220  func (s *UpdateContactListInput) Validate() error {
 21221  	invalidParams := request.ErrInvalidParams{Context: "UpdateContactListInput"}
 21222  	if s.ContactListName == nil {
 21223  		invalidParams.Add(request.NewErrParamRequired("ContactListName"))
 21224  	}
 21225  	if s.ContactListName != nil && len(*s.ContactListName) < 1 {
 21226  		invalidParams.Add(request.NewErrParamMinLen("ContactListName", 1))
 21227  	}
 21228  	if s.Topics != nil {
 21229  		for i, v := range s.Topics {
 21230  			if v == nil {
 21231  				continue
 21232  			}
 21233  			if err := v.Validate(); err != nil {
 21234  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Topics", i), err.(request.ErrInvalidParams))
 21235  			}
 21236  		}
 21237  	}
 21238  
 21239  	if invalidParams.Len() > 0 {
 21240  		return invalidParams
 21241  	}
 21242  	return nil
 21243  }
 21244  
 21245  // SetContactListName sets the ContactListName field's value.
 21246  func (s *UpdateContactListInput) SetContactListName(v string) *UpdateContactListInput {
 21247  	s.ContactListName = &v
 21248  	return s
 21249  }
 21250  
 21251  // SetDescription sets the Description field's value.
 21252  func (s *UpdateContactListInput) SetDescription(v string) *UpdateContactListInput {
 21253  	s.Description = &v
 21254  	return s
 21255  }
 21256  
 21257  // SetTopics sets the Topics field's value.
 21258  func (s *UpdateContactListInput) SetTopics(v []*Topic) *UpdateContactListInput {
 21259  	s.Topics = v
 21260  	return s
 21261  }
 21262  
 21263  type UpdateContactListOutput struct {
 21264  	_ struct{} `type:"structure" nopayload:"true"`
 21265  }
 21266  
 21267  // String returns the string representation.
 21268  //
 21269  // API parameter values that are decorated as "sensitive" in the API will not
 21270  // be included in the string output. The member name will be present, but the
 21271  // value will be replaced with "sensitive".
 21272  func (s UpdateContactListOutput) String() string {
 21273  	return awsutil.Prettify(s)
 21274  }
 21275  
 21276  // GoString returns the string representation.
 21277  //
 21278  // API parameter values that are decorated as "sensitive" in the API will not
 21279  // be included in the string output. The member name will be present, but the
 21280  // value will be replaced with "sensitive".
 21281  func (s UpdateContactListOutput) GoString() string {
 21282  	return s.String()
 21283  }
 21284  
 21285  type UpdateContactOutput struct {
 21286  	_ struct{} `type:"structure" nopayload:"true"`
 21287  }
 21288  
 21289  // String returns the string representation.
 21290  //
 21291  // API parameter values that are decorated as "sensitive" in the API will not
 21292  // be included in the string output. The member name will be present, but the
 21293  // value will be replaced with "sensitive".
 21294  func (s UpdateContactOutput) String() string {
 21295  	return awsutil.Prettify(s)
 21296  }
 21297  
 21298  // GoString returns the string representation.
 21299  //
 21300  // API parameter values that are decorated as "sensitive" in the API will not
 21301  // be included in the string output. The member name will be present, but the
 21302  // value will be replaced with "sensitive".
 21303  func (s UpdateContactOutput) GoString() string {
 21304  	return s.String()
 21305  }
 21306  
 21307  // Represents a request to update an existing custom verification email template.
 21308  type UpdateCustomVerificationEmailTemplateInput struct {
 21309  	_ struct{} `type:"structure"`
 21310  
 21311  	// The URL that the recipient of the verification email is sent to if his or
 21312  	// her address is not successfully verified.
 21313  	//
 21314  	// FailureRedirectionURL is a required field
 21315  	FailureRedirectionURL *string `type:"string" required:"true"`
 21316  
 21317  	// The email address that the custom verification email is sent from.
 21318  	//
 21319  	// FromEmailAddress is a required field
 21320  	FromEmailAddress *string `type:"string" required:"true"`
 21321  
 21322  	// The URL that the recipient of the verification email is sent to if his or
 21323  	// her address is successfully verified.
 21324  	//
 21325  	// SuccessRedirectionURL is a required field
 21326  	SuccessRedirectionURL *string `type:"string" required:"true"`
 21327  
 21328  	// The content of the custom verification email. The total size of the email
 21329  	// must be less than 10 MB. The message body may contain HTML, with some limitations.
 21330  	// For more information, see Custom Verification Email Frequently Asked Questions
 21331  	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html#custom-verification-emails-faq)
 21332  	// in the Amazon SES Developer Guide.
 21333  	//
 21334  	// TemplateContent is a required field
 21335  	TemplateContent *string `type:"string" required:"true"`
 21336  
 21337  	// The name of the custom verification email template that you want to update.
 21338  	//
 21339  	// TemplateName is a required field
 21340  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 21341  
 21342  	// The subject line of the custom verification email.
 21343  	//
 21344  	// TemplateSubject is a required field
 21345  	TemplateSubject *string `type:"string" required:"true"`
 21346  }
 21347  
 21348  // String returns the string representation.
 21349  //
 21350  // API parameter values that are decorated as "sensitive" in the API will not
 21351  // be included in the string output. The member name will be present, but the
 21352  // value will be replaced with "sensitive".
 21353  func (s UpdateCustomVerificationEmailTemplateInput) String() string {
 21354  	return awsutil.Prettify(s)
 21355  }
 21356  
 21357  // GoString returns the string representation.
 21358  //
 21359  // API parameter values that are decorated as "sensitive" in the API will not
 21360  // be included in the string output. The member name will be present, but the
 21361  // value will be replaced with "sensitive".
 21362  func (s UpdateCustomVerificationEmailTemplateInput) GoString() string {
 21363  	return s.String()
 21364  }
 21365  
 21366  // Validate inspects the fields of the type to determine if they are valid.
 21367  func (s *UpdateCustomVerificationEmailTemplateInput) Validate() error {
 21368  	invalidParams := request.ErrInvalidParams{Context: "UpdateCustomVerificationEmailTemplateInput"}
 21369  	if s.FailureRedirectionURL == nil {
 21370  		invalidParams.Add(request.NewErrParamRequired("FailureRedirectionURL"))
 21371  	}
 21372  	if s.FromEmailAddress == nil {
 21373  		invalidParams.Add(request.NewErrParamRequired("FromEmailAddress"))
 21374  	}
 21375  	if s.SuccessRedirectionURL == nil {
 21376  		invalidParams.Add(request.NewErrParamRequired("SuccessRedirectionURL"))
 21377  	}
 21378  	if s.TemplateContent == nil {
 21379  		invalidParams.Add(request.NewErrParamRequired("TemplateContent"))
 21380  	}
 21381  	if s.TemplateName == nil {
 21382  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 21383  	}
 21384  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 21385  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 21386  	}
 21387  	if s.TemplateSubject == nil {
 21388  		invalidParams.Add(request.NewErrParamRequired("TemplateSubject"))
 21389  	}
 21390  
 21391  	if invalidParams.Len() > 0 {
 21392  		return invalidParams
 21393  	}
 21394  	return nil
 21395  }
 21396  
 21397  // SetFailureRedirectionURL sets the FailureRedirectionURL field's value.
 21398  func (s *UpdateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput {
 21399  	s.FailureRedirectionURL = &v
 21400  	return s
 21401  }
 21402  
 21403  // SetFromEmailAddress sets the FromEmailAddress field's value.
 21404  func (s *UpdateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *UpdateCustomVerificationEmailTemplateInput {
 21405  	s.FromEmailAddress = &v
 21406  	return s
 21407  }
 21408  
 21409  // SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value.
 21410  func (s *UpdateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput {
 21411  	s.SuccessRedirectionURL = &v
 21412  	return s
 21413  }
 21414  
 21415  // SetTemplateContent sets the TemplateContent field's value.
 21416  func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *UpdateCustomVerificationEmailTemplateInput {
 21417  	s.TemplateContent = &v
 21418  	return s
 21419  }
 21420  
 21421  // SetTemplateName sets the TemplateName field's value.
 21422  func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *UpdateCustomVerificationEmailTemplateInput {
 21423  	s.TemplateName = &v
 21424  	return s
 21425  }
 21426  
 21427  // SetTemplateSubject sets the TemplateSubject field's value.
 21428  func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *UpdateCustomVerificationEmailTemplateInput {
 21429  	s.TemplateSubject = &v
 21430  	return s
 21431  }
 21432  
 21433  // If the action is successful, the service sends back an HTTP 200 response
 21434  // with an empty HTTP body.
 21435  type UpdateCustomVerificationEmailTemplateOutput struct {
 21436  	_ struct{} `type:"structure" nopayload:"true"`
 21437  }
 21438  
 21439  // String returns the string representation.
 21440  //
 21441  // API parameter values that are decorated as "sensitive" in the API will not
 21442  // be included in the string output. The member name will be present, but the
 21443  // value will be replaced with "sensitive".
 21444  func (s UpdateCustomVerificationEmailTemplateOutput) String() string {
 21445  	return awsutil.Prettify(s)
 21446  }
 21447  
 21448  // GoString returns the string representation.
 21449  //
 21450  // API parameter values that are decorated as "sensitive" in the API will not
 21451  // be included in the string output. The member name will be present, but the
 21452  // value will be replaced with "sensitive".
 21453  func (s UpdateCustomVerificationEmailTemplateOutput) GoString() string {
 21454  	return s.String()
 21455  }
 21456  
 21457  // Represents a request to update a sending authorization policy for an identity.
 21458  // Sending authorization is an Amazon SES feature that enables you to authorize
 21459  // other senders to use your identities. For information, see the Amazon SES
 21460  // Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-management.html).
 21461  type UpdateEmailIdentityPolicyInput struct {
 21462  	_ struct{} `type:"structure"`
 21463  
 21464  	// The email identity.
 21465  	//
 21466  	// EmailIdentity is a required field
 21467  	EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"`
 21468  
 21469  	// The text of the policy in JSON format. The policy cannot exceed 4 KB.
 21470  	//
 21471  	// For information about the syntax of sending authorization policies, see the
 21472  	// Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html).
 21473  	//
 21474  	// Policy is a required field
 21475  	Policy *string `min:"1" type:"string" required:"true"`
 21476  
 21477  	// The name of the policy.
 21478  	//
 21479  	// The policy name cannot exceed 64 characters and can only include alphanumeric
 21480  	// characters, dashes, and underscores.
 21481  	//
 21482  	// PolicyName is a required field
 21483  	PolicyName *string `location:"uri" locationName:"PolicyName" min:"1" type:"string" required:"true"`
 21484  }
 21485  
 21486  // String returns the string representation.
 21487  //
 21488  // API parameter values that are decorated as "sensitive" in the API will not
 21489  // be included in the string output. The member name will be present, but the
 21490  // value will be replaced with "sensitive".
 21491  func (s UpdateEmailIdentityPolicyInput) String() string {
 21492  	return awsutil.Prettify(s)
 21493  }
 21494  
 21495  // GoString returns the string representation.
 21496  //
 21497  // API parameter values that are decorated as "sensitive" in the API will not
 21498  // be included in the string output. The member name will be present, but the
 21499  // value will be replaced with "sensitive".
 21500  func (s UpdateEmailIdentityPolicyInput) GoString() string {
 21501  	return s.String()
 21502  }
 21503  
 21504  // Validate inspects the fields of the type to determine if they are valid.
 21505  func (s *UpdateEmailIdentityPolicyInput) Validate() error {
 21506  	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailIdentityPolicyInput"}
 21507  	if s.EmailIdentity == nil {
 21508  		invalidParams.Add(request.NewErrParamRequired("EmailIdentity"))
 21509  	}
 21510  	if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 {
 21511  		invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1))
 21512  	}
 21513  	if s.Policy == nil {
 21514  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 21515  	}
 21516  	if s.Policy != nil && len(*s.Policy) < 1 {
 21517  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 21518  	}
 21519  	if s.PolicyName == nil {
 21520  		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
 21521  	}
 21522  	if s.PolicyName != nil && len(*s.PolicyName) < 1 {
 21523  		invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
 21524  	}
 21525  
 21526  	if invalidParams.Len() > 0 {
 21527  		return invalidParams
 21528  	}
 21529  	return nil
 21530  }
 21531  
 21532  // SetEmailIdentity sets the EmailIdentity field's value.
 21533  func (s *UpdateEmailIdentityPolicyInput) SetEmailIdentity(v string) *UpdateEmailIdentityPolicyInput {
 21534  	s.EmailIdentity = &v
 21535  	return s
 21536  }
 21537  
 21538  // SetPolicy sets the Policy field's value.
 21539  func (s *UpdateEmailIdentityPolicyInput) SetPolicy(v string) *UpdateEmailIdentityPolicyInput {
 21540  	s.Policy = &v
 21541  	return s
 21542  }
 21543  
 21544  // SetPolicyName sets the PolicyName field's value.
 21545  func (s *UpdateEmailIdentityPolicyInput) SetPolicyName(v string) *UpdateEmailIdentityPolicyInput {
 21546  	s.PolicyName = &v
 21547  	return s
 21548  }
 21549  
 21550  // An HTTP 200 response if the request succeeds, or an error message if the
 21551  // request fails.
 21552  type UpdateEmailIdentityPolicyOutput struct {
 21553  	_ struct{} `type:"structure" nopayload:"true"`
 21554  }
 21555  
 21556  // String returns the string representation.
 21557  //
 21558  // API parameter values that are decorated as "sensitive" in the API will not
 21559  // be included in the string output. The member name will be present, but the
 21560  // value will be replaced with "sensitive".
 21561  func (s UpdateEmailIdentityPolicyOutput) String() string {
 21562  	return awsutil.Prettify(s)
 21563  }
 21564  
 21565  // GoString returns the string representation.
 21566  //
 21567  // API parameter values that are decorated as "sensitive" in the API will not
 21568  // be included in the string output. The member name will be present, but the
 21569  // value will be replaced with "sensitive".
 21570  func (s UpdateEmailIdentityPolicyOutput) GoString() string {
 21571  	return s.String()
 21572  }
 21573  
 21574  // Represents a request to update an email template. For more information, see
 21575  // the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html).
 21576  type UpdateEmailTemplateInput struct {
 21577  	_ struct{} `type:"structure"`
 21578  
 21579  	// The content of the email template, composed of a subject line, an HTML part,
 21580  	// and a text-only part.
 21581  	//
 21582  	// TemplateContent is a required field
 21583  	TemplateContent *EmailTemplateContent `type:"structure" required:"true"`
 21584  
 21585  	// The name of the template.
 21586  	//
 21587  	// TemplateName is a required field
 21588  	TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"`
 21589  }
 21590  
 21591  // String returns the string representation.
 21592  //
 21593  // API parameter values that are decorated as "sensitive" in the API will not
 21594  // be included in the string output. The member name will be present, but the
 21595  // value will be replaced with "sensitive".
 21596  func (s UpdateEmailTemplateInput) String() string {
 21597  	return awsutil.Prettify(s)
 21598  }
 21599  
 21600  // GoString returns the string representation.
 21601  //
 21602  // API parameter values that are decorated as "sensitive" in the API will not
 21603  // be included in the string output. The member name will be present, but the
 21604  // value will be replaced with "sensitive".
 21605  func (s UpdateEmailTemplateInput) GoString() string {
 21606  	return s.String()
 21607  }
 21608  
 21609  // Validate inspects the fields of the type to determine if they are valid.
 21610  func (s *UpdateEmailTemplateInput) Validate() error {
 21611  	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
 21612  	if s.TemplateContent == nil {
 21613  		invalidParams.Add(request.NewErrParamRequired("TemplateContent"))
 21614  	}
 21615  	if s.TemplateName == nil {
 21616  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 21617  	}
 21618  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 21619  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 21620  	}
 21621  
 21622  	if invalidParams.Len() > 0 {
 21623  		return invalidParams
 21624  	}
 21625  	return nil
 21626  }
 21627  
 21628  // SetTemplateContent sets the TemplateContent field's value.
 21629  func (s *UpdateEmailTemplateInput) SetTemplateContent(v *EmailTemplateContent) *UpdateEmailTemplateInput {
 21630  	s.TemplateContent = v
 21631  	return s
 21632  }
 21633  
 21634  // SetTemplateName sets the TemplateName field's value.
 21635  func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
 21636  	s.TemplateName = &v
 21637  	return s
 21638  }
 21639  
 21640  // If the action is successful, the service sends back an HTTP 200 response
 21641  // with an empty HTTP body.
 21642  type UpdateEmailTemplateOutput struct {
 21643  	_ struct{} `type:"structure" nopayload:"true"`
 21644  }
 21645  
 21646  // String returns the string representation.
 21647  //
 21648  // API parameter values that are decorated as "sensitive" in the API will not
 21649  // be included in the string output. The member name will be present, but the
 21650  // value will be replaced with "sensitive".
 21651  func (s UpdateEmailTemplateOutput) String() string {
 21652  	return awsutil.Prettify(s)
 21653  }
 21654  
 21655  // GoString returns the string representation.
 21656  //
 21657  // API parameter values that are decorated as "sensitive" in the API will not
 21658  // be included in the string output. The member name will be present, but the
 21659  // value will be replaced with "sensitive".
 21660  func (s UpdateEmailTemplateOutput) GoString() string {
 21661  	return s.String()
 21662  }
 21663  
 21664  // An object that contains information about the amount of email that was delivered
 21665  // to recipients.
 21666  type VolumeStatistics struct {
 21667  	_ struct{} `type:"structure"`
 21668  
 21669  	// The total number of emails that arrived in recipients' inboxes.
 21670  	InboxRawCount *int64 `type:"long"`
 21671  
 21672  	// An estimate of the percentage of emails sent from the current domain that
 21673  	// will arrive in recipients' inboxes.
 21674  	ProjectedInbox *int64 `type:"long"`
 21675  
 21676  	// An estimate of the percentage of emails sent from the current domain that
 21677  	// will arrive in recipients' spam or junk mail folders.
 21678  	ProjectedSpam *int64 `type:"long"`
 21679  
 21680  	// The total number of emails that arrived in recipients' spam or junk mail
 21681  	// folders.
 21682  	SpamRawCount *int64 `type:"long"`
 21683  }
 21684  
 21685  // String returns the string representation.
 21686  //
 21687  // API parameter values that are decorated as "sensitive" in the API will not
 21688  // be included in the string output. The member name will be present, but the
 21689  // value will be replaced with "sensitive".
 21690  func (s VolumeStatistics) String() string {
 21691  	return awsutil.Prettify(s)
 21692  }
 21693  
 21694  // GoString returns the string representation.
 21695  //
 21696  // API parameter values that are decorated as "sensitive" in the API will not
 21697  // be included in the string output. The member name will be present, but the
 21698  // value will be replaced with "sensitive".
 21699  func (s VolumeStatistics) GoString() string {
 21700  	return s.String()
 21701  }
 21702  
 21703  // SetInboxRawCount sets the InboxRawCount field's value.
 21704  func (s *VolumeStatistics) SetInboxRawCount(v int64) *VolumeStatistics {
 21705  	s.InboxRawCount = &v
 21706  	return s
 21707  }
 21708  
 21709  // SetProjectedInbox sets the ProjectedInbox field's value.
 21710  func (s *VolumeStatistics) SetProjectedInbox(v int64) *VolumeStatistics {
 21711  	s.ProjectedInbox = &v
 21712  	return s
 21713  }
 21714  
 21715  // SetProjectedSpam sets the ProjectedSpam field's value.
 21716  func (s *VolumeStatistics) SetProjectedSpam(v int64) *VolumeStatistics {
 21717  	s.ProjectedSpam = &v
 21718  	return s
 21719  }
 21720  
 21721  // SetSpamRawCount sets the SpamRawCount field's value.
 21722  func (s *VolumeStatistics) SetSpamRawCount(v int64) *VolumeStatistics {
 21723  	s.SpamRawCount = &v
 21724  	return s
 21725  }
 21726  
 21727  // The action to take if the required MX record can't be found when you send
 21728  // an email. When you set this value to UseDefaultValue, the mail is sent using
 21729  // amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage,
 21730  // the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't
 21731  // attempt to deliver the email.
 21732  //
 21733  // These behaviors are taken when the custom MAIL FROM domain configuration
 21734  // is in the Pending, Failed, and TemporaryFailure states.
 21735  const (
 21736  	// BehaviorOnMxFailureUseDefaultValue is a BehaviorOnMxFailure enum value
 21737  	BehaviorOnMxFailureUseDefaultValue = "USE_DEFAULT_VALUE"
 21738  
 21739  	// BehaviorOnMxFailureRejectMessage is a BehaviorOnMxFailure enum value
 21740  	BehaviorOnMxFailureRejectMessage = "REJECT_MESSAGE"
 21741  )
 21742  
 21743  // BehaviorOnMxFailure_Values returns all elements of the BehaviorOnMxFailure enum
 21744  func BehaviorOnMxFailure_Values() []string {
 21745  	return []string{
 21746  		BehaviorOnMxFailureUseDefaultValue,
 21747  		BehaviorOnMxFailureRejectMessage,
 21748  	}
 21749  }
 21750  
 21751  const (
 21752  	// BulkEmailStatusSuccess is a BulkEmailStatus enum value
 21753  	BulkEmailStatusSuccess = "SUCCESS"
 21754  
 21755  	// BulkEmailStatusMessageRejected is a BulkEmailStatus enum value
 21756  	BulkEmailStatusMessageRejected = "MESSAGE_REJECTED"
 21757  
 21758  	// BulkEmailStatusMailFromDomainNotVerified is a BulkEmailStatus enum value
 21759  	BulkEmailStatusMailFromDomainNotVerified = "MAIL_FROM_DOMAIN_NOT_VERIFIED"
 21760  
 21761  	// BulkEmailStatusConfigurationSetNotFound is a BulkEmailStatus enum value
 21762  	BulkEmailStatusConfigurationSetNotFound = "CONFIGURATION_SET_NOT_FOUND"
 21763  
 21764  	// BulkEmailStatusTemplateNotFound is a BulkEmailStatus enum value
 21765  	BulkEmailStatusTemplateNotFound = "TEMPLATE_NOT_FOUND"
 21766  
 21767  	// BulkEmailStatusAccountSuspended is a BulkEmailStatus enum value
 21768  	BulkEmailStatusAccountSuspended = "ACCOUNT_SUSPENDED"
 21769  
 21770  	// BulkEmailStatusAccountThrottled is a BulkEmailStatus enum value
 21771  	BulkEmailStatusAccountThrottled = "ACCOUNT_THROTTLED"
 21772  
 21773  	// BulkEmailStatusAccountDailyQuotaExceeded is a BulkEmailStatus enum value
 21774  	BulkEmailStatusAccountDailyQuotaExceeded = "ACCOUNT_DAILY_QUOTA_EXCEEDED"
 21775  
 21776  	// BulkEmailStatusInvalidSendingPoolName is a BulkEmailStatus enum value
 21777  	BulkEmailStatusInvalidSendingPoolName = "INVALID_SENDING_POOL_NAME"
 21778  
 21779  	// BulkEmailStatusAccountSendingPaused is a BulkEmailStatus enum value
 21780  	BulkEmailStatusAccountSendingPaused = "ACCOUNT_SENDING_PAUSED"
 21781  
 21782  	// BulkEmailStatusConfigurationSetSendingPaused is a BulkEmailStatus enum value
 21783  	BulkEmailStatusConfigurationSetSendingPaused = "CONFIGURATION_SET_SENDING_PAUSED"
 21784  
 21785  	// BulkEmailStatusInvalidParameter is a BulkEmailStatus enum value
 21786  	BulkEmailStatusInvalidParameter = "INVALID_PARAMETER"
 21787  
 21788  	// BulkEmailStatusTransientFailure is a BulkEmailStatus enum value
 21789  	BulkEmailStatusTransientFailure = "TRANSIENT_FAILURE"
 21790  
 21791  	// BulkEmailStatusFailed is a BulkEmailStatus enum value
 21792  	BulkEmailStatusFailed = "FAILED"
 21793  )
 21794  
 21795  // BulkEmailStatus_Values returns all elements of the BulkEmailStatus enum
 21796  func BulkEmailStatus_Values() []string {
 21797  	return []string{
 21798  		BulkEmailStatusSuccess,
 21799  		BulkEmailStatusMessageRejected,
 21800  		BulkEmailStatusMailFromDomainNotVerified,
 21801  		BulkEmailStatusConfigurationSetNotFound,
 21802  		BulkEmailStatusTemplateNotFound,
 21803  		BulkEmailStatusAccountSuspended,
 21804  		BulkEmailStatusAccountThrottled,
 21805  		BulkEmailStatusAccountDailyQuotaExceeded,
 21806  		BulkEmailStatusInvalidSendingPoolName,
 21807  		BulkEmailStatusAccountSendingPaused,
 21808  		BulkEmailStatusConfigurationSetSendingPaused,
 21809  		BulkEmailStatusInvalidParameter,
 21810  		BulkEmailStatusTransientFailure,
 21811  		BulkEmailStatusFailed,
 21812  	}
 21813  }
 21814  
 21815  const (
 21816  	// ContactLanguageEn is a ContactLanguage enum value
 21817  	ContactLanguageEn = "EN"
 21818  
 21819  	// ContactLanguageJa is a ContactLanguage enum value
 21820  	ContactLanguageJa = "JA"
 21821  )
 21822  
 21823  // ContactLanguage_Values returns all elements of the ContactLanguage enum
 21824  func ContactLanguage_Values() []string {
 21825  	return []string{
 21826  		ContactLanguageEn,
 21827  		ContactLanguageJa,
 21828  	}
 21829  }
 21830  
 21831  const (
 21832  	// ContactListImportActionDelete is a ContactListImportAction enum value
 21833  	ContactListImportActionDelete = "DELETE"
 21834  
 21835  	// ContactListImportActionPut is a ContactListImportAction enum value
 21836  	ContactListImportActionPut = "PUT"
 21837  )
 21838  
 21839  // ContactListImportAction_Values returns all elements of the ContactListImportAction enum
 21840  func ContactListImportAction_Values() []string {
 21841  	return []string{
 21842  		ContactListImportActionDelete,
 21843  		ContactListImportActionPut,
 21844  	}
 21845  }
 21846  
 21847  // The data format of the import job's data source.
 21848  const (
 21849  	// DataFormatCsv is a DataFormat enum value
 21850  	DataFormatCsv = "CSV"
 21851  
 21852  	// DataFormatJson is a DataFormat enum value
 21853  	DataFormatJson = "JSON"
 21854  )
 21855  
 21856  // DataFormat_Values returns all elements of the DataFormat enum
 21857  func DataFormat_Values() []string {
 21858  	return []string{
 21859  		DataFormatCsv,
 21860  		DataFormatJson,
 21861  	}
 21862  }
 21863  
 21864  // The current status of your Deliverability dashboard subscription. If this
 21865  // value is PENDING_EXPIRATION, your subscription is scheduled to expire at
 21866  // the end of the current calendar month.
 21867  const (
 21868  	// DeliverabilityDashboardAccountStatusActive is a DeliverabilityDashboardAccountStatus enum value
 21869  	DeliverabilityDashboardAccountStatusActive = "ACTIVE"
 21870  
 21871  	// DeliverabilityDashboardAccountStatusPendingExpiration is a DeliverabilityDashboardAccountStatus enum value
 21872  	DeliverabilityDashboardAccountStatusPendingExpiration = "PENDING_EXPIRATION"
 21873  
 21874  	// DeliverabilityDashboardAccountStatusDisabled is a DeliverabilityDashboardAccountStatus enum value
 21875  	DeliverabilityDashboardAccountStatusDisabled = "DISABLED"
 21876  )
 21877  
 21878  // DeliverabilityDashboardAccountStatus_Values returns all elements of the DeliverabilityDashboardAccountStatus enum
 21879  func DeliverabilityDashboardAccountStatus_Values() []string {
 21880  	return []string{
 21881  		DeliverabilityDashboardAccountStatusActive,
 21882  		DeliverabilityDashboardAccountStatusPendingExpiration,
 21883  		DeliverabilityDashboardAccountStatusDisabled,
 21884  	}
 21885  }
 21886  
 21887  // The status of a predictive inbox placement test. If the status is IN_PROGRESS,
 21888  // then the predictive inbox placement test is currently running. Predictive
 21889  // inbox placement tests are usually complete within 24 hours of creating the
 21890  // test. If the status is COMPLETE, then the test is finished, and you can use
 21891  // the GetDeliverabilityTestReport operation to view the results of the test.
 21892  const (
 21893  	// DeliverabilityTestStatusInProgress is a DeliverabilityTestStatus enum value
 21894  	DeliverabilityTestStatusInProgress = "IN_PROGRESS"
 21895  
 21896  	// DeliverabilityTestStatusCompleted is a DeliverabilityTestStatus enum value
 21897  	DeliverabilityTestStatusCompleted = "COMPLETED"
 21898  )
 21899  
 21900  // DeliverabilityTestStatus_Values returns all elements of the DeliverabilityTestStatus enum
 21901  func DeliverabilityTestStatus_Values() []string {
 21902  	return []string{
 21903  		DeliverabilityTestStatusInProgress,
 21904  		DeliverabilityTestStatusCompleted,
 21905  	}
 21906  }
 21907  
 21908  // The location where the Amazon SES API v2 finds the value of a dimension to
 21909  // publish to Amazon CloudWatch. To use the message tags that you specify using
 21910  // an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail or SendRawEmail
 21911  // API, choose messageTag. To use your own email headers, choose emailHeader.
 21912  // To use link tags, choose linkTags.
 21913  const (
 21914  	// DimensionValueSourceMessageTag is a DimensionValueSource enum value
 21915  	DimensionValueSourceMessageTag = "MESSAGE_TAG"
 21916  
 21917  	// DimensionValueSourceEmailHeader is a DimensionValueSource enum value
 21918  	DimensionValueSourceEmailHeader = "EMAIL_HEADER"
 21919  
 21920  	// DimensionValueSourceLinkTag is a DimensionValueSource enum value
 21921  	DimensionValueSourceLinkTag = "LINK_TAG"
 21922  )
 21923  
 21924  // DimensionValueSource_Values returns all elements of the DimensionValueSource enum
 21925  func DimensionValueSource_Values() []string {
 21926  	return []string{
 21927  		DimensionValueSourceMessageTag,
 21928  		DimensionValueSourceEmailHeader,
 21929  		DimensionValueSourceLinkTag,
 21930  	}
 21931  }
 21932  
 21933  const (
 21934  	// DkimSigningAttributesOriginAwsSes is a DkimSigningAttributesOrigin enum value
 21935  	DkimSigningAttributesOriginAwsSes = "AWS_SES"
 21936  
 21937  	// DkimSigningAttributesOriginExternal is a DkimSigningAttributesOrigin enum value
 21938  	DkimSigningAttributesOriginExternal = "EXTERNAL"
 21939  )
 21940  
 21941  // DkimSigningAttributesOrigin_Values returns all elements of the DkimSigningAttributesOrigin enum
 21942  func DkimSigningAttributesOrigin_Values() []string {
 21943  	return []string{
 21944  		DkimSigningAttributesOriginAwsSes,
 21945  		DkimSigningAttributesOriginExternal,
 21946  	}
 21947  }
 21948  
 21949  const (
 21950  	// DkimSigningKeyLengthRsa1024Bit is a DkimSigningKeyLength enum value
 21951  	DkimSigningKeyLengthRsa1024Bit = "RSA_1024_BIT"
 21952  
 21953  	// DkimSigningKeyLengthRsa2048Bit is a DkimSigningKeyLength enum value
 21954  	DkimSigningKeyLengthRsa2048Bit = "RSA_2048_BIT"
 21955  )
 21956  
 21957  // DkimSigningKeyLength_Values returns all elements of the DkimSigningKeyLength enum
 21958  func DkimSigningKeyLength_Values() []string {
 21959  	return []string{
 21960  		DkimSigningKeyLengthRsa1024Bit,
 21961  		DkimSigningKeyLengthRsa2048Bit,
 21962  	}
 21963  }
 21964  
 21965  // The DKIM authentication status of the identity. The status can be one of
 21966  // the following:
 21967  //
 21968  //    * PENDING – The verification process was initiated, but Amazon SES hasn't
 21969  //    yet detected the DKIM records in the DNS configuration for the domain.
 21970  //
 21971  //    * SUCCESS – The verification process completed successfully.
 21972  //
 21973  //    * FAILED – The verification process failed. This typically occurs when
 21974  //    Amazon SES fails to find the DKIM records in the DNS configuration of
 21975  //    the domain.
 21976  //
 21977  //    * TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from
 21978  //    determining the DKIM authentication status of the domain.
 21979  //
 21980  //    * NOT_STARTED – The DKIM verification process hasn't been initiated
 21981  //    for the domain.
 21982  const (
 21983  	// DkimStatusPending is a DkimStatus enum value
 21984  	DkimStatusPending = "PENDING"
 21985  
 21986  	// DkimStatusSuccess is a DkimStatus enum value
 21987  	DkimStatusSuccess = "SUCCESS"
 21988  
 21989  	// DkimStatusFailed is a DkimStatus enum value
 21990  	DkimStatusFailed = "FAILED"
 21991  
 21992  	// DkimStatusTemporaryFailure is a DkimStatus enum value
 21993  	DkimStatusTemporaryFailure = "TEMPORARY_FAILURE"
 21994  
 21995  	// DkimStatusNotStarted is a DkimStatus enum value
 21996  	DkimStatusNotStarted = "NOT_STARTED"
 21997  )
 21998  
 21999  // DkimStatus_Values returns all elements of the DkimStatus enum
 22000  func DkimStatus_Values() []string {
 22001  	return []string{
 22002  		DkimStatusPending,
 22003  		DkimStatusSuccess,
 22004  		DkimStatusFailed,
 22005  		DkimStatusTemporaryFailure,
 22006  		DkimStatusNotStarted,
 22007  	}
 22008  }
 22009  
 22010  // An email sending event type. For example, email sends, opens, and bounces
 22011  // are all email events.
 22012  const (
 22013  	// EventTypeSend is a EventType enum value
 22014  	EventTypeSend = "SEND"
 22015  
 22016  	// EventTypeReject is a EventType enum value
 22017  	EventTypeReject = "REJECT"
 22018  
 22019  	// EventTypeBounce is a EventType enum value
 22020  	EventTypeBounce = "BOUNCE"
 22021  
 22022  	// EventTypeComplaint is a EventType enum value
 22023  	EventTypeComplaint = "COMPLAINT"
 22024  
 22025  	// EventTypeDelivery is a EventType enum value
 22026  	EventTypeDelivery = "DELIVERY"
 22027  
 22028  	// EventTypeOpen is a EventType enum value
 22029  	EventTypeOpen = "OPEN"
 22030  
 22031  	// EventTypeClick is a EventType enum value
 22032  	EventTypeClick = "CLICK"
 22033  
 22034  	// EventTypeRenderingFailure is a EventType enum value
 22035  	EventTypeRenderingFailure = "RENDERING_FAILURE"
 22036  
 22037  	// EventTypeDeliveryDelay is a EventType enum value
 22038  	EventTypeDeliveryDelay = "DELIVERY_DELAY"
 22039  
 22040  	// EventTypeSubscription is a EventType enum value
 22041  	EventTypeSubscription = "SUBSCRIPTION"
 22042  )
 22043  
 22044  // EventType_Values returns all elements of the EventType enum
 22045  func EventType_Values() []string {
 22046  	return []string{
 22047  		EventTypeSend,
 22048  		EventTypeReject,
 22049  		EventTypeBounce,
 22050  		EventTypeComplaint,
 22051  		EventTypeDelivery,
 22052  		EventTypeOpen,
 22053  		EventTypeClick,
 22054  		EventTypeRenderingFailure,
 22055  		EventTypeDeliveryDelay,
 22056  		EventTypeSubscription,
 22057  	}
 22058  }
 22059  
 22060  const (
 22061  	// IdentityTypeEmailAddress is a IdentityType enum value
 22062  	IdentityTypeEmailAddress = "EMAIL_ADDRESS"
 22063  
 22064  	// IdentityTypeDomain is a IdentityType enum value
 22065  	IdentityTypeDomain = "DOMAIN"
 22066  
 22067  	// IdentityTypeManagedDomain is a IdentityType enum value
 22068  	IdentityTypeManagedDomain = "MANAGED_DOMAIN"
 22069  )
 22070  
 22071  // IdentityType_Values returns all elements of the IdentityType enum
 22072  func IdentityType_Values() []string {
 22073  	return []string{
 22074  		IdentityTypeEmailAddress,
 22075  		IdentityTypeDomain,
 22076  		IdentityTypeManagedDomain,
 22077  	}
 22078  }
 22079  
 22080  // The destination of the import job, which can be used to list import jobs
 22081  // that have a certain ImportDestinationType.
 22082  const (
 22083  	// ImportDestinationTypeSuppressionList is a ImportDestinationType enum value
 22084  	ImportDestinationTypeSuppressionList = "SUPPRESSION_LIST"
 22085  
 22086  	// ImportDestinationTypeContactList is a ImportDestinationType enum value
 22087  	ImportDestinationTypeContactList = "CONTACT_LIST"
 22088  )
 22089  
 22090  // ImportDestinationType_Values returns all elements of the ImportDestinationType enum
 22091  func ImportDestinationType_Values() []string {
 22092  	return []string{
 22093  		ImportDestinationTypeSuppressionList,
 22094  		ImportDestinationTypeContactList,
 22095  	}
 22096  }
 22097  
 22098  // The status of the import job.
 22099  const (
 22100  	// JobStatusCreated is a JobStatus enum value
 22101  	JobStatusCreated = "CREATED"
 22102  
 22103  	// JobStatusProcessing is a JobStatus enum value
 22104  	JobStatusProcessing = "PROCESSING"
 22105  
 22106  	// JobStatusCompleted is a JobStatus enum value
 22107  	JobStatusCompleted = "COMPLETED"
 22108  
 22109  	// JobStatusFailed is a JobStatus enum value
 22110  	JobStatusFailed = "FAILED"
 22111  )
 22112  
 22113  // JobStatus_Values returns all elements of the JobStatus enum
 22114  func JobStatus_Values() []string {
 22115  	return []string{
 22116  		JobStatusCreated,
 22117  		JobStatusProcessing,
 22118  		JobStatusCompleted,
 22119  		JobStatusFailed,
 22120  	}
 22121  }
 22122  
 22123  // The status of the MAIL FROM domain. This status can have the following values:
 22124  //
 22125  //    * PENDING – Amazon SES hasn't started searching for the MX record yet.
 22126  //
 22127  //    * SUCCESS – Amazon SES detected the required MX record for the MAIL
 22128  //    FROM domain.
 22129  //
 22130  //    * FAILED – Amazon SES can't find the required MX record, or the record
 22131  //    no longer exists.
 22132  //
 22133  //    * TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon
 22134  //    SES from determining the status of the MAIL FROM domain.
 22135  const (
 22136  	// MailFromDomainStatusPending is a MailFromDomainStatus enum value
 22137  	MailFromDomainStatusPending = "PENDING"
 22138  
 22139  	// MailFromDomainStatusSuccess is a MailFromDomainStatus enum value
 22140  	MailFromDomainStatusSuccess = "SUCCESS"
 22141  
 22142  	// MailFromDomainStatusFailed is a MailFromDomainStatus enum value
 22143  	MailFromDomainStatusFailed = "FAILED"
 22144  
 22145  	// MailFromDomainStatusTemporaryFailure is a MailFromDomainStatus enum value
 22146  	MailFromDomainStatusTemporaryFailure = "TEMPORARY_FAILURE"
 22147  )
 22148  
 22149  // MailFromDomainStatus_Values returns all elements of the MailFromDomainStatus enum
 22150  func MailFromDomainStatus_Values() []string {
 22151  	return []string{
 22152  		MailFromDomainStatusPending,
 22153  		MailFromDomainStatusSuccess,
 22154  		MailFromDomainStatusFailed,
 22155  		MailFromDomainStatusTemporaryFailure,
 22156  	}
 22157  }
 22158  
 22159  const (
 22160  	// MailTypeMarketing is a MailType enum value
 22161  	MailTypeMarketing = "MARKETING"
 22162  
 22163  	// MailTypeTransactional is a MailType enum value
 22164  	MailTypeTransactional = "TRANSACTIONAL"
 22165  )
 22166  
 22167  // MailType_Values returns all elements of the MailType enum
 22168  func MailType_Values() []string {
 22169  	return []string{
 22170  		MailTypeMarketing,
 22171  		MailTypeTransactional,
 22172  	}
 22173  }
 22174  
 22175  const (
 22176  	// ReviewStatusPending is a ReviewStatus enum value
 22177  	ReviewStatusPending = "PENDING"
 22178  
 22179  	// ReviewStatusFailed is a ReviewStatus enum value
 22180  	ReviewStatusFailed = "FAILED"
 22181  
 22182  	// ReviewStatusGranted is a ReviewStatus enum value
 22183  	ReviewStatusGranted = "GRANTED"
 22184  
 22185  	// ReviewStatusDenied is a ReviewStatus enum value
 22186  	ReviewStatusDenied = "DENIED"
 22187  )
 22188  
 22189  // ReviewStatus_Values returns all elements of the ReviewStatus enum
 22190  func ReviewStatus_Values() []string {
 22191  	return []string{
 22192  		ReviewStatusPending,
 22193  		ReviewStatusFailed,
 22194  		ReviewStatusGranted,
 22195  		ReviewStatusDenied,
 22196  	}
 22197  }
 22198  
 22199  const (
 22200  	// SubscriptionStatusOptIn is a SubscriptionStatus enum value
 22201  	SubscriptionStatusOptIn = "OPT_IN"
 22202  
 22203  	// SubscriptionStatusOptOut is a SubscriptionStatus enum value
 22204  	SubscriptionStatusOptOut = "OPT_OUT"
 22205  )
 22206  
 22207  // SubscriptionStatus_Values returns all elements of the SubscriptionStatus enum
 22208  func SubscriptionStatus_Values() []string {
 22209  	return []string{
 22210  		SubscriptionStatusOptIn,
 22211  		SubscriptionStatusOptOut,
 22212  	}
 22213  }
 22214  
 22215  // The type of action to perform on the address. The following are possible
 22216  // values:
 22217  //
 22218  //    * PUT: add the addresses to the suppression list.
 22219  //
 22220  //    * DELETE: remove the address from the suppression list.
 22221  const (
 22222  	// SuppressionListImportActionDelete is a SuppressionListImportAction enum value
 22223  	SuppressionListImportActionDelete = "DELETE"
 22224  
 22225  	// SuppressionListImportActionPut is a SuppressionListImportAction enum value
 22226  	SuppressionListImportActionPut = "PUT"
 22227  )
 22228  
 22229  // SuppressionListImportAction_Values returns all elements of the SuppressionListImportAction enum
 22230  func SuppressionListImportAction_Values() []string {
 22231  	return []string{
 22232  		SuppressionListImportActionDelete,
 22233  		SuppressionListImportActionPut,
 22234  	}
 22235  }
 22236  
 22237  // The reason that the address was added to the suppression list for your account.
 22238  // The value can be one of the following:
 22239  //
 22240  //    * COMPLAINT – Amazon SES added an email address to the suppression list
 22241  //    for your account because a message sent to that address results in a complaint.
 22242  //
 22243  //    * BOUNCE – Amazon SES added an email address to the suppression list
 22244  //    for your account because a message sent to that address results in a hard
 22245  //    bounce.
 22246  const (
 22247  	// SuppressionListReasonBounce is a SuppressionListReason enum value
 22248  	SuppressionListReasonBounce = "BOUNCE"
 22249  
 22250  	// SuppressionListReasonComplaint is a SuppressionListReason enum value
 22251  	SuppressionListReasonComplaint = "COMPLAINT"
 22252  )
 22253  
 22254  // SuppressionListReason_Values returns all elements of the SuppressionListReason enum
 22255  func SuppressionListReason_Values() []string {
 22256  	return []string{
 22257  		SuppressionListReasonBounce,
 22258  		SuppressionListReasonComplaint,
 22259  	}
 22260  }
 22261  
 22262  // Specifies whether messages that use the configuration set are required to
 22263  // use Transport Layer Security (TLS). If the value is Require, messages are
 22264  // only delivered if a TLS connection can be established. If the value is Optional,
 22265  // messages can be delivered in plain text if a TLS connection can't be established.
 22266  const (
 22267  	// TlsPolicyRequire is a TlsPolicy enum value
 22268  	TlsPolicyRequire = "REQUIRE"
 22269  
 22270  	// TlsPolicyOptional is a TlsPolicy enum value
 22271  	TlsPolicyOptional = "OPTIONAL"
 22272  )
 22273  
 22274  // TlsPolicy_Values returns all elements of the TlsPolicy enum
 22275  func TlsPolicy_Values() []string {
 22276  	return []string{
 22277  		TlsPolicyRequire,
 22278  		TlsPolicyOptional,
 22279  	}
 22280  }
 22281  
 22282  // The warmup status of a dedicated IP.
 22283  const (
 22284  	// WarmupStatusInProgress is a WarmupStatus enum value
 22285  	WarmupStatusInProgress = "IN_PROGRESS"
 22286  
 22287  	// WarmupStatusDone is a WarmupStatus enum value
 22288  	WarmupStatusDone = "DONE"
 22289  )
 22290  
 22291  // WarmupStatus_Values returns all elements of the WarmupStatus enum
 22292  func WarmupStatus_Values() []string {
 22293  	return []string{
 22294  		WarmupStatusInProgress,
 22295  		WarmupStatusDone,
 22296  	}
 22297  }