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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package pinpoint
     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 opCreateApp = "CreateApp"
    17  
    18  // CreateAppRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateApp 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 CreateApp for more information on using the CreateApp
    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 CreateAppRequest method.
    34  //    req, resp := client.CreateAppRequest(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/pinpoint-2016-12-01/CreateApp
    42  func (c *Pinpoint) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateApp,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/v1/apps",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateAppInput{}
    51  	}
    52  
    53  	output = &CreateAppOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateApp API operation for Amazon Pinpoint.
    59  //
    60  // Creates an application.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon Pinpoint's
    67  // API operation CreateApp for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * BadRequestException
    71  //   Provides information about an API request or response.
    72  //
    73  //   * InternalServerErrorException
    74  //   Provides information about an API request or response.
    75  //
    76  //   * PayloadTooLargeException
    77  //   Provides information about an API request or response.
    78  //
    79  //   * ForbiddenException
    80  //   Provides information about an API request or response.
    81  //
    82  //   * NotFoundException
    83  //   Provides information about an API request or response.
    84  //
    85  //   * MethodNotAllowedException
    86  //   Provides information about an API request or response.
    87  //
    88  //   * TooManyRequestsException
    89  //   Provides information about an API request or response.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApp
    92  func (c *Pinpoint) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
    93  	req, out := c.CreateAppRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // CreateAppWithContext is the same as CreateApp with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See CreateApp for details on how to use this API operation.
   101  //
   102  // The context must be non-nil and will be used for request cancellation. If
   103  // the context is nil a panic will occur. In the future the SDK may create
   104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   105  // for more information on using Contexts.
   106  func (c *Pinpoint) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
   107  	req, out := c.CreateAppRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opCreateCampaign = "CreateCampaign"
   114  
   115  // CreateCampaignRequest generates a "aws/request.Request" representing the
   116  // client's request for the CreateCampaign operation. The "output" return
   117  // value will be populated with the request's response once the request completes
   118  // successfully.
   119  //
   120  // Use "Send" method on the returned Request to send the API call to the service.
   121  // the "output" return value is not valid until after Send returns without error.
   122  //
   123  // See CreateCampaign for more information on using the CreateCampaign
   124  // API call, and error handling.
   125  //
   126  // This method is useful when you want to inject custom logic or configuration
   127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   128  //
   129  //
   130  //    // Example sending a request using the CreateCampaignRequest method.
   131  //    req, resp := client.CreateCampaignRequest(params)
   132  //
   133  //    err := req.Send()
   134  //    if err == nil { // resp is now filled
   135  //        fmt.Println(resp)
   136  //    }
   137  //
   138  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign
   139  func (c *Pinpoint) CreateCampaignRequest(input *CreateCampaignInput) (req *request.Request, output *CreateCampaignOutput) {
   140  	op := &request.Operation{
   141  		Name:       opCreateCampaign,
   142  		HTTPMethod: "POST",
   143  		HTTPPath:   "/v1/apps/{application-id}/campaigns",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &CreateCampaignInput{}
   148  	}
   149  
   150  	output = &CreateCampaignOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // CreateCampaign API operation for Amazon Pinpoint.
   156  //
   157  // Creates a new campaign for an application or updates the settings of an existing
   158  // campaign for an application.
   159  //
   160  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   161  // with awserr.Error's Code and Message methods to get detailed information about
   162  // the error.
   163  //
   164  // See the AWS API reference guide for Amazon Pinpoint's
   165  // API operation CreateCampaign for usage and error information.
   166  //
   167  // Returned Error Types:
   168  //   * BadRequestException
   169  //   Provides information about an API request or response.
   170  //
   171  //   * InternalServerErrorException
   172  //   Provides information about an API request or response.
   173  //
   174  //   * PayloadTooLargeException
   175  //   Provides information about an API request or response.
   176  //
   177  //   * ForbiddenException
   178  //   Provides information about an API request or response.
   179  //
   180  //   * NotFoundException
   181  //   Provides information about an API request or response.
   182  //
   183  //   * MethodNotAllowedException
   184  //   Provides information about an API request or response.
   185  //
   186  //   * TooManyRequestsException
   187  //   Provides information about an API request or response.
   188  //
   189  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign
   190  func (c *Pinpoint) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) {
   191  	req, out := c.CreateCampaignRequest(input)
   192  	return out, req.Send()
   193  }
   194  
   195  // CreateCampaignWithContext is the same as CreateCampaign with the addition of
   196  // the ability to pass a context and additional request options.
   197  //
   198  // See CreateCampaign for details on how to use this API operation.
   199  //
   200  // The context must be non-nil and will be used for request cancellation. If
   201  // the context is nil a panic will occur. In the future the SDK may create
   202  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   203  // for more information on using Contexts.
   204  func (c *Pinpoint) CreateCampaignWithContext(ctx aws.Context, input *CreateCampaignInput, opts ...request.Option) (*CreateCampaignOutput, error) {
   205  	req, out := c.CreateCampaignRequest(input)
   206  	req.SetContext(ctx)
   207  	req.ApplyOptions(opts...)
   208  	return out, req.Send()
   209  }
   210  
   211  const opCreateEmailTemplate = "CreateEmailTemplate"
   212  
   213  // CreateEmailTemplateRequest generates a "aws/request.Request" representing the
   214  // client's request for the CreateEmailTemplate operation. The "output" return
   215  // value will be populated with the request's response once the request completes
   216  // successfully.
   217  //
   218  // Use "Send" method on the returned Request to send the API call to the service.
   219  // the "output" return value is not valid until after Send returns without error.
   220  //
   221  // See CreateEmailTemplate for more information on using the CreateEmailTemplate
   222  // API call, and error handling.
   223  //
   224  // This method is useful when you want to inject custom logic or configuration
   225  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   226  //
   227  //
   228  //    // Example sending a request using the CreateEmailTemplateRequest method.
   229  //    req, resp := client.CreateEmailTemplateRequest(params)
   230  //
   231  //    err := req.Send()
   232  //    if err == nil { // resp is now filled
   233  //        fmt.Println(resp)
   234  //    }
   235  //
   236  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate
   237  func (c *Pinpoint) CreateEmailTemplateRequest(input *CreateEmailTemplateInput) (req *request.Request, output *CreateEmailTemplateOutput) {
   238  	op := &request.Operation{
   239  		Name:       opCreateEmailTemplate,
   240  		HTTPMethod: "POST",
   241  		HTTPPath:   "/v1/templates/{template-name}/email",
   242  	}
   243  
   244  	if input == nil {
   245  		input = &CreateEmailTemplateInput{}
   246  	}
   247  
   248  	output = &CreateEmailTemplateOutput{}
   249  	req = c.newRequest(op, input, output)
   250  	return
   251  }
   252  
   253  // CreateEmailTemplate API operation for Amazon Pinpoint.
   254  //
   255  // Creates a message template for messages that are sent through the email channel.
   256  //
   257  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   258  // with awserr.Error's Code and Message methods to get detailed information about
   259  // the error.
   260  //
   261  // See the AWS API reference guide for Amazon Pinpoint's
   262  // API operation CreateEmailTemplate for usage and error information.
   263  //
   264  // Returned Error Types:
   265  //   * MethodNotAllowedException
   266  //   Provides information about an API request or response.
   267  //
   268  //   * TooManyRequestsException
   269  //   Provides information about an API request or response.
   270  //
   271  //   * BadRequestException
   272  //   Provides information about an API request or response.
   273  //
   274  //   * InternalServerErrorException
   275  //   Provides information about an API request or response.
   276  //
   277  //   * ForbiddenException
   278  //   Provides information about an API request or response.
   279  //
   280  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate
   281  func (c *Pinpoint) CreateEmailTemplate(input *CreateEmailTemplateInput) (*CreateEmailTemplateOutput, error) {
   282  	req, out := c.CreateEmailTemplateRequest(input)
   283  	return out, req.Send()
   284  }
   285  
   286  // CreateEmailTemplateWithContext is the same as CreateEmailTemplate with the addition of
   287  // the ability to pass a context and additional request options.
   288  //
   289  // See CreateEmailTemplate for details on how to use this API operation.
   290  //
   291  // The context must be non-nil and will be used for request cancellation. If
   292  // the context is nil a panic will occur. In the future the SDK may create
   293  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   294  // for more information on using Contexts.
   295  func (c *Pinpoint) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEmailTemplateInput, opts ...request.Option) (*CreateEmailTemplateOutput, error) {
   296  	req, out := c.CreateEmailTemplateRequest(input)
   297  	req.SetContext(ctx)
   298  	req.ApplyOptions(opts...)
   299  	return out, req.Send()
   300  }
   301  
   302  const opCreateExportJob = "CreateExportJob"
   303  
   304  // CreateExportJobRequest generates a "aws/request.Request" representing the
   305  // client's request for the CreateExportJob operation. The "output" return
   306  // value will be populated with the request's response once the request completes
   307  // successfully.
   308  //
   309  // Use "Send" method on the returned Request to send the API call to the service.
   310  // the "output" return value is not valid until after Send returns without error.
   311  //
   312  // See CreateExportJob for more information on using the CreateExportJob
   313  // API call, and error handling.
   314  //
   315  // This method is useful when you want to inject custom logic or configuration
   316  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   317  //
   318  //
   319  //    // Example sending a request using the CreateExportJobRequest method.
   320  //    req, resp := client.CreateExportJobRequest(params)
   321  //
   322  //    err := req.Send()
   323  //    if err == nil { // resp is now filled
   324  //        fmt.Println(resp)
   325  //    }
   326  //
   327  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
   328  func (c *Pinpoint) CreateExportJobRequest(input *CreateExportJobInput) (req *request.Request, output *CreateExportJobOutput) {
   329  	op := &request.Operation{
   330  		Name:       opCreateExportJob,
   331  		HTTPMethod: "POST",
   332  		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
   333  	}
   334  
   335  	if input == nil {
   336  		input = &CreateExportJobInput{}
   337  	}
   338  
   339  	output = &CreateExportJobOutput{}
   340  	req = c.newRequest(op, input, output)
   341  	return
   342  }
   343  
   344  // CreateExportJob API operation for Amazon Pinpoint.
   345  //
   346  // Creates an export job for an application.
   347  //
   348  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   349  // with awserr.Error's Code and Message methods to get detailed information about
   350  // the error.
   351  //
   352  // See the AWS API reference guide for Amazon Pinpoint's
   353  // API operation CreateExportJob for usage and error information.
   354  //
   355  // Returned Error Types:
   356  //   * BadRequestException
   357  //   Provides information about an API request or response.
   358  //
   359  //   * InternalServerErrorException
   360  //   Provides information about an API request or response.
   361  //
   362  //   * PayloadTooLargeException
   363  //   Provides information about an API request or response.
   364  //
   365  //   * ForbiddenException
   366  //   Provides information about an API request or response.
   367  //
   368  //   * NotFoundException
   369  //   Provides information about an API request or response.
   370  //
   371  //   * MethodNotAllowedException
   372  //   Provides information about an API request or response.
   373  //
   374  //   * TooManyRequestsException
   375  //   Provides information about an API request or response.
   376  //
   377  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
   378  func (c *Pinpoint) CreateExportJob(input *CreateExportJobInput) (*CreateExportJobOutput, error) {
   379  	req, out := c.CreateExportJobRequest(input)
   380  	return out, req.Send()
   381  }
   382  
   383  // CreateExportJobWithContext is the same as CreateExportJob with the addition of
   384  // the ability to pass a context and additional request options.
   385  //
   386  // See CreateExportJob for details on how to use this API operation.
   387  //
   388  // The context must be non-nil and will be used for request cancellation. If
   389  // the context is nil a panic will occur. In the future the SDK may create
   390  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   391  // for more information on using Contexts.
   392  func (c *Pinpoint) CreateExportJobWithContext(ctx aws.Context, input *CreateExportJobInput, opts ...request.Option) (*CreateExportJobOutput, error) {
   393  	req, out := c.CreateExportJobRequest(input)
   394  	req.SetContext(ctx)
   395  	req.ApplyOptions(opts...)
   396  	return out, req.Send()
   397  }
   398  
   399  const opCreateImportJob = "CreateImportJob"
   400  
   401  // CreateImportJobRequest generates a "aws/request.Request" representing the
   402  // client's request for the CreateImportJob operation. The "output" return
   403  // value will be populated with the request's response once the request completes
   404  // successfully.
   405  //
   406  // Use "Send" method on the returned Request to send the API call to the service.
   407  // the "output" return value is not valid until after Send returns without error.
   408  //
   409  // See CreateImportJob for more information on using the CreateImportJob
   410  // API call, and error handling.
   411  //
   412  // This method is useful when you want to inject custom logic or configuration
   413  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   414  //
   415  //
   416  //    // Example sending a request using the CreateImportJobRequest method.
   417  //    req, resp := client.CreateImportJobRequest(params)
   418  //
   419  //    err := req.Send()
   420  //    if err == nil { // resp is now filled
   421  //        fmt.Println(resp)
   422  //    }
   423  //
   424  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
   425  func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) {
   426  	op := &request.Operation{
   427  		Name:       opCreateImportJob,
   428  		HTTPMethod: "POST",
   429  		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
   430  	}
   431  
   432  	if input == nil {
   433  		input = &CreateImportJobInput{}
   434  	}
   435  
   436  	output = &CreateImportJobOutput{}
   437  	req = c.newRequest(op, input, output)
   438  	return
   439  }
   440  
   441  // CreateImportJob API operation for Amazon Pinpoint.
   442  //
   443  // Creates an import job for an application.
   444  //
   445  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   446  // with awserr.Error's Code and Message methods to get detailed information about
   447  // the error.
   448  //
   449  // See the AWS API reference guide for Amazon Pinpoint's
   450  // API operation CreateImportJob for usage and error information.
   451  //
   452  // Returned Error Types:
   453  //   * BadRequestException
   454  //   Provides information about an API request or response.
   455  //
   456  //   * InternalServerErrorException
   457  //   Provides information about an API request or response.
   458  //
   459  //   * PayloadTooLargeException
   460  //   Provides information about an API request or response.
   461  //
   462  //   * ForbiddenException
   463  //   Provides information about an API request or response.
   464  //
   465  //   * NotFoundException
   466  //   Provides information about an API request or response.
   467  //
   468  //   * MethodNotAllowedException
   469  //   Provides information about an API request or response.
   470  //
   471  //   * TooManyRequestsException
   472  //   Provides information about an API request or response.
   473  //
   474  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
   475  func (c *Pinpoint) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) {
   476  	req, out := c.CreateImportJobRequest(input)
   477  	return out, req.Send()
   478  }
   479  
   480  // CreateImportJobWithContext is the same as CreateImportJob with the addition of
   481  // the ability to pass a context and additional request options.
   482  //
   483  // See CreateImportJob for details on how to use this API operation.
   484  //
   485  // The context must be non-nil and will be used for request cancellation. If
   486  // the context is nil a panic will occur. In the future the SDK may create
   487  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   488  // for more information on using Contexts.
   489  func (c *Pinpoint) CreateImportJobWithContext(ctx aws.Context, input *CreateImportJobInput, opts ...request.Option) (*CreateImportJobOutput, error) {
   490  	req, out := c.CreateImportJobRequest(input)
   491  	req.SetContext(ctx)
   492  	req.ApplyOptions(opts...)
   493  	return out, req.Send()
   494  }
   495  
   496  const opCreateInAppTemplate = "CreateInAppTemplate"
   497  
   498  // CreateInAppTemplateRequest generates a "aws/request.Request" representing the
   499  // client's request for the CreateInAppTemplate operation. The "output" return
   500  // value will be populated with the request's response once the request completes
   501  // successfully.
   502  //
   503  // Use "Send" method on the returned Request to send the API call to the service.
   504  // the "output" return value is not valid until after Send returns without error.
   505  //
   506  // See CreateInAppTemplate for more information on using the CreateInAppTemplate
   507  // API call, and error handling.
   508  //
   509  // This method is useful when you want to inject custom logic or configuration
   510  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   511  //
   512  //
   513  //    // Example sending a request using the CreateInAppTemplateRequest method.
   514  //    req, resp := client.CreateInAppTemplateRequest(params)
   515  //
   516  //    err := req.Send()
   517  //    if err == nil { // resp is now filled
   518  //        fmt.Println(resp)
   519  //    }
   520  //
   521  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateInAppTemplate
   522  func (c *Pinpoint) CreateInAppTemplateRequest(input *CreateInAppTemplateInput) (req *request.Request, output *CreateInAppTemplateOutput) {
   523  	op := &request.Operation{
   524  		Name:       opCreateInAppTemplate,
   525  		HTTPMethod: "POST",
   526  		HTTPPath:   "/v1/templates/{template-name}/inapp",
   527  	}
   528  
   529  	if input == nil {
   530  		input = &CreateInAppTemplateInput{}
   531  	}
   532  
   533  	output = &CreateInAppTemplateOutput{}
   534  	req = c.newRequest(op, input, output)
   535  	return
   536  }
   537  
   538  // CreateInAppTemplate API operation for Amazon Pinpoint.
   539  //
   540  // Creates a new message template for messages using the in-app message channel.
   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 Pinpoint's
   547  // API operation CreateInAppTemplate for usage and error information.
   548  //
   549  // Returned Error Types:
   550  //   * MethodNotAllowedException
   551  //   Provides information about an API request or response.
   552  //
   553  //   * TooManyRequestsException
   554  //   Provides information about an API request or response.
   555  //
   556  //   * BadRequestException
   557  //   Provides information about an API request or response.
   558  //
   559  //   * InternalServerErrorException
   560  //   Provides information about an API request or response.
   561  //
   562  //   * ForbiddenException
   563  //   Provides information about an API request or response.
   564  //
   565  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateInAppTemplate
   566  func (c *Pinpoint) CreateInAppTemplate(input *CreateInAppTemplateInput) (*CreateInAppTemplateOutput, error) {
   567  	req, out := c.CreateInAppTemplateRequest(input)
   568  	return out, req.Send()
   569  }
   570  
   571  // CreateInAppTemplateWithContext is the same as CreateInAppTemplate with the addition of
   572  // the ability to pass a context and additional request options.
   573  //
   574  // See CreateInAppTemplate 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 *Pinpoint) CreateInAppTemplateWithContext(ctx aws.Context, input *CreateInAppTemplateInput, opts ...request.Option) (*CreateInAppTemplateOutput, error) {
   581  	req, out := c.CreateInAppTemplateRequest(input)
   582  	req.SetContext(ctx)
   583  	req.ApplyOptions(opts...)
   584  	return out, req.Send()
   585  }
   586  
   587  const opCreateJourney = "CreateJourney"
   588  
   589  // CreateJourneyRequest generates a "aws/request.Request" representing the
   590  // client's request for the CreateJourney 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 CreateJourney for more information on using the CreateJourney
   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 CreateJourneyRequest method.
   605  //    req, resp := client.CreateJourneyRequest(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/pinpoint-2016-12-01/CreateJourney
   613  func (c *Pinpoint) CreateJourneyRequest(input *CreateJourneyInput) (req *request.Request, output *CreateJourneyOutput) {
   614  	op := &request.Operation{
   615  		Name:       opCreateJourney,
   616  		HTTPMethod: "POST",
   617  		HTTPPath:   "/v1/apps/{application-id}/journeys",
   618  	}
   619  
   620  	if input == nil {
   621  		input = &CreateJourneyInput{}
   622  	}
   623  
   624  	output = &CreateJourneyOutput{}
   625  	req = c.newRequest(op, input, output)
   626  	return
   627  }
   628  
   629  // CreateJourney API operation for Amazon Pinpoint.
   630  //
   631  // Creates a journey for an application.
   632  //
   633  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   634  // with awserr.Error's Code and Message methods to get detailed information about
   635  // the error.
   636  //
   637  // See the AWS API reference guide for Amazon Pinpoint's
   638  // API operation CreateJourney for usage and error information.
   639  //
   640  // Returned Error Types:
   641  //   * BadRequestException
   642  //   Provides information about an API request or response.
   643  //
   644  //   * InternalServerErrorException
   645  //   Provides information about an API request or response.
   646  //
   647  //   * PayloadTooLargeException
   648  //   Provides information about an API request or response.
   649  //
   650  //   * ForbiddenException
   651  //   Provides information about an API request or response.
   652  //
   653  //   * NotFoundException
   654  //   Provides information about an API request or response.
   655  //
   656  //   * MethodNotAllowedException
   657  //   Provides information about an API request or response.
   658  //
   659  //   * TooManyRequestsException
   660  //   Provides information about an API request or response.
   661  //
   662  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateJourney
   663  func (c *Pinpoint) CreateJourney(input *CreateJourneyInput) (*CreateJourneyOutput, error) {
   664  	req, out := c.CreateJourneyRequest(input)
   665  	return out, req.Send()
   666  }
   667  
   668  // CreateJourneyWithContext is the same as CreateJourney with the addition of
   669  // the ability to pass a context and additional request options.
   670  //
   671  // See CreateJourney for details on how to use this API operation.
   672  //
   673  // The context must be non-nil and will be used for request cancellation. If
   674  // the context is nil a panic will occur. In the future the SDK may create
   675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   676  // for more information on using Contexts.
   677  func (c *Pinpoint) CreateJourneyWithContext(ctx aws.Context, input *CreateJourneyInput, opts ...request.Option) (*CreateJourneyOutput, error) {
   678  	req, out := c.CreateJourneyRequest(input)
   679  	req.SetContext(ctx)
   680  	req.ApplyOptions(opts...)
   681  	return out, req.Send()
   682  }
   683  
   684  const opCreatePushTemplate = "CreatePushTemplate"
   685  
   686  // CreatePushTemplateRequest generates a "aws/request.Request" representing the
   687  // client's request for the CreatePushTemplate operation. The "output" return
   688  // value will be populated with the request's response once the request completes
   689  // successfully.
   690  //
   691  // Use "Send" method on the returned Request to send the API call to the service.
   692  // the "output" return value is not valid until after Send returns without error.
   693  //
   694  // See CreatePushTemplate for more information on using the CreatePushTemplate
   695  // API call, and error handling.
   696  //
   697  // This method is useful when you want to inject custom logic or configuration
   698  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   699  //
   700  //
   701  //    // Example sending a request using the CreatePushTemplateRequest method.
   702  //    req, resp := client.CreatePushTemplateRequest(params)
   703  //
   704  //    err := req.Send()
   705  //    if err == nil { // resp is now filled
   706  //        fmt.Println(resp)
   707  //    }
   708  //
   709  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
   710  func (c *Pinpoint) CreatePushTemplateRequest(input *CreatePushTemplateInput) (req *request.Request, output *CreatePushTemplateOutput) {
   711  	op := &request.Operation{
   712  		Name:       opCreatePushTemplate,
   713  		HTTPMethod: "POST",
   714  		HTTPPath:   "/v1/templates/{template-name}/push",
   715  	}
   716  
   717  	if input == nil {
   718  		input = &CreatePushTemplateInput{}
   719  	}
   720  
   721  	output = &CreatePushTemplateOutput{}
   722  	req = c.newRequest(op, input, output)
   723  	return
   724  }
   725  
   726  // CreatePushTemplate API operation for Amazon Pinpoint.
   727  //
   728  // Creates a message template for messages that are sent through a push notification
   729  // channel.
   730  //
   731  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   732  // with awserr.Error's Code and Message methods to get detailed information about
   733  // the error.
   734  //
   735  // See the AWS API reference guide for Amazon Pinpoint's
   736  // API operation CreatePushTemplate for usage and error information.
   737  //
   738  // Returned Error Types:
   739  //   * MethodNotAllowedException
   740  //   Provides information about an API request or response.
   741  //
   742  //   * TooManyRequestsException
   743  //   Provides information about an API request or response.
   744  //
   745  //   * BadRequestException
   746  //   Provides information about an API request or response.
   747  //
   748  //   * InternalServerErrorException
   749  //   Provides information about an API request or response.
   750  //
   751  //   * ForbiddenException
   752  //   Provides information about an API request or response.
   753  //
   754  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
   755  func (c *Pinpoint) CreatePushTemplate(input *CreatePushTemplateInput) (*CreatePushTemplateOutput, error) {
   756  	req, out := c.CreatePushTemplateRequest(input)
   757  	return out, req.Send()
   758  }
   759  
   760  // CreatePushTemplateWithContext is the same as CreatePushTemplate with the addition of
   761  // the ability to pass a context and additional request options.
   762  //
   763  // See CreatePushTemplate for details on how to use this API operation.
   764  //
   765  // The context must be non-nil and will be used for request cancellation. If
   766  // the context is nil a panic will occur. In the future the SDK may create
   767  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   768  // for more information on using Contexts.
   769  func (c *Pinpoint) CreatePushTemplateWithContext(ctx aws.Context, input *CreatePushTemplateInput, opts ...request.Option) (*CreatePushTemplateOutput, error) {
   770  	req, out := c.CreatePushTemplateRequest(input)
   771  	req.SetContext(ctx)
   772  	req.ApplyOptions(opts...)
   773  	return out, req.Send()
   774  }
   775  
   776  const opCreateRecommenderConfiguration = "CreateRecommenderConfiguration"
   777  
   778  // CreateRecommenderConfigurationRequest generates a "aws/request.Request" representing the
   779  // client's request for the CreateRecommenderConfiguration operation. The "output" return
   780  // value will be populated with the request's response once the request completes
   781  // successfully.
   782  //
   783  // Use "Send" method on the returned Request to send the API call to the service.
   784  // the "output" return value is not valid until after Send returns without error.
   785  //
   786  // See CreateRecommenderConfiguration for more information on using the CreateRecommenderConfiguration
   787  // API call, and error handling.
   788  //
   789  // This method is useful when you want to inject custom logic or configuration
   790  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   791  //
   792  //
   793  //    // Example sending a request using the CreateRecommenderConfigurationRequest method.
   794  //    req, resp := client.CreateRecommenderConfigurationRequest(params)
   795  //
   796  //    err := req.Send()
   797  //    if err == nil { // resp is now filled
   798  //        fmt.Println(resp)
   799  //    }
   800  //
   801  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateRecommenderConfiguration
   802  func (c *Pinpoint) CreateRecommenderConfigurationRequest(input *CreateRecommenderConfigurationInput) (req *request.Request, output *CreateRecommenderConfigurationOutput) {
   803  	op := &request.Operation{
   804  		Name:       opCreateRecommenderConfiguration,
   805  		HTTPMethod: "POST",
   806  		HTTPPath:   "/v1/recommenders",
   807  	}
   808  
   809  	if input == nil {
   810  		input = &CreateRecommenderConfigurationInput{}
   811  	}
   812  
   813  	output = &CreateRecommenderConfigurationOutput{}
   814  	req = c.newRequest(op, input, output)
   815  	return
   816  }
   817  
   818  // CreateRecommenderConfiguration API operation for Amazon Pinpoint.
   819  //
   820  // Creates an Amazon Pinpoint configuration for a recommender model.
   821  //
   822  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   823  // with awserr.Error's Code and Message methods to get detailed information about
   824  // the error.
   825  //
   826  // See the AWS API reference guide for Amazon Pinpoint's
   827  // API operation CreateRecommenderConfiguration for usage and error information.
   828  //
   829  // Returned Error Types:
   830  //   * BadRequestException
   831  //   Provides information about an API request or response.
   832  //
   833  //   * InternalServerErrorException
   834  //   Provides information about an API request or response.
   835  //
   836  //   * PayloadTooLargeException
   837  //   Provides information about an API request or response.
   838  //
   839  //   * ForbiddenException
   840  //   Provides information about an API request or response.
   841  //
   842  //   * NotFoundException
   843  //   Provides information about an API request or response.
   844  //
   845  //   * MethodNotAllowedException
   846  //   Provides information about an API request or response.
   847  //
   848  //   * TooManyRequestsException
   849  //   Provides information about an API request or response.
   850  //
   851  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateRecommenderConfiguration
   852  func (c *Pinpoint) CreateRecommenderConfiguration(input *CreateRecommenderConfigurationInput) (*CreateRecommenderConfigurationOutput, error) {
   853  	req, out := c.CreateRecommenderConfigurationRequest(input)
   854  	return out, req.Send()
   855  }
   856  
   857  // CreateRecommenderConfigurationWithContext is the same as CreateRecommenderConfiguration with the addition of
   858  // the ability to pass a context and additional request options.
   859  //
   860  // See CreateRecommenderConfiguration for details on how to use this API operation.
   861  //
   862  // The context must be non-nil and will be used for request cancellation. If
   863  // the context is nil a panic will occur. In the future the SDK may create
   864  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   865  // for more information on using Contexts.
   866  func (c *Pinpoint) CreateRecommenderConfigurationWithContext(ctx aws.Context, input *CreateRecommenderConfigurationInput, opts ...request.Option) (*CreateRecommenderConfigurationOutput, error) {
   867  	req, out := c.CreateRecommenderConfigurationRequest(input)
   868  	req.SetContext(ctx)
   869  	req.ApplyOptions(opts...)
   870  	return out, req.Send()
   871  }
   872  
   873  const opCreateSegment = "CreateSegment"
   874  
   875  // CreateSegmentRequest generates a "aws/request.Request" representing the
   876  // client's request for the CreateSegment operation. The "output" return
   877  // value will be populated with the request's response once the request completes
   878  // successfully.
   879  //
   880  // Use "Send" method on the returned Request to send the API call to the service.
   881  // the "output" return value is not valid until after Send returns without error.
   882  //
   883  // See CreateSegment for more information on using the CreateSegment
   884  // API call, and error handling.
   885  //
   886  // This method is useful when you want to inject custom logic or configuration
   887  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   888  //
   889  //
   890  //    // Example sending a request using the CreateSegmentRequest method.
   891  //    req, resp := client.CreateSegmentRequest(params)
   892  //
   893  //    err := req.Send()
   894  //    if err == nil { // resp is now filled
   895  //        fmt.Println(resp)
   896  //    }
   897  //
   898  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
   899  func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) {
   900  	op := &request.Operation{
   901  		Name:       opCreateSegment,
   902  		HTTPMethod: "POST",
   903  		HTTPPath:   "/v1/apps/{application-id}/segments",
   904  	}
   905  
   906  	if input == nil {
   907  		input = &CreateSegmentInput{}
   908  	}
   909  
   910  	output = &CreateSegmentOutput{}
   911  	req = c.newRequest(op, input, output)
   912  	return
   913  }
   914  
   915  // CreateSegment API operation for Amazon Pinpoint.
   916  //
   917  // Creates a new segment for an application or updates the configuration, dimension,
   918  // and other settings for an existing segment that's associated with an application.
   919  //
   920  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   921  // with awserr.Error's Code and Message methods to get detailed information about
   922  // the error.
   923  //
   924  // See the AWS API reference guide for Amazon Pinpoint's
   925  // API operation CreateSegment for usage and error information.
   926  //
   927  // Returned Error Types:
   928  //   * BadRequestException
   929  //   Provides information about an API request or response.
   930  //
   931  //   * InternalServerErrorException
   932  //   Provides information about an API request or response.
   933  //
   934  //   * PayloadTooLargeException
   935  //   Provides information about an API request or response.
   936  //
   937  //   * ForbiddenException
   938  //   Provides information about an API request or response.
   939  //
   940  //   * NotFoundException
   941  //   Provides information about an API request or response.
   942  //
   943  //   * MethodNotAllowedException
   944  //   Provides information about an API request or response.
   945  //
   946  //   * TooManyRequestsException
   947  //   Provides information about an API request or response.
   948  //
   949  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
   950  func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) {
   951  	req, out := c.CreateSegmentRequest(input)
   952  	return out, req.Send()
   953  }
   954  
   955  // CreateSegmentWithContext is the same as CreateSegment with the addition of
   956  // the ability to pass a context and additional request options.
   957  //
   958  // See CreateSegment for details on how to use this API operation.
   959  //
   960  // The context must be non-nil and will be used for request cancellation. If
   961  // the context is nil a panic will occur. In the future the SDK may create
   962  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   963  // for more information on using Contexts.
   964  func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmentInput, opts ...request.Option) (*CreateSegmentOutput, error) {
   965  	req, out := c.CreateSegmentRequest(input)
   966  	req.SetContext(ctx)
   967  	req.ApplyOptions(opts...)
   968  	return out, req.Send()
   969  }
   970  
   971  const opCreateSmsTemplate = "CreateSmsTemplate"
   972  
   973  // CreateSmsTemplateRequest generates a "aws/request.Request" representing the
   974  // client's request for the CreateSmsTemplate operation. The "output" return
   975  // value will be populated with the request's response once the request completes
   976  // successfully.
   977  //
   978  // Use "Send" method on the returned Request to send the API call to the service.
   979  // the "output" return value is not valid until after Send returns without error.
   980  //
   981  // See CreateSmsTemplate for more information on using the CreateSmsTemplate
   982  // API call, and error handling.
   983  //
   984  // This method is useful when you want to inject custom logic or configuration
   985  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   986  //
   987  //
   988  //    // Example sending a request using the CreateSmsTemplateRequest method.
   989  //    req, resp := client.CreateSmsTemplateRequest(params)
   990  //
   991  //    err := req.Send()
   992  //    if err == nil { // resp is now filled
   993  //        fmt.Println(resp)
   994  //    }
   995  //
   996  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
   997  func (c *Pinpoint) CreateSmsTemplateRequest(input *CreateSmsTemplateInput) (req *request.Request, output *CreateSmsTemplateOutput) {
   998  	op := &request.Operation{
   999  		Name:       opCreateSmsTemplate,
  1000  		HTTPMethod: "POST",
  1001  		HTTPPath:   "/v1/templates/{template-name}/sms",
  1002  	}
  1003  
  1004  	if input == nil {
  1005  		input = &CreateSmsTemplateInput{}
  1006  	}
  1007  
  1008  	output = &CreateSmsTemplateOutput{}
  1009  	req = c.newRequest(op, input, output)
  1010  	return
  1011  }
  1012  
  1013  // CreateSmsTemplate API operation for Amazon Pinpoint.
  1014  //
  1015  // Creates a message template for messages that are sent through the SMS channel.
  1016  //
  1017  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1018  // with awserr.Error's Code and Message methods to get detailed information about
  1019  // the error.
  1020  //
  1021  // See the AWS API reference guide for Amazon Pinpoint's
  1022  // API operation CreateSmsTemplate for usage and error information.
  1023  //
  1024  // Returned Error Types:
  1025  //   * MethodNotAllowedException
  1026  //   Provides information about an API request or response.
  1027  //
  1028  //   * TooManyRequestsException
  1029  //   Provides information about an API request or response.
  1030  //
  1031  //   * BadRequestException
  1032  //   Provides information about an API request or response.
  1033  //
  1034  //   * InternalServerErrorException
  1035  //   Provides information about an API request or response.
  1036  //
  1037  //   * ForbiddenException
  1038  //   Provides information about an API request or response.
  1039  //
  1040  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
  1041  func (c *Pinpoint) CreateSmsTemplate(input *CreateSmsTemplateInput) (*CreateSmsTemplateOutput, error) {
  1042  	req, out := c.CreateSmsTemplateRequest(input)
  1043  	return out, req.Send()
  1044  }
  1045  
  1046  // CreateSmsTemplateWithContext is the same as CreateSmsTemplate with the addition of
  1047  // the ability to pass a context and additional request options.
  1048  //
  1049  // See CreateSmsTemplate for details on how to use this API operation.
  1050  //
  1051  // The context must be non-nil and will be used for request cancellation. If
  1052  // the context is nil a panic will occur. In the future the SDK may create
  1053  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1054  // for more information on using Contexts.
  1055  func (c *Pinpoint) CreateSmsTemplateWithContext(ctx aws.Context, input *CreateSmsTemplateInput, opts ...request.Option) (*CreateSmsTemplateOutput, error) {
  1056  	req, out := c.CreateSmsTemplateRequest(input)
  1057  	req.SetContext(ctx)
  1058  	req.ApplyOptions(opts...)
  1059  	return out, req.Send()
  1060  }
  1061  
  1062  const opCreateVoiceTemplate = "CreateVoiceTemplate"
  1063  
  1064  // CreateVoiceTemplateRequest generates a "aws/request.Request" representing the
  1065  // client's request for the CreateVoiceTemplate operation. The "output" return
  1066  // value will be populated with the request's response once the request completes
  1067  // successfully.
  1068  //
  1069  // Use "Send" method on the returned Request to send the API call to the service.
  1070  // the "output" return value is not valid until after Send returns without error.
  1071  //
  1072  // See CreateVoiceTemplate for more information on using the CreateVoiceTemplate
  1073  // API call, and error handling.
  1074  //
  1075  // This method is useful when you want to inject custom logic or configuration
  1076  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1077  //
  1078  //
  1079  //    // Example sending a request using the CreateVoiceTemplateRequest method.
  1080  //    req, resp := client.CreateVoiceTemplateRequest(params)
  1081  //
  1082  //    err := req.Send()
  1083  //    if err == nil { // resp is now filled
  1084  //        fmt.Println(resp)
  1085  //    }
  1086  //
  1087  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateVoiceTemplate
  1088  func (c *Pinpoint) CreateVoiceTemplateRequest(input *CreateVoiceTemplateInput) (req *request.Request, output *CreateVoiceTemplateOutput) {
  1089  	op := &request.Operation{
  1090  		Name:       opCreateVoiceTemplate,
  1091  		HTTPMethod: "POST",
  1092  		HTTPPath:   "/v1/templates/{template-name}/voice",
  1093  	}
  1094  
  1095  	if input == nil {
  1096  		input = &CreateVoiceTemplateInput{}
  1097  	}
  1098  
  1099  	output = &CreateVoiceTemplateOutput{}
  1100  	req = c.newRequest(op, input, output)
  1101  	return
  1102  }
  1103  
  1104  // CreateVoiceTemplate API operation for Amazon Pinpoint.
  1105  //
  1106  // Creates a message template for messages that are sent through the voice channel.
  1107  //
  1108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1109  // with awserr.Error's Code and Message methods to get detailed information about
  1110  // the error.
  1111  //
  1112  // See the AWS API reference guide for Amazon Pinpoint's
  1113  // API operation CreateVoiceTemplate for usage and error information.
  1114  //
  1115  // Returned Error Types:
  1116  //   * MethodNotAllowedException
  1117  //   Provides information about an API request or response.
  1118  //
  1119  //   * TooManyRequestsException
  1120  //   Provides information about an API request or response.
  1121  //
  1122  //   * BadRequestException
  1123  //   Provides information about an API request or response.
  1124  //
  1125  //   * InternalServerErrorException
  1126  //   Provides information about an API request or response.
  1127  //
  1128  //   * ForbiddenException
  1129  //   Provides information about an API request or response.
  1130  //
  1131  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateVoiceTemplate
  1132  func (c *Pinpoint) CreateVoiceTemplate(input *CreateVoiceTemplateInput) (*CreateVoiceTemplateOutput, error) {
  1133  	req, out := c.CreateVoiceTemplateRequest(input)
  1134  	return out, req.Send()
  1135  }
  1136  
  1137  // CreateVoiceTemplateWithContext is the same as CreateVoiceTemplate with the addition of
  1138  // the ability to pass a context and additional request options.
  1139  //
  1140  // See CreateVoiceTemplate for details on how to use this API operation.
  1141  //
  1142  // The context must be non-nil and will be used for request cancellation. If
  1143  // the context is nil a panic will occur. In the future the SDK may create
  1144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1145  // for more information on using Contexts.
  1146  func (c *Pinpoint) CreateVoiceTemplateWithContext(ctx aws.Context, input *CreateVoiceTemplateInput, opts ...request.Option) (*CreateVoiceTemplateOutput, error) {
  1147  	req, out := c.CreateVoiceTemplateRequest(input)
  1148  	req.SetContext(ctx)
  1149  	req.ApplyOptions(opts...)
  1150  	return out, req.Send()
  1151  }
  1152  
  1153  const opDeleteAdmChannel = "DeleteAdmChannel"
  1154  
  1155  // DeleteAdmChannelRequest generates a "aws/request.Request" representing the
  1156  // client's request for the DeleteAdmChannel operation. The "output" return
  1157  // value will be populated with the request's response once the request completes
  1158  // successfully.
  1159  //
  1160  // Use "Send" method on the returned Request to send the API call to the service.
  1161  // the "output" return value is not valid until after Send returns without error.
  1162  //
  1163  // See DeleteAdmChannel for more information on using the DeleteAdmChannel
  1164  // API call, and error handling.
  1165  //
  1166  // This method is useful when you want to inject custom logic or configuration
  1167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1168  //
  1169  //
  1170  //    // Example sending a request using the DeleteAdmChannelRequest method.
  1171  //    req, resp := client.DeleteAdmChannelRequest(params)
  1172  //
  1173  //    err := req.Send()
  1174  //    if err == nil { // resp is now filled
  1175  //        fmt.Println(resp)
  1176  //    }
  1177  //
  1178  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
  1179  func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) {
  1180  	op := &request.Operation{
  1181  		Name:       opDeleteAdmChannel,
  1182  		HTTPMethod: "DELETE",
  1183  		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
  1184  	}
  1185  
  1186  	if input == nil {
  1187  		input = &DeleteAdmChannelInput{}
  1188  	}
  1189  
  1190  	output = &DeleteAdmChannelOutput{}
  1191  	req = c.newRequest(op, input, output)
  1192  	return
  1193  }
  1194  
  1195  // DeleteAdmChannel API operation for Amazon Pinpoint.
  1196  //
  1197  // Disables the ADM channel for an application and deletes any existing settings
  1198  // for the channel.
  1199  //
  1200  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1201  // with awserr.Error's Code and Message methods to get detailed information about
  1202  // the error.
  1203  //
  1204  // See the AWS API reference guide for Amazon Pinpoint's
  1205  // API operation DeleteAdmChannel for usage and error information.
  1206  //
  1207  // Returned Error Types:
  1208  //   * BadRequestException
  1209  //   Provides information about an API request or response.
  1210  //
  1211  //   * InternalServerErrorException
  1212  //   Provides information about an API request or response.
  1213  //
  1214  //   * PayloadTooLargeException
  1215  //   Provides information about an API request or response.
  1216  //
  1217  //   * ForbiddenException
  1218  //   Provides information about an API request or response.
  1219  //
  1220  //   * NotFoundException
  1221  //   Provides information about an API request or response.
  1222  //
  1223  //   * MethodNotAllowedException
  1224  //   Provides information about an API request or response.
  1225  //
  1226  //   * TooManyRequestsException
  1227  //   Provides information about an API request or response.
  1228  //
  1229  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
  1230  func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) {
  1231  	req, out := c.DeleteAdmChannelRequest(input)
  1232  	return out, req.Send()
  1233  }
  1234  
  1235  // DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of
  1236  // the ability to pass a context and additional request options.
  1237  //
  1238  // See DeleteAdmChannel for details on how to use this API operation.
  1239  //
  1240  // The context must be non-nil and will be used for request cancellation. If
  1241  // the context is nil a panic will occur. In the future the SDK may create
  1242  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1243  // for more information on using Contexts.
  1244  func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) {
  1245  	req, out := c.DeleteAdmChannelRequest(input)
  1246  	req.SetContext(ctx)
  1247  	req.ApplyOptions(opts...)
  1248  	return out, req.Send()
  1249  }
  1250  
  1251  const opDeleteApnsChannel = "DeleteApnsChannel"
  1252  
  1253  // DeleteApnsChannelRequest generates a "aws/request.Request" representing the
  1254  // client's request for the DeleteApnsChannel operation. The "output" return
  1255  // value will be populated with the request's response once the request completes
  1256  // successfully.
  1257  //
  1258  // Use "Send" method on the returned Request to send the API call to the service.
  1259  // the "output" return value is not valid until after Send returns without error.
  1260  //
  1261  // See DeleteApnsChannel for more information on using the DeleteApnsChannel
  1262  // API call, and error handling.
  1263  //
  1264  // This method is useful when you want to inject custom logic or configuration
  1265  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1266  //
  1267  //
  1268  //    // Example sending a request using the DeleteApnsChannelRequest method.
  1269  //    req, resp := client.DeleteApnsChannelRequest(params)
  1270  //
  1271  //    err := req.Send()
  1272  //    if err == nil { // resp is now filled
  1273  //        fmt.Println(resp)
  1274  //    }
  1275  //
  1276  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
  1277  func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) {
  1278  	op := &request.Operation{
  1279  		Name:       opDeleteApnsChannel,
  1280  		HTTPMethod: "DELETE",
  1281  		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
  1282  	}
  1283  
  1284  	if input == nil {
  1285  		input = &DeleteApnsChannelInput{}
  1286  	}
  1287  
  1288  	output = &DeleteApnsChannelOutput{}
  1289  	req = c.newRequest(op, input, output)
  1290  	return
  1291  }
  1292  
  1293  // DeleteApnsChannel API operation for Amazon Pinpoint.
  1294  //
  1295  // Disables the APNs channel for an application and deletes any existing settings
  1296  // for the channel.
  1297  //
  1298  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1299  // with awserr.Error's Code and Message methods to get detailed information about
  1300  // the error.
  1301  //
  1302  // See the AWS API reference guide for Amazon Pinpoint's
  1303  // API operation DeleteApnsChannel for usage and error information.
  1304  //
  1305  // Returned Error Types:
  1306  //   * BadRequestException
  1307  //   Provides information about an API request or response.
  1308  //
  1309  //   * InternalServerErrorException
  1310  //   Provides information about an API request or response.
  1311  //
  1312  //   * PayloadTooLargeException
  1313  //   Provides information about an API request or response.
  1314  //
  1315  //   * ForbiddenException
  1316  //   Provides information about an API request or response.
  1317  //
  1318  //   * NotFoundException
  1319  //   Provides information about an API request or response.
  1320  //
  1321  //   * MethodNotAllowedException
  1322  //   Provides information about an API request or response.
  1323  //
  1324  //   * TooManyRequestsException
  1325  //   Provides information about an API request or response.
  1326  //
  1327  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
  1328  func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) {
  1329  	req, out := c.DeleteApnsChannelRequest(input)
  1330  	return out, req.Send()
  1331  }
  1332  
  1333  // DeleteApnsChannelWithContext is the same as DeleteApnsChannel with the addition of
  1334  // the ability to pass a context and additional request options.
  1335  //
  1336  // See DeleteApnsChannel for details on how to use this API operation.
  1337  //
  1338  // The context must be non-nil and will be used for request cancellation. If
  1339  // the context is nil a panic will occur. In the future the SDK may create
  1340  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1341  // for more information on using Contexts.
  1342  func (c *Pinpoint) DeleteApnsChannelWithContext(ctx aws.Context, input *DeleteApnsChannelInput, opts ...request.Option) (*DeleteApnsChannelOutput, error) {
  1343  	req, out := c.DeleteApnsChannelRequest(input)
  1344  	req.SetContext(ctx)
  1345  	req.ApplyOptions(opts...)
  1346  	return out, req.Send()
  1347  }
  1348  
  1349  const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel"
  1350  
  1351  // DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the
  1352  // client's request for the DeleteApnsSandboxChannel operation. The "output" return
  1353  // value will be populated with the request's response once the request completes
  1354  // successfully.
  1355  //
  1356  // Use "Send" method on the returned Request to send the API call to the service.
  1357  // the "output" return value is not valid until after Send returns without error.
  1358  //
  1359  // See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel
  1360  // API call, and error handling.
  1361  //
  1362  // This method is useful when you want to inject custom logic or configuration
  1363  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1364  //
  1365  //
  1366  //    // Example sending a request using the DeleteApnsSandboxChannelRequest method.
  1367  //    req, resp := client.DeleteApnsSandboxChannelRequest(params)
  1368  //
  1369  //    err := req.Send()
  1370  //    if err == nil { // resp is now filled
  1371  //        fmt.Println(resp)
  1372  //    }
  1373  //
  1374  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
  1375  func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) {
  1376  	op := &request.Operation{
  1377  		Name:       opDeleteApnsSandboxChannel,
  1378  		HTTPMethod: "DELETE",
  1379  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
  1380  	}
  1381  
  1382  	if input == nil {
  1383  		input = &DeleteApnsSandboxChannelInput{}
  1384  	}
  1385  
  1386  	output = &DeleteApnsSandboxChannelOutput{}
  1387  	req = c.newRequest(op, input, output)
  1388  	return
  1389  }
  1390  
  1391  // DeleteApnsSandboxChannel API operation for Amazon Pinpoint.
  1392  //
  1393  // Disables the APNs sandbox channel for an application and deletes any existing
  1394  // settings for the channel.
  1395  //
  1396  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1397  // with awserr.Error's Code and Message methods to get detailed information about
  1398  // the error.
  1399  //
  1400  // See the AWS API reference guide for Amazon Pinpoint's
  1401  // API operation DeleteApnsSandboxChannel for usage and error information.
  1402  //
  1403  // Returned Error Types:
  1404  //   * BadRequestException
  1405  //   Provides information about an API request or response.
  1406  //
  1407  //   * InternalServerErrorException
  1408  //   Provides information about an API request or response.
  1409  //
  1410  //   * PayloadTooLargeException
  1411  //   Provides information about an API request or response.
  1412  //
  1413  //   * ForbiddenException
  1414  //   Provides information about an API request or response.
  1415  //
  1416  //   * NotFoundException
  1417  //   Provides information about an API request or response.
  1418  //
  1419  //   * MethodNotAllowedException
  1420  //   Provides information about an API request or response.
  1421  //
  1422  //   * TooManyRequestsException
  1423  //   Provides information about an API request or response.
  1424  //
  1425  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
  1426  func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) {
  1427  	req, out := c.DeleteApnsSandboxChannelRequest(input)
  1428  	return out, req.Send()
  1429  }
  1430  
  1431  // DeleteApnsSandboxChannelWithContext is the same as DeleteApnsSandboxChannel with the addition of
  1432  // the ability to pass a context and additional request options.
  1433  //
  1434  // See DeleteApnsSandboxChannel for details on how to use this API operation.
  1435  //
  1436  // The context must be non-nil and will be used for request cancellation. If
  1437  // the context is nil a panic will occur. In the future the SDK may create
  1438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1439  // for more information on using Contexts.
  1440  func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsSandboxChannelInput, opts ...request.Option) (*DeleteApnsSandboxChannelOutput, error) {
  1441  	req, out := c.DeleteApnsSandboxChannelRequest(input)
  1442  	req.SetContext(ctx)
  1443  	req.ApplyOptions(opts...)
  1444  	return out, req.Send()
  1445  }
  1446  
  1447  const opDeleteApnsVoipChannel = "DeleteApnsVoipChannel"
  1448  
  1449  // DeleteApnsVoipChannelRequest generates a "aws/request.Request" representing the
  1450  // client's request for the DeleteApnsVoipChannel operation. The "output" return
  1451  // value will be populated with the request's response once the request completes
  1452  // successfully.
  1453  //
  1454  // Use "Send" method on the returned Request to send the API call to the service.
  1455  // the "output" return value is not valid until after Send returns without error.
  1456  //
  1457  // See DeleteApnsVoipChannel for more information on using the DeleteApnsVoipChannel
  1458  // API call, and error handling.
  1459  //
  1460  // This method is useful when you want to inject custom logic or configuration
  1461  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1462  //
  1463  //
  1464  //    // Example sending a request using the DeleteApnsVoipChannelRequest method.
  1465  //    req, resp := client.DeleteApnsVoipChannelRequest(params)
  1466  //
  1467  //    err := req.Send()
  1468  //    if err == nil { // resp is now filled
  1469  //        fmt.Println(resp)
  1470  //    }
  1471  //
  1472  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
  1473  func (c *Pinpoint) DeleteApnsVoipChannelRequest(input *DeleteApnsVoipChannelInput) (req *request.Request, output *DeleteApnsVoipChannelOutput) {
  1474  	op := &request.Operation{
  1475  		Name:       opDeleteApnsVoipChannel,
  1476  		HTTPMethod: "DELETE",
  1477  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
  1478  	}
  1479  
  1480  	if input == nil {
  1481  		input = &DeleteApnsVoipChannelInput{}
  1482  	}
  1483  
  1484  	output = &DeleteApnsVoipChannelOutput{}
  1485  	req = c.newRequest(op, input, output)
  1486  	return
  1487  }
  1488  
  1489  // DeleteApnsVoipChannel API operation for Amazon Pinpoint.
  1490  //
  1491  // Disables the APNs VoIP channel for an application and deletes any existing
  1492  // settings for the channel.
  1493  //
  1494  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1495  // with awserr.Error's Code and Message methods to get detailed information about
  1496  // the error.
  1497  //
  1498  // See the AWS API reference guide for Amazon Pinpoint's
  1499  // API operation DeleteApnsVoipChannel for usage and error information.
  1500  //
  1501  // Returned Error Types:
  1502  //   * BadRequestException
  1503  //   Provides information about an API request or response.
  1504  //
  1505  //   * InternalServerErrorException
  1506  //   Provides information about an API request or response.
  1507  //
  1508  //   * PayloadTooLargeException
  1509  //   Provides information about an API request or response.
  1510  //
  1511  //   * ForbiddenException
  1512  //   Provides information about an API request or response.
  1513  //
  1514  //   * NotFoundException
  1515  //   Provides information about an API request or response.
  1516  //
  1517  //   * MethodNotAllowedException
  1518  //   Provides information about an API request or response.
  1519  //
  1520  //   * TooManyRequestsException
  1521  //   Provides information about an API request or response.
  1522  //
  1523  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
  1524  func (c *Pinpoint) DeleteApnsVoipChannel(input *DeleteApnsVoipChannelInput) (*DeleteApnsVoipChannelOutput, error) {
  1525  	req, out := c.DeleteApnsVoipChannelRequest(input)
  1526  	return out, req.Send()
  1527  }
  1528  
  1529  // DeleteApnsVoipChannelWithContext is the same as DeleteApnsVoipChannel with the addition of
  1530  // the ability to pass a context and additional request options.
  1531  //
  1532  // See DeleteApnsVoipChannel for details on how to use this API operation.
  1533  //
  1534  // The context must be non-nil and will be used for request cancellation. If
  1535  // the context is nil a panic will occur. In the future the SDK may create
  1536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1537  // for more information on using Contexts.
  1538  func (c *Pinpoint) DeleteApnsVoipChannelWithContext(ctx aws.Context, input *DeleteApnsVoipChannelInput, opts ...request.Option) (*DeleteApnsVoipChannelOutput, error) {
  1539  	req, out := c.DeleteApnsVoipChannelRequest(input)
  1540  	req.SetContext(ctx)
  1541  	req.ApplyOptions(opts...)
  1542  	return out, req.Send()
  1543  }
  1544  
  1545  const opDeleteApnsVoipSandboxChannel = "DeleteApnsVoipSandboxChannel"
  1546  
  1547  // DeleteApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
  1548  // client's request for the DeleteApnsVoipSandboxChannel operation. The "output" return
  1549  // value will be populated with the request's response once the request completes
  1550  // successfully.
  1551  //
  1552  // Use "Send" method on the returned Request to send the API call to the service.
  1553  // the "output" return value is not valid until after Send returns without error.
  1554  //
  1555  // See DeleteApnsVoipSandboxChannel for more information on using the DeleteApnsVoipSandboxChannel
  1556  // API call, and error handling.
  1557  //
  1558  // This method is useful when you want to inject custom logic or configuration
  1559  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1560  //
  1561  //
  1562  //    // Example sending a request using the DeleteApnsVoipSandboxChannelRequest method.
  1563  //    req, resp := client.DeleteApnsVoipSandboxChannelRequest(params)
  1564  //
  1565  //    err := req.Send()
  1566  //    if err == nil { // resp is now filled
  1567  //        fmt.Println(resp)
  1568  //    }
  1569  //
  1570  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
  1571  func (c *Pinpoint) DeleteApnsVoipSandboxChannelRequest(input *DeleteApnsVoipSandboxChannelInput) (req *request.Request, output *DeleteApnsVoipSandboxChannelOutput) {
  1572  	op := &request.Operation{
  1573  		Name:       opDeleteApnsVoipSandboxChannel,
  1574  		HTTPMethod: "DELETE",
  1575  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
  1576  	}
  1577  
  1578  	if input == nil {
  1579  		input = &DeleteApnsVoipSandboxChannelInput{}
  1580  	}
  1581  
  1582  	output = &DeleteApnsVoipSandboxChannelOutput{}
  1583  	req = c.newRequest(op, input, output)
  1584  	return
  1585  }
  1586  
  1587  // DeleteApnsVoipSandboxChannel API operation for Amazon Pinpoint.
  1588  //
  1589  // Disables the APNs VoIP sandbox channel for an application and deletes any
  1590  // existing settings for the channel.
  1591  //
  1592  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1593  // with awserr.Error's Code and Message methods to get detailed information about
  1594  // the error.
  1595  //
  1596  // See the AWS API reference guide for Amazon Pinpoint's
  1597  // API operation DeleteApnsVoipSandboxChannel for usage and error information.
  1598  //
  1599  // Returned Error Types:
  1600  //   * BadRequestException
  1601  //   Provides information about an API request or response.
  1602  //
  1603  //   * InternalServerErrorException
  1604  //   Provides information about an API request or response.
  1605  //
  1606  //   * PayloadTooLargeException
  1607  //   Provides information about an API request or response.
  1608  //
  1609  //   * ForbiddenException
  1610  //   Provides information about an API request or response.
  1611  //
  1612  //   * NotFoundException
  1613  //   Provides information about an API request or response.
  1614  //
  1615  //   * MethodNotAllowedException
  1616  //   Provides information about an API request or response.
  1617  //
  1618  //   * TooManyRequestsException
  1619  //   Provides information about an API request or response.
  1620  //
  1621  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
  1622  func (c *Pinpoint) DeleteApnsVoipSandboxChannel(input *DeleteApnsVoipSandboxChannelInput) (*DeleteApnsVoipSandboxChannelOutput, error) {
  1623  	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
  1624  	return out, req.Send()
  1625  }
  1626  
  1627  // DeleteApnsVoipSandboxChannelWithContext is the same as DeleteApnsVoipSandboxChannel with the addition of
  1628  // the ability to pass a context and additional request options.
  1629  //
  1630  // See DeleteApnsVoipSandboxChannel for details on how to use this API operation.
  1631  //
  1632  // The context must be non-nil and will be used for request cancellation. If
  1633  // the context is nil a panic will occur. In the future the SDK may create
  1634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1635  // for more information on using Contexts.
  1636  func (c *Pinpoint) DeleteApnsVoipSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsVoipSandboxChannelInput, opts ...request.Option) (*DeleteApnsVoipSandboxChannelOutput, error) {
  1637  	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
  1638  	req.SetContext(ctx)
  1639  	req.ApplyOptions(opts...)
  1640  	return out, req.Send()
  1641  }
  1642  
  1643  const opDeleteApp = "DeleteApp"
  1644  
  1645  // DeleteAppRequest generates a "aws/request.Request" representing the
  1646  // client's request for the DeleteApp operation. The "output" return
  1647  // value will be populated with the request's response once the request completes
  1648  // successfully.
  1649  //
  1650  // Use "Send" method on the returned Request to send the API call to the service.
  1651  // the "output" return value is not valid until after Send returns without error.
  1652  //
  1653  // See DeleteApp for more information on using the DeleteApp
  1654  // API call, and error handling.
  1655  //
  1656  // This method is useful when you want to inject custom logic or configuration
  1657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1658  //
  1659  //
  1660  //    // Example sending a request using the DeleteAppRequest method.
  1661  //    req, resp := client.DeleteAppRequest(params)
  1662  //
  1663  //    err := req.Send()
  1664  //    if err == nil { // resp is now filled
  1665  //        fmt.Println(resp)
  1666  //    }
  1667  //
  1668  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
  1669  func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
  1670  	op := &request.Operation{
  1671  		Name:       opDeleteApp,
  1672  		HTTPMethod: "DELETE",
  1673  		HTTPPath:   "/v1/apps/{application-id}",
  1674  	}
  1675  
  1676  	if input == nil {
  1677  		input = &DeleteAppInput{}
  1678  	}
  1679  
  1680  	output = &DeleteAppOutput{}
  1681  	req = c.newRequest(op, input, output)
  1682  	return
  1683  }
  1684  
  1685  // DeleteApp API operation for Amazon Pinpoint.
  1686  //
  1687  // Deletes an application.
  1688  //
  1689  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1690  // with awserr.Error's Code and Message methods to get detailed information about
  1691  // the error.
  1692  //
  1693  // See the AWS API reference guide for Amazon Pinpoint's
  1694  // API operation DeleteApp for usage and error information.
  1695  //
  1696  // Returned Error Types:
  1697  //   * BadRequestException
  1698  //   Provides information about an API request or response.
  1699  //
  1700  //   * InternalServerErrorException
  1701  //   Provides information about an API request or response.
  1702  //
  1703  //   * PayloadTooLargeException
  1704  //   Provides information about an API request or response.
  1705  //
  1706  //   * ForbiddenException
  1707  //   Provides information about an API request or response.
  1708  //
  1709  //   * NotFoundException
  1710  //   Provides information about an API request or response.
  1711  //
  1712  //   * MethodNotAllowedException
  1713  //   Provides information about an API request or response.
  1714  //
  1715  //   * TooManyRequestsException
  1716  //   Provides information about an API request or response.
  1717  //
  1718  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
  1719  func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
  1720  	req, out := c.DeleteAppRequest(input)
  1721  	return out, req.Send()
  1722  }
  1723  
  1724  // DeleteAppWithContext is the same as DeleteApp with the addition of
  1725  // the ability to pass a context and additional request options.
  1726  //
  1727  // See DeleteApp for details on how to use this API operation.
  1728  //
  1729  // The context must be non-nil and will be used for request cancellation. If
  1730  // the context is nil a panic will occur. In the future the SDK may create
  1731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1732  // for more information on using Contexts.
  1733  func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
  1734  	req, out := c.DeleteAppRequest(input)
  1735  	req.SetContext(ctx)
  1736  	req.ApplyOptions(opts...)
  1737  	return out, req.Send()
  1738  }
  1739  
  1740  const opDeleteBaiduChannel = "DeleteBaiduChannel"
  1741  
  1742  // DeleteBaiduChannelRequest generates a "aws/request.Request" representing the
  1743  // client's request for the DeleteBaiduChannel operation. The "output" return
  1744  // value will be populated with the request's response once the request completes
  1745  // successfully.
  1746  //
  1747  // Use "Send" method on the returned Request to send the API call to the service.
  1748  // the "output" return value is not valid until after Send returns without error.
  1749  //
  1750  // See DeleteBaiduChannel for more information on using the DeleteBaiduChannel
  1751  // API call, and error handling.
  1752  //
  1753  // This method is useful when you want to inject custom logic or configuration
  1754  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1755  //
  1756  //
  1757  //    // Example sending a request using the DeleteBaiduChannelRequest method.
  1758  //    req, resp := client.DeleteBaiduChannelRequest(params)
  1759  //
  1760  //    err := req.Send()
  1761  //    if err == nil { // resp is now filled
  1762  //        fmt.Println(resp)
  1763  //    }
  1764  //
  1765  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
  1766  func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) {
  1767  	op := &request.Operation{
  1768  		Name:       opDeleteBaiduChannel,
  1769  		HTTPMethod: "DELETE",
  1770  		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
  1771  	}
  1772  
  1773  	if input == nil {
  1774  		input = &DeleteBaiduChannelInput{}
  1775  	}
  1776  
  1777  	output = &DeleteBaiduChannelOutput{}
  1778  	req = c.newRequest(op, input, output)
  1779  	return
  1780  }
  1781  
  1782  // DeleteBaiduChannel API operation for Amazon Pinpoint.
  1783  //
  1784  // Disables the Baidu channel for an application and deletes any existing settings
  1785  // for the channel.
  1786  //
  1787  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1788  // with awserr.Error's Code and Message methods to get detailed information about
  1789  // the error.
  1790  //
  1791  // See the AWS API reference guide for Amazon Pinpoint's
  1792  // API operation DeleteBaiduChannel for usage and error information.
  1793  //
  1794  // Returned Error Types:
  1795  //   * BadRequestException
  1796  //   Provides information about an API request or response.
  1797  //
  1798  //   * InternalServerErrorException
  1799  //   Provides information about an API request or response.
  1800  //
  1801  //   * PayloadTooLargeException
  1802  //   Provides information about an API request or response.
  1803  //
  1804  //   * ForbiddenException
  1805  //   Provides information about an API request or response.
  1806  //
  1807  //   * NotFoundException
  1808  //   Provides information about an API request or response.
  1809  //
  1810  //   * MethodNotAllowedException
  1811  //   Provides information about an API request or response.
  1812  //
  1813  //   * TooManyRequestsException
  1814  //   Provides information about an API request or response.
  1815  //
  1816  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
  1817  func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) {
  1818  	req, out := c.DeleteBaiduChannelRequest(input)
  1819  	return out, req.Send()
  1820  }
  1821  
  1822  // DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of
  1823  // the ability to pass a context and additional request options.
  1824  //
  1825  // See DeleteBaiduChannel for details on how to use this API operation.
  1826  //
  1827  // The context must be non-nil and will be used for request cancellation. If
  1828  // the context is nil a panic will occur. In the future the SDK may create
  1829  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1830  // for more information on using Contexts.
  1831  func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) {
  1832  	req, out := c.DeleteBaiduChannelRequest(input)
  1833  	req.SetContext(ctx)
  1834  	req.ApplyOptions(opts...)
  1835  	return out, req.Send()
  1836  }
  1837  
  1838  const opDeleteCampaign = "DeleteCampaign"
  1839  
  1840  // DeleteCampaignRequest generates a "aws/request.Request" representing the
  1841  // client's request for the DeleteCampaign operation. The "output" return
  1842  // value will be populated with the request's response once the request completes
  1843  // successfully.
  1844  //
  1845  // Use "Send" method on the returned Request to send the API call to the service.
  1846  // the "output" return value is not valid until after Send returns without error.
  1847  //
  1848  // See DeleteCampaign for more information on using the DeleteCampaign
  1849  // API call, and error handling.
  1850  //
  1851  // This method is useful when you want to inject custom logic or configuration
  1852  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1853  //
  1854  //
  1855  //    // Example sending a request using the DeleteCampaignRequest method.
  1856  //    req, resp := client.DeleteCampaignRequest(params)
  1857  //
  1858  //    err := req.Send()
  1859  //    if err == nil { // resp is now filled
  1860  //        fmt.Println(resp)
  1861  //    }
  1862  //
  1863  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
  1864  func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
  1865  	op := &request.Operation{
  1866  		Name:       opDeleteCampaign,
  1867  		HTTPMethod: "DELETE",
  1868  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
  1869  	}
  1870  
  1871  	if input == nil {
  1872  		input = &DeleteCampaignInput{}
  1873  	}
  1874  
  1875  	output = &DeleteCampaignOutput{}
  1876  	req = c.newRequest(op, input, output)
  1877  	return
  1878  }
  1879  
  1880  // DeleteCampaign API operation for Amazon Pinpoint.
  1881  //
  1882  // Deletes a campaign from an application.
  1883  //
  1884  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1885  // with awserr.Error's Code and Message methods to get detailed information about
  1886  // the error.
  1887  //
  1888  // See the AWS API reference guide for Amazon Pinpoint's
  1889  // API operation DeleteCampaign for usage and error information.
  1890  //
  1891  // Returned Error Types:
  1892  //   * BadRequestException
  1893  //   Provides information about an API request or response.
  1894  //
  1895  //   * InternalServerErrorException
  1896  //   Provides information about an API request or response.
  1897  //
  1898  //   * PayloadTooLargeException
  1899  //   Provides information about an API request or response.
  1900  //
  1901  //   * ForbiddenException
  1902  //   Provides information about an API request or response.
  1903  //
  1904  //   * NotFoundException
  1905  //   Provides information about an API request or response.
  1906  //
  1907  //   * MethodNotAllowedException
  1908  //   Provides information about an API request or response.
  1909  //
  1910  //   * TooManyRequestsException
  1911  //   Provides information about an API request or response.
  1912  //
  1913  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
  1914  func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
  1915  	req, out := c.DeleteCampaignRequest(input)
  1916  	return out, req.Send()
  1917  }
  1918  
  1919  // DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
  1920  // the ability to pass a context and additional request options.
  1921  //
  1922  // See DeleteCampaign for details on how to use this API operation.
  1923  //
  1924  // The context must be non-nil and will be used for request cancellation. If
  1925  // the context is nil a panic will occur. In the future the SDK may create
  1926  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1927  // for more information on using Contexts.
  1928  func (c *Pinpoint) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
  1929  	req, out := c.DeleteCampaignRequest(input)
  1930  	req.SetContext(ctx)
  1931  	req.ApplyOptions(opts...)
  1932  	return out, req.Send()
  1933  }
  1934  
  1935  const opDeleteEmailChannel = "DeleteEmailChannel"
  1936  
  1937  // DeleteEmailChannelRequest generates a "aws/request.Request" representing the
  1938  // client's request for the DeleteEmailChannel operation. The "output" return
  1939  // value will be populated with the request's response once the request completes
  1940  // successfully.
  1941  //
  1942  // Use "Send" method on the returned Request to send the API call to the service.
  1943  // the "output" return value is not valid until after Send returns without error.
  1944  //
  1945  // See DeleteEmailChannel for more information on using the DeleteEmailChannel
  1946  // API call, and error handling.
  1947  //
  1948  // This method is useful when you want to inject custom logic or configuration
  1949  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1950  //
  1951  //
  1952  //    // Example sending a request using the DeleteEmailChannelRequest method.
  1953  //    req, resp := client.DeleteEmailChannelRequest(params)
  1954  //
  1955  //    err := req.Send()
  1956  //    if err == nil { // resp is now filled
  1957  //        fmt.Println(resp)
  1958  //    }
  1959  //
  1960  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
  1961  func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) {
  1962  	op := &request.Operation{
  1963  		Name:       opDeleteEmailChannel,
  1964  		HTTPMethod: "DELETE",
  1965  		HTTPPath:   "/v1/apps/{application-id}/channels/email",
  1966  	}
  1967  
  1968  	if input == nil {
  1969  		input = &DeleteEmailChannelInput{}
  1970  	}
  1971  
  1972  	output = &DeleteEmailChannelOutput{}
  1973  	req = c.newRequest(op, input, output)
  1974  	return
  1975  }
  1976  
  1977  // DeleteEmailChannel API operation for Amazon Pinpoint.
  1978  //
  1979  // Disables the email channel for an application and deletes any existing settings
  1980  // for the channel.
  1981  //
  1982  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1983  // with awserr.Error's Code and Message methods to get detailed information about
  1984  // the error.
  1985  //
  1986  // See the AWS API reference guide for Amazon Pinpoint's
  1987  // API operation DeleteEmailChannel for usage and error information.
  1988  //
  1989  // Returned Error Types:
  1990  //   * BadRequestException
  1991  //   Provides information about an API request or response.
  1992  //
  1993  //   * InternalServerErrorException
  1994  //   Provides information about an API request or response.
  1995  //
  1996  //   * PayloadTooLargeException
  1997  //   Provides information about an API request or response.
  1998  //
  1999  //   * ForbiddenException
  2000  //   Provides information about an API request or response.
  2001  //
  2002  //   * NotFoundException
  2003  //   Provides information about an API request or response.
  2004  //
  2005  //   * MethodNotAllowedException
  2006  //   Provides information about an API request or response.
  2007  //
  2008  //   * TooManyRequestsException
  2009  //   Provides information about an API request or response.
  2010  //
  2011  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
  2012  func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) {
  2013  	req, out := c.DeleteEmailChannelRequest(input)
  2014  	return out, req.Send()
  2015  }
  2016  
  2017  // DeleteEmailChannelWithContext is the same as DeleteEmailChannel with the addition of
  2018  // the ability to pass a context and additional request options.
  2019  //
  2020  // See DeleteEmailChannel for details on how to use this API operation.
  2021  //
  2022  // The context must be non-nil and will be used for request cancellation. If
  2023  // the context is nil a panic will occur. In the future the SDK may create
  2024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2025  // for more information on using Contexts.
  2026  func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteEmailChannelInput, opts ...request.Option) (*DeleteEmailChannelOutput, error) {
  2027  	req, out := c.DeleteEmailChannelRequest(input)
  2028  	req.SetContext(ctx)
  2029  	req.ApplyOptions(opts...)
  2030  	return out, req.Send()
  2031  }
  2032  
  2033  const opDeleteEmailTemplate = "DeleteEmailTemplate"
  2034  
  2035  // DeleteEmailTemplateRequest generates a "aws/request.Request" representing the
  2036  // client's request for the DeleteEmailTemplate operation. The "output" return
  2037  // value will be populated with the request's response once the request completes
  2038  // successfully.
  2039  //
  2040  // Use "Send" method on the returned Request to send the API call to the service.
  2041  // the "output" return value is not valid until after Send returns without error.
  2042  //
  2043  // See DeleteEmailTemplate for more information on using the DeleteEmailTemplate
  2044  // API call, and error handling.
  2045  //
  2046  // This method is useful when you want to inject custom logic or configuration
  2047  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2048  //
  2049  //
  2050  //    // Example sending a request using the DeleteEmailTemplateRequest method.
  2051  //    req, resp := client.DeleteEmailTemplateRequest(params)
  2052  //
  2053  //    err := req.Send()
  2054  //    if err == nil { // resp is now filled
  2055  //        fmt.Println(resp)
  2056  //    }
  2057  //
  2058  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
  2059  func (c *Pinpoint) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) {
  2060  	op := &request.Operation{
  2061  		Name:       opDeleteEmailTemplate,
  2062  		HTTPMethod: "DELETE",
  2063  		HTTPPath:   "/v1/templates/{template-name}/email",
  2064  	}
  2065  
  2066  	if input == nil {
  2067  		input = &DeleteEmailTemplateInput{}
  2068  	}
  2069  
  2070  	output = &DeleteEmailTemplateOutput{}
  2071  	req = c.newRequest(op, input, output)
  2072  	return
  2073  }
  2074  
  2075  // DeleteEmailTemplate API operation for Amazon Pinpoint.
  2076  //
  2077  // Deletes a message template for messages that were sent through the email
  2078  // channel.
  2079  //
  2080  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2081  // with awserr.Error's Code and Message methods to get detailed information about
  2082  // the error.
  2083  //
  2084  // See the AWS API reference guide for Amazon Pinpoint's
  2085  // API operation DeleteEmailTemplate for usage and error information.
  2086  //
  2087  // Returned Error Types:
  2088  //   * BadRequestException
  2089  //   Provides information about an API request or response.
  2090  //
  2091  //   * InternalServerErrorException
  2092  //   Provides information about an API request or response.
  2093  //
  2094  //   * PayloadTooLargeException
  2095  //   Provides information about an API request or response.
  2096  //
  2097  //   * ForbiddenException
  2098  //   Provides information about an API request or response.
  2099  //
  2100  //   * NotFoundException
  2101  //   Provides information about an API request or response.
  2102  //
  2103  //   * MethodNotAllowedException
  2104  //   Provides information about an API request or response.
  2105  //
  2106  //   * TooManyRequestsException
  2107  //   Provides information about an API request or response.
  2108  //
  2109  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
  2110  func (c *Pinpoint) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) {
  2111  	req, out := c.DeleteEmailTemplateRequest(input)
  2112  	return out, req.Send()
  2113  }
  2114  
  2115  // DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of
  2116  // the ability to pass a context and additional request options.
  2117  //
  2118  // See DeleteEmailTemplate for details on how to use this API operation.
  2119  //
  2120  // The context must be non-nil and will be used for request cancellation. If
  2121  // the context is nil a panic will occur. In the future the SDK may create
  2122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2123  // for more information on using Contexts.
  2124  func (c *Pinpoint) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) {
  2125  	req, out := c.DeleteEmailTemplateRequest(input)
  2126  	req.SetContext(ctx)
  2127  	req.ApplyOptions(opts...)
  2128  	return out, req.Send()
  2129  }
  2130  
  2131  const opDeleteEndpoint = "DeleteEndpoint"
  2132  
  2133  // DeleteEndpointRequest generates a "aws/request.Request" representing the
  2134  // client's request for the DeleteEndpoint operation. The "output" return
  2135  // value will be populated with the request's response once the request completes
  2136  // successfully.
  2137  //
  2138  // Use "Send" method on the returned Request to send the API call to the service.
  2139  // the "output" return value is not valid until after Send returns without error.
  2140  //
  2141  // See DeleteEndpoint for more information on using the DeleteEndpoint
  2142  // API call, and error handling.
  2143  //
  2144  // This method is useful when you want to inject custom logic or configuration
  2145  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2146  //
  2147  //
  2148  //    // Example sending a request using the DeleteEndpointRequest method.
  2149  //    req, resp := client.DeleteEndpointRequest(params)
  2150  //
  2151  //    err := req.Send()
  2152  //    if err == nil { // resp is now filled
  2153  //        fmt.Println(resp)
  2154  //    }
  2155  //
  2156  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
  2157  func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
  2158  	op := &request.Operation{
  2159  		Name:       opDeleteEndpoint,
  2160  		HTTPMethod: "DELETE",
  2161  		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
  2162  	}
  2163  
  2164  	if input == nil {
  2165  		input = &DeleteEndpointInput{}
  2166  	}
  2167  
  2168  	output = &DeleteEndpointOutput{}
  2169  	req = c.newRequest(op, input, output)
  2170  	return
  2171  }
  2172  
  2173  // DeleteEndpoint API operation for Amazon Pinpoint.
  2174  //
  2175  // Deletes an endpoint from an application.
  2176  //
  2177  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2178  // with awserr.Error's Code and Message methods to get detailed information about
  2179  // the error.
  2180  //
  2181  // See the AWS API reference guide for Amazon Pinpoint's
  2182  // API operation DeleteEndpoint for usage and error information.
  2183  //
  2184  // Returned Error Types:
  2185  //   * BadRequestException
  2186  //   Provides information about an API request or response.
  2187  //
  2188  //   * InternalServerErrorException
  2189  //   Provides information about an API request or response.
  2190  //
  2191  //   * PayloadTooLargeException
  2192  //   Provides information about an API request or response.
  2193  //
  2194  //   * ForbiddenException
  2195  //   Provides information about an API request or response.
  2196  //
  2197  //   * NotFoundException
  2198  //   Provides information about an API request or response.
  2199  //
  2200  //   * MethodNotAllowedException
  2201  //   Provides information about an API request or response.
  2202  //
  2203  //   * TooManyRequestsException
  2204  //   Provides information about an API request or response.
  2205  //
  2206  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
  2207  func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
  2208  	req, out := c.DeleteEndpointRequest(input)
  2209  	return out, req.Send()
  2210  }
  2211  
  2212  // DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
  2213  // the ability to pass a context and additional request options.
  2214  //
  2215  // See DeleteEndpoint for details on how to use this API operation.
  2216  //
  2217  // The context must be non-nil and will be used for request cancellation. If
  2218  // the context is nil a panic will occur. In the future the SDK may create
  2219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2220  // for more information on using Contexts.
  2221  func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
  2222  	req, out := c.DeleteEndpointRequest(input)
  2223  	req.SetContext(ctx)
  2224  	req.ApplyOptions(opts...)
  2225  	return out, req.Send()
  2226  }
  2227  
  2228  const opDeleteEventStream = "DeleteEventStream"
  2229  
  2230  // DeleteEventStreamRequest generates a "aws/request.Request" representing the
  2231  // client's request for the DeleteEventStream operation. The "output" return
  2232  // value will be populated with the request's response once the request completes
  2233  // successfully.
  2234  //
  2235  // Use "Send" method on the returned Request to send the API call to the service.
  2236  // the "output" return value is not valid until after Send returns without error.
  2237  //
  2238  // See DeleteEventStream for more information on using the DeleteEventStream
  2239  // API call, and error handling.
  2240  //
  2241  // This method is useful when you want to inject custom logic or configuration
  2242  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2243  //
  2244  //
  2245  //    // Example sending a request using the DeleteEventStreamRequest method.
  2246  //    req, resp := client.DeleteEventStreamRequest(params)
  2247  //
  2248  //    err := req.Send()
  2249  //    if err == nil { // resp is now filled
  2250  //        fmt.Println(resp)
  2251  //    }
  2252  //
  2253  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
  2254  func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) {
  2255  	op := &request.Operation{
  2256  		Name:       opDeleteEventStream,
  2257  		HTTPMethod: "DELETE",
  2258  		HTTPPath:   "/v1/apps/{application-id}/eventstream",
  2259  	}
  2260  
  2261  	if input == nil {
  2262  		input = &DeleteEventStreamInput{}
  2263  	}
  2264  
  2265  	output = &DeleteEventStreamOutput{}
  2266  	req = c.newRequest(op, input, output)
  2267  	return
  2268  }
  2269  
  2270  // DeleteEventStream API operation for Amazon Pinpoint.
  2271  //
  2272  // Deletes the event stream for an application.
  2273  //
  2274  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2275  // with awserr.Error's Code and Message methods to get detailed information about
  2276  // the error.
  2277  //
  2278  // See the AWS API reference guide for Amazon Pinpoint's
  2279  // API operation DeleteEventStream for usage and error information.
  2280  //
  2281  // Returned Error Types:
  2282  //   * BadRequestException
  2283  //   Provides information about an API request or response.
  2284  //
  2285  //   * InternalServerErrorException
  2286  //   Provides information about an API request or response.
  2287  //
  2288  //   * PayloadTooLargeException
  2289  //   Provides information about an API request or response.
  2290  //
  2291  //   * ForbiddenException
  2292  //   Provides information about an API request or response.
  2293  //
  2294  //   * NotFoundException
  2295  //   Provides information about an API request or response.
  2296  //
  2297  //   * MethodNotAllowedException
  2298  //   Provides information about an API request or response.
  2299  //
  2300  //   * TooManyRequestsException
  2301  //   Provides information about an API request or response.
  2302  //
  2303  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
  2304  func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) {
  2305  	req, out := c.DeleteEventStreamRequest(input)
  2306  	return out, req.Send()
  2307  }
  2308  
  2309  // DeleteEventStreamWithContext is the same as DeleteEventStream with the addition of
  2310  // the ability to pass a context and additional request options.
  2311  //
  2312  // See DeleteEventStream for details on how to use this API operation.
  2313  //
  2314  // The context must be non-nil and will be used for request cancellation. If
  2315  // the context is nil a panic will occur. In the future the SDK may create
  2316  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2317  // for more information on using Contexts.
  2318  func (c *Pinpoint) DeleteEventStreamWithContext(ctx aws.Context, input *DeleteEventStreamInput, opts ...request.Option) (*DeleteEventStreamOutput, error) {
  2319  	req, out := c.DeleteEventStreamRequest(input)
  2320  	req.SetContext(ctx)
  2321  	req.ApplyOptions(opts...)
  2322  	return out, req.Send()
  2323  }
  2324  
  2325  const opDeleteGcmChannel = "DeleteGcmChannel"
  2326  
  2327  // DeleteGcmChannelRequest generates a "aws/request.Request" representing the
  2328  // client's request for the DeleteGcmChannel operation. The "output" return
  2329  // value will be populated with the request's response once the request completes
  2330  // successfully.
  2331  //
  2332  // Use "Send" method on the returned Request to send the API call to the service.
  2333  // the "output" return value is not valid until after Send returns without error.
  2334  //
  2335  // See DeleteGcmChannel for more information on using the DeleteGcmChannel
  2336  // API call, and error handling.
  2337  //
  2338  // This method is useful when you want to inject custom logic or configuration
  2339  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2340  //
  2341  //
  2342  //    // Example sending a request using the DeleteGcmChannelRequest method.
  2343  //    req, resp := client.DeleteGcmChannelRequest(params)
  2344  //
  2345  //    err := req.Send()
  2346  //    if err == nil { // resp is now filled
  2347  //        fmt.Println(resp)
  2348  //    }
  2349  //
  2350  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
  2351  func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) {
  2352  	op := &request.Operation{
  2353  		Name:       opDeleteGcmChannel,
  2354  		HTTPMethod: "DELETE",
  2355  		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
  2356  	}
  2357  
  2358  	if input == nil {
  2359  		input = &DeleteGcmChannelInput{}
  2360  	}
  2361  
  2362  	output = &DeleteGcmChannelOutput{}
  2363  	req = c.newRequest(op, input, output)
  2364  	return
  2365  }
  2366  
  2367  // DeleteGcmChannel API operation for Amazon Pinpoint.
  2368  //
  2369  // Disables the GCM channel for an application and deletes any existing settings
  2370  // for the channel.
  2371  //
  2372  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2373  // with awserr.Error's Code and Message methods to get detailed information about
  2374  // the error.
  2375  //
  2376  // See the AWS API reference guide for Amazon Pinpoint's
  2377  // API operation DeleteGcmChannel for usage and error information.
  2378  //
  2379  // Returned Error Types:
  2380  //   * BadRequestException
  2381  //   Provides information about an API request or response.
  2382  //
  2383  //   * InternalServerErrorException
  2384  //   Provides information about an API request or response.
  2385  //
  2386  //   * PayloadTooLargeException
  2387  //   Provides information about an API request or response.
  2388  //
  2389  //   * ForbiddenException
  2390  //   Provides information about an API request or response.
  2391  //
  2392  //   * NotFoundException
  2393  //   Provides information about an API request or response.
  2394  //
  2395  //   * MethodNotAllowedException
  2396  //   Provides information about an API request or response.
  2397  //
  2398  //   * TooManyRequestsException
  2399  //   Provides information about an API request or response.
  2400  //
  2401  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
  2402  func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) {
  2403  	req, out := c.DeleteGcmChannelRequest(input)
  2404  	return out, req.Send()
  2405  }
  2406  
  2407  // DeleteGcmChannelWithContext is the same as DeleteGcmChannel with the addition of
  2408  // the ability to pass a context and additional request options.
  2409  //
  2410  // See DeleteGcmChannel for details on how to use this API operation.
  2411  //
  2412  // The context must be non-nil and will be used for request cancellation. If
  2413  // the context is nil a panic will occur. In the future the SDK may create
  2414  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2415  // for more information on using Contexts.
  2416  func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcmChannelInput, opts ...request.Option) (*DeleteGcmChannelOutput, error) {
  2417  	req, out := c.DeleteGcmChannelRequest(input)
  2418  	req.SetContext(ctx)
  2419  	req.ApplyOptions(opts...)
  2420  	return out, req.Send()
  2421  }
  2422  
  2423  const opDeleteInAppTemplate = "DeleteInAppTemplate"
  2424  
  2425  // DeleteInAppTemplateRequest generates a "aws/request.Request" representing the
  2426  // client's request for the DeleteInAppTemplate operation. The "output" return
  2427  // value will be populated with the request's response once the request completes
  2428  // successfully.
  2429  //
  2430  // Use "Send" method on the returned Request to send the API call to the service.
  2431  // the "output" return value is not valid until after Send returns without error.
  2432  //
  2433  // See DeleteInAppTemplate for more information on using the DeleteInAppTemplate
  2434  // API call, and error handling.
  2435  //
  2436  // This method is useful when you want to inject custom logic or configuration
  2437  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2438  //
  2439  //
  2440  //    // Example sending a request using the DeleteInAppTemplateRequest method.
  2441  //    req, resp := client.DeleteInAppTemplateRequest(params)
  2442  //
  2443  //    err := req.Send()
  2444  //    if err == nil { // resp is now filled
  2445  //        fmt.Println(resp)
  2446  //    }
  2447  //
  2448  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteInAppTemplate
  2449  func (c *Pinpoint) DeleteInAppTemplateRequest(input *DeleteInAppTemplateInput) (req *request.Request, output *DeleteInAppTemplateOutput) {
  2450  	op := &request.Operation{
  2451  		Name:       opDeleteInAppTemplate,
  2452  		HTTPMethod: "DELETE",
  2453  		HTTPPath:   "/v1/templates/{template-name}/inapp",
  2454  	}
  2455  
  2456  	if input == nil {
  2457  		input = &DeleteInAppTemplateInput{}
  2458  	}
  2459  
  2460  	output = &DeleteInAppTemplateOutput{}
  2461  	req = c.newRequest(op, input, output)
  2462  	return
  2463  }
  2464  
  2465  // DeleteInAppTemplate API operation for Amazon Pinpoint.
  2466  //
  2467  // Deletes a message template for messages sent using the in-app message channel.
  2468  //
  2469  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2470  // with awserr.Error's Code and Message methods to get detailed information about
  2471  // the error.
  2472  //
  2473  // See the AWS API reference guide for Amazon Pinpoint's
  2474  // API operation DeleteInAppTemplate for usage and error information.
  2475  //
  2476  // Returned Error Types:
  2477  //   * BadRequestException
  2478  //   Provides information about an API request or response.
  2479  //
  2480  //   * InternalServerErrorException
  2481  //   Provides information about an API request or response.
  2482  //
  2483  //   * PayloadTooLargeException
  2484  //   Provides information about an API request or response.
  2485  //
  2486  //   * ForbiddenException
  2487  //   Provides information about an API request or response.
  2488  //
  2489  //   * NotFoundException
  2490  //   Provides information about an API request or response.
  2491  //
  2492  //   * MethodNotAllowedException
  2493  //   Provides information about an API request or response.
  2494  //
  2495  //   * TooManyRequestsException
  2496  //   Provides information about an API request or response.
  2497  //
  2498  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteInAppTemplate
  2499  func (c *Pinpoint) DeleteInAppTemplate(input *DeleteInAppTemplateInput) (*DeleteInAppTemplateOutput, error) {
  2500  	req, out := c.DeleteInAppTemplateRequest(input)
  2501  	return out, req.Send()
  2502  }
  2503  
  2504  // DeleteInAppTemplateWithContext is the same as DeleteInAppTemplate with the addition of
  2505  // the ability to pass a context and additional request options.
  2506  //
  2507  // See DeleteInAppTemplate for details on how to use this API operation.
  2508  //
  2509  // The context must be non-nil and will be used for request cancellation. If
  2510  // the context is nil a panic will occur. In the future the SDK may create
  2511  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2512  // for more information on using Contexts.
  2513  func (c *Pinpoint) DeleteInAppTemplateWithContext(ctx aws.Context, input *DeleteInAppTemplateInput, opts ...request.Option) (*DeleteInAppTemplateOutput, error) {
  2514  	req, out := c.DeleteInAppTemplateRequest(input)
  2515  	req.SetContext(ctx)
  2516  	req.ApplyOptions(opts...)
  2517  	return out, req.Send()
  2518  }
  2519  
  2520  const opDeleteJourney = "DeleteJourney"
  2521  
  2522  // DeleteJourneyRequest generates a "aws/request.Request" representing the
  2523  // client's request for the DeleteJourney operation. The "output" return
  2524  // value will be populated with the request's response once the request completes
  2525  // successfully.
  2526  //
  2527  // Use "Send" method on the returned Request to send the API call to the service.
  2528  // the "output" return value is not valid until after Send returns without error.
  2529  //
  2530  // See DeleteJourney for more information on using the DeleteJourney
  2531  // API call, and error handling.
  2532  //
  2533  // This method is useful when you want to inject custom logic or configuration
  2534  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2535  //
  2536  //
  2537  //    // Example sending a request using the DeleteJourneyRequest method.
  2538  //    req, resp := client.DeleteJourneyRequest(params)
  2539  //
  2540  //    err := req.Send()
  2541  //    if err == nil { // resp is now filled
  2542  //        fmt.Println(resp)
  2543  //    }
  2544  //
  2545  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
  2546  func (c *Pinpoint) DeleteJourneyRequest(input *DeleteJourneyInput) (req *request.Request, output *DeleteJourneyOutput) {
  2547  	op := &request.Operation{
  2548  		Name:       opDeleteJourney,
  2549  		HTTPMethod: "DELETE",
  2550  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
  2551  	}
  2552  
  2553  	if input == nil {
  2554  		input = &DeleteJourneyInput{}
  2555  	}
  2556  
  2557  	output = &DeleteJourneyOutput{}
  2558  	req = c.newRequest(op, input, output)
  2559  	return
  2560  }
  2561  
  2562  // DeleteJourney API operation for Amazon Pinpoint.
  2563  //
  2564  // Deletes a journey from an application.
  2565  //
  2566  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2567  // with awserr.Error's Code and Message methods to get detailed information about
  2568  // the error.
  2569  //
  2570  // See the AWS API reference guide for Amazon Pinpoint's
  2571  // API operation DeleteJourney for usage and error information.
  2572  //
  2573  // Returned Error Types:
  2574  //   * BadRequestException
  2575  //   Provides information about an API request or response.
  2576  //
  2577  //   * InternalServerErrorException
  2578  //   Provides information about an API request or response.
  2579  //
  2580  //   * PayloadTooLargeException
  2581  //   Provides information about an API request or response.
  2582  //
  2583  //   * ForbiddenException
  2584  //   Provides information about an API request or response.
  2585  //
  2586  //   * NotFoundException
  2587  //   Provides information about an API request or response.
  2588  //
  2589  //   * MethodNotAllowedException
  2590  //   Provides information about an API request or response.
  2591  //
  2592  //   * TooManyRequestsException
  2593  //   Provides information about an API request or response.
  2594  //
  2595  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
  2596  func (c *Pinpoint) DeleteJourney(input *DeleteJourneyInput) (*DeleteJourneyOutput, error) {
  2597  	req, out := c.DeleteJourneyRequest(input)
  2598  	return out, req.Send()
  2599  }
  2600  
  2601  // DeleteJourneyWithContext is the same as DeleteJourney with the addition of
  2602  // the ability to pass a context and additional request options.
  2603  //
  2604  // See DeleteJourney for details on how to use this API operation.
  2605  //
  2606  // The context must be non-nil and will be used for request cancellation. If
  2607  // the context is nil a panic will occur. In the future the SDK may create
  2608  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2609  // for more information on using Contexts.
  2610  func (c *Pinpoint) DeleteJourneyWithContext(ctx aws.Context, input *DeleteJourneyInput, opts ...request.Option) (*DeleteJourneyOutput, error) {
  2611  	req, out := c.DeleteJourneyRequest(input)
  2612  	req.SetContext(ctx)
  2613  	req.ApplyOptions(opts...)
  2614  	return out, req.Send()
  2615  }
  2616  
  2617  const opDeletePushTemplate = "DeletePushTemplate"
  2618  
  2619  // DeletePushTemplateRequest generates a "aws/request.Request" representing the
  2620  // client's request for the DeletePushTemplate operation. The "output" return
  2621  // value will be populated with the request's response once the request completes
  2622  // successfully.
  2623  //
  2624  // Use "Send" method on the returned Request to send the API call to the service.
  2625  // the "output" return value is not valid until after Send returns without error.
  2626  //
  2627  // See DeletePushTemplate for more information on using the DeletePushTemplate
  2628  // API call, and error handling.
  2629  //
  2630  // This method is useful when you want to inject custom logic or configuration
  2631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2632  //
  2633  //
  2634  //    // Example sending a request using the DeletePushTemplateRequest method.
  2635  //    req, resp := client.DeletePushTemplateRequest(params)
  2636  //
  2637  //    err := req.Send()
  2638  //    if err == nil { // resp is now filled
  2639  //        fmt.Println(resp)
  2640  //    }
  2641  //
  2642  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
  2643  func (c *Pinpoint) DeletePushTemplateRequest(input *DeletePushTemplateInput) (req *request.Request, output *DeletePushTemplateOutput) {
  2644  	op := &request.Operation{
  2645  		Name:       opDeletePushTemplate,
  2646  		HTTPMethod: "DELETE",
  2647  		HTTPPath:   "/v1/templates/{template-name}/push",
  2648  	}
  2649  
  2650  	if input == nil {
  2651  		input = &DeletePushTemplateInput{}
  2652  	}
  2653  
  2654  	output = &DeletePushTemplateOutput{}
  2655  	req = c.newRequest(op, input, output)
  2656  	return
  2657  }
  2658  
  2659  // DeletePushTemplate API operation for Amazon Pinpoint.
  2660  //
  2661  // Deletes a message template for messages that were sent through a push notification
  2662  // channel.
  2663  //
  2664  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2665  // with awserr.Error's Code and Message methods to get detailed information about
  2666  // the error.
  2667  //
  2668  // See the AWS API reference guide for Amazon Pinpoint's
  2669  // API operation DeletePushTemplate for usage and error information.
  2670  //
  2671  // Returned Error Types:
  2672  //   * BadRequestException
  2673  //   Provides information about an API request or response.
  2674  //
  2675  //   * InternalServerErrorException
  2676  //   Provides information about an API request or response.
  2677  //
  2678  //   * PayloadTooLargeException
  2679  //   Provides information about an API request or response.
  2680  //
  2681  //   * ForbiddenException
  2682  //   Provides information about an API request or response.
  2683  //
  2684  //   * NotFoundException
  2685  //   Provides information about an API request or response.
  2686  //
  2687  //   * MethodNotAllowedException
  2688  //   Provides information about an API request or response.
  2689  //
  2690  //   * TooManyRequestsException
  2691  //   Provides information about an API request or response.
  2692  //
  2693  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
  2694  func (c *Pinpoint) DeletePushTemplate(input *DeletePushTemplateInput) (*DeletePushTemplateOutput, error) {
  2695  	req, out := c.DeletePushTemplateRequest(input)
  2696  	return out, req.Send()
  2697  }
  2698  
  2699  // DeletePushTemplateWithContext is the same as DeletePushTemplate with the addition of
  2700  // the ability to pass a context and additional request options.
  2701  //
  2702  // See DeletePushTemplate for details on how to use this API operation.
  2703  //
  2704  // The context must be non-nil and will be used for request cancellation. If
  2705  // the context is nil a panic will occur. In the future the SDK may create
  2706  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2707  // for more information on using Contexts.
  2708  func (c *Pinpoint) DeletePushTemplateWithContext(ctx aws.Context, input *DeletePushTemplateInput, opts ...request.Option) (*DeletePushTemplateOutput, error) {
  2709  	req, out := c.DeletePushTemplateRequest(input)
  2710  	req.SetContext(ctx)
  2711  	req.ApplyOptions(opts...)
  2712  	return out, req.Send()
  2713  }
  2714  
  2715  const opDeleteRecommenderConfiguration = "DeleteRecommenderConfiguration"
  2716  
  2717  // DeleteRecommenderConfigurationRequest generates a "aws/request.Request" representing the
  2718  // client's request for the DeleteRecommenderConfiguration operation. The "output" return
  2719  // value will be populated with the request's response once the request completes
  2720  // successfully.
  2721  //
  2722  // Use "Send" method on the returned Request to send the API call to the service.
  2723  // the "output" return value is not valid until after Send returns without error.
  2724  //
  2725  // See DeleteRecommenderConfiguration for more information on using the DeleteRecommenderConfiguration
  2726  // API call, and error handling.
  2727  //
  2728  // This method is useful when you want to inject custom logic or configuration
  2729  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2730  //
  2731  //
  2732  //    // Example sending a request using the DeleteRecommenderConfigurationRequest method.
  2733  //    req, resp := client.DeleteRecommenderConfigurationRequest(params)
  2734  //
  2735  //    err := req.Send()
  2736  //    if err == nil { // resp is now filled
  2737  //        fmt.Println(resp)
  2738  //    }
  2739  //
  2740  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteRecommenderConfiguration
  2741  func (c *Pinpoint) DeleteRecommenderConfigurationRequest(input *DeleteRecommenderConfigurationInput) (req *request.Request, output *DeleteRecommenderConfigurationOutput) {
  2742  	op := &request.Operation{
  2743  		Name:       opDeleteRecommenderConfiguration,
  2744  		HTTPMethod: "DELETE",
  2745  		HTTPPath:   "/v1/recommenders/{recommender-id}",
  2746  	}
  2747  
  2748  	if input == nil {
  2749  		input = &DeleteRecommenderConfigurationInput{}
  2750  	}
  2751  
  2752  	output = &DeleteRecommenderConfigurationOutput{}
  2753  	req = c.newRequest(op, input, output)
  2754  	return
  2755  }
  2756  
  2757  // DeleteRecommenderConfiguration API operation for Amazon Pinpoint.
  2758  //
  2759  // Deletes an Amazon Pinpoint configuration for a recommender model.
  2760  //
  2761  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2762  // with awserr.Error's Code and Message methods to get detailed information about
  2763  // the error.
  2764  //
  2765  // See the AWS API reference guide for Amazon Pinpoint's
  2766  // API operation DeleteRecommenderConfiguration for usage and error information.
  2767  //
  2768  // Returned Error Types:
  2769  //   * BadRequestException
  2770  //   Provides information about an API request or response.
  2771  //
  2772  //   * InternalServerErrorException
  2773  //   Provides information about an API request or response.
  2774  //
  2775  //   * PayloadTooLargeException
  2776  //   Provides information about an API request or response.
  2777  //
  2778  //   * ForbiddenException
  2779  //   Provides information about an API request or response.
  2780  //
  2781  //   * NotFoundException
  2782  //   Provides information about an API request or response.
  2783  //
  2784  //   * MethodNotAllowedException
  2785  //   Provides information about an API request or response.
  2786  //
  2787  //   * TooManyRequestsException
  2788  //   Provides information about an API request or response.
  2789  //
  2790  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteRecommenderConfiguration
  2791  func (c *Pinpoint) DeleteRecommenderConfiguration(input *DeleteRecommenderConfigurationInput) (*DeleteRecommenderConfigurationOutput, error) {
  2792  	req, out := c.DeleteRecommenderConfigurationRequest(input)
  2793  	return out, req.Send()
  2794  }
  2795  
  2796  // DeleteRecommenderConfigurationWithContext is the same as DeleteRecommenderConfiguration with the addition of
  2797  // the ability to pass a context and additional request options.
  2798  //
  2799  // See DeleteRecommenderConfiguration for details on how to use this API operation.
  2800  //
  2801  // The context must be non-nil and will be used for request cancellation. If
  2802  // the context is nil a panic will occur. In the future the SDK may create
  2803  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2804  // for more information on using Contexts.
  2805  func (c *Pinpoint) DeleteRecommenderConfigurationWithContext(ctx aws.Context, input *DeleteRecommenderConfigurationInput, opts ...request.Option) (*DeleteRecommenderConfigurationOutput, error) {
  2806  	req, out := c.DeleteRecommenderConfigurationRequest(input)
  2807  	req.SetContext(ctx)
  2808  	req.ApplyOptions(opts...)
  2809  	return out, req.Send()
  2810  }
  2811  
  2812  const opDeleteSegment = "DeleteSegment"
  2813  
  2814  // DeleteSegmentRequest generates a "aws/request.Request" representing the
  2815  // client's request for the DeleteSegment operation. The "output" return
  2816  // value will be populated with the request's response once the request completes
  2817  // successfully.
  2818  //
  2819  // Use "Send" method on the returned Request to send the API call to the service.
  2820  // the "output" return value is not valid until after Send returns without error.
  2821  //
  2822  // See DeleteSegment for more information on using the DeleteSegment
  2823  // API call, and error handling.
  2824  //
  2825  // This method is useful when you want to inject custom logic or configuration
  2826  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2827  //
  2828  //
  2829  //    // Example sending a request using the DeleteSegmentRequest method.
  2830  //    req, resp := client.DeleteSegmentRequest(params)
  2831  //
  2832  //    err := req.Send()
  2833  //    if err == nil { // resp is now filled
  2834  //        fmt.Println(resp)
  2835  //    }
  2836  //
  2837  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
  2838  func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) {
  2839  	op := &request.Operation{
  2840  		Name:       opDeleteSegment,
  2841  		HTTPMethod: "DELETE",
  2842  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
  2843  	}
  2844  
  2845  	if input == nil {
  2846  		input = &DeleteSegmentInput{}
  2847  	}
  2848  
  2849  	output = &DeleteSegmentOutput{}
  2850  	req = c.newRequest(op, input, output)
  2851  	return
  2852  }
  2853  
  2854  // DeleteSegment API operation for Amazon Pinpoint.
  2855  //
  2856  // Deletes a segment from an application.
  2857  //
  2858  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2859  // with awserr.Error's Code and Message methods to get detailed information about
  2860  // the error.
  2861  //
  2862  // See the AWS API reference guide for Amazon Pinpoint's
  2863  // API operation DeleteSegment for usage and error information.
  2864  //
  2865  // Returned Error Types:
  2866  //   * BadRequestException
  2867  //   Provides information about an API request or response.
  2868  //
  2869  //   * InternalServerErrorException
  2870  //   Provides information about an API request or response.
  2871  //
  2872  //   * PayloadTooLargeException
  2873  //   Provides information about an API request or response.
  2874  //
  2875  //   * ForbiddenException
  2876  //   Provides information about an API request or response.
  2877  //
  2878  //   * NotFoundException
  2879  //   Provides information about an API request or response.
  2880  //
  2881  //   * MethodNotAllowedException
  2882  //   Provides information about an API request or response.
  2883  //
  2884  //   * TooManyRequestsException
  2885  //   Provides information about an API request or response.
  2886  //
  2887  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
  2888  func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) {
  2889  	req, out := c.DeleteSegmentRequest(input)
  2890  	return out, req.Send()
  2891  }
  2892  
  2893  // DeleteSegmentWithContext is the same as DeleteSegment with the addition of
  2894  // the ability to pass a context and additional request options.
  2895  //
  2896  // See DeleteSegment for details on how to use this API operation.
  2897  //
  2898  // The context must be non-nil and will be used for request cancellation. If
  2899  // the context is nil a panic will occur. In the future the SDK may create
  2900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2901  // for more information on using Contexts.
  2902  func (c *Pinpoint) DeleteSegmentWithContext(ctx aws.Context, input *DeleteSegmentInput, opts ...request.Option) (*DeleteSegmentOutput, error) {
  2903  	req, out := c.DeleteSegmentRequest(input)
  2904  	req.SetContext(ctx)
  2905  	req.ApplyOptions(opts...)
  2906  	return out, req.Send()
  2907  }
  2908  
  2909  const opDeleteSmsChannel = "DeleteSmsChannel"
  2910  
  2911  // DeleteSmsChannelRequest generates a "aws/request.Request" representing the
  2912  // client's request for the DeleteSmsChannel operation. The "output" return
  2913  // value will be populated with the request's response once the request completes
  2914  // successfully.
  2915  //
  2916  // Use "Send" method on the returned Request to send the API call to the service.
  2917  // the "output" return value is not valid until after Send returns without error.
  2918  //
  2919  // See DeleteSmsChannel for more information on using the DeleteSmsChannel
  2920  // API call, and error handling.
  2921  //
  2922  // This method is useful when you want to inject custom logic or configuration
  2923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2924  //
  2925  //
  2926  //    // Example sending a request using the DeleteSmsChannelRequest method.
  2927  //    req, resp := client.DeleteSmsChannelRequest(params)
  2928  //
  2929  //    err := req.Send()
  2930  //    if err == nil { // resp is now filled
  2931  //        fmt.Println(resp)
  2932  //    }
  2933  //
  2934  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
  2935  func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) {
  2936  	op := &request.Operation{
  2937  		Name:       opDeleteSmsChannel,
  2938  		HTTPMethod: "DELETE",
  2939  		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
  2940  	}
  2941  
  2942  	if input == nil {
  2943  		input = &DeleteSmsChannelInput{}
  2944  	}
  2945  
  2946  	output = &DeleteSmsChannelOutput{}
  2947  	req = c.newRequest(op, input, output)
  2948  	return
  2949  }
  2950  
  2951  // DeleteSmsChannel API operation for Amazon Pinpoint.
  2952  //
  2953  // Disables the SMS channel for an application and deletes any existing settings
  2954  // for the channel.
  2955  //
  2956  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2957  // with awserr.Error's Code and Message methods to get detailed information about
  2958  // the error.
  2959  //
  2960  // See the AWS API reference guide for Amazon Pinpoint's
  2961  // API operation DeleteSmsChannel for usage and error information.
  2962  //
  2963  // Returned Error Types:
  2964  //   * BadRequestException
  2965  //   Provides information about an API request or response.
  2966  //
  2967  //   * InternalServerErrorException
  2968  //   Provides information about an API request or response.
  2969  //
  2970  //   * PayloadTooLargeException
  2971  //   Provides information about an API request or response.
  2972  //
  2973  //   * ForbiddenException
  2974  //   Provides information about an API request or response.
  2975  //
  2976  //   * NotFoundException
  2977  //   Provides information about an API request or response.
  2978  //
  2979  //   * MethodNotAllowedException
  2980  //   Provides information about an API request or response.
  2981  //
  2982  //   * TooManyRequestsException
  2983  //   Provides information about an API request or response.
  2984  //
  2985  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
  2986  func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) {
  2987  	req, out := c.DeleteSmsChannelRequest(input)
  2988  	return out, req.Send()
  2989  }
  2990  
  2991  // DeleteSmsChannelWithContext is the same as DeleteSmsChannel with the addition of
  2992  // the ability to pass a context and additional request options.
  2993  //
  2994  // See DeleteSmsChannel for details on how to use this API operation.
  2995  //
  2996  // The context must be non-nil and will be used for request cancellation. If
  2997  // the context is nil a panic will occur. In the future the SDK may create
  2998  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2999  // for more information on using Contexts.
  3000  func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSmsChannelInput, opts ...request.Option) (*DeleteSmsChannelOutput, error) {
  3001  	req, out := c.DeleteSmsChannelRequest(input)
  3002  	req.SetContext(ctx)
  3003  	req.ApplyOptions(opts...)
  3004  	return out, req.Send()
  3005  }
  3006  
  3007  const opDeleteSmsTemplate = "DeleteSmsTemplate"
  3008  
  3009  // DeleteSmsTemplateRequest generates a "aws/request.Request" representing the
  3010  // client's request for the DeleteSmsTemplate operation. The "output" return
  3011  // value will be populated with the request's response once the request completes
  3012  // successfully.
  3013  //
  3014  // Use "Send" method on the returned Request to send the API call to the service.
  3015  // the "output" return value is not valid until after Send returns without error.
  3016  //
  3017  // See DeleteSmsTemplate for more information on using the DeleteSmsTemplate
  3018  // API call, and error handling.
  3019  //
  3020  // This method is useful when you want to inject custom logic or configuration
  3021  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3022  //
  3023  //
  3024  //    // Example sending a request using the DeleteSmsTemplateRequest method.
  3025  //    req, resp := client.DeleteSmsTemplateRequest(params)
  3026  //
  3027  //    err := req.Send()
  3028  //    if err == nil { // resp is now filled
  3029  //        fmt.Println(resp)
  3030  //    }
  3031  //
  3032  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
  3033  func (c *Pinpoint) DeleteSmsTemplateRequest(input *DeleteSmsTemplateInput) (req *request.Request, output *DeleteSmsTemplateOutput) {
  3034  	op := &request.Operation{
  3035  		Name:       opDeleteSmsTemplate,
  3036  		HTTPMethod: "DELETE",
  3037  		HTTPPath:   "/v1/templates/{template-name}/sms",
  3038  	}
  3039  
  3040  	if input == nil {
  3041  		input = &DeleteSmsTemplateInput{}
  3042  	}
  3043  
  3044  	output = &DeleteSmsTemplateOutput{}
  3045  	req = c.newRequest(op, input, output)
  3046  	return
  3047  }
  3048  
  3049  // DeleteSmsTemplate API operation for Amazon Pinpoint.
  3050  //
  3051  // Deletes a message template for messages that were sent through the SMS channel.
  3052  //
  3053  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3054  // with awserr.Error's Code and Message methods to get detailed information about
  3055  // the error.
  3056  //
  3057  // See the AWS API reference guide for Amazon Pinpoint's
  3058  // API operation DeleteSmsTemplate for usage and error information.
  3059  //
  3060  // Returned Error Types:
  3061  //   * BadRequestException
  3062  //   Provides information about an API request or response.
  3063  //
  3064  //   * InternalServerErrorException
  3065  //   Provides information about an API request or response.
  3066  //
  3067  //   * PayloadTooLargeException
  3068  //   Provides information about an API request or response.
  3069  //
  3070  //   * ForbiddenException
  3071  //   Provides information about an API request or response.
  3072  //
  3073  //   * NotFoundException
  3074  //   Provides information about an API request or response.
  3075  //
  3076  //   * MethodNotAllowedException
  3077  //   Provides information about an API request or response.
  3078  //
  3079  //   * TooManyRequestsException
  3080  //   Provides information about an API request or response.
  3081  //
  3082  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
  3083  func (c *Pinpoint) DeleteSmsTemplate(input *DeleteSmsTemplateInput) (*DeleteSmsTemplateOutput, error) {
  3084  	req, out := c.DeleteSmsTemplateRequest(input)
  3085  	return out, req.Send()
  3086  }
  3087  
  3088  // DeleteSmsTemplateWithContext is the same as DeleteSmsTemplate with the addition of
  3089  // the ability to pass a context and additional request options.
  3090  //
  3091  // See DeleteSmsTemplate for details on how to use this API operation.
  3092  //
  3093  // The context must be non-nil and will be used for request cancellation. If
  3094  // the context is nil a panic will occur. In the future the SDK may create
  3095  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3096  // for more information on using Contexts.
  3097  func (c *Pinpoint) DeleteSmsTemplateWithContext(ctx aws.Context, input *DeleteSmsTemplateInput, opts ...request.Option) (*DeleteSmsTemplateOutput, error) {
  3098  	req, out := c.DeleteSmsTemplateRequest(input)
  3099  	req.SetContext(ctx)
  3100  	req.ApplyOptions(opts...)
  3101  	return out, req.Send()
  3102  }
  3103  
  3104  const opDeleteUserEndpoints = "DeleteUserEndpoints"
  3105  
  3106  // DeleteUserEndpointsRequest generates a "aws/request.Request" representing the
  3107  // client's request for the DeleteUserEndpoints operation. The "output" return
  3108  // value will be populated with the request's response once the request completes
  3109  // successfully.
  3110  //
  3111  // Use "Send" method on the returned Request to send the API call to the service.
  3112  // the "output" return value is not valid until after Send returns without error.
  3113  //
  3114  // See DeleteUserEndpoints for more information on using the DeleteUserEndpoints
  3115  // API call, and error handling.
  3116  //
  3117  // This method is useful when you want to inject custom logic or configuration
  3118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3119  //
  3120  //
  3121  //    // Example sending a request using the DeleteUserEndpointsRequest method.
  3122  //    req, resp := client.DeleteUserEndpointsRequest(params)
  3123  //
  3124  //    err := req.Send()
  3125  //    if err == nil { // resp is now filled
  3126  //        fmt.Println(resp)
  3127  //    }
  3128  //
  3129  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
  3130  func (c *Pinpoint) DeleteUserEndpointsRequest(input *DeleteUserEndpointsInput) (req *request.Request, output *DeleteUserEndpointsOutput) {
  3131  	op := &request.Operation{
  3132  		Name:       opDeleteUserEndpoints,
  3133  		HTTPMethod: "DELETE",
  3134  		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
  3135  	}
  3136  
  3137  	if input == nil {
  3138  		input = &DeleteUserEndpointsInput{}
  3139  	}
  3140  
  3141  	output = &DeleteUserEndpointsOutput{}
  3142  	req = c.newRequest(op, input, output)
  3143  	return
  3144  }
  3145  
  3146  // DeleteUserEndpoints API operation for Amazon Pinpoint.
  3147  //
  3148  // Deletes all the endpoints that are associated with a specific user ID.
  3149  //
  3150  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3151  // with awserr.Error's Code and Message methods to get detailed information about
  3152  // the error.
  3153  //
  3154  // See the AWS API reference guide for Amazon Pinpoint's
  3155  // API operation DeleteUserEndpoints for usage and error information.
  3156  //
  3157  // Returned Error Types:
  3158  //   * BadRequestException
  3159  //   Provides information about an API request or response.
  3160  //
  3161  //   * InternalServerErrorException
  3162  //   Provides information about an API request or response.
  3163  //
  3164  //   * PayloadTooLargeException
  3165  //   Provides information about an API request or response.
  3166  //
  3167  //   * ForbiddenException
  3168  //   Provides information about an API request or response.
  3169  //
  3170  //   * NotFoundException
  3171  //   Provides information about an API request or response.
  3172  //
  3173  //   * MethodNotAllowedException
  3174  //   Provides information about an API request or response.
  3175  //
  3176  //   * TooManyRequestsException
  3177  //   Provides information about an API request or response.
  3178  //
  3179  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
  3180  func (c *Pinpoint) DeleteUserEndpoints(input *DeleteUserEndpointsInput) (*DeleteUserEndpointsOutput, error) {
  3181  	req, out := c.DeleteUserEndpointsRequest(input)
  3182  	return out, req.Send()
  3183  }
  3184  
  3185  // DeleteUserEndpointsWithContext is the same as DeleteUserEndpoints with the addition of
  3186  // the ability to pass a context and additional request options.
  3187  //
  3188  // See DeleteUserEndpoints for details on how to use this API operation.
  3189  //
  3190  // The context must be non-nil and will be used for request cancellation. If
  3191  // the context is nil a panic will occur. In the future the SDK may create
  3192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3193  // for more information on using Contexts.
  3194  func (c *Pinpoint) DeleteUserEndpointsWithContext(ctx aws.Context, input *DeleteUserEndpointsInput, opts ...request.Option) (*DeleteUserEndpointsOutput, error) {
  3195  	req, out := c.DeleteUserEndpointsRequest(input)
  3196  	req.SetContext(ctx)
  3197  	req.ApplyOptions(opts...)
  3198  	return out, req.Send()
  3199  }
  3200  
  3201  const opDeleteVoiceChannel = "DeleteVoiceChannel"
  3202  
  3203  // DeleteVoiceChannelRequest generates a "aws/request.Request" representing the
  3204  // client's request for the DeleteVoiceChannel operation. The "output" return
  3205  // value will be populated with the request's response once the request completes
  3206  // successfully.
  3207  //
  3208  // Use "Send" method on the returned Request to send the API call to the service.
  3209  // the "output" return value is not valid until after Send returns without error.
  3210  //
  3211  // See DeleteVoiceChannel for more information on using the DeleteVoiceChannel
  3212  // API call, and error handling.
  3213  //
  3214  // This method is useful when you want to inject custom logic or configuration
  3215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3216  //
  3217  //
  3218  //    // Example sending a request using the DeleteVoiceChannelRequest method.
  3219  //    req, resp := client.DeleteVoiceChannelRequest(params)
  3220  //
  3221  //    err := req.Send()
  3222  //    if err == nil { // resp is now filled
  3223  //        fmt.Println(resp)
  3224  //    }
  3225  //
  3226  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
  3227  func (c *Pinpoint) DeleteVoiceChannelRequest(input *DeleteVoiceChannelInput) (req *request.Request, output *DeleteVoiceChannelOutput) {
  3228  	op := &request.Operation{
  3229  		Name:       opDeleteVoiceChannel,
  3230  		HTTPMethod: "DELETE",
  3231  		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
  3232  	}
  3233  
  3234  	if input == nil {
  3235  		input = &DeleteVoiceChannelInput{}
  3236  	}
  3237  
  3238  	output = &DeleteVoiceChannelOutput{}
  3239  	req = c.newRequest(op, input, output)
  3240  	return
  3241  }
  3242  
  3243  // DeleteVoiceChannel API operation for Amazon Pinpoint.
  3244  //
  3245  // Disables the voice channel for an application and deletes any existing settings
  3246  // for the channel.
  3247  //
  3248  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3249  // with awserr.Error's Code and Message methods to get detailed information about
  3250  // the error.
  3251  //
  3252  // See the AWS API reference guide for Amazon Pinpoint's
  3253  // API operation DeleteVoiceChannel for usage and error information.
  3254  //
  3255  // Returned Error Types:
  3256  //   * BadRequestException
  3257  //   Provides information about an API request or response.
  3258  //
  3259  //   * InternalServerErrorException
  3260  //   Provides information about an API request or response.
  3261  //
  3262  //   * PayloadTooLargeException
  3263  //   Provides information about an API request or response.
  3264  //
  3265  //   * ForbiddenException
  3266  //   Provides information about an API request or response.
  3267  //
  3268  //   * NotFoundException
  3269  //   Provides information about an API request or response.
  3270  //
  3271  //   * MethodNotAllowedException
  3272  //   Provides information about an API request or response.
  3273  //
  3274  //   * TooManyRequestsException
  3275  //   Provides information about an API request or response.
  3276  //
  3277  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
  3278  func (c *Pinpoint) DeleteVoiceChannel(input *DeleteVoiceChannelInput) (*DeleteVoiceChannelOutput, error) {
  3279  	req, out := c.DeleteVoiceChannelRequest(input)
  3280  	return out, req.Send()
  3281  }
  3282  
  3283  // DeleteVoiceChannelWithContext is the same as DeleteVoiceChannel with the addition of
  3284  // the ability to pass a context and additional request options.
  3285  //
  3286  // See DeleteVoiceChannel for details on how to use this API operation.
  3287  //
  3288  // The context must be non-nil and will be used for request cancellation. If
  3289  // the context is nil a panic will occur. In the future the SDK may create
  3290  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3291  // for more information on using Contexts.
  3292  func (c *Pinpoint) DeleteVoiceChannelWithContext(ctx aws.Context, input *DeleteVoiceChannelInput, opts ...request.Option) (*DeleteVoiceChannelOutput, error) {
  3293  	req, out := c.DeleteVoiceChannelRequest(input)
  3294  	req.SetContext(ctx)
  3295  	req.ApplyOptions(opts...)
  3296  	return out, req.Send()
  3297  }
  3298  
  3299  const opDeleteVoiceTemplate = "DeleteVoiceTemplate"
  3300  
  3301  // DeleteVoiceTemplateRequest generates a "aws/request.Request" representing the
  3302  // client's request for the DeleteVoiceTemplate operation. The "output" return
  3303  // value will be populated with the request's response once the request completes
  3304  // successfully.
  3305  //
  3306  // Use "Send" method on the returned Request to send the API call to the service.
  3307  // the "output" return value is not valid until after Send returns without error.
  3308  //
  3309  // See DeleteVoiceTemplate for more information on using the DeleteVoiceTemplate
  3310  // API call, and error handling.
  3311  //
  3312  // This method is useful when you want to inject custom logic or configuration
  3313  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3314  //
  3315  //
  3316  //    // Example sending a request using the DeleteVoiceTemplateRequest method.
  3317  //    req, resp := client.DeleteVoiceTemplateRequest(params)
  3318  //
  3319  //    err := req.Send()
  3320  //    if err == nil { // resp is now filled
  3321  //        fmt.Println(resp)
  3322  //    }
  3323  //
  3324  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
  3325  func (c *Pinpoint) DeleteVoiceTemplateRequest(input *DeleteVoiceTemplateInput) (req *request.Request, output *DeleteVoiceTemplateOutput) {
  3326  	op := &request.Operation{
  3327  		Name:       opDeleteVoiceTemplate,
  3328  		HTTPMethod: "DELETE",
  3329  		HTTPPath:   "/v1/templates/{template-name}/voice",
  3330  	}
  3331  
  3332  	if input == nil {
  3333  		input = &DeleteVoiceTemplateInput{}
  3334  	}
  3335  
  3336  	output = &DeleteVoiceTemplateOutput{}
  3337  	req = c.newRequest(op, input, output)
  3338  	return
  3339  }
  3340  
  3341  // DeleteVoiceTemplate API operation for Amazon Pinpoint.
  3342  //
  3343  // Deletes a message template for messages that were sent through the voice
  3344  // channel.
  3345  //
  3346  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3347  // with awserr.Error's Code and Message methods to get detailed information about
  3348  // the error.
  3349  //
  3350  // See the AWS API reference guide for Amazon Pinpoint's
  3351  // API operation DeleteVoiceTemplate for usage and error information.
  3352  //
  3353  // Returned Error Types:
  3354  //   * BadRequestException
  3355  //   Provides information about an API request or response.
  3356  //
  3357  //   * InternalServerErrorException
  3358  //   Provides information about an API request or response.
  3359  //
  3360  //   * PayloadTooLargeException
  3361  //   Provides information about an API request or response.
  3362  //
  3363  //   * ForbiddenException
  3364  //   Provides information about an API request or response.
  3365  //
  3366  //   * NotFoundException
  3367  //   Provides information about an API request or response.
  3368  //
  3369  //   * MethodNotAllowedException
  3370  //   Provides information about an API request or response.
  3371  //
  3372  //   * TooManyRequestsException
  3373  //   Provides information about an API request or response.
  3374  //
  3375  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
  3376  func (c *Pinpoint) DeleteVoiceTemplate(input *DeleteVoiceTemplateInput) (*DeleteVoiceTemplateOutput, error) {
  3377  	req, out := c.DeleteVoiceTemplateRequest(input)
  3378  	return out, req.Send()
  3379  }
  3380  
  3381  // DeleteVoiceTemplateWithContext is the same as DeleteVoiceTemplate with the addition of
  3382  // the ability to pass a context and additional request options.
  3383  //
  3384  // See DeleteVoiceTemplate for details on how to use this API operation.
  3385  //
  3386  // The context must be non-nil and will be used for request cancellation. If
  3387  // the context is nil a panic will occur. In the future the SDK may create
  3388  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3389  // for more information on using Contexts.
  3390  func (c *Pinpoint) DeleteVoiceTemplateWithContext(ctx aws.Context, input *DeleteVoiceTemplateInput, opts ...request.Option) (*DeleteVoiceTemplateOutput, error) {
  3391  	req, out := c.DeleteVoiceTemplateRequest(input)
  3392  	req.SetContext(ctx)
  3393  	req.ApplyOptions(opts...)
  3394  	return out, req.Send()
  3395  }
  3396  
  3397  const opGetAdmChannel = "GetAdmChannel"
  3398  
  3399  // GetAdmChannelRequest generates a "aws/request.Request" representing the
  3400  // client's request for the GetAdmChannel operation. The "output" return
  3401  // value will be populated with the request's response once the request completes
  3402  // successfully.
  3403  //
  3404  // Use "Send" method on the returned Request to send the API call to the service.
  3405  // the "output" return value is not valid until after Send returns without error.
  3406  //
  3407  // See GetAdmChannel for more information on using the GetAdmChannel
  3408  // API call, and error handling.
  3409  //
  3410  // This method is useful when you want to inject custom logic or configuration
  3411  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3412  //
  3413  //
  3414  //    // Example sending a request using the GetAdmChannelRequest method.
  3415  //    req, resp := client.GetAdmChannelRequest(params)
  3416  //
  3417  //    err := req.Send()
  3418  //    if err == nil { // resp is now filled
  3419  //        fmt.Println(resp)
  3420  //    }
  3421  //
  3422  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
  3423  func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) {
  3424  	op := &request.Operation{
  3425  		Name:       opGetAdmChannel,
  3426  		HTTPMethod: "GET",
  3427  		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
  3428  	}
  3429  
  3430  	if input == nil {
  3431  		input = &GetAdmChannelInput{}
  3432  	}
  3433  
  3434  	output = &GetAdmChannelOutput{}
  3435  	req = c.newRequest(op, input, output)
  3436  	return
  3437  }
  3438  
  3439  // GetAdmChannel API operation for Amazon Pinpoint.
  3440  //
  3441  // Retrieves information about the status and settings of the ADM channel for
  3442  // an application.
  3443  //
  3444  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3445  // with awserr.Error's Code and Message methods to get detailed information about
  3446  // the error.
  3447  //
  3448  // See the AWS API reference guide for Amazon Pinpoint's
  3449  // API operation GetAdmChannel for usage and error information.
  3450  //
  3451  // Returned Error Types:
  3452  //   * BadRequestException
  3453  //   Provides information about an API request or response.
  3454  //
  3455  //   * InternalServerErrorException
  3456  //   Provides information about an API request or response.
  3457  //
  3458  //   * PayloadTooLargeException
  3459  //   Provides information about an API request or response.
  3460  //
  3461  //   * ForbiddenException
  3462  //   Provides information about an API request or response.
  3463  //
  3464  //   * NotFoundException
  3465  //   Provides information about an API request or response.
  3466  //
  3467  //   * MethodNotAllowedException
  3468  //   Provides information about an API request or response.
  3469  //
  3470  //   * TooManyRequestsException
  3471  //   Provides information about an API request or response.
  3472  //
  3473  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
  3474  func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) {
  3475  	req, out := c.GetAdmChannelRequest(input)
  3476  	return out, req.Send()
  3477  }
  3478  
  3479  // GetAdmChannelWithContext is the same as GetAdmChannel with the addition of
  3480  // the ability to pass a context and additional request options.
  3481  //
  3482  // See GetAdmChannel for details on how to use this API operation.
  3483  //
  3484  // The context must be non-nil and will be used for request cancellation. If
  3485  // the context is nil a panic will occur. In the future the SDK may create
  3486  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3487  // for more information on using Contexts.
  3488  func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) {
  3489  	req, out := c.GetAdmChannelRequest(input)
  3490  	req.SetContext(ctx)
  3491  	req.ApplyOptions(opts...)
  3492  	return out, req.Send()
  3493  }
  3494  
  3495  const opGetApnsChannel = "GetApnsChannel"
  3496  
  3497  // GetApnsChannelRequest generates a "aws/request.Request" representing the
  3498  // client's request for the GetApnsChannel operation. The "output" return
  3499  // value will be populated with the request's response once the request completes
  3500  // successfully.
  3501  //
  3502  // Use "Send" method on the returned Request to send the API call to the service.
  3503  // the "output" return value is not valid until after Send returns without error.
  3504  //
  3505  // See GetApnsChannel for more information on using the GetApnsChannel
  3506  // API call, and error handling.
  3507  //
  3508  // This method is useful when you want to inject custom logic or configuration
  3509  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3510  //
  3511  //
  3512  //    // Example sending a request using the GetApnsChannelRequest method.
  3513  //    req, resp := client.GetApnsChannelRequest(params)
  3514  //
  3515  //    err := req.Send()
  3516  //    if err == nil { // resp is now filled
  3517  //        fmt.Println(resp)
  3518  //    }
  3519  //
  3520  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
  3521  func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) {
  3522  	op := &request.Operation{
  3523  		Name:       opGetApnsChannel,
  3524  		HTTPMethod: "GET",
  3525  		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
  3526  	}
  3527  
  3528  	if input == nil {
  3529  		input = &GetApnsChannelInput{}
  3530  	}
  3531  
  3532  	output = &GetApnsChannelOutput{}
  3533  	req = c.newRequest(op, input, output)
  3534  	return
  3535  }
  3536  
  3537  // GetApnsChannel API operation for Amazon Pinpoint.
  3538  //
  3539  // Retrieves information about the status and settings of the APNs channel for
  3540  // an application.
  3541  //
  3542  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3543  // with awserr.Error's Code and Message methods to get detailed information about
  3544  // the error.
  3545  //
  3546  // See the AWS API reference guide for Amazon Pinpoint's
  3547  // API operation GetApnsChannel for usage and error information.
  3548  //
  3549  // Returned Error Types:
  3550  //   * BadRequestException
  3551  //   Provides information about an API request or response.
  3552  //
  3553  //   * InternalServerErrorException
  3554  //   Provides information about an API request or response.
  3555  //
  3556  //   * PayloadTooLargeException
  3557  //   Provides information about an API request or response.
  3558  //
  3559  //   * ForbiddenException
  3560  //   Provides information about an API request or response.
  3561  //
  3562  //   * NotFoundException
  3563  //   Provides information about an API request or response.
  3564  //
  3565  //   * MethodNotAllowedException
  3566  //   Provides information about an API request or response.
  3567  //
  3568  //   * TooManyRequestsException
  3569  //   Provides information about an API request or response.
  3570  //
  3571  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
  3572  func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) {
  3573  	req, out := c.GetApnsChannelRequest(input)
  3574  	return out, req.Send()
  3575  }
  3576  
  3577  // GetApnsChannelWithContext is the same as GetApnsChannel with the addition of
  3578  // the ability to pass a context and additional request options.
  3579  //
  3580  // See GetApnsChannel for details on how to use this API operation.
  3581  //
  3582  // The context must be non-nil and will be used for request cancellation. If
  3583  // the context is nil a panic will occur. In the future the SDK may create
  3584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3585  // for more information on using Contexts.
  3586  func (c *Pinpoint) GetApnsChannelWithContext(ctx aws.Context, input *GetApnsChannelInput, opts ...request.Option) (*GetApnsChannelOutput, error) {
  3587  	req, out := c.GetApnsChannelRequest(input)
  3588  	req.SetContext(ctx)
  3589  	req.ApplyOptions(opts...)
  3590  	return out, req.Send()
  3591  }
  3592  
  3593  const opGetApnsSandboxChannel = "GetApnsSandboxChannel"
  3594  
  3595  // GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the
  3596  // client's request for the GetApnsSandboxChannel operation. The "output" return
  3597  // value will be populated with the request's response once the request completes
  3598  // successfully.
  3599  //
  3600  // Use "Send" method on the returned Request to send the API call to the service.
  3601  // the "output" return value is not valid until after Send returns without error.
  3602  //
  3603  // See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel
  3604  // API call, and error handling.
  3605  //
  3606  // This method is useful when you want to inject custom logic or configuration
  3607  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3608  //
  3609  //
  3610  //    // Example sending a request using the GetApnsSandboxChannelRequest method.
  3611  //    req, resp := client.GetApnsSandboxChannelRequest(params)
  3612  //
  3613  //    err := req.Send()
  3614  //    if err == nil { // resp is now filled
  3615  //        fmt.Println(resp)
  3616  //    }
  3617  //
  3618  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
  3619  func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) {
  3620  	op := &request.Operation{
  3621  		Name:       opGetApnsSandboxChannel,
  3622  		HTTPMethod: "GET",
  3623  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
  3624  	}
  3625  
  3626  	if input == nil {
  3627  		input = &GetApnsSandboxChannelInput{}
  3628  	}
  3629  
  3630  	output = &GetApnsSandboxChannelOutput{}
  3631  	req = c.newRequest(op, input, output)
  3632  	return
  3633  }
  3634  
  3635  // GetApnsSandboxChannel API operation for Amazon Pinpoint.
  3636  //
  3637  // Retrieves information about the status and settings of the APNs sandbox channel
  3638  // for an application.
  3639  //
  3640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3641  // with awserr.Error's Code and Message methods to get detailed information about
  3642  // the error.
  3643  //
  3644  // See the AWS API reference guide for Amazon Pinpoint's
  3645  // API operation GetApnsSandboxChannel for usage and error information.
  3646  //
  3647  // Returned Error Types:
  3648  //   * BadRequestException
  3649  //   Provides information about an API request or response.
  3650  //
  3651  //   * InternalServerErrorException
  3652  //   Provides information about an API request or response.
  3653  //
  3654  //   * PayloadTooLargeException
  3655  //   Provides information about an API request or response.
  3656  //
  3657  //   * ForbiddenException
  3658  //   Provides information about an API request or response.
  3659  //
  3660  //   * NotFoundException
  3661  //   Provides information about an API request or response.
  3662  //
  3663  //   * MethodNotAllowedException
  3664  //   Provides information about an API request or response.
  3665  //
  3666  //   * TooManyRequestsException
  3667  //   Provides information about an API request or response.
  3668  //
  3669  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
  3670  func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) {
  3671  	req, out := c.GetApnsSandboxChannelRequest(input)
  3672  	return out, req.Send()
  3673  }
  3674  
  3675  // GetApnsSandboxChannelWithContext is the same as GetApnsSandboxChannel with the addition of
  3676  // the ability to pass a context and additional request options.
  3677  //
  3678  // See GetApnsSandboxChannel for details on how to use this API operation.
  3679  //
  3680  // The context must be non-nil and will be used for request cancellation. If
  3681  // the context is nil a panic will occur. In the future the SDK may create
  3682  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3683  // for more information on using Contexts.
  3684  func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetApnsSandboxChannelInput, opts ...request.Option) (*GetApnsSandboxChannelOutput, error) {
  3685  	req, out := c.GetApnsSandboxChannelRequest(input)
  3686  	req.SetContext(ctx)
  3687  	req.ApplyOptions(opts...)
  3688  	return out, req.Send()
  3689  }
  3690  
  3691  const opGetApnsVoipChannel = "GetApnsVoipChannel"
  3692  
  3693  // GetApnsVoipChannelRequest generates a "aws/request.Request" representing the
  3694  // client's request for the GetApnsVoipChannel operation. The "output" return
  3695  // value will be populated with the request's response once the request completes
  3696  // successfully.
  3697  //
  3698  // Use "Send" method on the returned Request to send the API call to the service.
  3699  // the "output" return value is not valid until after Send returns without error.
  3700  //
  3701  // See GetApnsVoipChannel for more information on using the GetApnsVoipChannel
  3702  // API call, and error handling.
  3703  //
  3704  // This method is useful when you want to inject custom logic or configuration
  3705  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3706  //
  3707  //
  3708  //    // Example sending a request using the GetApnsVoipChannelRequest method.
  3709  //    req, resp := client.GetApnsVoipChannelRequest(params)
  3710  //
  3711  //    err := req.Send()
  3712  //    if err == nil { // resp is now filled
  3713  //        fmt.Println(resp)
  3714  //    }
  3715  //
  3716  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
  3717  func (c *Pinpoint) GetApnsVoipChannelRequest(input *GetApnsVoipChannelInput) (req *request.Request, output *GetApnsVoipChannelOutput) {
  3718  	op := &request.Operation{
  3719  		Name:       opGetApnsVoipChannel,
  3720  		HTTPMethod: "GET",
  3721  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
  3722  	}
  3723  
  3724  	if input == nil {
  3725  		input = &GetApnsVoipChannelInput{}
  3726  	}
  3727  
  3728  	output = &GetApnsVoipChannelOutput{}
  3729  	req = c.newRequest(op, input, output)
  3730  	return
  3731  }
  3732  
  3733  // GetApnsVoipChannel API operation for Amazon Pinpoint.
  3734  //
  3735  // Retrieves information about the status and settings of the APNs VoIP channel
  3736  // for an application.
  3737  //
  3738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3739  // with awserr.Error's Code and Message methods to get detailed information about
  3740  // the error.
  3741  //
  3742  // See the AWS API reference guide for Amazon Pinpoint's
  3743  // API operation GetApnsVoipChannel for usage and error information.
  3744  //
  3745  // Returned Error Types:
  3746  //   * BadRequestException
  3747  //   Provides information about an API request or response.
  3748  //
  3749  //   * InternalServerErrorException
  3750  //   Provides information about an API request or response.
  3751  //
  3752  //   * PayloadTooLargeException
  3753  //   Provides information about an API request or response.
  3754  //
  3755  //   * ForbiddenException
  3756  //   Provides information about an API request or response.
  3757  //
  3758  //   * NotFoundException
  3759  //   Provides information about an API request or response.
  3760  //
  3761  //   * MethodNotAllowedException
  3762  //   Provides information about an API request or response.
  3763  //
  3764  //   * TooManyRequestsException
  3765  //   Provides information about an API request or response.
  3766  //
  3767  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
  3768  func (c *Pinpoint) GetApnsVoipChannel(input *GetApnsVoipChannelInput) (*GetApnsVoipChannelOutput, error) {
  3769  	req, out := c.GetApnsVoipChannelRequest(input)
  3770  	return out, req.Send()
  3771  }
  3772  
  3773  // GetApnsVoipChannelWithContext is the same as GetApnsVoipChannel with the addition of
  3774  // the ability to pass a context and additional request options.
  3775  //
  3776  // See GetApnsVoipChannel for details on how to use this API operation.
  3777  //
  3778  // The context must be non-nil and will be used for request cancellation. If
  3779  // the context is nil a panic will occur. In the future the SDK may create
  3780  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3781  // for more information on using Contexts.
  3782  func (c *Pinpoint) GetApnsVoipChannelWithContext(ctx aws.Context, input *GetApnsVoipChannelInput, opts ...request.Option) (*GetApnsVoipChannelOutput, error) {
  3783  	req, out := c.GetApnsVoipChannelRequest(input)
  3784  	req.SetContext(ctx)
  3785  	req.ApplyOptions(opts...)
  3786  	return out, req.Send()
  3787  }
  3788  
  3789  const opGetApnsVoipSandboxChannel = "GetApnsVoipSandboxChannel"
  3790  
  3791  // GetApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
  3792  // client's request for the GetApnsVoipSandboxChannel operation. The "output" return
  3793  // value will be populated with the request's response once the request completes
  3794  // successfully.
  3795  //
  3796  // Use "Send" method on the returned Request to send the API call to the service.
  3797  // the "output" return value is not valid until after Send returns without error.
  3798  //
  3799  // See GetApnsVoipSandboxChannel for more information on using the GetApnsVoipSandboxChannel
  3800  // API call, and error handling.
  3801  //
  3802  // This method is useful when you want to inject custom logic or configuration
  3803  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3804  //
  3805  //
  3806  //    // Example sending a request using the GetApnsVoipSandboxChannelRequest method.
  3807  //    req, resp := client.GetApnsVoipSandboxChannelRequest(params)
  3808  //
  3809  //    err := req.Send()
  3810  //    if err == nil { // resp is now filled
  3811  //        fmt.Println(resp)
  3812  //    }
  3813  //
  3814  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
  3815  func (c *Pinpoint) GetApnsVoipSandboxChannelRequest(input *GetApnsVoipSandboxChannelInput) (req *request.Request, output *GetApnsVoipSandboxChannelOutput) {
  3816  	op := &request.Operation{
  3817  		Name:       opGetApnsVoipSandboxChannel,
  3818  		HTTPMethod: "GET",
  3819  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
  3820  	}
  3821  
  3822  	if input == nil {
  3823  		input = &GetApnsVoipSandboxChannelInput{}
  3824  	}
  3825  
  3826  	output = &GetApnsVoipSandboxChannelOutput{}
  3827  	req = c.newRequest(op, input, output)
  3828  	return
  3829  }
  3830  
  3831  // GetApnsVoipSandboxChannel API operation for Amazon Pinpoint.
  3832  //
  3833  // Retrieves information about the status and settings of the APNs VoIP sandbox
  3834  // channel for an application.
  3835  //
  3836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3837  // with awserr.Error's Code and Message methods to get detailed information about
  3838  // the error.
  3839  //
  3840  // See the AWS API reference guide for Amazon Pinpoint's
  3841  // API operation GetApnsVoipSandboxChannel for usage and error information.
  3842  //
  3843  // Returned Error Types:
  3844  //   * BadRequestException
  3845  //   Provides information about an API request or response.
  3846  //
  3847  //   * InternalServerErrorException
  3848  //   Provides information about an API request or response.
  3849  //
  3850  //   * PayloadTooLargeException
  3851  //   Provides information about an API request or response.
  3852  //
  3853  //   * ForbiddenException
  3854  //   Provides information about an API request or response.
  3855  //
  3856  //   * NotFoundException
  3857  //   Provides information about an API request or response.
  3858  //
  3859  //   * MethodNotAllowedException
  3860  //   Provides information about an API request or response.
  3861  //
  3862  //   * TooManyRequestsException
  3863  //   Provides information about an API request or response.
  3864  //
  3865  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
  3866  func (c *Pinpoint) GetApnsVoipSandboxChannel(input *GetApnsVoipSandboxChannelInput) (*GetApnsVoipSandboxChannelOutput, error) {
  3867  	req, out := c.GetApnsVoipSandboxChannelRequest(input)
  3868  	return out, req.Send()
  3869  }
  3870  
  3871  // GetApnsVoipSandboxChannelWithContext is the same as GetApnsVoipSandboxChannel with the addition of
  3872  // the ability to pass a context and additional request options.
  3873  //
  3874  // See GetApnsVoipSandboxChannel 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 *Pinpoint) GetApnsVoipSandboxChannelWithContext(ctx aws.Context, input *GetApnsVoipSandboxChannelInput, opts ...request.Option) (*GetApnsVoipSandboxChannelOutput, error) {
  3881  	req, out := c.GetApnsVoipSandboxChannelRequest(input)
  3882  	req.SetContext(ctx)
  3883  	req.ApplyOptions(opts...)
  3884  	return out, req.Send()
  3885  }
  3886  
  3887  const opGetApp = "GetApp"
  3888  
  3889  // GetAppRequest generates a "aws/request.Request" representing the
  3890  // client's request for the GetApp operation. The "output" return
  3891  // value will be populated with the request's response once the request completes
  3892  // successfully.
  3893  //
  3894  // Use "Send" method on the returned Request to send the API call to the service.
  3895  // the "output" return value is not valid until after Send returns without error.
  3896  //
  3897  // See GetApp for more information on using the GetApp
  3898  // API call, and error handling.
  3899  //
  3900  // This method is useful when you want to inject custom logic or configuration
  3901  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3902  //
  3903  //
  3904  //    // Example sending a request using the GetAppRequest method.
  3905  //    req, resp := client.GetAppRequest(params)
  3906  //
  3907  //    err := req.Send()
  3908  //    if err == nil { // resp is now filled
  3909  //        fmt.Println(resp)
  3910  //    }
  3911  //
  3912  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
  3913  func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
  3914  	op := &request.Operation{
  3915  		Name:       opGetApp,
  3916  		HTTPMethod: "GET",
  3917  		HTTPPath:   "/v1/apps/{application-id}",
  3918  	}
  3919  
  3920  	if input == nil {
  3921  		input = &GetAppInput{}
  3922  	}
  3923  
  3924  	output = &GetAppOutput{}
  3925  	req = c.newRequest(op, input, output)
  3926  	return
  3927  }
  3928  
  3929  // GetApp API operation for Amazon Pinpoint.
  3930  //
  3931  // Retrieves information about an application.
  3932  //
  3933  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3934  // with awserr.Error's Code and Message methods to get detailed information about
  3935  // the error.
  3936  //
  3937  // See the AWS API reference guide for Amazon Pinpoint's
  3938  // API operation GetApp for usage and error information.
  3939  //
  3940  // Returned Error Types:
  3941  //   * BadRequestException
  3942  //   Provides information about an API request or response.
  3943  //
  3944  //   * InternalServerErrorException
  3945  //   Provides information about an API request or response.
  3946  //
  3947  //   * PayloadTooLargeException
  3948  //   Provides information about an API request or response.
  3949  //
  3950  //   * ForbiddenException
  3951  //   Provides information about an API request or response.
  3952  //
  3953  //   * NotFoundException
  3954  //   Provides information about an API request or response.
  3955  //
  3956  //   * MethodNotAllowedException
  3957  //   Provides information about an API request or response.
  3958  //
  3959  //   * TooManyRequestsException
  3960  //   Provides information about an API request or response.
  3961  //
  3962  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
  3963  func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) {
  3964  	req, out := c.GetAppRequest(input)
  3965  	return out, req.Send()
  3966  }
  3967  
  3968  // GetAppWithContext is the same as GetApp with the addition of
  3969  // the ability to pass a context and additional request options.
  3970  //
  3971  // See GetApp for details on how to use this API operation.
  3972  //
  3973  // The context must be non-nil and will be used for request cancellation. If
  3974  // the context is nil a panic will occur. In the future the SDK may create
  3975  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3976  // for more information on using Contexts.
  3977  func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
  3978  	req, out := c.GetAppRequest(input)
  3979  	req.SetContext(ctx)
  3980  	req.ApplyOptions(opts...)
  3981  	return out, req.Send()
  3982  }
  3983  
  3984  const opGetApplicationDateRangeKpi = "GetApplicationDateRangeKpi"
  3985  
  3986  // GetApplicationDateRangeKpiRequest generates a "aws/request.Request" representing the
  3987  // client's request for the GetApplicationDateRangeKpi operation. The "output" return
  3988  // value will be populated with the request's response once the request completes
  3989  // successfully.
  3990  //
  3991  // Use "Send" method on the returned Request to send the API call to the service.
  3992  // the "output" return value is not valid until after Send returns without error.
  3993  //
  3994  // See GetApplicationDateRangeKpi for more information on using the GetApplicationDateRangeKpi
  3995  // API call, and error handling.
  3996  //
  3997  // This method is useful when you want to inject custom logic or configuration
  3998  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3999  //
  4000  //
  4001  //    // Example sending a request using the GetApplicationDateRangeKpiRequest method.
  4002  //    req, resp := client.GetApplicationDateRangeKpiRequest(params)
  4003  //
  4004  //    err := req.Send()
  4005  //    if err == nil { // resp is now filled
  4006  //        fmt.Println(resp)
  4007  //    }
  4008  //
  4009  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
  4010  func (c *Pinpoint) GetApplicationDateRangeKpiRequest(input *GetApplicationDateRangeKpiInput) (req *request.Request, output *GetApplicationDateRangeKpiOutput) {
  4011  	op := &request.Operation{
  4012  		Name:       opGetApplicationDateRangeKpi,
  4013  		HTTPMethod: "GET",
  4014  		HTTPPath:   "/v1/apps/{application-id}/kpis/daterange/{kpi-name}",
  4015  	}
  4016  
  4017  	if input == nil {
  4018  		input = &GetApplicationDateRangeKpiInput{}
  4019  	}
  4020  
  4021  	output = &GetApplicationDateRangeKpiOutput{}
  4022  	req = c.newRequest(op, input, output)
  4023  	return
  4024  }
  4025  
  4026  // GetApplicationDateRangeKpi API operation for Amazon Pinpoint.
  4027  //
  4028  // Retrieves (queries) pre-aggregated data for a standard metric that applies
  4029  // to an application.
  4030  //
  4031  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4032  // with awserr.Error's Code and Message methods to get detailed information about
  4033  // the error.
  4034  //
  4035  // See the AWS API reference guide for Amazon Pinpoint's
  4036  // API operation GetApplicationDateRangeKpi for usage and error information.
  4037  //
  4038  // Returned Error Types:
  4039  //   * BadRequestException
  4040  //   Provides information about an API request or response.
  4041  //
  4042  //   * InternalServerErrorException
  4043  //   Provides information about an API request or response.
  4044  //
  4045  //   * PayloadTooLargeException
  4046  //   Provides information about an API request or response.
  4047  //
  4048  //   * ForbiddenException
  4049  //   Provides information about an API request or response.
  4050  //
  4051  //   * NotFoundException
  4052  //   Provides information about an API request or response.
  4053  //
  4054  //   * MethodNotAllowedException
  4055  //   Provides information about an API request or response.
  4056  //
  4057  //   * TooManyRequestsException
  4058  //   Provides information about an API request or response.
  4059  //
  4060  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
  4061  func (c *Pinpoint) GetApplicationDateRangeKpi(input *GetApplicationDateRangeKpiInput) (*GetApplicationDateRangeKpiOutput, error) {
  4062  	req, out := c.GetApplicationDateRangeKpiRequest(input)
  4063  	return out, req.Send()
  4064  }
  4065  
  4066  // GetApplicationDateRangeKpiWithContext is the same as GetApplicationDateRangeKpi with the addition of
  4067  // the ability to pass a context and additional request options.
  4068  //
  4069  // See GetApplicationDateRangeKpi for details on how to use this API operation.
  4070  //
  4071  // The context must be non-nil and will be used for request cancellation. If
  4072  // the context is nil a panic will occur. In the future the SDK may create
  4073  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4074  // for more information on using Contexts.
  4075  func (c *Pinpoint) GetApplicationDateRangeKpiWithContext(ctx aws.Context, input *GetApplicationDateRangeKpiInput, opts ...request.Option) (*GetApplicationDateRangeKpiOutput, error) {
  4076  	req, out := c.GetApplicationDateRangeKpiRequest(input)
  4077  	req.SetContext(ctx)
  4078  	req.ApplyOptions(opts...)
  4079  	return out, req.Send()
  4080  }
  4081  
  4082  const opGetApplicationSettings = "GetApplicationSettings"
  4083  
  4084  // GetApplicationSettingsRequest generates a "aws/request.Request" representing the
  4085  // client's request for the GetApplicationSettings 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 GetApplicationSettings for more information on using the GetApplicationSettings
  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 GetApplicationSettingsRequest method.
  4100  //    req, resp := client.GetApplicationSettingsRequest(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/pinpoint-2016-12-01/GetApplicationSettings
  4108  func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) {
  4109  	op := &request.Operation{
  4110  		Name:       opGetApplicationSettings,
  4111  		HTTPMethod: "GET",
  4112  		HTTPPath:   "/v1/apps/{application-id}/settings",
  4113  	}
  4114  
  4115  	if input == nil {
  4116  		input = &GetApplicationSettingsInput{}
  4117  	}
  4118  
  4119  	output = &GetApplicationSettingsOutput{}
  4120  	req = c.newRequest(op, input, output)
  4121  	return
  4122  }
  4123  
  4124  // GetApplicationSettings API operation for Amazon Pinpoint.
  4125  //
  4126  // Retrieves information about the settings for an application.
  4127  //
  4128  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4129  // with awserr.Error's Code and Message methods to get detailed information about
  4130  // the error.
  4131  //
  4132  // See the AWS API reference guide for Amazon Pinpoint's
  4133  // API operation GetApplicationSettings for usage and error information.
  4134  //
  4135  // Returned Error Types:
  4136  //   * BadRequestException
  4137  //   Provides information about an API request or response.
  4138  //
  4139  //   * InternalServerErrorException
  4140  //   Provides information about an API request or response.
  4141  //
  4142  //   * PayloadTooLargeException
  4143  //   Provides information about an API request or response.
  4144  //
  4145  //   * ForbiddenException
  4146  //   Provides information about an API request or response.
  4147  //
  4148  //   * NotFoundException
  4149  //   Provides information about an API request or response.
  4150  //
  4151  //   * MethodNotAllowedException
  4152  //   Provides information about an API request or response.
  4153  //
  4154  //   * TooManyRequestsException
  4155  //   Provides information about an API request or response.
  4156  //
  4157  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
  4158  func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) {
  4159  	req, out := c.GetApplicationSettingsRequest(input)
  4160  	return out, req.Send()
  4161  }
  4162  
  4163  // GetApplicationSettingsWithContext is the same as GetApplicationSettings with the addition of
  4164  // the ability to pass a context and additional request options.
  4165  //
  4166  // See GetApplicationSettings for details on how to use this API operation.
  4167  //
  4168  // The context must be non-nil and will be used for request cancellation. If
  4169  // the context is nil a panic will occur. In the future the SDK may create
  4170  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4171  // for more information on using Contexts.
  4172  func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *GetApplicationSettingsInput, opts ...request.Option) (*GetApplicationSettingsOutput, error) {
  4173  	req, out := c.GetApplicationSettingsRequest(input)
  4174  	req.SetContext(ctx)
  4175  	req.ApplyOptions(opts...)
  4176  	return out, req.Send()
  4177  }
  4178  
  4179  const opGetApps = "GetApps"
  4180  
  4181  // GetAppsRequest generates a "aws/request.Request" representing the
  4182  // client's request for the GetApps operation. The "output" return
  4183  // value will be populated with the request's response once the request completes
  4184  // successfully.
  4185  //
  4186  // Use "Send" method on the returned Request to send the API call to the service.
  4187  // the "output" return value is not valid until after Send returns without error.
  4188  //
  4189  // See GetApps for more information on using the GetApps
  4190  // API call, and error handling.
  4191  //
  4192  // This method is useful when you want to inject custom logic or configuration
  4193  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4194  //
  4195  //
  4196  //    // Example sending a request using the GetAppsRequest method.
  4197  //    req, resp := client.GetAppsRequest(params)
  4198  //
  4199  //    err := req.Send()
  4200  //    if err == nil { // resp is now filled
  4201  //        fmt.Println(resp)
  4202  //    }
  4203  //
  4204  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
  4205  func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) {
  4206  	op := &request.Operation{
  4207  		Name:       opGetApps,
  4208  		HTTPMethod: "GET",
  4209  		HTTPPath:   "/v1/apps",
  4210  	}
  4211  
  4212  	if input == nil {
  4213  		input = &GetAppsInput{}
  4214  	}
  4215  
  4216  	output = &GetAppsOutput{}
  4217  	req = c.newRequest(op, input, output)
  4218  	return
  4219  }
  4220  
  4221  // GetApps API operation for Amazon Pinpoint.
  4222  //
  4223  // Retrieves information about all the applications that are associated with
  4224  // your Amazon Pinpoint account.
  4225  //
  4226  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4227  // with awserr.Error's Code and Message methods to get detailed information about
  4228  // the error.
  4229  //
  4230  // See the AWS API reference guide for Amazon Pinpoint's
  4231  // API operation GetApps for usage and error information.
  4232  //
  4233  // Returned Error Types:
  4234  //   * BadRequestException
  4235  //   Provides information about an API request or response.
  4236  //
  4237  //   * InternalServerErrorException
  4238  //   Provides information about an API request or response.
  4239  //
  4240  //   * PayloadTooLargeException
  4241  //   Provides information about an API request or response.
  4242  //
  4243  //   * ForbiddenException
  4244  //   Provides information about an API request or response.
  4245  //
  4246  //   * NotFoundException
  4247  //   Provides information about an API request or response.
  4248  //
  4249  //   * MethodNotAllowedException
  4250  //   Provides information about an API request or response.
  4251  //
  4252  //   * TooManyRequestsException
  4253  //   Provides information about an API request or response.
  4254  //
  4255  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
  4256  func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) {
  4257  	req, out := c.GetAppsRequest(input)
  4258  	return out, req.Send()
  4259  }
  4260  
  4261  // GetAppsWithContext is the same as GetApps with the addition of
  4262  // the ability to pass a context and additional request options.
  4263  //
  4264  // See GetApps for details on how to use this API operation.
  4265  //
  4266  // The context must be non-nil and will be used for request cancellation. If
  4267  // the context is nil a panic will occur. In the future the SDK may create
  4268  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4269  // for more information on using Contexts.
  4270  func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) {
  4271  	req, out := c.GetAppsRequest(input)
  4272  	req.SetContext(ctx)
  4273  	req.ApplyOptions(opts...)
  4274  	return out, req.Send()
  4275  }
  4276  
  4277  const opGetBaiduChannel = "GetBaiduChannel"
  4278  
  4279  // GetBaiduChannelRequest generates a "aws/request.Request" representing the
  4280  // client's request for the GetBaiduChannel operation. The "output" return
  4281  // value will be populated with the request's response once the request completes
  4282  // successfully.
  4283  //
  4284  // Use "Send" method on the returned Request to send the API call to the service.
  4285  // the "output" return value is not valid until after Send returns without error.
  4286  //
  4287  // See GetBaiduChannel for more information on using the GetBaiduChannel
  4288  // API call, and error handling.
  4289  //
  4290  // This method is useful when you want to inject custom logic or configuration
  4291  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4292  //
  4293  //
  4294  //    // Example sending a request using the GetBaiduChannelRequest method.
  4295  //    req, resp := client.GetBaiduChannelRequest(params)
  4296  //
  4297  //    err := req.Send()
  4298  //    if err == nil { // resp is now filled
  4299  //        fmt.Println(resp)
  4300  //    }
  4301  //
  4302  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
  4303  func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) {
  4304  	op := &request.Operation{
  4305  		Name:       opGetBaiduChannel,
  4306  		HTTPMethod: "GET",
  4307  		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
  4308  	}
  4309  
  4310  	if input == nil {
  4311  		input = &GetBaiduChannelInput{}
  4312  	}
  4313  
  4314  	output = &GetBaiduChannelOutput{}
  4315  	req = c.newRequest(op, input, output)
  4316  	return
  4317  }
  4318  
  4319  // GetBaiduChannel API operation for Amazon Pinpoint.
  4320  //
  4321  // Retrieves information about the status and settings of the Baidu channel
  4322  // for an application.
  4323  //
  4324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4325  // with awserr.Error's Code and Message methods to get detailed information about
  4326  // the error.
  4327  //
  4328  // See the AWS API reference guide for Amazon Pinpoint's
  4329  // API operation GetBaiduChannel for usage and error information.
  4330  //
  4331  // Returned Error Types:
  4332  //   * BadRequestException
  4333  //   Provides information about an API request or response.
  4334  //
  4335  //   * InternalServerErrorException
  4336  //   Provides information about an API request or response.
  4337  //
  4338  //   * PayloadTooLargeException
  4339  //   Provides information about an API request or response.
  4340  //
  4341  //   * ForbiddenException
  4342  //   Provides information about an API request or response.
  4343  //
  4344  //   * NotFoundException
  4345  //   Provides information about an API request or response.
  4346  //
  4347  //   * MethodNotAllowedException
  4348  //   Provides information about an API request or response.
  4349  //
  4350  //   * TooManyRequestsException
  4351  //   Provides information about an API request or response.
  4352  //
  4353  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
  4354  func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) {
  4355  	req, out := c.GetBaiduChannelRequest(input)
  4356  	return out, req.Send()
  4357  }
  4358  
  4359  // GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of
  4360  // the ability to pass a context and additional request options.
  4361  //
  4362  // See GetBaiduChannel for details on how to use this API operation.
  4363  //
  4364  // The context must be non-nil and will be used for request cancellation. If
  4365  // the context is nil a panic will occur. In the future the SDK may create
  4366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4367  // for more information on using Contexts.
  4368  func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) {
  4369  	req, out := c.GetBaiduChannelRequest(input)
  4370  	req.SetContext(ctx)
  4371  	req.ApplyOptions(opts...)
  4372  	return out, req.Send()
  4373  }
  4374  
  4375  const opGetCampaign = "GetCampaign"
  4376  
  4377  // GetCampaignRequest generates a "aws/request.Request" representing the
  4378  // client's request for the GetCampaign operation. The "output" return
  4379  // value will be populated with the request's response once the request completes
  4380  // successfully.
  4381  //
  4382  // Use "Send" method on the returned Request to send the API call to the service.
  4383  // the "output" return value is not valid until after Send returns without error.
  4384  //
  4385  // See GetCampaign for more information on using the GetCampaign
  4386  // API call, and error handling.
  4387  //
  4388  // This method is useful when you want to inject custom logic or configuration
  4389  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4390  //
  4391  //
  4392  //    // Example sending a request using the GetCampaignRequest method.
  4393  //    req, resp := client.GetCampaignRequest(params)
  4394  //
  4395  //    err := req.Send()
  4396  //    if err == nil { // resp is now filled
  4397  //        fmt.Println(resp)
  4398  //    }
  4399  //
  4400  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
  4401  func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) {
  4402  	op := &request.Operation{
  4403  		Name:       opGetCampaign,
  4404  		HTTPMethod: "GET",
  4405  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
  4406  	}
  4407  
  4408  	if input == nil {
  4409  		input = &GetCampaignInput{}
  4410  	}
  4411  
  4412  	output = &GetCampaignOutput{}
  4413  	req = c.newRequest(op, input, output)
  4414  	return
  4415  }
  4416  
  4417  // GetCampaign API operation for Amazon Pinpoint.
  4418  //
  4419  // Retrieves information about the status, configuration, and other settings
  4420  // for a campaign.
  4421  //
  4422  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4423  // with awserr.Error's Code and Message methods to get detailed information about
  4424  // the error.
  4425  //
  4426  // See the AWS API reference guide for Amazon Pinpoint's
  4427  // API operation GetCampaign for usage and error information.
  4428  //
  4429  // Returned Error Types:
  4430  //   * BadRequestException
  4431  //   Provides information about an API request or response.
  4432  //
  4433  //   * InternalServerErrorException
  4434  //   Provides information about an API request or response.
  4435  //
  4436  //   * PayloadTooLargeException
  4437  //   Provides information about an API request or response.
  4438  //
  4439  //   * ForbiddenException
  4440  //   Provides information about an API request or response.
  4441  //
  4442  //   * NotFoundException
  4443  //   Provides information about an API request or response.
  4444  //
  4445  //   * MethodNotAllowedException
  4446  //   Provides information about an API request or response.
  4447  //
  4448  //   * TooManyRequestsException
  4449  //   Provides information about an API request or response.
  4450  //
  4451  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
  4452  func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) {
  4453  	req, out := c.GetCampaignRequest(input)
  4454  	return out, req.Send()
  4455  }
  4456  
  4457  // GetCampaignWithContext is the same as GetCampaign with the addition of
  4458  // the ability to pass a context and additional request options.
  4459  //
  4460  // See GetCampaign for details on how to use this API operation.
  4461  //
  4462  // The context must be non-nil and will be used for request cancellation. If
  4463  // the context is nil a panic will occur. In the future the SDK may create
  4464  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4465  // for more information on using Contexts.
  4466  func (c *Pinpoint) GetCampaignWithContext(ctx aws.Context, input *GetCampaignInput, opts ...request.Option) (*GetCampaignOutput, error) {
  4467  	req, out := c.GetCampaignRequest(input)
  4468  	req.SetContext(ctx)
  4469  	req.ApplyOptions(opts...)
  4470  	return out, req.Send()
  4471  }
  4472  
  4473  const opGetCampaignActivities = "GetCampaignActivities"
  4474  
  4475  // GetCampaignActivitiesRequest generates a "aws/request.Request" representing the
  4476  // client's request for the GetCampaignActivities operation. The "output" return
  4477  // value will be populated with the request's response once the request completes
  4478  // successfully.
  4479  //
  4480  // Use "Send" method on the returned Request to send the API call to the service.
  4481  // the "output" return value is not valid until after Send returns without error.
  4482  //
  4483  // See GetCampaignActivities for more information on using the GetCampaignActivities
  4484  // API call, and error handling.
  4485  //
  4486  // This method is useful when you want to inject custom logic or configuration
  4487  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4488  //
  4489  //
  4490  //    // Example sending a request using the GetCampaignActivitiesRequest method.
  4491  //    req, resp := client.GetCampaignActivitiesRequest(params)
  4492  //
  4493  //    err := req.Send()
  4494  //    if err == nil { // resp is now filled
  4495  //        fmt.Println(resp)
  4496  //    }
  4497  //
  4498  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
  4499  func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) {
  4500  	op := &request.Operation{
  4501  		Name:       opGetCampaignActivities,
  4502  		HTTPMethod: "GET",
  4503  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
  4504  	}
  4505  
  4506  	if input == nil {
  4507  		input = &GetCampaignActivitiesInput{}
  4508  	}
  4509  
  4510  	output = &GetCampaignActivitiesOutput{}
  4511  	req = c.newRequest(op, input, output)
  4512  	return
  4513  }
  4514  
  4515  // GetCampaignActivities API operation for Amazon Pinpoint.
  4516  //
  4517  // Retrieves information about all the activities for a campaign.
  4518  //
  4519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4520  // with awserr.Error's Code and Message methods to get detailed information about
  4521  // the error.
  4522  //
  4523  // See the AWS API reference guide for Amazon Pinpoint's
  4524  // API operation GetCampaignActivities for usage and error information.
  4525  //
  4526  // Returned Error Types:
  4527  //   * BadRequestException
  4528  //   Provides information about an API request or response.
  4529  //
  4530  //   * InternalServerErrorException
  4531  //   Provides information about an API request or response.
  4532  //
  4533  //   * PayloadTooLargeException
  4534  //   Provides information about an API request or response.
  4535  //
  4536  //   * ForbiddenException
  4537  //   Provides information about an API request or response.
  4538  //
  4539  //   * NotFoundException
  4540  //   Provides information about an API request or response.
  4541  //
  4542  //   * MethodNotAllowedException
  4543  //   Provides information about an API request or response.
  4544  //
  4545  //   * TooManyRequestsException
  4546  //   Provides information about an API request or response.
  4547  //
  4548  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
  4549  func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) {
  4550  	req, out := c.GetCampaignActivitiesRequest(input)
  4551  	return out, req.Send()
  4552  }
  4553  
  4554  // GetCampaignActivitiesWithContext is the same as GetCampaignActivities with the addition of
  4555  // the ability to pass a context and additional request options.
  4556  //
  4557  // See GetCampaignActivities for details on how to use this API operation.
  4558  //
  4559  // The context must be non-nil and will be used for request cancellation. If
  4560  // the context is nil a panic will occur. In the future the SDK may create
  4561  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4562  // for more information on using Contexts.
  4563  func (c *Pinpoint) GetCampaignActivitiesWithContext(ctx aws.Context, input *GetCampaignActivitiesInput, opts ...request.Option) (*GetCampaignActivitiesOutput, error) {
  4564  	req, out := c.GetCampaignActivitiesRequest(input)
  4565  	req.SetContext(ctx)
  4566  	req.ApplyOptions(opts...)
  4567  	return out, req.Send()
  4568  }
  4569  
  4570  const opGetCampaignDateRangeKpi = "GetCampaignDateRangeKpi"
  4571  
  4572  // GetCampaignDateRangeKpiRequest generates a "aws/request.Request" representing the
  4573  // client's request for the GetCampaignDateRangeKpi operation. The "output" return
  4574  // value will be populated with the request's response once the request completes
  4575  // successfully.
  4576  //
  4577  // Use "Send" method on the returned Request to send the API call to the service.
  4578  // the "output" return value is not valid until after Send returns without error.
  4579  //
  4580  // See GetCampaignDateRangeKpi for more information on using the GetCampaignDateRangeKpi
  4581  // API call, and error handling.
  4582  //
  4583  // This method is useful when you want to inject custom logic or configuration
  4584  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4585  //
  4586  //
  4587  //    // Example sending a request using the GetCampaignDateRangeKpiRequest method.
  4588  //    req, resp := client.GetCampaignDateRangeKpiRequest(params)
  4589  //
  4590  //    err := req.Send()
  4591  //    if err == nil { // resp is now filled
  4592  //        fmt.Println(resp)
  4593  //    }
  4594  //
  4595  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
  4596  func (c *Pinpoint) GetCampaignDateRangeKpiRequest(input *GetCampaignDateRangeKpiInput) (req *request.Request, output *GetCampaignDateRangeKpiOutput) {
  4597  	op := &request.Operation{
  4598  		Name:       opGetCampaignDateRangeKpi,
  4599  		HTTPMethod: "GET",
  4600  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}",
  4601  	}
  4602  
  4603  	if input == nil {
  4604  		input = &GetCampaignDateRangeKpiInput{}
  4605  	}
  4606  
  4607  	output = &GetCampaignDateRangeKpiOutput{}
  4608  	req = c.newRequest(op, input, output)
  4609  	return
  4610  }
  4611  
  4612  // GetCampaignDateRangeKpi API operation for Amazon Pinpoint.
  4613  //
  4614  // Retrieves (queries) pre-aggregated data for a standard metric that applies
  4615  // to a campaign.
  4616  //
  4617  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4618  // with awserr.Error's Code and Message methods to get detailed information about
  4619  // the error.
  4620  //
  4621  // See the AWS API reference guide for Amazon Pinpoint's
  4622  // API operation GetCampaignDateRangeKpi for usage and error information.
  4623  //
  4624  // Returned Error Types:
  4625  //   * BadRequestException
  4626  //   Provides information about an API request or response.
  4627  //
  4628  //   * InternalServerErrorException
  4629  //   Provides information about an API request or response.
  4630  //
  4631  //   * PayloadTooLargeException
  4632  //   Provides information about an API request or response.
  4633  //
  4634  //   * ForbiddenException
  4635  //   Provides information about an API request or response.
  4636  //
  4637  //   * NotFoundException
  4638  //   Provides information about an API request or response.
  4639  //
  4640  //   * MethodNotAllowedException
  4641  //   Provides information about an API request or response.
  4642  //
  4643  //   * TooManyRequestsException
  4644  //   Provides information about an API request or response.
  4645  //
  4646  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
  4647  func (c *Pinpoint) GetCampaignDateRangeKpi(input *GetCampaignDateRangeKpiInput) (*GetCampaignDateRangeKpiOutput, error) {
  4648  	req, out := c.GetCampaignDateRangeKpiRequest(input)
  4649  	return out, req.Send()
  4650  }
  4651  
  4652  // GetCampaignDateRangeKpiWithContext is the same as GetCampaignDateRangeKpi with the addition of
  4653  // the ability to pass a context and additional request options.
  4654  //
  4655  // See GetCampaignDateRangeKpi for details on how to use this API operation.
  4656  //
  4657  // The context must be non-nil and will be used for request cancellation. If
  4658  // the context is nil a panic will occur. In the future the SDK may create
  4659  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4660  // for more information on using Contexts.
  4661  func (c *Pinpoint) GetCampaignDateRangeKpiWithContext(ctx aws.Context, input *GetCampaignDateRangeKpiInput, opts ...request.Option) (*GetCampaignDateRangeKpiOutput, error) {
  4662  	req, out := c.GetCampaignDateRangeKpiRequest(input)
  4663  	req.SetContext(ctx)
  4664  	req.ApplyOptions(opts...)
  4665  	return out, req.Send()
  4666  }
  4667  
  4668  const opGetCampaignVersion = "GetCampaignVersion"
  4669  
  4670  // GetCampaignVersionRequest generates a "aws/request.Request" representing the
  4671  // client's request for the GetCampaignVersion operation. The "output" return
  4672  // value will be populated with the request's response once the request completes
  4673  // successfully.
  4674  //
  4675  // Use "Send" method on the returned Request to send the API call to the service.
  4676  // the "output" return value is not valid until after Send returns without error.
  4677  //
  4678  // See GetCampaignVersion for more information on using the GetCampaignVersion
  4679  // API call, and error handling.
  4680  //
  4681  // This method is useful when you want to inject custom logic or configuration
  4682  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4683  //
  4684  //
  4685  //    // Example sending a request using the GetCampaignVersionRequest method.
  4686  //    req, resp := client.GetCampaignVersionRequest(params)
  4687  //
  4688  //    err := req.Send()
  4689  //    if err == nil { // resp is now filled
  4690  //        fmt.Println(resp)
  4691  //    }
  4692  //
  4693  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
  4694  func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) {
  4695  	op := &request.Operation{
  4696  		Name:       opGetCampaignVersion,
  4697  		HTTPMethod: "GET",
  4698  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
  4699  	}
  4700  
  4701  	if input == nil {
  4702  		input = &GetCampaignVersionInput{}
  4703  	}
  4704  
  4705  	output = &GetCampaignVersionOutput{}
  4706  	req = c.newRequest(op, input, output)
  4707  	return
  4708  }
  4709  
  4710  // GetCampaignVersion API operation for Amazon Pinpoint.
  4711  //
  4712  // Retrieves information about the status, configuration, and other settings
  4713  // for a specific version of a campaign.
  4714  //
  4715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4716  // with awserr.Error's Code and Message methods to get detailed information about
  4717  // the error.
  4718  //
  4719  // See the AWS API reference guide for Amazon Pinpoint's
  4720  // API operation GetCampaignVersion for usage and error information.
  4721  //
  4722  // Returned Error Types:
  4723  //   * BadRequestException
  4724  //   Provides information about an API request or response.
  4725  //
  4726  //   * InternalServerErrorException
  4727  //   Provides information about an API request or response.
  4728  //
  4729  //   * PayloadTooLargeException
  4730  //   Provides information about an API request or response.
  4731  //
  4732  //   * ForbiddenException
  4733  //   Provides information about an API request or response.
  4734  //
  4735  //   * NotFoundException
  4736  //   Provides information about an API request or response.
  4737  //
  4738  //   * MethodNotAllowedException
  4739  //   Provides information about an API request or response.
  4740  //
  4741  //   * TooManyRequestsException
  4742  //   Provides information about an API request or response.
  4743  //
  4744  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
  4745  func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) {
  4746  	req, out := c.GetCampaignVersionRequest(input)
  4747  	return out, req.Send()
  4748  }
  4749  
  4750  // GetCampaignVersionWithContext is the same as GetCampaignVersion with the addition of
  4751  // the ability to pass a context and additional request options.
  4752  //
  4753  // See GetCampaignVersion for details on how to use this API operation.
  4754  //
  4755  // The context must be non-nil and will be used for request cancellation. If
  4756  // the context is nil a panic will occur. In the future the SDK may create
  4757  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4758  // for more information on using Contexts.
  4759  func (c *Pinpoint) GetCampaignVersionWithContext(ctx aws.Context, input *GetCampaignVersionInput, opts ...request.Option) (*GetCampaignVersionOutput, error) {
  4760  	req, out := c.GetCampaignVersionRequest(input)
  4761  	req.SetContext(ctx)
  4762  	req.ApplyOptions(opts...)
  4763  	return out, req.Send()
  4764  }
  4765  
  4766  const opGetCampaignVersions = "GetCampaignVersions"
  4767  
  4768  // GetCampaignVersionsRequest generates a "aws/request.Request" representing the
  4769  // client's request for the GetCampaignVersions operation. The "output" return
  4770  // value will be populated with the request's response once the request completes
  4771  // successfully.
  4772  //
  4773  // Use "Send" method on the returned Request to send the API call to the service.
  4774  // the "output" return value is not valid until after Send returns without error.
  4775  //
  4776  // See GetCampaignVersions for more information on using the GetCampaignVersions
  4777  // API call, and error handling.
  4778  //
  4779  // This method is useful when you want to inject custom logic or configuration
  4780  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4781  //
  4782  //
  4783  //    // Example sending a request using the GetCampaignVersionsRequest method.
  4784  //    req, resp := client.GetCampaignVersionsRequest(params)
  4785  //
  4786  //    err := req.Send()
  4787  //    if err == nil { // resp is now filled
  4788  //        fmt.Println(resp)
  4789  //    }
  4790  //
  4791  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
  4792  func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) {
  4793  	op := &request.Operation{
  4794  		Name:       opGetCampaignVersions,
  4795  		HTTPMethod: "GET",
  4796  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
  4797  	}
  4798  
  4799  	if input == nil {
  4800  		input = &GetCampaignVersionsInput{}
  4801  	}
  4802  
  4803  	output = &GetCampaignVersionsOutput{}
  4804  	req = c.newRequest(op, input, output)
  4805  	return
  4806  }
  4807  
  4808  // GetCampaignVersions API operation for Amazon Pinpoint.
  4809  //
  4810  // Retrieves information about the status, configuration, and other settings
  4811  // for all versions of a campaign.
  4812  //
  4813  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4814  // with awserr.Error's Code and Message methods to get detailed information about
  4815  // the error.
  4816  //
  4817  // See the AWS API reference guide for Amazon Pinpoint's
  4818  // API operation GetCampaignVersions for usage and error information.
  4819  //
  4820  // Returned Error Types:
  4821  //   * BadRequestException
  4822  //   Provides information about an API request or response.
  4823  //
  4824  //   * InternalServerErrorException
  4825  //   Provides information about an API request or response.
  4826  //
  4827  //   * PayloadTooLargeException
  4828  //   Provides information about an API request or response.
  4829  //
  4830  //   * ForbiddenException
  4831  //   Provides information about an API request or response.
  4832  //
  4833  //   * NotFoundException
  4834  //   Provides information about an API request or response.
  4835  //
  4836  //   * MethodNotAllowedException
  4837  //   Provides information about an API request or response.
  4838  //
  4839  //   * TooManyRequestsException
  4840  //   Provides information about an API request or response.
  4841  //
  4842  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
  4843  func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) {
  4844  	req, out := c.GetCampaignVersionsRequest(input)
  4845  	return out, req.Send()
  4846  }
  4847  
  4848  // GetCampaignVersionsWithContext is the same as GetCampaignVersions with the addition of
  4849  // the ability to pass a context and additional request options.
  4850  //
  4851  // See GetCampaignVersions for details on how to use this API operation.
  4852  //
  4853  // The context must be non-nil and will be used for request cancellation. If
  4854  // the context is nil a panic will occur. In the future the SDK may create
  4855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4856  // for more information on using Contexts.
  4857  func (c *Pinpoint) GetCampaignVersionsWithContext(ctx aws.Context, input *GetCampaignVersionsInput, opts ...request.Option) (*GetCampaignVersionsOutput, error) {
  4858  	req, out := c.GetCampaignVersionsRequest(input)
  4859  	req.SetContext(ctx)
  4860  	req.ApplyOptions(opts...)
  4861  	return out, req.Send()
  4862  }
  4863  
  4864  const opGetCampaigns = "GetCampaigns"
  4865  
  4866  // GetCampaignsRequest generates a "aws/request.Request" representing the
  4867  // client's request for the GetCampaigns operation. The "output" return
  4868  // value will be populated with the request's response once the request completes
  4869  // successfully.
  4870  //
  4871  // Use "Send" method on the returned Request to send the API call to the service.
  4872  // the "output" return value is not valid until after Send returns without error.
  4873  //
  4874  // See GetCampaigns for more information on using the GetCampaigns
  4875  // API call, and error handling.
  4876  //
  4877  // This method is useful when you want to inject custom logic or configuration
  4878  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4879  //
  4880  //
  4881  //    // Example sending a request using the GetCampaignsRequest method.
  4882  //    req, resp := client.GetCampaignsRequest(params)
  4883  //
  4884  //    err := req.Send()
  4885  //    if err == nil { // resp is now filled
  4886  //        fmt.Println(resp)
  4887  //    }
  4888  //
  4889  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
  4890  func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) {
  4891  	op := &request.Operation{
  4892  		Name:       opGetCampaigns,
  4893  		HTTPMethod: "GET",
  4894  		HTTPPath:   "/v1/apps/{application-id}/campaigns",
  4895  	}
  4896  
  4897  	if input == nil {
  4898  		input = &GetCampaignsInput{}
  4899  	}
  4900  
  4901  	output = &GetCampaignsOutput{}
  4902  	req = c.newRequest(op, input, output)
  4903  	return
  4904  }
  4905  
  4906  // GetCampaigns API operation for Amazon Pinpoint.
  4907  //
  4908  // Retrieves information about the status, configuration, and other settings
  4909  // for all the campaigns that are associated with an application.
  4910  //
  4911  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4912  // with awserr.Error's Code and Message methods to get detailed information about
  4913  // the error.
  4914  //
  4915  // See the AWS API reference guide for Amazon Pinpoint's
  4916  // API operation GetCampaigns for usage and error information.
  4917  //
  4918  // Returned Error Types:
  4919  //   * BadRequestException
  4920  //   Provides information about an API request or response.
  4921  //
  4922  //   * InternalServerErrorException
  4923  //   Provides information about an API request or response.
  4924  //
  4925  //   * PayloadTooLargeException
  4926  //   Provides information about an API request or response.
  4927  //
  4928  //   * ForbiddenException
  4929  //   Provides information about an API request or response.
  4930  //
  4931  //   * NotFoundException
  4932  //   Provides information about an API request or response.
  4933  //
  4934  //   * MethodNotAllowedException
  4935  //   Provides information about an API request or response.
  4936  //
  4937  //   * TooManyRequestsException
  4938  //   Provides information about an API request or response.
  4939  //
  4940  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
  4941  func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) {
  4942  	req, out := c.GetCampaignsRequest(input)
  4943  	return out, req.Send()
  4944  }
  4945  
  4946  // GetCampaignsWithContext is the same as GetCampaigns with the addition of
  4947  // the ability to pass a context and additional request options.
  4948  //
  4949  // See GetCampaigns for details on how to use this API operation.
  4950  //
  4951  // The context must be non-nil and will be used for request cancellation. If
  4952  // the context is nil a panic will occur. In the future the SDK may create
  4953  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4954  // for more information on using Contexts.
  4955  func (c *Pinpoint) GetCampaignsWithContext(ctx aws.Context, input *GetCampaignsInput, opts ...request.Option) (*GetCampaignsOutput, error) {
  4956  	req, out := c.GetCampaignsRequest(input)
  4957  	req.SetContext(ctx)
  4958  	req.ApplyOptions(opts...)
  4959  	return out, req.Send()
  4960  }
  4961  
  4962  const opGetChannels = "GetChannels"
  4963  
  4964  // GetChannelsRequest generates a "aws/request.Request" representing the
  4965  // client's request for the GetChannels operation. The "output" return
  4966  // value will be populated with the request's response once the request completes
  4967  // successfully.
  4968  //
  4969  // Use "Send" method on the returned Request to send the API call to the service.
  4970  // the "output" return value is not valid until after Send returns without error.
  4971  //
  4972  // See GetChannels for more information on using the GetChannels
  4973  // API call, and error handling.
  4974  //
  4975  // This method is useful when you want to inject custom logic or configuration
  4976  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4977  //
  4978  //
  4979  //    // Example sending a request using the GetChannelsRequest method.
  4980  //    req, resp := client.GetChannelsRequest(params)
  4981  //
  4982  //    err := req.Send()
  4983  //    if err == nil { // resp is now filled
  4984  //        fmt.Println(resp)
  4985  //    }
  4986  //
  4987  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
  4988  func (c *Pinpoint) GetChannelsRequest(input *GetChannelsInput) (req *request.Request, output *GetChannelsOutput) {
  4989  	op := &request.Operation{
  4990  		Name:       opGetChannels,
  4991  		HTTPMethod: "GET",
  4992  		HTTPPath:   "/v1/apps/{application-id}/channels",
  4993  	}
  4994  
  4995  	if input == nil {
  4996  		input = &GetChannelsInput{}
  4997  	}
  4998  
  4999  	output = &GetChannelsOutput{}
  5000  	req = c.newRequest(op, input, output)
  5001  	return
  5002  }
  5003  
  5004  // GetChannels API operation for Amazon Pinpoint.
  5005  //
  5006  // Retrieves information about the history and status of each channel for an
  5007  // application.
  5008  //
  5009  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5010  // with awserr.Error's Code and Message methods to get detailed information about
  5011  // the error.
  5012  //
  5013  // See the AWS API reference guide for Amazon Pinpoint's
  5014  // API operation GetChannels for usage and error information.
  5015  //
  5016  // Returned Error Types:
  5017  //   * BadRequestException
  5018  //   Provides information about an API request or response.
  5019  //
  5020  //   * InternalServerErrorException
  5021  //   Provides information about an API request or response.
  5022  //
  5023  //   * PayloadTooLargeException
  5024  //   Provides information about an API request or response.
  5025  //
  5026  //   * ForbiddenException
  5027  //   Provides information about an API request or response.
  5028  //
  5029  //   * NotFoundException
  5030  //   Provides information about an API request or response.
  5031  //
  5032  //   * MethodNotAllowedException
  5033  //   Provides information about an API request or response.
  5034  //
  5035  //   * TooManyRequestsException
  5036  //   Provides information about an API request or response.
  5037  //
  5038  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
  5039  func (c *Pinpoint) GetChannels(input *GetChannelsInput) (*GetChannelsOutput, error) {
  5040  	req, out := c.GetChannelsRequest(input)
  5041  	return out, req.Send()
  5042  }
  5043  
  5044  // GetChannelsWithContext is the same as GetChannels with the addition of
  5045  // the ability to pass a context and additional request options.
  5046  //
  5047  // See GetChannels for details on how to use this API operation.
  5048  //
  5049  // The context must be non-nil and will be used for request cancellation. If
  5050  // the context is nil a panic will occur. In the future the SDK may create
  5051  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5052  // for more information on using Contexts.
  5053  func (c *Pinpoint) GetChannelsWithContext(ctx aws.Context, input *GetChannelsInput, opts ...request.Option) (*GetChannelsOutput, error) {
  5054  	req, out := c.GetChannelsRequest(input)
  5055  	req.SetContext(ctx)
  5056  	req.ApplyOptions(opts...)
  5057  	return out, req.Send()
  5058  }
  5059  
  5060  const opGetEmailChannel = "GetEmailChannel"
  5061  
  5062  // GetEmailChannelRequest generates a "aws/request.Request" representing the
  5063  // client's request for the GetEmailChannel operation. The "output" return
  5064  // value will be populated with the request's response once the request completes
  5065  // successfully.
  5066  //
  5067  // Use "Send" method on the returned Request to send the API call to the service.
  5068  // the "output" return value is not valid until after Send returns without error.
  5069  //
  5070  // See GetEmailChannel for more information on using the GetEmailChannel
  5071  // API call, and error handling.
  5072  //
  5073  // This method is useful when you want to inject custom logic or configuration
  5074  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5075  //
  5076  //
  5077  //    // Example sending a request using the GetEmailChannelRequest method.
  5078  //    req, resp := client.GetEmailChannelRequest(params)
  5079  //
  5080  //    err := req.Send()
  5081  //    if err == nil { // resp is now filled
  5082  //        fmt.Println(resp)
  5083  //    }
  5084  //
  5085  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
  5086  func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) {
  5087  	op := &request.Operation{
  5088  		Name:       opGetEmailChannel,
  5089  		HTTPMethod: "GET",
  5090  		HTTPPath:   "/v1/apps/{application-id}/channels/email",
  5091  	}
  5092  
  5093  	if input == nil {
  5094  		input = &GetEmailChannelInput{}
  5095  	}
  5096  
  5097  	output = &GetEmailChannelOutput{}
  5098  	req = c.newRequest(op, input, output)
  5099  	return
  5100  }
  5101  
  5102  // GetEmailChannel API operation for Amazon Pinpoint.
  5103  //
  5104  // Retrieves information about the status and settings of the email channel
  5105  // for an application.
  5106  //
  5107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5108  // with awserr.Error's Code and Message methods to get detailed information about
  5109  // the error.
  5110  //
  5111  // See the AWS API reference guide for Amazon Pinpoint's
  5112  // API operation GetEmailChannel for usage and error information.
  5113  //
  5114  // Returned Error Types:
  5115  //   * BadRequestException
  5116  //   Provides information about an API request or response.
  5117  //
  5118  //   * InternalServerErrorException
  5119  //   Provides information about an API request or response.
  5120  //
  5121  //   * PayloadTooLargeException
  5122  //   Provides information about an API request or response.
  5123  //
  5124  //   * ForbiddenException
  5125  //   Provides information about an API request or response.
  5126  //
  5127  //   * NotFoundException
  5128  //   Provides information about an API request or response.
  5129  //
  5130  //   * MethodNotAllowedException
  5131  //   Provides information about an API request or response.
  5132  //
  5133  //   * TooManyRequestsException
  5134  //   Provides information about an API request or response.
  5135  //
  5136  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
  5137  func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) {
  5138  	req, out := c.GetEmailChannelRequest(input)
  5139  	return out, req.Send()
  5140  }
  5141  
  5142  // GetEmailChannelWithContext is the same as GetEmailChannel with the addition of
  5143  // the ability to pass a context and additional request options.
  5144  //
  5145  // See GetEmailChannel for details on how to use this API operation.
  5146  //
  5147  // The context must be non-nil and will be used for request cancellation. If
  5148  // the context is nil a panic will occur. In the future the SDK may create
  5149  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5150  // for more information on using Contexts.
  5151  func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailChannelInput, opts ...request.Option) (*GetEmailChannelOutput, error) {
  5152  	req, out := c.GetEmailChannelRequest(input)
  5153  	req.SetContext(ctx)
  5154  	req.ApplyOptions(opts...)
  5155  	return out, req.Send()
  5156  }
  5157  
  5158  const opGetEmailTemplate = "GetEmailTemplate"
  5159  
  5160  // GetEmailTemplateRequest generates a "aws/request.Request" representing the
  5161  // client's request for the GetEmailTemplate operation. The "output" return
  5162  // value will be populated with the request's response once the request completes
  5163  // successfully.
  5164  //
  5165  // Use "Send" method on the returned Request to send the API call to the service.
  5166  // the "output" return value is not valid until after Send returns without error.
  5167  //
  5168  // See GetEmailTemplate for more information on using the GetEmailTemplate
  5169  // API call, and error handling.
  5170  //
  5171  // This method is useful when you want to inject custom logic or configuration
  5172  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5173  //
  5174  //
  5175  //    // Example sending a request using the GetEmailTemplateRequest method.
  5176  //    req, resp := client.GetEmailTemplateRequest(params)
  5177  //
  5178  //    err := req.Send()
  5179  //    if err == nil { // resp is now filled
  5180  //        fmt.Println(resp)
  5181  //    }
  5182  //
  5183  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
  5184  func (c *Pinpoint) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) {
  5185  	op := &request.Operation{
  5186  		Name:       opGetEmailTemplate,
  5187  		HTTPMethod: "GET",
  5188  		HTTPPath:   "/v1/templates/{template-name}/email",
  5189  	}
  5190  
  5191  	if input == nil {
  5192  		input = &GetEmailTemplateInput{}
  5193  	}
  5194  
  5195  	output = &GetEmailTemplateOutput{}
  5196  	req = c.newRequest(op, input, output)
  5197  	return
  5198  }
  5199  
  5200  // GetEmailTemplate API operation for Amazon Pinpoint.
  5201  //
  5202  // Retrieves the content and settings of a message template for messages that
  5203  // are sent through the email channel.
  5204  //
  5205  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5206  // with awserr.Error's Code and Message methods to get detailed information about
  5207  // the error.
  5208  //
  5209  // See the AWS API reference guide for Amazon Pinpoint's
  5210  // API operation GetEmailTemplate for usage and error information.
  5211  //
  5212  // Returned Error Types:
  5213  //   * BadRequestException
  5214  //   Provides information about an API request or response.
  5215  //
  5216  //   * InternalServerErrorException
  5217  //   Provides information about an API request or response.
  5218  //
  5219  //   * PayloadTooLargeException
  5220  //   Provides information about an API request or response.
  5221  //
  5222  //   * ForbiddenException
  5223  //   Provides information about an API request or response.
  5224  //
  5225  //   * NotFoundException
  5226  //   Provides information about an API request or response.
  5227  //
  5228  //   * MethodNotAllowedException
  5229  //   Provides information about an API request or response.
  5230  //
  5231  //   * TooManyRequestsException
  5232  //   Provides information about an API request or response.
  5233  //
  5234  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
  5235  func (c *Pinpoint) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) {
  5236  	req, out := c.GetEmailTemplateRequest(input)
  5237  	return out, req.Send()
  5238  }
  5239  
  5240  // GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of
  5241  // the ability to pass a context and additional request options.
  5242  //
  5243  // See GetEmailTemplate for details on how to use this API operation.
  5244  //
  5245  // The context must be non-nil and will be used for request cancellation. If
  5246  // the context is nil a panic will occur. In the future the SDK may create
  5247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5248  // for more information on using Contexts.
  5249  func (c *Pinpoint) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) {
  5250  	req, out := c.GetEmailTemplateRequest(input)
  5251  	req.SetContext(ctx)
  5252  	req.ApplyOptions(opts...)
  5253  	return out, req.Send()
  5254  }
  5255  
  5256  const opGetEndpoint = "GetEndpoint"
  5257  
  5258  // GetEndpointRequest generates a "aws/request.Request" representing the
  5259  // client's request for the GetEndpoint operation. The "output" return
  5260  // value will be populated with the request's response once the request completes
  5261  // successfully.
  5262  //
  5263  // Use "Send" method on the returned Request to send the API call to the service.
  5264  // the "output" return value is not valid until after Send returns without error.
  5265  //
  5266  // See GetEndpoint for more information on using the GetEndpoint
  5267  // API call, and error handling.
  5268  //
  5269  // This method is useful when you want to inject custom logic or configuration
  5270  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5271  //
  5272  //
  5273  //    // Example sending a request using the GetEndpointRequest method.
  5274  //    req, resp := client.GetEndpointRequest(params)
  5275  //
  5276  //    err := req.Send()
  5277  //    if err == nil { // resp is now filled
  5278  //        fmt.Println(resp)
  5279  //    }
  5280  //
  5281  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
  5282  func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) {
  5283  	op := &request.Operation{
  5284  		Name:       opGetEndpoint,
  5285  		HTTPMethod: "GET",
  5286  		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
  5287  	}
  5288  
  5289  	if input == nil {
  5290  		input = &GetEndpointInput{}
  5291  	}
  5292  
  5293  	output = &GetEndpointOutput{}
  5294  	req = c.newRequest(op, input, output)
  5295  	return
  5296  }
  5297  
  5298  // GetEndpoint API operation for Amazon Pinpoint.
  5299  //
  5300  // Retrieves information about the settings and attributes of a specific endpoint
  5301  // for an application.
  5302  //
  5303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5304  // with awserr.Error's Code and Message methods to get detailed information about
  5305  // the error.
  5306  //
  5307  // See the AWS API reference guide for Amazon Pinpoint's
  5308  // API operation GetEndpoint for usage and error information.
  5309  //
  5310  // Returned Error Types:
  5311  //   * BadRequestException
  5312  //   Provides information about an API request or response.
  5313  //
  5314  //   * InternalServerErrorException
  5315  //   Provides information about an API request or response.
  5316  //
  5317  //   * PayloadTooLargeException
  5318  //   Provides information about an API request or response.
  5319  //
  5320  //   * ForbiddenException
  5321  //   Provides information about an API request or response.
  5322  //
  5323  //   * NotFoundException
  5324  //   Provides information about an API request or response.
  5325  //
  5326  //   * MethodNotAllowedException
  5327  //   Provides information about an API request or response.
  5328  //
  5329  //   * TooManyRequestsException
  5330  //   Provides information about an API request or response.
  5331  //
  5332  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
  5333  func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) {
  5334  	req, out := c.GetEndpointRequest(input)
  5335  	return out, req.Send()
  5336  }
  5337  
  5338  // GetEndpointWithContext is the same as GetEndpoint with the addition of
  5339  // the ability to pass a context and additional request options.
  5340  //
  5341  // See GetEndpoint for details on how to use this API operation.
  5342  //
  5343  // The context must be non-nil and will be used for request cancellation. If
  5344  // the context is nil a panic will occur. In the future the SDK may create
  5345  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5346  // for more information on using Contexts.
  5347  func (c *Pinpoint) GetEndpointWithContext(ctx aws.Context, input *GetEndpointInput, opts ...request.Option) (*GetEndpointOutput, error) {
  5348  	req, out := c.GetEndpointRequest(input)
  5349  	req.SetContext(ctx)
  5350  	req.ApplyOptions(opts...)
  5351  	return out, req.Send()
  5352  }
  5353  
  5354  const opGetEventStream = "GetEventStream"
  5355  
  5356  // GetEventStreamRequest generates a "aws/request.Request" representing the
  5357  // client's request for the GetEventStream operation. The "output" return
  5358  // value will be populated with the request's response once the request completes
  5359  // successfully.
  5360  //
  5361  // Use "Send" method on the returned Request to send the API call to the service.
  5362  // the "output" return value is not valid until after Send returns without error.
  5363  //
  5364  // See GetEventStream for more information on using the GetEventStream
  5365  // API call, and error handling.
  5366  //
  5367  // This method is useful when you want to inject custom logic or configuration
  5368  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5369  //
  5370  //
  5371  //    // Example sending a request using the GetEventStreamRequest method.
  5372  //    req, resp := client.GetEventStreamRequest(params)
  5373  //
  5374  //    err := req.Send()
  5375  //    if err == nil { // resp is now filled
  5376  //        fmt.Println(resp)
  5377  //    }
  5378  //
  5379  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
  5380  func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) {
  5381  	op := &request.Operation{
  5382  		Name:       opGetEventStream,
  5383  		HTTPMethod: "GET",
  5384  		HTTPPath:   "/v1/apps/{application-id}/eventstream",
  5385  	}
  5386  
  5387  	if input == nil {
  5388  		input = &GetEventStreamInput{}
  5389  	}
  5390  
  5391  	output = &GetEventStreamOutput{}
  5392  	req = c.newRequest(op, input, output)
  5393  	return
  5394  }
  5395  
  5396  // GetEventStream API operation for Amazon Pinpoint.
  5397  //
  5398  // Retrieves information about the event stream settings for an application.
  5399  //
  5400  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5401  // with awserr.Error's Code and Message methods to get detailed information about
  5402  // the error.
  5403  //
  5404  // See the AWS API reference guide for Amazon Pinpoint's
  5405  // API operation GetEventStream for usage and error information.
  5406  //
  5407  // Returned Error Types:
  5408  //   * BadRequestException
  5409  //   Provides information about an API request or response.
  5410  //
  5411  //   * InternalServerErrorException
  5412  //   Provides information about an API request or response.
  5413  //
  5414  //   * PayloadTooLargeException
  5415  //   Provides information about an API request or response.
  5416  //
  5417  //   * ForbiddenException
  5418  //   Provides information about an API request or response.
  5419  //
  5420  //   * NotFoundException
  5421  //   Provides information about an API request or response.
  5422  //
  5423  //   * MethodNotAllowedException
  5424  //   Provides information about an API request or response.
  5425  //
  5426  //   * TooManyRequestsException
  5427  //   Provides information about an API request or response.
  5428  //
  5429  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
  5430  func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) {
  5431  	req, out := c.GetEventStreamRequest(input)
  5432  	return out, req.Send()
  5433  }
  5434  
  5435  // GetEventStreamWithContext is the same as GetEventStream with the addition of
  5436  // the ability to pass a context and additional request options.
  5437  //
  5438  // See GetEventStream for details on how to use this API operation.
  5439  //
  5440  // The context must be non-nil and will be used for request cancellation. If
  5441  // the context is nil a panic will occur. In the future the SDK may create
  5442  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5443  // for more information on using Contexts.
  5444  func (c *Pinpoint) GetEventStreamWithContext(ctx aws.Context, input *GetEventStreamInput, opts ...request.Option) (*GetEventStreamOutput, error) {
  5445  	req, out := c.GetEventStreamRequest(input)
  5446  	req.SetContext(ctx)
  5447  	req.ApplyOptions(opts...)
  5448  	return out, req.Send()
  5449  }
  5450  
  5451  const opGetExportJob = "GetExportJob"
  5452  
  5453  // GetExportJobRequest generates a "aws/request.Request" representing the
  5454  // client's request for the GetExportJob operation. The "output" return
  5455  // value will be populated with the request's response once the request completes
  5456  // successfully.
  5457  //
  5458  // Use "Send" method on the returned Request to send the API call to the service.
  5459  // the "output" return value is not valid until after Send returns without error.
  5460  //
  5461  // See GetExportJob for more information on using the GetExportJob
  5462  // API call, and error handling.
  5463  //
  5464  // This method is useful when you want to inject custom logic or configuration
  5465  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5466  //
  5467  //
  5468  //    // Example sending a request using the GetExportJobRequest method.
  5469  //    req, resp := client.GetExportJobRequest(params)
  5470  //
  5471  //    err := req.Send()
  5472  //    if err == nil { // resp is now filled
  5473  //        fmt.Println(resp)
  5474  //    }
  5475  //
  5476  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
  5477  func (c *Pinpoint) GetExportJobRequest(input *GetExportJobInput) (req *request.Request, output *GetExportJobOutput) {
  5478  	op := &request.Operation{
  5479  		Name:       opGetExportJob,
  5480  		HTTPMethod: "GET",
  5481  		HTTPPath:   "/v1/apps/{application-id}/jobs/export/{job-id}",
  5482  	}
  5483  
  5484  	if input == nil {
  5485  		input = &GetExportJobInput{}
  5486  	}
  5487  
  5488  	output = &GetExportJobOutput{}
  5489  	req = c.newRequest(op, input, output)
  5490  	return
  5491  }
  5492  
  5493  // GetExportJob API operation for Amazon Pinpoint.
  5494  //
  5495  // Retrieves information about the status and settings of a specific export
  5496  // job for an application.
  5497  //
  5498  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5499  // with awserr.Error's Code and Message methods to get detailed information about
  5500  // the error.
  5501  //
  5502  // See the AWS API reference guide for Amazon Pinpoint's
  5503  // API operation GetExportJob for usage and error information.
  5504  //
  5505  // Returned Error Types:
  5506  //   * BadRequestException
  5507  //   Provides information about an API request or response.
  5508  //
  5509  //   * InternalServerErrorException
  5510  //   Provides information about an API request or response.
  5511  //
  5512  //   * PayloadTooLargeException
  5513  //   Provides information about an API request or response.
  5514  //
  5515  //   * ForbiddenException
  5516  //   Provides information about an API request or response.
  5517  //
  5518  //   * NotFoundException
  5519  //   Provides information about an API request or response.
  5520  //
  5521  //   * MethodNotAllowedException
  5522  //   Provides information about an API request or response.
  5523  //
  5524  //   * TooManyRequestsException
  5525  //   Provides information about an API request or response.
  5526  //
  5527  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
  5528  func (c *Pinpoint) GetExportJob(input *GetExportJobInput) (*GetExportJobOutput, error) {
  5529  	req, out := c.GetExportJobRequest(input)
  5530  	return out, req.Send()
  5531  }
  5532  
  5533  // GetExportJobWithContext is the same as GetExportJob with the addition of
  5534  // the ability to pass a context and additional request options.
  5535  //
  5536  // See GetExportJob for details on how to use this API operation.
  5537  //
  5538  // The context must be non-nil and will be used for request cancellation. If
  5539  // the context is nil a panic will occur. In the future the SDK may create
  5540  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5541  // for more information on using Contexts.
  5542  func (c *Pinpoint) GetExportJobWithContext(ctx aws.Context, input *GetExportJobInput, opts ...request.Option) (*GetExportJobOutput, error) {
  5543  	req, out := c.GetExportJobRequest(input)
  5544  	req.SetContext(ctx)
  5545  	req.ApplyOptions(opts...)
  5546  	return out, req.Send()
  5547  }
  5548  
  5549  const opGetExportJobs = "GetExportJobs"
  5550  
  5551  // GetExportJobsRequest generates a "aws/request.Request" representing the
  5552  // client's request for the GetExportJobs operation. The "output" return
  5553  // value will be populated with the request's response once the request completes
  5554  // successfully.
  5555  //
  5556  // Use "Send" method on the returned Request to send the API call to the service.
  5557  // the "output" return value is not valid until after Send returns without error.
  5558  //
  5559  // See GetExportJobs for more information on using the GetExportJobs
  5560  // API call, and error handling.
  5561  //
  5562  // This method is useful when you want to inject custom logic or configuration
  5563  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5564  //
  5565  //
  5566  //    // Example sending a request using the GetExportJobsRequest method.
  5567  //    req, resp := client.GetExportJobsRequest(params)
  5568  //
  5569  //    err := req.Send()
  5570  //    if err == nil { // resp is now filled
  5571  //        fmt.Println(resp)
  5572  //    }
  5573  //
  5574  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
  5575  func (c *Pinpoint) GetExportJobsRequest(input *GetExportJobsInput) (req *request.Request, output *GetExportJobsOutput) {
  5576  	op := &request.Operation{
  5577  		Name:       opGetExportJobs,
  5578  		HTTPMethod: "GET",
  5579  		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
  5580  	}
  5581  
  5582  	if input == nil {
  5583  		input = &GetExportJobsInput{}
  5584  	}
  5585  
  5586  	output = &GetExportJobsOutput{}
  5587  	req = c.newRequest(op, input, output)
  5588  	return
  5589  }
  5590  
  5591  // GetExportJobs API operation for Amazon Pinpoint.
  5592  //
  5593  // Retrieves information about the status and settings of all the export jobs
  5594  // for an application.
  5595  //
  5596  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5597  // with awserr.Error's Code and Message methods to get detailed information about
  5598  // the error.
  5599  //
  5600  // See the AWS API reference guide for Amazon Pinpoint's
  5601  // API operation GetExportJobs for usage and error information.
  5602  //
  5603  // Returned Error Types:
  5604  //   * BadRequestException
  5605  //   Provides information about an API request or response.
  5606  //
  5607  //   * InternalServerErrorException
  5608  //   Provides information about an API request or response.
  5609  //
  5610  //   * PayloadTooLargeException
  5611  //   Provides information about an API request or response.
  5612  //
  5613  //   * ForbiddenException
  5614  //   Provides information about an API request or response.
  5615  //
  5616  //   * NotFoundException
  5617  //   Provides information about an API request or response.
  5618  //
  5619  //   * MethodNotAllowedException
  5620  //   Provides information about an API request or response.
  5621  //
  5622  //   * TooManyRequestsException
  5623  //   Provides information about an API request or response.
  5624  //
  5625  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
  5626  func (c *Pinpoint) GetExportJobs(input *GetExportJobsInput) (*GetExportJobsOutput, error) {
  5627  	req, out := c.GetExportJobsRequest(input)
  5628  	return out, req.Send()
  5629  }
  5630  
  5631  // GetExportJobsWithContext is the same as GetExportJobs with the addition of
  5632  // the ability to pass a context and additional request options.
  5633  //
  5634  // See GetExportJobs for details on how to use this API operation.
  5635  //
  5636  // The context must be non-nil and will be used for request cancellation. If
  5637  // the context is nil a panic will occur. In the future the SDK may create
  5638  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5639  // for more information on using Contexts.
  5640  func (c *Pinpoint) GetExportJobsWithContext(ctx aws.Context, input *GetExportJobsInput, opts ...request.Option) (*GetExportJobsOutput, error) {
  5641  	req, out := c.GetExportJobsRequest(input)
  5642  	req.SetContext(ctx)
  5643  	req.ApplyOptions(opts...)
  5644  	return out, req.Send()
  5645  }
  5646  
  5647  const opGetGcmChannel = "GetGcmChannel"
  5648  
  5649  // GetGcmChannelRequest generates a "aws/request.Request" representing the
  5650  // client's request for the GetGcmChannel operation. The "output" return
  5651  // value will be populated with the request's response once the request completes
  5652  // successfully.
  5653  //
  5654  // Use "Send" method on the returned Request to send the API call to the service.
  5655  // the "output" return value is not valid until after Send returns without error.
  5656  //
  5657  // See GetGcmChannel for more information on using the GetGcmChannel
  5658  // API call, and error handling.
  5659  //
  5660  // This method is useful when you want to inject custom logic or configuration
  5661  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5662  //
  5663  //
  5664  //    // Example sending a request using the GetGcmChannelRequest method.
  5665  //    req, resp := client.GetGcmChannelRequest(params)
  5666  //
  5667  //    err := req.Send()
  5668  //    if err == nil { // resp is now filled
  5669  //        fmt.Println(resp)
  5670  //    }
  5671  //
  5672  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
  5673  func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) {
  5674  	op := &request.Operation{
  5675  		Name:       opGetGcmChannel,
  5676  		HTTPMethod: "GET",
  5677  		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
  5678  	}
  5679  
  5680  	if input == nil {
  5681  		input = &GetGcmChannelInput{}
  5682  	}
  5683  
  5684  	output = &GetGcmChannelOutput{}
  5685  	req = c.newRequest(op, input, output)
  5686  	return
  5687  }
  5688  
  5689  // GetGcmChannel API operation for Amazon Pinpoint.
  5690  //
  5691  // Retrieves information about the status and settings of the GCM channel for
  5692  // an application.
  5693  //
  5694  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5695  // with awserr.Error's Code and Message methods to get detailed information about
  5696  // the error.
  5697  //
  5698  // See the AWS API reference guide for Amazon Pinpoint's
  5699  // API operation GetGcmChannel for usage and error information.
  5700  //
  5701  // Returned Error Types:
  5702  //   * BadRequestException
  5703  //   Provides information about an API request or response.
  5704  //
  5705  //   * InternalServerErrorException
  5706  //   Provides information about an API request or response.
  5707  //
  5708  //   * PayloadTooLargeException
  5709  //   Provides information about an API request or response.
  5710  //
  5711  //   * ForbiddenException
  5712  //   Provides information about an API request or response.
  5713  //
  5714  //   * NotFoundException
  5715  //   Provides information about an API request or response.
  5716  //
  5717  //   * MethodNotAllowedException
  5718  //   Provides information about an API request or response.
  5719  //
  5720  //   * TooManyRequestsException
  5721  //   Provides information about an API request or response.
  5722  //
  5723  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
  5724  func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) {
  5725  	req, out := c.GetGcmChannelRequest(input)
  5726  	return out, req.Send()
  5727  }
  5728  
  5729  // GetGcmChannelWithContext is the same as GetGcmChannel with the addition of
  5730  // the ability to pass a context and additional request options.
  5731  //
  5732  // See GetGcmChannel 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 *Pinpoint) GetGcmChannelWithContext(ctx aws.Context, input *GetGcmChannelInput, opts ...request.Option) (*GetGcmChannelOutput, error) {
  5739  	req, out := c.GetGcmChannelRequest(input)
  5740  	req.SetContext(ctx)
  5741  	req.ApplyOptions(opts...)
  5742  	return out, req.Send()
  5743  }
  5744  
  5745  const opGetImportJob = "GetImportJob"
  5746  
  5747  // GetImportJobRequest generates a "aws/request.Request" representing the
  5748  // client's request for the GetImportJob 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 GetImportJob for more information on using the GetImportJob
  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 GetImportJobRequest method.
  5763  //    req, resp := client.GetImportJobRequest(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/pinpoint-2016-12-01/GetImportJob
  5771  func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
  5772  	op := &request.Operation{
  5773  		Name:       opGetImportJob,
  5774  		HTTPMethod: "GET",
  5775  		HTTPPath:   "/v1/apps/{application-id}/jobs/import/{job-id}",
  5776  	}
  5777  
  5778  	if input == nil {
  5779  		input = &GetImportJobInput{}
  5780  	}
  5781  
  5782  	output = &GetImportJobOutput{}
  5783  	req = c.newRequest(op, input, output)
  5784  	return
  5785  }
  5786  
  5787  // GetImportJob API operation for Amazon Pinpoint.
  5788  //
  5789  // Retrieves information about the status and settings of a specific import
  5790  // job for an application.
  5791  //
  5792  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5793  // with awserr.Error's Code and Message methods to get detailed information about
  5794  // the error.
  5795  //
  5796  // See the AWS API reference guide for Amazon Pinpoint's
  5797  // API operation GetImportJob for usage and error information.
  5798  //
  5799  // Returned Error Types:
  5800  //   * BadRequestException
  5801  //   Provides information about an API request or response.
  5802  //
  5803  //   * InternalServerErrorException
  5804  //   Provides information about an API request or response.
  5805  //
  5806  //   * PayloadTooLargeException
  5807  //   Provides information about an API request or response.
  5808  //
  5809  //   * ForbiddenException
  5810  //   Provides information about an API request or response.
  5811  //
  5812  //   * NotFoundException
  5813  //   Provides information about an API request or response.
  5814  //
  5815  //   * MethodNotAllowedException
  5816  //   Provides information about an API request or response.
  5817  //
  5818  //   * TooManyRequestsException
  5819  //   Provides information about an API request or response.
  5820  //
  5821  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
  5822  func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
  5823  	req, out := c.GetImportJobRequest(input)
  5824  	return out, req.Send()
  5825  }
  5826  
  5827  // GetImportJobWithContext is the same as GetImportJob with the addition of
  5828  // the ability to pass a context and additional request options.
  5829  //
  5830  // See GetImportJob for details on how to use this API operation.
  5831  //
  5832  // The context must be non-nil and will be used for request cancellation. If
  5833  // the context is nil a panic will occur. In the future the SDK may create
  5834  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5835  // for more information on using Contexts.
  5836  func (c *Pinpoint) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
  5837  	req, out := c.GetImportJobRequest(input)
  5838  	req.SetContext(ctx)
  5839  	req.ApplyOptions(opts...)
  5840  	return out, req.Send()
  5841  }
  5842  
  5843  const opGetImportJobs = "GetImportJobs"
  5844  
  5845  // GetImportJobsRequest generates a "aws/request.Request" representing the
  5846  // client's request for the GetImportJobs operation. The "output" return
  5847  // value will be populated with the request's response once the request completes
  5848  // successfully.
  5849  //
  5850  // Use "Send" method on the returned Request to send the API call to the service.
  5851  // the "output" return value is not valid until after Send returns without error.
  5852  //
  5853  // See GetImportJobs for more information on using the GetImportJobs
  5854  // API call, and error handling.
  5855  //
  5856  // This method is useful when you want to inject custom logic or configuration
  5857  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5858  //
  5859  //
  5860  //    // Example sending a request using the GetImportJobsRequest method.
  5861  //    req, resp := client.GetImportJobsRequest(params)
  5862  //
  5863  //    err := req.Send()
  5864  //    if err == nil { // resp is now filled
  5865  //        fmt.Println(resp)
  5866  //    }
  5867  //
  5868  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
  5869  func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) {
  5870  	op := &request.Operation{
  5871  		Name:       opGetImportJobs,
  5872  		HTTPMethod: "GET",
  5873  		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
  5874  	}
  5875  
  5876  	if input == nil {
  5877  		input = &GetImportJobsInput{}
  5878  	}
  5879  
  5880  	output = &GetImportJobsOutput{}
  5881  	req = c.newRequest(op, input, output)
  5882  	return
  5883  }
  5884  
  5885  // GetImportJobs API operation for Amazon Pinpoint.
  5886  //
  5887  // Retrieves information about the status and settings of all the import jobs
  5888  // for an application.
  5889  //
  5890  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5891  // with awserr.Error's Code and Message methods to get detailed information about
  5892  // the error.
  5893  //
  5894  // See the AWS API reference guide for Amazon Pinpoint's
  5895  // API operation GetImportJobs for usage and error information.
  5896  //
  5897  // Returned Error Types:
  5898  //   * BadRequestException
  5899  //   Provides information about an API request or response.
  5900  //
  5901  //   * InternalServerErrorException
  5902  //   Provides information about an API request or response.
  5903  //
  5904  //   * PayloadTooLargeException
  5905  //   Provides information about an API request or response.
  5906  //
  5907  //   * ForbiddenException
  5908  //   Provides information about an API request or response.
  5909  //
  5910  //   * NotFoundException
  5911  //   Provides information about an API request or response.
  5912  //
  5913  //   * MethodNotAllowedException
  5914  //   Provides information about an API request or response.
  5915  //
  5916  //   * TooManyRequestsException
  5917  //   Provides information about an API request or response.
  5918  //
  5919  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
  5920  func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) {
  5921  	req, out := c.GetImportJobsRequest(input)
  5922  	return out, req.Send()
  5923  }
  5924  
  5925  // GetImportJobsWithContext is the same as GetImportJobs with the addition of
  5926  // the ability to pass a context and additional request options.
  5927  //
  5928  // See GetImportJobs for details on how to use this API operation.
  5929  //
  5930  // The context must be non-nil and will be used for request cancellation. If
  5931  // the context is nil a panic will occur. In the future the SDK may create
  5932  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5933  // for more information on using Contexts.
  5934  func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJobsInput, opts ...request.Option) (*GetImportJobsOutput, error) {
  5935  	req, out := c.GetImportJobsRequest(input)
  5936  	req.SetContext(ctx)
  5937  	req.ApplyOptions(opts...)
  5938  	return out, req.Send()
  5939  }
  5940  
  5941  const opGetInAppMessages = "GetInAppMessages"
  5942  
  5943  // GetInAppMessagesRequest generates a "aws/request.Request" representing the
  5944  // client's request for the GetInAppMessages operation. The "output" return
  5945  // value will be populated with the request's response once the request completes
  5946  // successfully.
  5947  //
  5948  // Use "Send" method on the returned Request to send the API call to the service.
  5949  // the "output" return value is not valid until after Send returns without error.
  5950  //
  5951  // See GetInAppMessages for more information on using the GetInAppMessages
  5952  // API call, and error handling.
  5953  //
  5954  // This method is useful when you want to inject custom logic or configuration
  5955  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5956  //
  5957  //
  5958  //    // Example sending a request using the GetInAppMessagesRequest method.
  5959  //    req, resp := client.GetInAppMessagesRequest(params)
  5960  //
  5961  //    err := req.Send()
  5962  //    if err == nil { // resp is now filled
  5963  //        fmt.Println(resp)
  5964  //    }
  5965  //
  5966  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppMessages
  5967  func (c *Pinpoint) GetInAppMessagesRequest(input *GetInAppMessagesInput) (req *request.Request, output *GetInAppMessagesOutput) {
  5968  	op := &request.Operation{
  5969  		Name:       opGetInAppMessages,
  5970  		HTTPMethod: "GET",
  5971  		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}/inappmessages",
  5972  	}
  5973  
  5974  	if input == nil {
  5975  		input = &GetInAppMessagesInput{}
  5976  	}
  5977  
  5978  	output = &GetInAppMessagesOutput{}
  5979  	req = c.newRequest(op, input, output)
  5980  	return
  5981  }
  5982  
  5983  // GetInAppMessages API operation for Amazon Pinpoint.
  5984  //
  5985  // Retrieves the in-app messages targeted for the provided endpoint ID.
  5986  //
  5987  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5988  // with awserr.Error's Code and Message methods to get detailed information about
  5989  // the error.
  5990  //
  5991  // See the AWS API reference guide for Amazon Pinpoint's
  5992  // API operation GetInAppMessages for usage and error information.
  5993  //
  5994  // Returned Error Types:
  5995  //   * BadRequestException
  5996  //   Provides information about an API request or response.
  5997  //
  5998  //   * InternalServerErrorException
  5999  //   Provides information about an API request or response.
  6000  //
  6001  //   * PayloadTooLargeException
  6002  //   Provides information about an API request or response.
  6003  //
  6004  //   * ForbiddenException
  6005  //   Provides information about an API request or response.
  6006  //
  6007  //   * NotFoundException
  6008  //   Provides information about an API request or response.
  6009  //
  6010  //   * MethodNotAllowedException
  6011  //   Provides information about an API request or response.
  6012  //
  6013  //   * TooManyRequestsException
  6014  //   Provides information about an API request or response.
  6015  //
  6016  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppMessages
  6017  func (c *Pinpoint) GetInAppMessages(input *GetInAppMessagesInput) (*GetInAppMessagesOutput, error) {
  6018  	req, out := c.GetInAppMessagesRequest(input)
  6019  	return out, req.Send()
  6020  }
  6021  
  6022  // GetInAppMessagesWithContext is the same as GetInAppMessages with the addition of
  6023  // the ability to pass a context and additional request options.
  6024  //
  6025  // See GetInAppMessages for details on how to use this API operation.
  6026  //
  6027  // The context must be non-nil and will be used for request cancellation. If
  6028  // the context is nil a panic will occur. In the future the SDK may create
  6029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6030  // for more information on using Contexts.
  6031  func (c *Pinpoint) GetInAppMessagesWithContext(ctx aws.Context, input *GetInAppMessagesInput, opts ...request.Option) (*GetInAppMessagesOutput, error) {
  6032  	req, out := c.GetInAppMessagesRequest(input)
  6033  	req.SetContext(ctx)
  6034  	req.ApplyOptions(opts...)
  6035  	return out, req.Send()
  6036  }
  6037  
  6038  const opGetInAppTemplate = "GetInAppTemplate"
  6039  
  6040  // GetInAppTemplateRequest generates a "aws/request.Request" representing the
  6041  // client's request for the GetInAppTemplate operation. The "output" return
  6042  // value will be populated with the request's response once the request completes
  6043  // successfully.
  6044  //
  6045  // Use "Send" method on the returned Request to send the API call to the service.
  6046  // the "output" return value is not valid until after Send returns without error.
  6047  //
  6048  // See GetInAppTemplate for more information on using the GetInAppTemplate
  6049  // API call, and error handling.
  6050  //
  6051  // This method is useful when you want to inject custom logic or configuration
  6052  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6053  //
  6054  //
  6055  //    // Example sending a request using the GetInAppTemplateRequest method.
  6056  //    req, resp := client.GetInAppTemplateRequest(params)
  6057  //
  6058  //    err := req.Send()
  6059  //    if err == nil { // resp is now filled
  6060  //        fmt.Println(resp)
  6061  //    }
  6062  //
  6063  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppTemplate
  6064  func (c *Pinpoint) GetInAppTemplateRequest(input *GetInAppTemplateInput) (req *request.Request, output *GetInAppTemplateOutput) {
  6065  	op := &request.Operation{
  6066  		Name:       opGetInAppTemplate,
  6067  		HTTPMethod: "GET",
  6068  		HTTPPath:   "/v1/templates/{template-name}/inapp",
  6069  	}
  6070  
  6071  	if input == nil {
  6072  		input = &GetInAppTemplateInput{}
  6073  	}
  6074  
  6075  	output = &GetInAppTemplateOutput{}
  6076  	req = c.newRequest(op, input, output)
  6077  	return
  6078  }
  6079  
  6080  // GetInAppTemplate API operation for Amazon Pinpoint.
  6081  //
  6082  // Retrieves the content and settings of a message template for messages sent
  6083  // through the in-app channel.
  6084  //
  6085  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6086  // with awserr.Error's Code and Message methods to get detailed information about
  6087  // the error.
  6088  //
  6089  // See the AWS API reference guide for Amazon Pinpoint's
  6090  // API operation GetInAppTemplate for usage and error information.
  6091  //
  6092  // Returned Error Types:
  6093  //   * BadRequestException
  6094  //   Provides information about an API request or response.
  6095  //
  6096  //   * InternalServerErrorException
  6097  //   Provides information about an API request or response.
  6098  //
  6099  //   * PayloadTooLargeException
  6100  //   Provides information about an API request or response.
  6101  //
  6102  //   * ForbiddenException
  6103  //   Provides information about an API request or response.
  6104  //
  6105  //   * NotFoundException
  6106  //   Provides information about an API request or response.
  6107  //
  6108  //   * MethodNotAllowedException
  6109  //   Provides information about an API request or response.
  6110  //
  6111  //   * TooManyRequestsException
  6112  //   Provides information about an API request or response.
  6113  //
  6114  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppTemplate
  6115  func (c *Pinpoint) GetInAppTemplate(input *GetInAppTemplateInput) (*GetInAppTemplateOutput, error) {
  6116  	req, out := c.GetInAppTemplateRequest(input)
  6117  	return out, req.Send()
  6118  }
  6119  
  6120  // GetInAppTemplateWithContext is the same as GetInAppTemplate with the addition of
  6121  // the ability to pass a context and additional request options.
  6122  //
  6123  // See GetInAppTemplate for details on how to use this API operation.
  6124  //
  6125  // The context must be non-nil and will be used for request cancellation. If
  6126  // the context is nil a panic will occur. In the future the SDK may create
  6127  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6128  // for more information on using Contexts.
  6129  func (c *Pinpoint) GetInAppTemplateWithContext(ctx aws.Context, input *GetInAppTemplateInput, opts ...request.Option) (*GetInAppTemplateOutput, error) {
  6130  	req, out := c.GetInAppTemplateRequest(input)
  6131  	req.SetContext(ctx)
  6132  	req.ApplyOptions(opts...)
  6133  	return out, req.Send()
  6134  }
  6135  
  6136  const opGetJourney = "GetJourney"
  6137  
  6138  // GetJourneyRequest generates a "aws/request.Request" representing the
  6139  // client's request for the GetJourney operation. The "output" return
  6140  // value will be populated with the request's response once the request completes
  6141  // successfully.
  6142  //
  6143  // Use "Send" method on the returned Request to send the API call to the service.
  6144  // the "output" return value is not valid until after Send returns without error.
  6145  //
  6146  // See GetJourney for more information on using the GetJourney
  6147  // API call, and error handling.
  6148  //
  6149  // This method is useful when you want to inject custom logic or configuration
  6150  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6151  //
  6152  //
  6153  //    // Example sending a request using the GetJourneyRequest method.
  6154  //    req, resp := client.GetJourneyRequest(params)
  6155  //
  6156  //    err := req.Send()
  6157  //    if err == nil { // resp is now filled
  6158  //        fmt.Println(resp)
  6159  //    }
  6160  //
  6161  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
  6162  func (c *Pinpoint) GetJourneyRequest(input *GetJourneyInput) (req *request.Request, output *GetJourneyOutput) {
  6163  	op := &request.Operation{
  6164  		Name:       opGetJourney,
  6165  		HTTPMethod: "GET",
  6166  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
  6167  	}
  6168  
  6169  	if input == nil {
  6170  		input = &GetJourneyInput{}
  6171  	}
  6172  
  6173  	output = &GetJourneyOutput{}
  6174  	req = c.newRequest(op, input, output)
  6175  	return
  6176  }
  6177  
  6178  // GetJourney API operation for Amazon Pinpoint.
  6179  //
  6180  // Retrieves information about the status, configuration, and other settings
  6181  // for a journey.
  6182  //
  6183  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6184  // with awserr.Error's Code and Message methods to get detailed information about
  6185  // the error.
  6186  //
  6187  // See the AWS API reference guide for Amazon Pinpoint's
  6188  // API operation GetJourney for usage and error information.
  6189  //
  6190  // Returned Error Types:
  6191  //   * BadRequestException
  6192  //   Provides information about an API request or response.
  6193  //
  6194  //   * InternalServerErrorException
  6195  //   Provides information about an API request or response.
  6196  //
  6197  //   * PayloadTooLargeException
  6198  //   Provides information about an API request or response.
  6199  //
  6200  //   * ForbiddenException
  6201  //   Provides information about an API request or response.
  6202  //
  6203  //   * NotFoundException
  6204  //   Provides information about an API request or response.
  6205  //
  6206  //   * MethodNotAllowedException
  6207  //   Provides information about an API request or response.
  6208  //
  6209  //   * TooManyRequestsException
  6210  //   Provides information about an API request or response.
  6211  //
  6212  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
  6213  func (c *Pinpoint) GetJourney(input *GetJourneyInput) (*GetJourneyOutput, error) {
  6214  	req, out := c.GetJourneyRequest(input)
  6215  	return out, req.Send()
  6216  }
  6217  
  6218  // GetJourneyWithContext is the same as GetJourney with the addition of
  6219  // the ability to pass a context and additional request options.
  6220  //
  6221  // See GetJourney for details on how to use this API operation.
  6222  //
  6223  // The context must be non-nil and will be used for request cancellation. If
  6224  // the context is nil a panic will occur. In the future the SDK may create
  6225  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6226  // for more information on using Contexts.
  6227  func (c *Pinpoint) GetJourneyWithContext(ctx aws.Context, input *GetJourneyInput, opts ...request.Option) (*GetJourneyOutput, error) {
  6228  	req, out := c.GetJourneyRequest(input)
  6229  	req.SetContext(ctx)
  6230  	req.ApplyOptions(opts...)
  6231  	return out, req.Send()
  6232  }
  6233  
  6234  const opGetJourneyDateRangeKpi = "GetJourneyDateRangeKpi"
  6235  
  6236  // GetJourneyDateRangeKpiRequest generates a "aws/request.Request" representing the
  6237  // client's request for the GetJourneyDateRangeKpi operation. The "output" return
  6238  // value will be populated with the request's response once the request completes
  6239  // successfully.
  6240  //
  6241  // Use "Send" method on the returned Request to send the API call to the service.
  6242  // the "output" return value is not valid until after Send returns without error.
  6243  //
  6244  // See GetJourneyDateRangeKpi for more information on using the GetJourneyDateRangeKpi
  6245  // API call, and error handling.
  6246  //
  6247  // This method is useful when you want to inject custom logic or configuration
  6248  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6249  //
  6250  //
  6251  //    // Example sending a request using the GetJourneyDateRangeKpiRequest method.
  6252  //    req, resp := client.GetJourneyDateRangeKpiRequest(params)
  6253  //
  6254  //    err := req.Send()
  6255  //    if err == nil { // resp is now filled
  6256  //        fmt.Println(resp)
  6257  //    }
  6258  //
  6259  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
  6260  func (c *Pinpoint) GetJourneyDateRangeKpiRequest(input *GetJourneyDateRangeKpiInput) (req *request.Request, output *GetJourneyDateRangeKpiOutput) {
  6261  	op := &request.Operation{
  6262  		Name:       opGetJourneyDateRangeKpi,
  6263  		HTTPMethod: "GET",
  6264  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}",
  6265  	}
  6266  
  6267  	if input == nil {
  6268  		input = &GetJourneyDateRangeKpiInput{}
  6269  	}
  6270  
  6271  	output = &GetJourneyDateRangeKpiOutput{}
  6272  	req = c.newRequest(op, input, output)
  6273  	return
  6274  }
  6275  
  6276  // GetJourneyDateRangeKpi API operation for Amazon Pinpoint.
  6277  //
  6278  // Retrieves (queries) pre-aggregated data for a standard engagement metric
  6279  // that applies to a journey.
  6280  //
  6281  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6282  // with awserr.Error's Code and Message methods to get detailed information about
  6283  // the error.
  6284  //
  6285  // See the AWS API reference guide for Amazon Pinpoint's
  6286  // API operation GetJourneyDateRangeKpi for usage and error information.
  6287  //
  6288  // Returned Error Types:
  6289  //   * BadRequestException
  6290  //   Provides information about an API request or response.
  6291  //
  6292  //   * InternalServerErrorException
  6293  //   Provides information about an API request or response.
  6294  //
  6295  //   * PayloadTooLargeException
  6296  //   Provides information about an API request or response.
  6297  //
  6298  //   * ForbiddenException
  6299  //   Provides information about an API request or response.
  6300  //
  6301  //   * NotFoundException
  6302  //   Provides information about an API request or response.
  6303  //
  6304  //   * MethodNotAllowedException
  6305  //   Provides information about an API request or response.
  6306  //
  6307  //   * TooManyRequestsException
  6308  //   Provides information about an API request or response.
  6309  //
  6310  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
  6311  func (c *Pinpoint) GetJourneyDateRangeKpi(input *GetJourneyDateRangeKpiInput) (*GetJourneyDateRangeKpiOutput, error) {
  6312  	req, out := c.GetJourneyDateRangeKpiRequest(input)
  6313  	return out, req.Send()
  6314  }
  6315  
  6316  // GetJourneyDateRangeKpiWithContext is the same as GetJourneyDateRangeKpi with the addition of
  6317  // the ability to pass a context and additional request options.
  6318  //
  6319  // See GetJourneyDateRangeKpi for details on how to use this API operation.
  6320  //
  6321  // The context must be non-nil and will be used for request cancellation. If
  6322  // the context is nil a panic will occur. In the future the SDK may create
  6323  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6324  // for more information on using Contexts.
  6325  func (c *Pinpoint) GetJourneyDateRangeKpiWithContext(ctx aws.Context, input *GetJourneyDateRangeKpiInput, opts ...request.Option) (*GetJourneyDateRangeKpiOutput, error) {
  6326  	req, out := c.GetJourneyDateRangeKpiRequest(input)
  6327  	req.SetContext(ctx)
  6328  	req.ApplyOptions(opts...)
  6329  	return out, req.Send()
  6330  }
  6331  
  6332  const opGetJourneyExecutionActivityMetrics = "GetJourneyExecutionActivityMetrics"
  6333  
  6334  // GetJourneyExecutionActivityMetricsRequest generates a "aws/request.Request" representing the
  6335  // client's request for the GetJourneyExecutionActivityMetrics operation. The "output" return
  6336  // value will be populated with the request's response once the request completes
  6337  // successfully.
  6338  //
  6339  // Use "Send" method on the returned Request to send the API call to the service.
  6340  // the "output" return value is not valid until after Send returns without error.
  6341  //
  6342  // See GetJourneyExecutionActivityMetrics for more information on using the GetJourneyExecutionActivityMetrics
  6343  // API call, and error handling.
  6344  //
  6345  // This method is useful when you want to inject custom logic or configuration
  6346  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6347  //
  6348  //
  6349  //    // Example sending a request using the GetJourneyExecutionActivityMetricsRequest method.
  6350  //    req, resp := client.GetJourneyExecutionActivityMetricsRequest(params)
  6351  //
  6352  //    err := req.Send()
  6353  //    if err == nil { // resp is now filled
  6354  //        fmt.Println(resp)
  6355  //    }
  6356  //
  6357  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
  6358  func (c *Pinpoint) GetJourneyExecutionActivityMetricsRequest(input *GetJourneyExecutionActivityMetricsInput) (req *request.Request, output *GetJourneyExecutionActivityMetricsOutput) {
  6359  	op := &request.Operation{
  6360  		Name:       opGetJourneyExecutionActivityMetrics,
  6361  		HTTPMethod: "GET",
  6362  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics",
  6363  	}
  6364  
  6365  	if input == nil {
  6366  		input = &GetJourneyExecutionActivityMetricsInput{}
  6367  	}
  6368  
  6369  	output = &GetJourneyExecutionActivityMetricsOutput{}
  6370  	req = c.newRequest(op, input, output)
  6371  	return
  6372  }
  6373  
  6374  // GetJourneyExecutionActivityMetrics API operation for Amazon Pinpoint.
  6375  //
  6376  // Retrieves (queries) pre-aggregated data for a standard execution metric that
  6377  // applies to a journey activity.
  6378  //
  6379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6380  // with awserr.Error's Code and Message methods to get detailed information about
  6381  // the error.
  6382  //
  6383  // See the AWS API reference guide for Amazon Pinpoint's
  6384  // API operation GetJourneyExecutionActivityMetrics for usage and error information.
  6385  //
  6386  // Returned Error Types:
  6387  //   * BadRequestException
  6388  //   Provides information about an API request or response.
  6389  //
  6390  //   * InternalServerErrorException
  6391  //   Provides information about an API request or response.
  6392  //
  6393  //   * PayloadTooLargeException
  6394  //   Provides information about an API request or response.
  6395  //
  6396  //   * ForbiddenException
  6397  //   Provides information about an API request or response.
  6398  //
  6399  //   * NotFoundException
  6400  //   Provides information about an API request or response.
  6401  //
  6402  //   * MethodNotAllowedException
  6403  //   Provides information about an API request or response.
  6404  //
  6405  //   * TooManyRequestsException
  6406  //   Provides information about an API request or response.
  6407  //
  6408  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
  6409  func (c *Pinpoint) GetJourneyExecutionActivityMetrics(input *GetJourneyExecutionActivityMetricsInput) (*GetJourneyExecutionActivityMetricsOutput, error) {
  6410  	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
  6411  	return out, req.Send()
  6412  }
  6413  
  6414  // GetJourneyExecutionActivityMetricsWithContext is the same as GetJourneyExecutionActivityMetrics with the addition of
  6415  // the ability to pass a context and additional request options.
  6416  //
  6417  // See GetJourneyExecutionActivityMetrics for details on how to use this API operation.
  6418  //
  6419  // The context must be non-nil and will be used for request cancellation. If
  6420  // the context is nil a panic will occur. In the future the SDK may create
  6421  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6422  // for more information on using Contexts.
  6423  func (c *Pinpoint) GetJourneyExecutionActivityMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionActivityMetricsInput, opts ...request.Option) (*GetJourneyExecutionActivityMetricsOutput, error) {
  6424  	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
  6425  	req.SetContext(ctx)
  6426  	req.ApplyOptions(opts...)
  6427  	return out, req.Send()
  6428  }
  6429  
  6430  const opGetJourneyExecutionMetrics = "GetJourneyExecutionMetrics"
  6431  
  6432  // GetJourneyExecutionMetricsRequest generates a "aws/request.Request" representing the
  6433  // client's request for the GetJourneyExecutionMetrics operation. The "output" return
  6434  // value will be populated with the request's response once the request completes
  6435  // successfully.
  6436  //
  6437  // Use "Send" method on the returned Request to send the API call to the service.
  6438  // the "output" return value is not valid until after Send returns without error.
  6439  //
  6440  // See GetJourneyExecutionMetrics for more information on using the GetJourneyExecutionMetrics
  6441  // API call, and error handling.
  6442  //
  6443  // This method is useful when you want to inject custom logic or configuration
  6444  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6445  //
  6446  //
  6447  //    // Example sending a request using the GetJourneyExecutionMetricsRequest method.
  6448  //    req, resp := client.GetJourneyExecutionMetricsRequest(params)
  6449  //
  6450  //    err := req.Send()
  6451  //    if err == nil { // resp is now filled
  6452  //        fmt.Println(resp)
  6453  //    }
  6454  //
  6455  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
  6456  func (c *Pinpoint) GetJourneyExecutionMetricsRequest(input *GetJourneyExecutionMetricsInput) (req *request.Request, output *GetJourneyExecutionMetricsOutput) {
  6457  	op := &request.Operation{
  6458  		Name:       opGetJourneyExecutionMetrics,
  6459  		HTTPMethod: "GET",
  6460  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics",
  6461  	}
  6462  
  6463  	if input == nil {
  6464  		input = &GetJourneyExecutionMetricsInput{}
  6465  	}
  6466  
  6467  	output = &GetJourneyExecutionMetricsOutput{}
  6468  	req = c.newRequest(op, input, output)
  6469  	return
  6470  }
  6471  
  6472  // GetJourneyExecutionMetrics API operation for Amazon Pinpoint.
  6473  //
  6474  // Retrieves (queries) pre-aggregated data for a standard execution metric that
  6475  // applies to a journey.
  6476  //
  6477  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6478  // with awserr.Error's Code and Message methods to get detailed information about
  6479  // the error.
  6480  //
  6481  // See the AWS API reference guide for Amazon Pinpoint's
  6482  // API operation GetJourneyExecutionMetrics for usage and error information.
  6483  //
  6484  // Returned Error Types:
  6485  //   * BadRequestException
  6486  //   Provides information about an API request or response.
  6487  //
  6488  //   * InternalServerErrorException
  6489  //   Provides information about an API request or response.
  6490  //
  6491  //   * PayloadTooLargeException
  6492  //   Provides information about an API request or response.
  6493  //
  6494  //   * ForbiddenException
  6495  //   Provides information about an API request or response.
  6496  //
  6497  //   * NotFoundException
  6498  //   Provides information about an API request or response.
  6499  //
  6500  //   * MethodNotAllowedException
  6501  //   Provides information about an API request or response.
  6502  //
  6503  //   * TooManyRequestsException
  6504  //   Provides information about an API request or response.
  6505  //
  6506  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
  6507  func (c *Pinpoint) GetJourneyExecutionMetrics(input *GetJourneyExecutionMetricsInput) (*GetJourneyExecutionMetricsOutput, error) {
  6508  	req, out := c.GetJourneyExecutionMetricsRequest(input)
  6509  	return out, req.Send()
  6510  }
  6511  
  6512  // GetJourneyExecutionMetricsWithContext is the same as GetJourneyExecutionMetrics with the addition of
  6513  // the ability to pass a context and additional request options.
  6514  //
  6515  // See GetJourneyExecutionMetrics for details on how to use this API operation.
  6516  //
  6517  // The context must be non-nil and will be used for request cancellation. If
  6518  // the context is nil a panic will occur. In the future the SDK may create
  6519  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6520  // for more information on using Contexts.
  6521  func (c *Pinpoint) GetJourneyExecutionMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionMetricsInput, opts ...request.Option) (*GetJourneyExecutionMetricsOutput, error) {
  6522  	req, out := c.GetJourneyExecutionMetricsRequest(input)
  6523  	req.SetContext(ctx)
  6524  	req.ApplyOptions(opts...)
  6525  	return out, req.Send()
  6526  }
  6527  
  6528  const opGetPushTemplate = "GetPushTemplate"
  6529  
  6530  // GetPushTemplateRequest generates a "aws/request.Request" representing the
  6531  // client's request for the GetPushTemplate operation. The "output" return
  6532  // value will be populated with the request's response once the request completes
  6533  // successfully.
  6534  //
  6535  // Use "Send" method on the returned Request to send the API call to the service.
  6536  // the "output" return value is not valid until after Send returns without error.
  6537  //
  6538  // See GetPushTemplate for more information on using the GetPushTemplate
  6539  // API call, and error handling.
  6540  //
  6541  // This method is useful when you want to inject custom logic or configuration
  6542  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6543  //
  6544  //
  6545  //    // Example sending a request using the GetPushTemplateRequest method.
  6546  //    req, resp := client.GetPushTemplateRequest(params)
  6547  //
  6548  //    err := req.Send()
  6549  //    if err == nil { // resp is now filled
  6550  //        fmt.Println(resp)
  6551  //    }
  6552  //
  6553  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
  6554  func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) {
  6555  	op := &request.Operation{
  6556  		Name:       opGetPushTemplate,
  6557  		HTTPMethod: "GET",
  6558  		HTTPPath:   "/v1/templates/{template-name}/push",
  6559  	}
  6560  
  6561  	if input == nil {
  6562  		input = &GetPushTemplateInput{}
  6563  	}
  6564  
  6565  	output = &GetPushTemplateOutput{}
  6566  	req = c.newRequest(op, input, output)
  6567  	return
  6568  }
  6569  
  6570  // GetPushTemplate API operation for Amazon Pinpoint.
  6571  //
  6572  // Retrieves the content and settings of a message template for messages that
  6573  // are sent through a push notification channel.
  6574  //
  6575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6576  // with awserr.Error's Code and Message methods to get detailed information about
  6577  // the error.
  6578  //
  6579  // See the AWS API reference guide for Amazon Pinpoint's
  6580  // API operation GetPushTemplate for usage and error information.
  6581  //
  6582  // Returned Error Types:
  6583  //   * BadRequestException
  6584  //   Provides information about an API request or response.
  6585  //
  6586  //   * InternalServerErrorException
  6587  //   Provides information about an API request or response.
  6588  //
  6589  //   * PayloadTooLargeException
  6590  //   Provides information about an API request or response.
  6591  //
  6592  //   * ForbiddenException
  6593  //   Provides information about an API request or response.
  6594  //
  6595  //   * NotFoundException
  6596  //   Provides information about an API request or response.
  6597  //
  6598  //   * MethodNotAllowedException
  6599  //   Provides information about an API request or response.
  6600  //
  6601  //   * TooManyRequestsException
  6602  //   Provides information about an API request or response.
  6603  //
  6604  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
  6605  func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) {
  6606  	req, out := c.GetPushTemplateRequest(input)
  6607  	return out, req.Send()
  6608  }
  6609  
  6610  // GetPushTemplateWithContext is the same as GetPushTemplate with the addition of
  6611  // the ability to pass a context and additional request options.
  6612  //
  6613  // See GetPushTemplate for details on how to use this API operation.
  6614  //
  6615  // The context must be non-nil and will be used for request cancellation. If
  6616  // the context is nil a panic will occur. In the future the SDK may create
  6617  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6618  // for more information on using Contexts.
  6619  func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) {
  6620  	req, out := c.GetPushTemplateRequest(input)
  6621  	req.SetContext(ctx)
  6622  	req.ApplyOptions(opts...)
  6623  	return out, req.Send()
  6624  }
  6625  
  6626  const opGetRecommenderConfiguration = "GetRecommenderConfiguration"
  6627  
  6628  // GetRecommenderConfigurationRequest generates a "aws/request.Request" representing the
  6629  // client's request for the GetRecommenderConfiguration operation. The "output" return
  6630  // value will be populated with the request's response once the request completes
  6631  // successfully.
  6632  //
  6633  // Use "Send" method on the returned Request to send the API call to the service.
  6634  // the "output" return value is not valid until after Send returns without error.
  6635  //
  6636  // See GetRecommenderConfiguration for more information on using the GetRecommenderConfiguration
  6637  // API call, and error handling.
  6638  //
  6639  // This method is useful when you want to inject custom logic or configuration
  6640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6641  //
  6642  //
  6643  //    // Example sending a request using the GetRecommenderConfigurationRequest method.
  6644  //    req, resp := client.GetRecommenderConfigurationRequest(params)
  6645  //
  6646  //    err := req.Send()
  6647  //    if err == nil { // resp is now filled
  6648  //        fmt.Println(resp)
  6649  //    }
  6650  //
  6651  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration
  6652  func (c *Pinpoint) GetRecommenderConfigurationRequest(input *GetRecommenderConfigurationInput) (req *request.Request, output *GetRecommenderConfigurationOutput) {
  6653  	op := &request.Operation{
  6654  		Name:       opGetRecommenderConfiguration,
  6655  		HTTPMethod: "GET",
  6656  		HTTPPath:   "/v1/recommenders/{recommender-id}",
  6657  	}
  6658  
  6659  	if input == nil {
  6660  		input = &GetRecommenderConfigurationInput{}
  6661  	}
  6662  
  6663  	output = &GetRecommenderConfigurationOutput{}
  6664  	req = c.newRequest(op, input, output)
  6665  	return
  6666  }
  6667  
  6668  // GetRecommenderConfiguration API operation for Amazon Pinpoint.
  6669  //
  6670  // Retrieves information about an Amazon Pinpoint configuration for a recommender
  6671  // model.
  6672  //
  6673  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6674  // with awserr.Error's Code and Message methods to get detailed information about
  6675  // the error.
  6676  //
  6677  // See the AWS API reference guide for Amazon Pinpoint's
  6678  // API operation GetRecommenderConfiguration for usage and error information.
  6679  //
  6680  // Returned Error Types:
  6681  //   * BadRequestException
  6682  //   Provides information about an API request or response.
  6683  //
  6684  //   * InternalServerErrorException
  6685  //   Provides information about an API request or response.
  6686  //
  6687  //   * PayloadTooLargeException
  6688  //   Provides information about an API request or response.
  6689  //
  6690  //   * ForbiddenException
  6691  //   Provides information about an API request or response.
  6692  //
  6693  //   * NotFoundException
  6694  //   Provides information about an API request or response.
  6695  //
  6696  //   * MethodNotAllowedException
  6697  //   Provides information about an API request or response.
  6698  //
  6699  //   * TooManyRequestsException
  6700  //   Provides information about an API request or response.
  6701  //
  6702  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration
  6703  func (c *Pinpoint) GetRecommenderConfiguration(input *GetRecommenderConfigurationInput) (*GetRecommenderConfigurationOutput, error) {
  6704  	req, out := c.GetRecommenderConfigurationRequest(input)
  6705  	return out, req.Send()
  6706  }
  6707  
  6708  // GetRecommenderConfigurationWithContext is the same as GetRecommenderConfiguration with the addition of
  6709  // the ability to pass a context and additional request options.
  6710  //
  6711  // See GetRecommenderConfiguration for details on how to use this API operation.
  6712  //
  6713  // The context must be non-nil and will be used for request cancellation. If
  6714  // the context is nil a panic will occur. In the future the SDK may create
  6715  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6716  // for more information on using Contexts.
  6717  func (c *Pinpoint) GetRecommenderConfigurationWithContext(ctx aws.Context, input *GetRecommenderConfigurationInput, opts ...request.Option) (*GetRecommenderConfigurationOutput, error) {
  6718  	req, out := c.GetRecommenderConfigurationRequest(input)
  6719  	req.SetContext(ctx)
  6720  	req.ApplyOptions(opts...)
  6721  	return out, req.Send()
  6722  }
  6723  
  6724  const opGetRecommenderConfigurations = "GetRecommenderConfigurations"
  6725  
  6726  // GetRecommenderConfigurationsRequest generates a "aws/request.Request" representing the
  6727  // client's request for the GetRecommenderConfigurations operation. The "output" return
  6728  // value will be populated with the request's response once the request completes
  6729  // successfully.
  6730  //
  6731  // Use "Send" method on the returned Request to send the API call to the service.
  6732  // the "output" return value is not valid until after Send returns without error.
  6733  //
  6734  // See GetRecommenderConfigurations for more information on using the GetRecommenderConfigurations
  6735  // API call, and error handling.
  6736  //
  6737  // This method is useful when you want to inject custom logic or configuration
  6738  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6739  //
  6740  //
  6741  //    // Example sending a request using the GetRecommenderConfigurationsRequest method.
  6742  //    req, resp := client.GetRecommenderConfigurationsRequest(params)
  6743  //
  6744  //    err := req.Send()
  6745  //    if err == nil { // resp is now filled
  6746  //        fmt.Println(resp)
  6747  //    }
  6748  //
  6749  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations
  6750  func (c *Pinpoint) GetRecommenderConfigurationsRequest(input *GetRecommenderConfigurationsInput) (req *request.Request, output *GetRecommenderConfigurationsOutput) {
  6751  	op := &request.Operation{
  6752  		Name:       opGetRecommenderConfigurations,
  6753  		HTTPMethod: "GET",
  6754  		HTTPPath:   "/v1/recommenders",
  6755  	}
  6756  
  6757  	if input == nil {
  6758  		input = &GetRecommenderConfigurationsInput{}
  6759  	}
  6760  
  6761  	output = &GetRecommenderConfigurationsOutput{}
  6762  	req = c.newRequest(op, input, output)
  6763  	return
  6764  }
  6765  
  6766  // GetRecommenderConfigurations API operation for Amazon Pinpoint.
  6767  //
  6768  // Retrieves information about all the recommender model configurations that
  6769  // are associated with your Amazon Pinpoint account.
  6770  //
  6771  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6772  // with awserr.Error's Code and Message methods to get detailed information about
  6773  // the error.
  6774  //
  6775  // See the AWS API reference guide for Amazon Pinpoint's
  6776  // API operation GetRecommenderConfigurations for usage and error information.
  6777  //
  6778  // Returned Error Types:
  6779  //   * BadRequestException
  6780  //   Provides information about an API request or response.
  6781  //
  6782  //   * InternalServerErrorException
  6783  //   Provides information about an API request or response.
  6784  //
  6785  //   * PayloadTooLargeException
  6786  //   Provides information about an API request or response.
  6787  //
  6788  //   * ForbiddenException
  6789  //   Provides information about an API request or response.
  6790  //
  6791  //   * NotFoundException
  6792  //   Provides information about an API request or response.
  6793  //
  6794  //   * MethodNotAllowedException
  6795  //   Provides information about an API request or response.
  6796  //
  6797  //   * TooManyRequestsException
  6798  //   Provides information about an API request or response.
  6799  //
  6800  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations
  6801  func (c *Pinpoint) GetRecommenderConfigurations(input *GetRecommenderConfigurationsInput) (*GetRecommenderConfigurationsOutput, error) {
  6802  	req, out := c.GetRecommenderConfigurationsRequest(input)
  6803  	return out, req.Send()
  6804  }
  6805  
  6806  // GetRecommenderConfigurationsWithContext is the same as GetRecommenderConfigurations with the addition of
  6807  // the ability to pass a context and additional request options.
  6808  //
  6809  // See GetRecommenderConfigurations for details on how to use this API operation.
  6810  //
  6811  // The context must be non-nil and will be used for request cancellation. If
  6812  // the context is nil a panic will occur. In the future the SDK may create
  6813  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6814  // for more information on using Contexts.
  6815  func (c *Pinpoint) GetRecommenderConfigurationsWithContext(ctx aws.Context, input *GetRecommenderConfigurationsInput, opts ...request.Option) (*GetRecommenderConfigurationsOutput, error) {
  6816  	req, out := c.GetRecommenderConfigurationsRequest(input)
  6817  	req.SetContext(ctx)
  6818  	req.ApplyOptions(opts...)
  6819  	return out, req.Send()
  6820  }
  6821  
  6822  const opGetSegment = "GetSegment"
  6823  
  6824  // GetSegmentRequest generates a "aws/request.Request" representing the
  6825  // client's request for the GetSegment operation. The "output" return
  6826  // value will be populated with the request's response once the request completes
  6827  // successfully.
  6828  //
  6829  // Use "Send" method on the returned Request to send the API call to the service.
  6830  // the "output" return value is not valid until after Send returns without error.
  6831  //
  6832  // See GetSegment for more information on using the GetSegment
  6833  // API call, and error handling.
  6834  //
  6835  // This method is useful when you want to inject custom logic or configuration
  6836  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6837  //
  6838  //
  6839  //    // Example sending a request using the GetSegmentRequest method.
  6840  //    req, resp := client.GetSegmentRequest(params)
  6841  //
  6842  //    err := req.Send()
  6843  //    if err == nil { // resp is now filled
  6844  //        fmt.Println(resp)
  6845  //    }
  6846  //
  6847  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
  6848  func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) {
  6849  	op := &request.Operation{
  6850  		Name:       opGetSegment,
  6851  		HTTPMethod: "GET",
  6852  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
  6853  	}
  6854  
  6855  	if input == nil {
  6856  		input = &GetSegmentInput{}
  6857  	}
  6858  
  6859  	output = &GetSegmentOutput{}
  6860  	req = c.newRequest(op, input, output)
  6861  	return
  6862  }
  6863  
  6864  // GetSegment API operation for Amazon Pinpoint.
  6865  //
  6866  // Retrieves information about the configuration, dimension, and other settings
  6867  // for a specific segment that's associated with an application.
  6868  //
  6869  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6870  // with awserr.Error's Code and Message methods to get detailed information about
  6871  // the error.
  6872  //
  6873  // See the AWS API reference guide for Amazon Pinpoint's
  6874  // API operation GetSegment for usage and error information.
  6875  //
  6876  // Returned Error Types:
  6877  //   * BadRequestException
  6878  //   Provides information about an API request or response.
  6879  //
  6880  //   * InternalServerErrorException
  6881  //   Provides information about an API request or response.
  6882  //
  6883  //   * PayloadTooLargeException
  6884  //   Provides information about an API request or response.
  6885  //
  6886  //   * ForbiddenException
  6887  //   Provides information about an API request or response.
  6888  //
  6889  //   * NotFoundException
  6890  //   Provides information about an API request or response.
  6891  //
  6892  //   * MethodNotAllowedException
  6893  //   Provides information about an API request or response.
  6894  //
  6895  //   * TooManyRequestsException
  6896  //   Provides information about an API request or response.
  6897  //
  6898  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
  6899  func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) {
  6900  	req, out := c.GetSegmentRequest(input)
  6901  	return out, req.Send()
  6902  }
  6903  
  6904  // GetSegmentWithContext is the same as GetSegment with the addition of
  6905  // the ability to pass a context and additional request options.
  6906  //
  6907  // See GetSegment for details on how to use this API operation.
  6908  //
  6909  // The context must be non-nil and will be used for request cancellation. If
  6910  // the context is nil a panic will occur. In the future the SDK may create
  6911  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6912  // for more information on using Contexts.
  6913  func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) {
  6914  	req, out := c.GetSegmentRequest(input)
  6915  	req.SetContext(ctx)
  6916  	req.ApplyOptions(opts...)
  6917  	return out, req.Send()
  6918  }
  6919  
  6920  const opGetSegmentExportJobs = "GetSegmentExportJobs"
  6921  
  6922  // GetSegmentExportJobsRequest generates a "aws/request.Request" representing the
  6923  // client's request for the GetSegmentExportJobs operation. The "output" return
  6924  // value will be populated with the request's response once the request completes
  6925  // successfully.
  6926  //
  6927  // Use "Send" method on the returned Request to send the API call to the service.
  6928  // the "output" return value is not valid until after Send returns without error.
  6929  //
  6930  // See GetSegmentExportJobs for more information on using the GetSegmentExportJobs
  6931  // API call, and error handling.
  6932  //
  6933  // This method is useful when you want to inject custom logic or configuration
  6934  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6935  //
  6936  //
  6937  //    // Example sending a request using the GetSegmentExportJobsRequest method.
  6938  //    req, resp := client.GetSegmentExportJobsRequest(params)
  6939  //
  6940  //    err := req.Send()
  6941  //    if err == nil { // resp is now filled
  6942  //        fmt.Println(resp)
  6943  //    }
  6944  //
  6945  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
  6946  func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) {
  6947  	op := &request.Operation{
  6948  		Name:       opGetSegmentExportJobs,
  6949  		HTTPMethod: "GET",
  6950  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/export",
  6951  	}
  6952  
  6953  	if input == nil {
  6954  		input = &GetSegmentExportJobsInput{}
  6955  	}
  6956  
  6957  	output = &GetSegmentExportJobsOutput{}
  6958  	req = c.newRequest(op, input, output)
  6959  	return
  6960  }
  6961  
  6962  // GetSegmentExportJobs API operation for Amazon Pinpoint.
  6963  //
  6964  // Retrieves information about the status and settings of the export jobs for
  6965  // a segment.
  6966  //
  6967  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6968  // with awserr.Error's Code and Message methods to get detailed information about
  6969  // the error.
  6970  //
  6971  // See the AWS API reference guide for Amazon Pinpoint's
  6972  // API operation GetSegmentExportJobs for usage and error information.
  6973  //
  6974  // Returned Error Types:
  6975  //   * BadRequestException
  6976  //   Provides information about an API request or response.
  6977  //
  6978  //   * InternalServerErrorException
  6979  //   Provides information about an API request or response.
  6980  //
  6981  //   * PayloadTooLargeException
  6982  //   Provides information about an API request or response.
  6983  //
  6984  //   * ForbiddenException
  6985  //   Provides information about an API request or response.
  6986  //
  6987  //   * NotFoundException
  6988  //   Provides information about an API request or response.
  6989  //
  6990  //   * MethodNotAllowedException
  6991  //   Provides information about an API request or response.
  6992  //
  6993  //   * TooManyRequestsException
  6994  //   Provides information about an API request or response.
  6995  //
  6996  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
  6997  func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) {
  6998  	req, out := c.GetSegmentExportJobsRequest(input)
  6999  	return out, req.Send()
  7000  }
  7001  
  7002  // GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of
  7003  // the ability to pass a context and additional request options.
  7004  //
  7005  // See GetSegmentExportJobs for details on how to use this API operation.
  7006  //
  7007  // The context must be non-nil and will be used for request cancellation. If
  7008  // the context is nil a panic will occur. In the future the SDK may create
  7009  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7010  // for more information on using Contexts.
  7011  func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) {
  7012  	req, out := c.GetSegmentExportJobsRequest(input)
  7013  	req.SetContext(ctx)
  7014  	req.ApplyOptions(opts...)
  7015  	return out, req.Send()
  7016  }
  7017  
  7018  const opGetSegmentImportJobs = "GetSegmentImportJobs"
  7019  
  7020  // GetSegmentImportJobsRequest generates a "aws/request.Request" representing the
  7021  // client's request for the GetSegmentImportJobs operation. The "output" return
  7022  // value will be populated with the request's response once the request completes
  7023  // successfully.
  7024  //
  7025  // Use "Send" method on the returned Request to send the API call to the service.
  7026  // the "output" return value is not valid until after Send returns without error.
  7027  //
  7028  // See GetSegmentImportJobs for more information on using the GetSegmentImportJobs
  7029  // API call, and error handling.
  7030  //
  7031  // This method is useful when you want to inject custom logic or configuration
  7032  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7033  //
  7034  //
  7035  //    // Example sending a request using the GetSegmentImportJobsRequest method.
  7036  //    req, resp := client.GetSegmentImportJobsRequest(params)
  7037  //
  7038  //    err := req.Send()
  7039  //    if err == nil { // resp is now filled
  7040  //        fmt.Println(resp)
  7041  //    }
  7042  //
  7043  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
  7044  func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) {
  7045  	op := &request.Operation{
  7046  		Name:       opGetSegmentImportJobs,
  7047  		HTTPMethod: "GET",
  7048  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
  7049  	}
  7050  
  7051  	if input == nil {
  7052  		input = &GetSegmentImportJobsInput{}
  7053  	}
  7054  
  7055  	output = &GetSegmentImportJobsOutput{}
  7056  	req = c.newRequest(op, input, output)
  7057  	return
  7058  }
  7059  
  7060  // GetSegmentImportJobs API operation for Amazon Pinpoint.
  7061  //
  7062  // Retrieves information about the status and settings of the import jobs for
  7063  // a segment.
  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 Pinpoint's
  7070  // API operation GetSegmentImportJobs for usage and error information.
  7071  //
  7072  // Returned Error Types:
  7073  //   * BadRequestException
  7074  //   Provides information about an API request or response.
  7075  //
  7076  //   * InternalServerErrorException
  7077  //   Provides information about an API request or response.
  7078  //
  7079  //   * PayloadTooLargeException
  7080  //   Provides information about an API request or response.
  7081  //
  7082  //   * ForbiddenException
  7083  //   Provides information about an API request or response.
  7084  //
  7085  //   * NotFoundException
  7086  //   Provides information about an API request or response.
  7087  //
  7088  //   * MethodNotAllowedException
  7089  //   Provides information about an API request or response.
  7090  //
  7091  //   * TooManyRequestsException
  7092  //   Provides information about an API request or response.
  7093  //
  7094  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
  7095  func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) {
  7096  	req, out := c.GetSegmentImportJobsRequest(input)
  7097  	return out, req.Send()
  7098  }
  7099  
  7100  // GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of
  7101  // the ability to pass a context and additional request options.
  7102  //
  7103  // See GetSegmentImportJobs for details on how to use this API operation.
  7104  //
  7105  // The context must be non-nil and will be used for request cancellation. If
  7106  // the context is nil a panic will occur. In the future the SDK may create
  7107  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7108  // for more information on using Contexts.
  7109  func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) {
  7110  	req, out := c.GetSegmentImportJobsRequest(input)
  7111  	req.SetContext(ctx)
  7112  	req.ApplyOptions(opts...)
  7113  	return out, req.Send()
  7114  }
  7115  
  7116  const opGetSegmentVersion = "GetSegmentVersion"
  7117  
  7118  // GetSegmentVersionRequest generates a "aws/request.Request" representing the
  7119  // client's request for the GetSegmentVersion operation. The "output" return
  7120  // value will be populated with the request's response once the request completes
  7121  // successfully.
  7122  //
  7123  // Use "Send" method on the returned Request to send the API call to the service.
  7124  // the "output" return value is not valid until after Send returns without error.
  7125  //
  7126  // See GetSegmentVersion for more information on using the GetSegmentVersion
  7127  // API call, and error handling.
  7128  //
  7129  // This method is useful when you want to inject custom logic or configuration
  7130  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7131  //
  7132  //
  7133  //    // Example sending a request using the GetSegmentVersionRequest method.
  7134  //    req, resp := client.GetSegmentVersionRequest(params)
  7135  //
  7136  //    err := req.Send()
  7137  //    if err == nil { // resp is now filled
  7138  //        fmt.Println(resp)
  7139  //    }
  7140  //
  7141  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
  7142  func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) {
  7143  	op := &request.Operation{
  7144  		Name:       opGetSegmentVersion,
  7145  		HTTPMethod: "GET",
  7146  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
  7147  	}
  7148  
  7149  	if input == nil {
  7150  		input = &GetSegmentVersionInput{}
  7151  	}
  7152  
  7153  	output = &GetSegmentVersionOutput{}
  7154  	req = c.newRequest(op, input, output)
  7155  	return
  7156  }
  7157  
  7158  // GetSegmentVersion API operation for Amazon Pinpoint.
  7159  //
  7160  // Retrieves information about the configuration, dimension, and other settings
  7161  // for a specific version of a segment that's associated with an application.
  7162  //
  7163  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7164  // with awserr.Error's Code and Message methods to get detailed information about
  7165  // the error.
  7166  //
  7167  // See the AWS API reference guide for Amazon Pinpoint's
  7168  // API operation GetSegmentVersion for usage and error information.
  7169  //
  7170  // Returned Error Types:
  7171  //   * BadRequestException
  7172  //   Provides information about an API request or response.
  7173  //
  7174  //   * InternalServerErrorException
  7175  //   Provides information about an API request or response.
  7176  //
  7177  //   * PayloadTooLargeException
  7178  //   Provides information about an API request or response.
  7179  //
  7180  //   * ForbiddenException
  7181  //   Provides information about an API request or response.
  7182  //
  7183  //   * NotFoundException
  7184  //   Provides information about an API request or response.
  7185  //
  7186  //   * MethodNotAllowedException
  7187  //   Provides information about an API request or response.
  7188  //
  7189  //   * TooManyRequestsException
  7190  //   Provides information about an API request or response.
  7191  //
  7192  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
  7193  func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) {
  7194  	req, out := c.GetSegmentVersionRequest(input)
  7195  	return out, req.Send()
  7196  }
  7197  
  7198  // GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of
  7199  // the ability to pass a context and additional request options.
  7200  //
  7201  // See GetSegmentVersion for details on how to use this API operation.
  7202  //
  7203  // The context must be non-nil and will be used for request cancellation. If
  7204  // the context is nil a panic will occur. In the future the SDK may create
  7205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7206  // for more information on using Contexts.
  7207  func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) {
  7208  	req, out := c.GetSegmentVersionRequest(input)
  7209  	req.SetContext(ctx)
  7210  	req.ApplyOptions(opts...)
  7211  	return out, req.Send()
  7212  }
  7213  
  7214  const opGetSegmentVersions = "GetSegmentVersions"
  7215  
  7216  // GetSegmentVersionsRequest generates a "aws/request.Request" representing the
  7217  // client's request for the GetSegmentVersions operation. The "output" return
  7218  // value will be populated with the request's response once the request completes
  7219  // successfully.
  7220  //
  7221  // Use "Send" method on the returned Request to send the API call to the service.
  7222  // the "output" return value is not valid until after Send returns without error.
  7223  //
  7224  // See GetSegmentVersions for more information on using the GetSegmentVersions
  7225  // API call, and error handling.
  7226  //
  7227  // This method is useful when you want to inject custom logic or configuration
  7228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7229  //
  7230  //
  7231  //    // Example sending a request using the GetSegmentVersionsRequest method.
  7232  //    req, resp := client.GetSegmentVersionsRequest(params)
  7233  //
  7234  //    err := req.Send()
  7235  //    if err == nil { // resp is now filled
  7236  //        fmt.Println(resp)
  7237  //    }
  7238  //
  7239  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
  7240  func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) {
  7241  	op := &request.Operation{
  7242  		Name:       opGetSegmentVersions,
  7243  		HTTPMethod: "GET",
  7244  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions",
  7245  	}
  7246  
  7247  	if input == nil {
  7248  		input = &GetSegmentVersionsInput{}
  7249  	}
  7250  
  7251  	output = &GetSegmentVersionsOutput{}
  7252  	req = c.newRequest(op, input, output)
  7253  	return
  7254  }
  7255  
  7256  // GetSegmentVersions API operation for Amazon Pinpoint.
  7257  //
  7258  // Retrieves information about the configuration, dimension, and other settings
  7259  // for all the versions of a specific segment that's associated with an application.
  7260  //
  7261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7262  // with awserr.Error's Code and Message methods to get detailed information about
  7263  // the error.
  7264  //
  7265  // See the AWS API reference guide for Amazon Pinpoint's
  7266  // API operation GetSegmentVersions for usage and error information.
  7267  //
  7268  // Returned Error Types:
  7269  //   * BadRequestException
  7270  //   Provides information about an API request or response.
  7271  //
  7272  //   * InternalServerErrorException
  7273  //   Provides information about an API request or response.
  7274  //
  7275  //   * PayloadTooLargeException
  7276  //   Provides information about an API request or response.
  7277  //
  7278  //   * ForbiddenException
  7279  //   Provides information about an API request or response.
  7280  //
  7281  //   * NotFoundException
  7282  //   Provides information about an API request or response.
  7283  //
  7284  //   * MethodNotAllowedException
  7285  //   Provides information about an API request or response.
  7286  //
  7287  //   * TooManyRequestsException
  7288  //   Provides information about an API request or response.
  7289  //
  7290  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
  7291  func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) {
  7292  	req, out := c.GetSegmentVersionsRequest(input)
  7293  	return out, req.Send()
  7294  }
  7295  
  7296  // GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of
  7297  // the ability to pass a context and additional request options.
  7298  //
  7299  // See GetSegmentVersions for details on how to use this API operation.
  7300  //
  7301  // The context must be non-nil and will be used for request cancellation. If
  7302  // the context is nil a panic will occur. In the future the SDK may create
  7303  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7304  // for more information on using Contexts.
  7305  func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) {
  7306  	req, out := c.GetSegmentVersionsRequest(input)
  7307  	req.SetContext(ctx)
  7308  	req.ApplyOptions(opts...)
  7309  	return out, req.Send()
  7310  }
  7311  
  7312  const opGetSegments = "GetSegments"
  7313  
  7314  // GetSegmentsRequest generates a "aws/request.Request" representing the
  7315  // client's request for the GetSegments operation. The "output" return
  7316  // value will be populated with the request's response once the request completes
  7317  // successfully.
  7318  //
  7319  // Use "Send" method on the returned Request to send the API call to the service.
  7320  // the "output" return value is not valid until after Send returns without error.
  7321  //
  7322  // See GetSegments for more information on using the GetSegments
  7323  // API call, and error handling.
  7324  //
  7325  // This method is useful when you want to inject custom logic or configuration
  7326  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7327  //
  7328  //
  7329  //    // Example sending a request using the GetSegmentsRequest method.
  7330  //    req, resp := client.GetSegmentsRequest(params)
  7331  //
  7332  //    err := req.Send()
  7333  //    if err == nil { // resp is now filled
  7334  //        fmt.Println(resp)
  7335  //    }
  7336  //
  7337  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
  7338  func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) {
  7339  	op := &request.Operation{
  7340  		Name:       opGetSegments,
  7341  		HTTPMethod: "GET",
  7342  		HTTPPath:   "/v1/apps/{application-id}/segments",
  7343  	}
  7344  
  7345  	if input == nil {
  7346  		input = &GetSegmentsInput{}
  7347  	}
  7348  
  7349  	output = &GetSegmentsOutput{}
  7350  	req = c.newRequest(op, input, output)
  7351  	return
  7352  }
  7353  
  7354  // GetSegments API operation for Amazon Pinpoint.
  7355  //
  7356  // Retrieves information about the configuration, dimension, and other settings
  7357  // for all the segments that are associated with an application.
  7358  //
  7359  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7360  // with awserr.Error's Code and Message methods to get detailed information about
  7361  // the error.
  7362  //
  7363  // See the AWS API reference guide for Amazon Pinpoint's
  7364  // API operation GetSegments for usage and error information.
  7365  //
  7366  // Returned Error Types:
  7367  //   * BadRequestException
  7368  //   Provides information about an API request or response.
  7369  //
  7370  //   * InternalServerErrorException
  7371  //   Provides information about an API request or response.
  7372  //
  7373  //   * PayloadTooLargeException
  7374  //   Provides information about an API request or response.
  7375  //
  7376  //   * ForbiddenException
  7377  //   Provides information about an API request or response.
  7378  //
  7379  //   * NotFoundException
  7380  //   Provides information about an API request or response.
  7381  //
  7382  //   * MethodNotAllowedException
  7383  //   Provides information about an API request or response.
  7384  //
  7385  //   * TooManyRequestsException
  7386  //   Provides information about an API request or response.
  7387  //
  7388  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
  7389  func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) {
  7390  	req, out := c.GetSegmentsRequest(input)
  7391  	return out, req.Send()
  7392  }
  7393  
  7394  // GetSegmentsWithContext is the same as GetSegments with the addition of
  7395  // the ability to pass a context and additional request options.
  7396  //
  7397  // See GetSegments for details on how to use this API operation.
  7398  //
  7399  // The context must be non-nil and will be used for request cancellation. If
  7400  // the context is nil a panic will occur. In the future the SDK may create
  7401  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7402  // for more information on using Contexts.
  7403  func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) {
  7404  	req, out := c.GetSegmentsRequest(input)
  7405  	req.SetContext(ctx)
  7406  	req.ApplyOptions(opts...)
  7407  	return out, req.Send()
  7408  }
  7409  
  7410  const opGetSmsChannel = "GetSmsChannel"
  7411  
  7412  // GetSmsChannelRequest generates a "aws/request.Request" representing the
  7413  // client's request for the GetSmsChannel operation. The "output" return
  7414  // value will be populated with the request's response once the request completes
  7415  // successfully.
  7416  //
  7417  // Use "Send" method on the returned Request to send the API call to the service.
  7418  // the "output" return value is not valid until after Send returns without error.
  7419  //
  7420  // See GetSmsChannel for more information on using the GetSmsChannel
  7421  // API call, and error handling.
  7422  //
  7423  // This method is useful when you want to inject custom logic or configuration
  7424  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7425  //
  7426  //
  7427  //    // Example sending a request using the GetSmsChannelRequest method.
  7428  //    req, resp := client.GetSmsChannelRequest(params)
  7429  //
  7430  //    err := req.Send()
  7431  //    if err == nil { // resp is now filled
  7432  //        fmt.Println(resp)
  7433  //    }
  7434  //
  7435  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
  7436  func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) {
  7437  	op := &request.Operation{
  7438  		Name:       opGetSmsChannel,
  7439  		HTTPMethod: "GET",
  7440  		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
  7441  	}
  7442  
  7443  	if input == nil {
  7444  		input = &GetSmsChannelInput{}
  7445  	}
  7446  
  7447  	output = &GetSmsChannelOutput{}
  7448  	req = c.newRequest(op, input, output)
  7449  	return
  7450  }
  7451  
  7452  // GetSmsChannel API operation for Amazon Pinpoint.
  7453  //
  7454  // Retrieves information about the status and settings of the SMS channel for
  7455  // an application.
  7456  //
  7457  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7458  // with awserr.Error's Code and Message methods to get detailed information about
  7459  // the error.
  7460  //
  7461  // See the AWS API reference guide for Amazon Pinpoint's
  7462  // API operation GetSmsChannel for usage and error information.
  7463  //
  7464  // Returned Error Types:
  7465  //   * BadRequestException
  7466  //   Provides information about an API request or response.
  7467  //
  7468  //   * InternalServerErrorException
  7469  //   Provides information about an API request or response.
  7470  //
  7471  //   * PayloadTooLargeException
  7472  //   Provides information about an API request or response.
  7473  //
  7474  //   * ForbiddenException
  7475  //   Provides information about an API request or response.
  7476  //
  7477  //   * NotFoundException
  7478  //   Provides information about an API request or response.
  7479  //
  7480  //   * MethodNotAllowedException
  7481  //   Provides information about an API request or response.
  7482  //
  7483  //   * TooManyRequestsException
  7484  //   Provides information about an API request or response.
  7485  //
  7486  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
  7487  func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) {
  7488  	req, out := c.GetSmsChannelRequest(input)
  7489  	return out, req.Send()
  7490  }
  7491  
  7492  // GetSmsChannelWithContext is the same as GetSmsChannel with the addition of
  7493  // the ability to pass a context and additional request options.
  7494  //
  7495  // See GetSmsChannel 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 *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) {
  7502  	req, out := c.GetSmsChannelRequest(input)
  7503  	req.SetContext(ctx)
  7504  	req.ApplyOptions(opts...)
  7505  	return out, req.Send()
  7506  }
  7507  
  7508  const opGetSmsTemplate = "GetSmsTemplate"
  7509  
  7510  // GetSmsTemplateRequest generates a "aws/request.Request" representing the
  7511  // client's request for the GetSmsTemplate 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 GetSmsTemplate for more information on using the GetSmsTemplate
  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 GetSmsTemplateRequest method.
  7526  //    req, resp := client.GetSmsTemplateRequest(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/pinpoint-2016-12-01/GetSmsTemplate
  7534  func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) {
  7535  	op := &request.Operation{
  7536  		Name:       opGetSmsTemplate,
  7537  		HTTPMethod: "GET",
  7538  		HTTPPath:   "/v1/templates/{template-name}/sms",
  7539  	}
  7540  
  7541  	if input == nil {
  7542  		input = &GetSmsTemplateInput{}
  7543  	}
  7544  
  7545  	output = &GetSmsTemplateOutput{}
  7546  	req = c.newRequest(op, input, output)
  7547  	return
  7548  }
  7549  
  7550  // GetSmsTemplate API operation for Amazon Pinpoint.
  7551  //
  7552  // Retrieves the content and settings of a message template for messages that
  7553  // are sent through the SMS channel.
  7554  //
  7555  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7556  // with awserr.Error's Code and Message methods to get detailed information about
  7557  // the error.
  7558  //
  7559  // See the AWS API reference guide for Amazon Pinpoint's
  7560  // API operation GetSmsTemplate for usage and error information.
  7561  //
  7562  // Returned Error Types:
  7563  //   * BadRequestException
  7564  //   Provides information about an API request or response.
  7565  //
  7566  //   * InternalServerErrorException
  7567  //   Provides information about an API request or response.
  7568  //
  7569  //   * PayloadTooLargeException
  7570  //   Provides information about an API request or response.
  7571  //
  7572  //   * ForbiddenException
  7573  //   Provides information about an API request or response.
  7574  //
  7575  //   * NotFoundException
  7576  //   Provides information about an API request or response.
  7577  //
  7578  //   * MethodNotAllowedException
  7579  //   Provides information about an API request or response.
  7580  //
  7581  //   * TooManyRequestsException
  7582  //   Provides information about an API request or response.
  7583  //
  7584  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
  7585  func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) {
  7586  	req, out := c.GetSmsTemplateRequest(input)
  7587  	return out, req.Send()
  7588  }
  7589  
  7590  // GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of
  7591  // the ability to pass a context and additional request options.
  7592  //
  7593  // See GetSmsTemplate for details on how to use this API operation.
  7594  //
  7595  // The context must be non-nil and will be used for request cancellation. If
  7596  // the context is nil a panic will occur. In the future the SDK may create
  7597  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7598  // for more information on using Contexts.
  7599  func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) {
  7600  	req, out := c.GetSmsTemplateRequest(input)
  7601  	req.SetContext(ctx)
  7602  	req.ApplyOptions(opts...)
  7603  	return out, req.Send()
  7604  }
  7605  
  7606  const opGetUserEndpoints = "GetUserEndpoints"
  7607  
  7608  // GetUserEndpointsRequest generates a "aws/request.Request" representing the
  7609  // client's request for the GetUserEndpoints operation. The "output" return
  7610  // value will be populated with the request's response once the request completes
  7611  // successfully.
  7612  //
  7613  // Use "Send" method on the returned Request to send the API call to the service.
  7614  // the "output" return value is not valid until after Send returns without error.
  7615  //
  7616  // See GetUserEndpoints for more information on using the GetUserEndpoints
  7617  // API call, and error handling.
  7618  //
  7619  // This method is useful when you want to inject custom logic or configuration
  7620  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7621  //
  7622  //
  7623  //    // Example sending a request using the GetUserEndpointsRequest method.
  7624  //    req, resp := client.GetUserEndpointsRequest(params)
  7625  //
  7626  //    err := req.Send()
  7627  //    if err == nil { // resp is now filled
  7628  //        fmt.Println(resp)
  7629  //    }
  7630  //
  7631  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
  7632  func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) {
  7633  	op := &request.Operation{
  7634  		Name:       opGetUserEndpoints,
  7635  		HTTPMethod: "GET",
  7636  		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
  7637  	}
  7638  
  7639  	if input == nil {
  7640  		input = &GetUserEndpointsInput{}
  7641  	}
  7642  
  7643  	output = &GetUserEndpointsOutput{}
  7644  	req = c.newRequest(op, input, output)
  7645  	return
  7646  }
  7647  
  7648  // GetUserEndpoints API operation for Amazon Pinpoint.
  7649  //
  7650  // Retrieves information about all the endpoints that are associated with a
  7651  // specific user ID.
  7652  //
  7653  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7654  // with awserr.Error's Code and Message methods to get detailed information about
  7655  // the error.
  7656  //
  7657  // See the AWS API reference guide for Amazon Pinpoint's
  7658  // API operation GetUserEndpoints for usage and error information.
  7659  //
  7660  // Returned Error Types:
  7661  //   * BadRequestException
  7662  //   Provides information about an API request or response.
  7663  //
  7664  //   * InternalServerErrorException
  7665  //   Provides information about an API request or response.
  7666  //
  7667  //   * PayloadTooLargeException
  7668  //   Provides information about an API request or response.
  7669  //
  7670  //   * ForbiddenException
  7671  //   Provides information about an API request or response.
  7672  //
  7673  //   * NotFoundException
  7674  //   Provides information about an API request or response.
  7675  //
  7676  //   * MethodNotAllowedException
  7677  //   Provides information about an API request or response.
  7678  //
  7679  //   * TooManyRequestsException
  7680  //   Provides information about an API request or response.
  7681  //
  7682  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
  7683  func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) {
  7684  	req, out := c.GetUserEndpointsRequest(input)
  7685  	return out, req.Send()
  7686  }
  7687  
  7688  // GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of
  7689  // the ability to pass a context and additional request options.
  7690  //
  7691  // See GetUserEndpoints for details on how to use this API operation.
  7692  //
  7693  // The context must be non-nil and will be used for request cancellation. If
  7694  // the context is nil a panic will occur. In the future the SDK may create
  7695  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7696  // for more information on using Contexts.
  7697  func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) {
  7698  	req, out := c.GetUserEndpointsRequest(input)
  7699  	req.SetContext(ctx)
  7700  	req.ApplyOptions(opts...)
  7701  	return out, req.Send()
  7702  }
  7703  
  7704  const opGetVoiceChannel = "GetVoiceChannel"
  7705  
  7706  // GetVoiceChannelRequest generates a "aws/request.Request" representing the
  7707  // client's request for the GetVoiceChannel operation. The "output" return
  7708  // value will be populated with the request's response once the request completes
  7709  // successfully.
  7710  //
  7711  // Use "Send" method on the returned Request to send the API call to the service.
  7712  // the "output" return value is not valid until after Send returns without error.
  7713  //
  7714  // See GetVoiceChannel for more information on using the GetVoiceChannel
  7715  // API call, and error handling.
  7716  //
  7717  // This method is useful when you want to inject custom logic or configuration
  7718  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7719  //
  7720  //
  7721  //    // Example sending a request using the GetVoiceChannelRequest method.
  7722  //    req, resp := client.GetVoiceChannelRequest(params)
  7723  //
  7724  //    err := req.Send()
  7725  //    if err == nil { // resp is now filled
  7726  //        fmt.Println(resp)
  7727  //    }
  7728  //
  7729  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
  7730  func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) {
  7731  	op := &request.Operation{
  7732  		Name:       opGetVoiceChannel,
  7733  		HTTPMethod: "GET",
  7734  		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
  7735  	}
  7736  
  7737  	if input == nil {
  7738  		input = &GetVoiceChannelInput{}
  7739  	}
  7740  
  7741  	output = &GetVoiceChannelOutput{}
  7742  	req = c.newRequest(op, input, output)
  7743  	return
  7744  }
  7745  
  7746  // GetVoiceChannel API operation for Amazon Pinpoint.
  7747  //
  7748  // Retrieves information about the status and settings of the voice channel
  7749  // for an application.
  7750  //
  7751  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7752  // with awserr.Error's Code and Message methods to get detailed information about
  7753  // the error.
  7754  //
  7755  // See the AWS API reference guide for Amazon Pinpoint's
  7756  // API operation GetVoiceChannel for usage and error information.
  7757  //
  7758  // Returned Error Types:
  7759  //   * BadRequestException
  7760  //   Provides information about an API request or response.
  7761  //
  7762  //   * InternalServerErrorException
  7763  //   Provides information about an API request or response.
  7764  //
  7765  //   * PayloadTooLargeException
  7766  //   Provides information about an API request or response.
  7767  //
  7768  //   * ForbiddenException
  7769  //   Provides information about an API request or response.
  7770  //
  7771  //   * NotFoundException
  7772  //   Provides information about an API request or response.
  7773  //
  7774  //   * MethodNotAllowedException
  7775  //   Provides information about an API request or response.
  7776  //
  7777  //   * TooManyRequestsException
  7778  //   Provides information about an API request or response.
  7779  //
  7780  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
  7781  func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) {
  7782  	req, out := c.GetVoiceChannelRequest(input)
  7783  	return out, req.Send()
  7784  }
  7785  
  7786  // GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of
  7787  // the ability to pass a context and additional request options.
  7788  //
  7789  // See GetVoiceChannel for details on how to use this API operation.
  7790  //
  7791  // The context must be non-nil and will be used for request cancellation. If
  7792  // the context is nil a panic will occur. In the future the SDK may create
  7793  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7794  // for more information on using Contexts.
  7795  func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) {
  7796  	req, out := c.GetVoiceChannelRequest(input)
  7797  	req.SetContext(ctx)
  7798  	req.ApplyOptions(opts...)
  7799  	return out, req.Send()
  7800  }
  7801  
  7802  const opGetVoiceTemplate = "GetVoiceTemplate"
  7803  
  7804  // GetVoiceTemplateRequest generates a "aws/request.Request" representing the
  7805  // client's request for the GetVoiceTemplate operation. The "output" return
  7806  // value will be populated with the request's response once the request completes
  7807  // successfully.
  7808  //
  7809  // Use "Send" method on the returned Request to send the API call to the service.
  7810  // the "output" return value is not valid until after Send returns without error.
  7811  //
  7812  // See GetVoiceTemplate for more information on using the GetVoiceTemplate
  7813  // API call, and error handling.
  7814  //
  7815  // This method is useful when you want to inject custom logic or configuration
  7816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7817  //
  7818  //
  7819  //    // Example sending a request using the GetVoiceTemplateRequest method.
  7820  //    req, resp := client.GetVoiceTemplateRequest(params)
  7821  //
  7822  //    err := req.Send()
  7823  //    if err == nil { // resp is now filled
  7824  //        fmt.Println(resp)
  7825  //    }
  7826  //
  7827  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
  7828  func (c *Pinpoint) GetVoiceTemplateRequest(input *GetVoiceTemplateInput) (req *request.Request, output *GetVoiceTemplateOutput) {
  7829  	op := &request.Operation{
  7830  		Name:       opGetVoiceTemplate,
  7831  		HTTPMethod: "GET",
  7832  		HTTPPath:   "/v1/templates/{template-name}/voice",
  7833  	}
  7834  
  7835  	if input == nil {
  7836  		input = &GetVoiceTemplateInput{}
  7837  	}
  7838  
  7839  	output = &GetVoiceTemplateOutput{}
  7840  	req = c.newRequest(op, input, output)
  7841  	return
  7842  }
  7843  
  7844  // GetVoiceTemplate API operation for Amazon Pinpoint.
  7845  //
  7846  // Retrieves the content and settings of a message template for messages that
  7847  // are sent through the voice channel.
  7848  //
  7849  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7850  // with awserr.Error's Code and Message methods to get detailed information about
  7851  // the error.
  7852  //
  7853  // See the AWS API reference guide for Amazon Pinpoint's
  7854  // API operation GetVoiceTemplate for usage and error information.
  7855  //
  7856  // Returned Error Types:
  7857  //   * BadRequestException
  7858  //   Provides information about an API request or response.
  7859  //
  7860  //   * InternalServerErrorException
  7861  //   Provides information about an API request or response.
  7862  //
  7863  //   * PayloadTooLargeException
  7864  //   Provides information about an API request or response.
  7865  //
  7866  //   * ForbiddenException
  7867  //   Provides information about an API request or response.
  7868  //
  7869  //   * NotFoundException
  7870  //   Provides information about an API request or response.
  7871  //
  7872  //   * MethodNotAllowedException
  7873  //   Provides information about an API request or response.
  7874  //
  7875  //   * TooManyRequestsException
  7876  //   Provides information about an API request or response.
  7877  //
  7878  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
  7879  func (c *Pinpoint) GetVoiceTemplate(input *GetVoiceTemplateInput) (*GetVoiceTemplateOutput, error) {
  7880  	req, out := c.GetVoiceTemplateRequest(input)
  7881  	return out, req.Send()
  7882  }
  7883  
  7884  // GetVoiceTemplateWithContext is the same as GetVoiceTemplate with the addition of
  7885  // the ability to pass a context and additional request options.
  7886  //
  7887  // See GetVoiceTemplate for details on how to use this API operation.
  7888  //
  7889  // The context must be non-nil and will be used for request cancellation. If
  7890  // the context is nil a panic will occur. In the future the SDK may create
  7891  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7892  // for more information on using Contexts.
  7893  func (c *Pinpoint) GetVoiceTemplateWithContext(ctx aws.Context, input *GetVoiceTemplateInput, opts ...request.Option) (*GetVoiceTemplateOutput, error) {
  7894  	req, out := c.GetVoiceTemplateRequest(input)
  7895  	req.SetContext(ctx)
  7896  	req.ApplyOptions(opts...)
  7897  	return out, req.Send()
  7898  }
  7899  
  7900  const opListJourneys = "ListJourneys"
  7901  
  7902  // ListJourneysRequest generates a "aws/request.Request" representing the
  7903  // client's request for the ListJourneys operation. The "output" return
  7904  // value will be populated with the request's response once the request completes
  7905  // successfully.
  7906  //
  7907  // Use "Send" method on the returned Request to send the API call to the service.
  7908  // the "output" return value is not valid until after Send returns without error.
  7909  //
  7910  // See ListJourneys for more information on using the ListJourneys
  7911  // API call, and error handling.
  7912  //
  7913  // This method is useful when you want to inject custom logic or configuration
  7914  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7915  //
  7916  //
  7917  //    // Example sending a request using the ListJourneysRequest method.
  7918  //    req, resp := client.ListJourneysRequest(params)
  7919  //
  7920  //    err := req.Send()
  7921  //    if err == nil { // resp is now filled
  7922  //        fmt.Println(resp)
  7923  //    }
  7924  //
  7925  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
  7926  func (c *Pinpoint) ListJourneysRequest(input *ListJourneysInput) (req *request.Request, output *ListJourneysOutput) {
  7927  	op := &request.Operation{
  7928  		Name:       opListJourneys,
  7929  		HTTPMethod: "GET",
  7930  		HTTPPath:   "/v1/apps/{application-id}/journeys",
  7931  	}
  7932  
  7933  	if input == nil {
  7934  		input = &ListJourneysInput{}
  7935  	}
  7936  
  7937  	output = &ListJourneysOutput{}
  7938  	req = c.newRequest(op, input, output)
  7939  	return
  7940  }
  7941  
  7942  // ListJourneys API operation for Amazon Pinpoint.
  7943  //
  7944  // Retrieves information about the status, configuration, and other settings
  7945  // for all the journeys that are associated with an application.
  7946  //
  7947  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7948  // with awserr.Error's Code and Message methods to get detailed information about
  7949  // the error.
  7950  //
  7951  // See the AWS API reference guide for Amazon Pinpoint's
  7952  // API operation ListJourneys for usage and error information.
  7953  //
  7954  // Returned Error Types:
  7955  //   * BadRequestException
  7956  //   Provides information about an API request or response.
  7957  //
  7958  //   * InternalServerErrorException
  7959  //   Provides information about an API request or response.
  7960  //
  7961  //   * PayloadTooLargeException
  7962  //   Provides information about an API request or response.
  7963  //
  7964  //   * ForbiddenException
  7965  //   Provides information about an API request or response.
  7966  //
  7967  //   * NotFoundException
  7968  //   Provides information about an API request or response.
  7969  //
  7970  //   * MethodNotAllowedException
  7971  //   Provides information about an API request or response.
  7972  //
  7973  //   * TooManyRequestsException
  7974  //   Provides information about an API request or response.
  7975  //
  7976  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
  7977  func (c *Pinpoint) ListJourneys(input *ListJourneysInput) (*ListJourneysOutput, error) {
  7978  	req, out := c.ListJourneysRequest(input)
  7979  	return out, req.Send()
  7980  }
  7981  
  7982  // ListJourneysWithContext is the same as ListJourneys with the addition of
  7983  // the ability to pass a context and additional request options.
  7984  //
  7985  // See ListJourneys for details on how to use this API operation.
  7986  //
  7987  // The context must be non-nil and will be used for request cancellation. If
  7988  // the context is nil a panic will occur. In the future the SDK may create
  7989  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7990  // for more information on using Contexts.
  7991  func (c *Pinpoint) ListJourneysWithContext(ctx aws.Context, input *ListJourneysInput, opts ...request.Option) (*ListJourneysOutput, error) {
  7992  	req, out := c.ListJourneysRequest(input)
  7993  	req.SetContext(ctx)
  7994  	req.ApplyOptions(opts...)
  7995  	return out, req.Send()
  7996  }
  7997  
  7998  const opListTagsForResource = "ListTagsForResource"
  7999  
  8000  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  8001  // client's request for the ListTagsForResource operation. The "output" return
  8002  // value will be populated with the request's response once the request completes
  8003  // successfully.
  8004  //
  8005  // Use "Send" method on the returned Request to send the API call to the service.
  8006  // the "output" return value is not valid until after Send returns without error.
  8007  //
  8008  // See ListTagsForResource for more information on using the ListTagsForResource
  8009  // API call, and error handling.
  8010  //
  8011  // This method is useful when you want to inject custom logic or configuration
  8012  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8013  //
  8014  //
  8015  //    // Example sending a request using the ListTagsForResourceRequest method.
  8016  //    req, resp := client.ListTagsForResourceRequest(params)
  8017  //
  8018  //    err := req.Send()
  8019  //    if err == nil { // resp is now filled
  8020  //        fmt.Println(resp)
  8021  //    }
  8022  //
  8023  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
  8024  func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  8025  	op := &request.Operation{
  8026  		Name:       opListTagsForResource,
  8027  		HTTPMethod: "GET",
  8028  		HTTPPath:   "/v1/tags/{resource-arn}",
  8029  	}
  8030  
  8031  	if input == nil {
  8032  		input = &ListTagsForResourceInput{}
  8033  	}
  8034  
  8035  	output = &ListTagsForResourceOutput{}
  8036  	req = c.newRequest(op, input, output)
  8037  	return
  8038  }
  8039  
  8040  // ListTagsForResource API operation for Amazon Pinpoint.
  8041  //
  8042  // Retrieves all the tags (keys and values) that are associated with an application,
  8043  // campaign, message template, or segment.
  8044  //
  8045  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8046  // with awserr.Error's Code and Message methods to get detailed information about
  8047  // the error.
  8048  //
  8049  // See the AWS API reference guide for Amazon Pinpoint's
  8050  // API operation ListTagsForResource for usage and error information.
  8051  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
  8052  func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  8053  	req, out := c.ListTagsForResourceRequest(input)
  8054  	return out, req.Send()
  8055  }
  8056  
  8057  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  8058  // the ability to pass a context and additional request options.
  8059  //
  8060  // See ListTagsForResource for details on how to use this API operation.
  8061  //
  8062  // The context must be non-nil and will be used for request cancellation. If
  8063  // the context is nil a panic will occur. In the future the SDK may create
  8064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8065  // for more information on using Contexts.
  8066  func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  8067  	req, out := c.ListTagsForResourceRequest(input)
  8068  	req.SetContext(ctx)
  8069  	req.ApplyOptions(opts...)
  8070  	return out, req.Send()
  8071  }
  8072  
  8073  const opListTemplateVersions = "ListTemplateVersions"
  8074  
  8075  // ListTemplateVersionsRequest generates a "aws/request.Request" representing the
  8076  // client's request for the ListTemplateVersions operation. The "output" return
  8077  // value will be populated with the request's response once the request completes
  8078  // successfully.
  8079  //
  8080  // Use "Send" method on the returned Request to send the API call to the service.
  8081  // the "output" return value is not valid until after Send returns without error.
  8082  //
  8083  // See ListTemplateVersions for more information on using the ListTemplateVersions
  8084  // API call, and error handling.
  8085  //
  8086  // This method is useful when you want to inject custom logic or configuration
  8087  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8088  //
  8089  //
  8090  //    // Example sending a request using the ListTemplateVersionsRequest method.
  8091  //    req, resp := client.ListTemplateVersionsRequest(params)
  8092  //
  8093  //    err := req.Send()
  8094  //    if err == nil { // resp is now filled
  8095  //        fmt.Println(resp)
  8096  //    }
  8097  //
  8098  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
  8099  func (c *Pinpoint) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) {
  8100  	op := &request.Operation{
  8101  		Name:       opListTemplateVersions,
  8102  		HTTPMethod: "GET",
  8103  		HTTPPath:   "/v1/templates/{template-name}/{template-type}/versions",
  8104  	}
  8105  
  8106  	if input == nil {
  8107  		input = &ListTemplateVersionsInput{}
  8108  	}
  8109  
  8110  	output = &ListTemplateVersionsOutput{}
  8111  	req = c.newRequest(op, input, output)
  8112  	return
  8113  }
  8114  
  8115  // ListTemplateVersions API operation for Amazon Pinpoint.
  8116  //
  8117  // Retrieves information about all the versions of a specific message template.
  8118  //
  8119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8120  // with awserr.Error's Code and Message methods to get detailed information about
  8121  // the error.
  8122  //
  8123  // See the AWS API reference guide for Amazon Pinpoint's
  8124  // API operation ListTemplateVersions for usage and error information.
  8125  //
  8126  // Returned Error Types:
  8127  //   * BadRequestException
  8128  //   Provides information about an API request or response.
  8129  //
  8130  //   * InternalServerErrorException
  8131  //   Provides information about an API request or response.
  8132  //
  8133  //   * PayloadTooLargeException
  8134  //   Provides information about an API request or response.
  8135  //
  8136  //   * ForbiddenException
  8137  //   Provides information about an API request or response.
  8138  //
  8139  //   * NotFoundException
  8140  //   Provides information about an API request or response.
  8141  //
  8142  //   * MethodNotAllowedException
  8143  //   Provides information about an API request or response.
  8144  //
  8145  //   * TooManyRequestsException
  8146  //   Provides information about an API request or response.
  8147  //
  8148  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
  8149  func (c *Pinpoint) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) {
  8150  	req, out := c.ListTemplateVersionsRequest(input)
  8151  	return out, req.Send()
  8152  }
  8153  
  8154  // ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of
  8155  // the ability to pass a context and additional request options.
  8156  //
  8157  // See ListTemplateVersions for details on how to use this API operation.
  8158  //
  8159  // The context must be non-nil and will be used for request cancellation. If
  8160  // the context is nil a panic will occur. In the future the SDK may create
  8161  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8162  // for more information on using Contexts.
  8163  func (c *Pinpoint) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) {
  8164  	req, out := c.ListTemplateVersionsRequest(input)
  8165  	req.SetContext(ctx)
  8166  	req.ApplyOptions(opts...)
  8167  	return out, req.Send()
  8168  }
  8169  
  8170  const opListTemplates = "ListTemplates"
  8171  
  8172  // ListTemplatesRequest generates a "aws/request.Request" representing the
  8173  // client's request for the ListTemplates operation. The "output" return
  8174  // value will be populated with the request's response once the request completes
  8175  // successfully.
  8176  //
  8177  // Use "Send" method on the returned Request to send the API call to the service.
  8178  // the "output" return value is not valid until after Send returns without error.
  8179  //
  8180  // See ListTemplates for more information on using the ListTemplates
  8181  // API call, and error handling.
  8182  //
  8183  // This method is useful when you want to inject custom logic or configuration
  8184  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8185  //
  8186  //
  8187  //    // Example sending a request using the ListTemplatesRequest method.
  8188  //    req, resp := client.ListTemplatesRequest(params)
  8189  //
  8190  //    err := req.Send()
  8191  //    if err == nil { // resp is now filled
  8192  //        fmt.Println(resp)
  8193  //    }
  8194  //
  8195  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
  8196  func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) {
  8197  	op := &request.Operation{
  8198  		Name:       opListTemplates,
  8199  		HTTPMethod: "GET",
  8200  		HTTPPath:   "/v1/templates",
  8201  	}
  8202  
  8203  	if input == nil {
  8204  		input = &ListTemplatesInput{}
  8205  	}
  8206  
  8207  	output = &ListTemplatesOutput{}
  8208  	req = c.newRequest(op, input, output)
  8209  	return
  8210  }
  8211  
  8212  // ListTemplates API operation for Amazon Pinpoint.
  8213  //
  8214  // Retrieves information about all the message templates that are associated
  8215  // with your Amazon Pinpoint account.
  8216  //
  8217  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8218  // with awserr.Error's Code and Message methods to get detailed information about
  8219  // the error.
  8220  //
  8221  // See the AWS API reference guide for Amazon Pinpoint's
  8222  // API operation ListTemplates for usage and error information.
  8223  //
  8224  // Returned Error Types:
  8225  //   * MethodNotAllowedException
  8226  //   Provides information about an API request or response.
  8227  //
  8228  //   * TooManyRequestsException
  8229  //   Provides information about an API request or response.
  8230  //
  8231  //   * BadRequestException
  8232  //   Provides information about an API request or response.
  8233  //
  8234  //   * InternalServerErrorException
  8235  //   Provides information about an API request or response.
  8236  //
  8237  //   * ForbiddenException
  8238  //   Provides information about an API request or response.
  8239  //
  8240  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
  8241  func (c *Pinpoint) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) {
  8242  	req, out := c.ListTemplatesRequest(input)
  8243  	return out, req.Send()
  8244  }
  8245  
  8246  // ListTemplatesWithContext is the same as ListTemplates with the addition of
  8247  // the ability to pass a context and additional request options.
  8248  //
  8249  // See ListTemplates for details on how to use this API operation.
  8250  //
  8251  // The context must be non-nil and will be used for request cancellation. If
  8252  // the context is nil a panic will occur. In the future the SDK may create
  8253  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8254  // for more information on using Contexts.
  8255  func (c *Pinpoint) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) {
  8256  	req, out := c.ListTemplatesRequest(input)
  8257  	req.SetContext(ctx)
  8258  	req.ApplyOptions(opts...)
  8259  	return out, req.Send()
  8260  }
  8261  
  8262  const opPhoneNumberValidate = "PhoneNumberValidate"
  8263  
  8264  // PhoneNumberValidateRequest generates a "aws/request.Request" representing the
  8265  // client's request for the PhoneNumberValidate operation. The "output" return
  8266  // value will be populated with the request's response once the request completes
  8267  // successfully.
  8268  //
  8269  // Use "Send" method on the returned Request to send the API call to the service.
  8270  // the "output" return value is not valid until after Send returns without error.
  8271  //
  8272  // See PhoneNumberValidate for more information on using the PhoneNumberValidate
  8273  // API call, and error handling.
  8274  //
  8275  // This method is useful when you want to inject custom logic or configuration
  8276  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8277  //
  8278  //
  8279  //    // Example sending a request using the PhoneNumberValidateRequest method.
  8280  //    req, resp := client.PhoneNumberValidateRequest(params)
  8281  //
  8282  //    err := req.Send()
  8283  //    if err == nil { // resp is now filled
  8284  //        fmt.Println(resp)
  8285  //    }
  8286  //
  8287  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
  8288  func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) {
  8289  	op := &request.Operation{
  8290  		Name:       opPhoneNumberValidate,
  8291  		HTTPMethod: "POST",
  8292  		HTTPPath:   "/v1/phone/number/validate",
  8293  	}
  8294  
  8295  	if input == nil {
  8296  		input = &PhoneNumberValidateInput{}
  8297  	}
  8298  
  8299  	output = &PhoneNumberValidateOutput{}
  8300  	req = c.newRequest(op, input, output)
  8301  	return
  8302  }
  8303  
  8304  // PhoneNumberValidate API operation for Amazon Pinpoint.
  8305  //
  8306  // Retrieves information about a phone number.
  8307  //
  8308  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8309  // with awserr.Error's Code and Message methods to get detailed information about
  8310  // the error.
  8311  //
  8312  // See the AWS API reference guide for Amazon Pinpoint's
  8313  // API operation PhoneNumberValidate for usage and error information.
  8314  //
  8315  // Returned Error Types:
  8316  //   * BadRequestException
  8317  //   Provides information about an API request or response.
  8318  //
  8319  //   * InternalServerErrorException
  8320  //   Provides information about an API request or response.
  8321  //
  8322  //   * PayloadTooLargeException
  8323  //   Provides information about an API request or response.
  8324  //
  8325  //   * ForbiddenException
  8326  //   Provides information about an API request or response.
  8327  //
  8328  //   * NotFoundException
  8329  //   Provides information about an API request or response.
  8330  //
  8331  //   * MethodNotAllowedException
  8332  //   Provides information about an API request or response.
  8333  //
  8334  //   * TooManyRequestsException
  8335  //   Provides information about an API request or response.
  8336  //
  8337  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
  8338  func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) {
  8339  	req, out := c.PhoneNumberValidateRequest(input)
  8340  	return out, req.Send()
  8341  }
  8342  
  8343  // PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of
  8344  // the ability to pass a context and additional request options.
  8345  //
  8346  // See PhoneNumberValidate for details on how to use this API operation.
  8347  //
  8348  // The context must be non-nil and will be used for request cancellation. If
  8349  // the context is nil a panic will occur. In the future the SDK may create
  8350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8351  // for more information on using Contexts.
  8352  func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) {
  8353  	req, out := c.PhoneNumberValidateRequest(input)
  8354  	req.SetContext(ctx)
  8355  	req.ApplyOptions(opts...)
  8356  	return out, req.Send()
  8357  }
  8358  
  8359  const opPutEventStream = "PutEventStream"
  8360  
  8361  // PutEventStreamRequest generates a "aws/request.Request" representing the
  8362  // client's request for the PutEventStream operation. The "output" return
  8363  // value will be populated with the request's response once the request completes
  8364  // successfully.
  8365  //
  8366  // Use "Send" method on the returned Request to send the API call to the service.
  8367  // the "output" return value is not valid until after Send returns without error.
  8368  //
  8369  // See PutEventStream for more information on using the PutEventStream
  8370  // API call, and error handling.
  8371  //
  8372  // This method is useful when you want to inject custom logic or configuration
  8373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8374  //
  8375  //
  8376  //    // Example sending a request using the PutEventStreamRequest method.
  8377  //    req, resp := client.PutEventStreamRequest(params)
  8378  //
  8379  //    err := req.Send()
  8380  //    if err == nil { // resp is now filled
  8381  //        fmt.Println(resp)
  8382  //    }
  8383  //
  8384  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
  8385  func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) {
  8386  	op := &request.Operation{
  8387  		Name:       opPutEventStream,
  8388  		HTTPMethod: "POST",
  8389  		HTTPPath:   "/v1/apps/{application-id}/eventstream",
  8390  	}
  8391  
  8392  	if input == nil {
  8393  		input = &PutEventStreamInput{}
  8394  	}
  8395  
  8396  	output = &PutEventStreamOutput{}
  8397  	req = c.newRequest(op, input, output)
  8398  	return
  8399  }
  8400  
  8401  // PutEventStream API operation for Amazon Pinpoint.
  8402  //
  8403  // Creates a new event stream for an application or updates the settings of
  8404  // an existing event stream for an application.
  8405  //
  8406  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8407  // with awserr.Error's Code and Message methods to get detailed information about
  8408  // the error.
  8409  //
  8410  // See the AWS API reference guide for Amazon Pinpoint's
  8411  // API operation PutEventStream for usage and error information.
  8412  //
  8413  // Returned Error Types:
  8414  //   * BadRequestException
  8415  //   Provides information about an API request or response.
  8416  //
  8417  //   * InternalServerErrorException
  8418  //   Provides information about an API request or response.
  8419  //
  8420  //   * PayloadTooLargeException
  8421  //   Provides information about an API request or response.
  8422  //
  8423  //   * ForbiddenException
  8424  //   Provides information about an API request or response.
  8425  //
  8426  //   * NotFoundException
  8427  //   Provides information about an API request or response.
  8428  //
  8429  //   * MethodNotAllowedException
  8430  //   Provides information about an API request or response.
  8431  //
  8432  //   * TooManyRequestsException
  8433  //   Provides information about an API request or response.
  8434  //
  8435  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
  8436  func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) {
  8437  	req, out := c.PutEventStreamRequest(input)
  8438  	return out, req.Send()
  8439  }
  8440  
  8441  // PutEventStreamWithContext is the same as PutEventStream with the addition of
  8442  // the ability to pass a context and additional request options.
  8443  //
  8444  // See PutEventStream for details on how to use this API operation.
  8445  //
  8446  // The context must be non-nil and will be used for request cancellation. If
  8447  // the context is nil a panic will occur. In the future the SDK may create
  8448  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8449  // for more information on using Contexts.
  8450  func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) {
  8451  	req, out := c.PutEventStreamRequest(input)
  8452  	req.SetContext(ctx)
  8453  	req.ApplyOptions(opts...)
  8454  	return out, req.Send()
  8455  }
  8456  
  8457  const opPutEvents = "PutEvents"
  8458  
  8459  // PutEventsRequest generates a "aws/request.Request" representing the
  8460  // client's request for the PutEvents operation. The "output" return
  8461  // value will be populated with the request's response once the request completes
  8462  // successfully.
  8463  //
  8464  // Use "Send" method on the returned Request to send the API call to the service.
  8465  // the "output" return value is not valid until after Send returns without error.
  8466  //
  8467  // See PutEvents for more information on using the PutEvents
  8468  // API call, and error handling.
  8469  //
  8470  // This method is useful when you want to inject custom logic or configuration
  8471  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8472  //
  8473  //
  8474  //    // Example sending a request using the PutEventsRequest method.
  8475  //    req, resp := client.PutEventsRequest(params)
  8476  //
  8477  //    err := req.Send()
  8478  //    if err == nil { // resp is now filled
  8479  //        fmt.Println(resp)
  8480  //    }
  8481  //
  8482  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
  8483  func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
  8484  	op := &request.Operation{
  8485  		Name:       opPutEvents,
  8486  		HTTPMethod: "POST",
  8487  		HTTPPath:   "/v1/apps/{application-id}/events",
  8488  	}
  8489  
  8490  	if input == nil {
  8491  		input = &PutEventsInput{}
  8492  	}
  8493  
  8494  	output = &PutEventsOutput{}
  8495  	req = c.newRequest(op, input, output)
  8496  	return
  8497  }
  8498  
  8499  // PutEvents API operation for Amazon Pinpoint.
  8500  //
  8501  // Creates a new event to record for endpoints, or creates or updates endpoint
  8502  // data that existing events are associated with.
  8503  //
  8504  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8505  // with awserr.Error's Code and Message methods to get detailed information about
  8506  // the error.
  8507  //
  8508  // See the AWS API reference guide for Amazon Pinpoint's
  8509  // API operation PutEvents for usage and error information.
  8510  //
  8511  // Returned Error Types:
  8512  //   * BadRequestException
  8513  //   Provides information about an API request or response.
  8514  //
  8515  //   * InternalServerErrorException
  8516  //   Provides information about an API request or response.
  8517  //
  8518  //   * PayloadTooLargeException
  8519  //   Provides information about an API request or response.
  8520  //
  8521  //   * ForbiddenException
  8522  //   Provides information about an API request or response.
  8523  //
  8524  //   * NotFoundException
  8525  //   Provides information about an API request or response.
  8526  //
  8527  //   * MethodNotAllowedException
  8528  //   Provides information about an API request or response.
  8529  //
  8530  //   * TooManyRequestsException
  8531  //   Provides information about an API request or response.
  8532  //
  8533  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
  8534  func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
  8535  	req, out := c.PutEventsRequest(input)
  8536  	return out, req.Send()
  8537  }
  8538  
  8539  // PutEventsWithContext is the same as PutEvents with the addition of
  8540  // the ability to pass a context and additional request options.
  8541  //
  8542  // See PutEvents for details on how to use this API operation.
  8543  //
  8544  // The context must be non-nil and will be used for request cancellation. If
  8545  // the context is nil a panic will occur. In the future the SDK may create
  8546  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8547  // for more information on using Contexts.
  8548  func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
  8549  	req, out := c.PutEventsRequest(input)
  8550  	req.SetContext(ctx)
  8551  	req.ApplyOptions(opts...)
  8552  	return out, req.Send()
  8553  }
  8554  
  8555  const opRemoveAttributes = "RemoveAttributes"
  8556  
  8557  // RemoveAttributesRequest generates a "aws/request.Request" representing the
  8558  // client's request for the RemoveAttributes operation. The "output" return
  8559  // value will be populated with the request's response once the request completes
  8560  // successfully.
  8561  //
  8562  // Use "Send" method on the returned Request to send the API call to the service.
  8563  // the "output" return value is not valid until after Send returns without error.
  8564  //
  8565  // See RemoveAttributes for more information on using the RemoveAttributes
  8566  // API call, and error handling.
  8567  //
  8568  // This method is useful when you want to inject custom logic or configuration
  8569  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8570  //
  8571  //
  8572  //    // Example sending a request using the RemoveAttributesRequest method.
  8573  //    req, resp := client.RemoveAttributesRequest(params)
  8574  //
  8575  //    err := req.Send()
  8576  //    if err == nil { // resp is now filled
  8577  //        fmt.Println(resp)
  8578  //    }
  8579  //
  8580  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
  8581  func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) {
  8582  	op := &request.Operation{
  8583  		Name:       opRemoveAttributes,
  8584  		HTTPMethod: "PUT",
  8585  		HTTPPath:   "/v1/apps/{application-id}/attributes/{attribute-type}",
  8586  	}
  8587  
  8588  	if input == nil {
  8589  		input = &RemoveAttributesInput{}
  8590  	}
  8591  
  8592  	output = &RemoveAttributesOutput{}
  8593  	req = c.newRequest(op, input, output)
  8594  	return
  8595  }
  8596  
  8597  // RemoveAttributes API operation for Amazon Pinpoint.
  8598  //
  8599  // Removes one or more attributes, of the same attribute type, from all the
  8600  // endpoints that are associated with an application.
  8601  //
  8602  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8603  // with awserr.Error's Code and Message methods to get detailed information about
  8604  // the error.
  8605  //
  8606  // See the AWS API reference guide for Amazon Pinpoint's
  8607  // API operation RemoveAttributes for usage and error information.
  8608  //
  8609  // Returned Error Types:
  8610  //   * BadRequestException
  8611  //   Provides information about an API request or response.
  8612  //
  8613  //   * InternalServerErrorException
  8614  //   Provides information about an API request or response.
  8615  //
  8616  //   * PayloadTooLargeException
  8617  //   Provides information about an API request or response.
  8618  //
  8619  //   * ForbiddenException
  8620  //   Provides information about an API request or response.
  8621  //
  8622  //   * NotFoundException
  8623  //   Provides information about an API request or response.
  8624  //
  8625  //   * MethodNotAllowedException
  8626  //   Provides information about an API request or response.
  8627  //
  8628  //   * TooManyRequestsException
  8629  //   Provides information about an API request or response.
  8630  //
  8631  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
  8632  func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) {
  8633  	req, out := c.RemoveAttributesRequest(input)
  8634  	return out, req.Send()
  8635  }
  8636  
  8637  // RemoveAttributesWithContext is the same as RemoveAttributes with the addition of
  8638  // the ability to pass a context and additional request options.
  8639  //
  8640  // See RemoveAttributes for details on how to use this API operation.
  8641  //
  8642  // The context must be non-nil and will be used for request cancellation. If
  8643  // the context is nil a panic will occur. In the future the SDK may create
  8644  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8645  // for more information on using Contexts.
  8646  func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) {
  8647  	req, out := c.RemoveAttributesRequest(input)
  8648  	req.SetContext(ctx)
  8649  	req.ApplyOptions(opts...)
  8650  	return out, req.Send()
  8651  }
  8652  
  8653  const opSendMessages = "SendMessages"
  8654  
  8655  // SendMessagesRequest generates a "aws/request.Request" representing the
  8656  // client's request for the SendMessages operation. The "output" return
  8657  // value will be populated with the request's response once the request completes
  8658  // successfully.
  8659  //
  8660  // Use "Send" method on the returned Request to send the API call to the service.
  8661  // the "output" return value is not valid until after Send returns without error.
  8662  //
  8663  // See SendMessages for more information on using the SendMessages
  8664  // API call, and error handling.
  8665  //
  8666  // This method is useful when you want to inject custom logic or configuration
  8667  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8668  //
  8669  //
  8670  //    // Example sending a request using the SendMessagesRequest method.
  8671  //    req, resp := client.SendMessagesRequest(params)
  8672  //
  8673  //    err := req.Send()
  8674  //    if err == nil { // resp is now filled
  8675  //        fmt.Println(resp)
  8676  //    }
  8677  //
  8678  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
  8679  func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) {
  8680  	op := &request.Operation{
  8681  		Name:       opSendMessages,
  8682  		HTTPMethod: "POST",
  8683  		HTTPPath:   "/v1/apps/{application-id}/messages",
  8684  	}
  8685  
  8686  	if input == nil {
  8687  		input = &SendMessagesInput{}
  8688  	}
  8689  
  8690  	output = &SendMessagesOutput{}
  8691  	req = c.newRequest(op, input, output)
  8692  	return
  8693  }
  8694  
  8695  // SendMessages API operation for Amazon Pinpoint.
  8696  //
  8697  // Creates and sends a direct message.
  8698  //
  8699  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8700  // with awserr.Error's Code and Message methods to get detailed information about
  8701  // the error.
  8702  //
  8703  // See the AWS API reference guide for Amazon Pinpoint's
  8704  // API operation SendMessages for usage and error information.
  8705  //
  8706  // Returned Error Types:
  8707  //   * BadRequestException
  8708  //   Provides information about an API request or response.
  8709  //
  8710  //   * InternalServerErrorException
  8711  //   Provides information about an API request or response.
  8712  //
  8713  //   * PayloadTooLargeException
  8714  //   Provides information about an API request or response.
  8715  //
  8716  //   * ForbiddenException
  8717  //   Provides information about an API request or response.
  8718  //
  8719  //   * NotFoundException
  8720  //   Provides information about an API request or response.
  8721  //
  8722  //   * MethodNotAllowedException
  8723  //   Provides information about an API request or response.
  8724  //
  8725  //   * TooManyRequestsException
  8726  //   Provides information about an API request or response.
  8727  //
  8728  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
  8729  func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) {
  8730  	req, out := c.SendMessagesRequest(input)
  8731  	return out, req.Send()
  8732  }
  8733  
  8734  // SendMessagesWithContext is the same as SendMessages with the addition of
  8735  // the ability to pass a context and additional request options.
  8736  //
  8737  // See SendMessages for details on how to use this API operation.
  8738  //
  8739  // The context must be non-nil and will be used for request cancellation. If
  8740  // the context is nil a panic will occur. In the future the SDK may create
  8741  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8742  // for more information on using Contexts.
  8743  func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) {
  8744  	req, out := c.SendMessagesRequest(input)
  8745  	req.SetContext(ctx)
  8746  	req.ApplyOptions(opts...)
  8747  	return out, req.Send()
  8748  }
  8749  
  8750  const opSendUsersMessages = "SendUsersMessages"
  8751  
  8752  // SendUsersMessagesRequest generates a "aws/request.Request" representing the
  8753  // client's request for the SendUsersMessages operation. The "output" return
  8754  // value will be populated with the request's response once the request completes
  8755  // successfully.
  8756  //
  8757  // Use "Send" method on the returned Request to send the API call to the service.
  8758  // the "output" return value is not valid until after Send returns without error.
  8759  //
  8760  // See SendUsersMessages for more information on using the SendUsersMessages
  8761  // API call, and error handling.
  8762  //
  8763  // This method is useful when you want to inject custom logic or configuration
  8764  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8765  //
  8766  //
  8767  //    // Example sending a request using the SendUsersMessagesRequest method.
  8768  //    req, resp := client.SendUsersMessagesRequest(params)
  8769  //
  8770  //    err := req.Send()
  8771  //    if err == nil { // resp is now filled
  8772  //        fmt.Println(resp)
  8773  //    }
  8774  //
  8775  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
  8776  func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) {
  8777  	op := &request.Operation{
  8778  		Name:       opSendUsersMessages,
  8779  		HTTPMethod: "POST",
  8780  		HTTPPath:   "/v1/apps/{application-id}/users-messages",
  8781  	}
  8782  
  8783  	if input == nil {
  8784  		input = &SendUsersMessagesInput{}
  8785  	}
  8786  
  8787  	output = &SendUsersMessagesOutput{}
  8788  	req = c.newRequest(op, input, output)
  8789  	return
  8790  }
  8791  
  8792  // SendUsersMessages API operation for Amazon Pinpoint.
  8793  //
  8794  // Creates and sends a message to a list of users.
  8795  //
  8796  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8797  // with awserr.Error's Code and Message methods to get detailed information about
  8798  // the error.
  8799  //
  8800  // See the AWS API reference guide for Amazon Pinpoint's
  8801  // API operation SendUsersMessages for usage and error information.
  8802  //
  8803  // Returned Error Types:
  8804  //   * BadRequestException
  8805  //   Provides information about an API request or response.
  8806  //
  8807  //   * InternalServerErrorException
  8808  //   Provides information about an API request or response.
  8809  //
  8810  //   * PayloadTooLargeException
  8811  //   Provides information about an API request or response.
  8812  //
  8813  //   * ForbiddenException
  8814  //   Provides information about an API request or response.
  8815  //
  8816  //   * NotFoundException
  8817  //   Provides information about an API request or response.
  8818  //
  8819  //   * MethodNotAllowedException
  8820  //   Provides information about an API request or response.
  8821  //
  8822  //   * TooManyRequestsException
  8823  //   Provides information about an API request or response.
  8824  //
  8825  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
  8826  func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) {
  8827  	req, out := c.SendUsersMessagesRequest(input)
  8828  	return out, req.Send()
  8829  }
  8830  
  8831  // SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of
  8832  // the ability to pass a context and additional request options.
  8833  //
  8834  // See SendUsersMessages for details on how to use this API operation.
  8835  //
  8836  // The context must be non-nil and will be used for request cancellation. If
  8837  // the context is nil a panic will occur. In the future the SDK may create
  8838  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8839  // for more information on using Contexts.
  8840  func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) {
  8841  	req, out := c.SendUsersMessagesRequest(input)
  8842  	req.SetContext(ctx)
  8843  	req.ApplyOptions(opts...)
  8844  	return out, req.Send()
  8845  }
  8846  
  8847  const opTagResource = "TagResource"
  8848  
  8849  // TagResourceRequest generates a "aws/request.Request" representing the
  8850  // client's request for the TagResource operation. The "output" return
  8851  // value will be populated with the request's response once the request completes
  8852  // successfully.
  8853  //
  8854  // Use "Send" method on the returned Request to send the API call to the service.
  8855  // the "output" return value is not valid until after Send returns without error.
  8856  //
  8857  // See TagResource for more information on using the TagResource
  8858  // API call, and error handling.
  8859  //
  8860  // This method is useful when you want to inject custom logic or configuration
  8861  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8862  //
  8863  //
  8864  //    // Example sending a request using the TagResourceRequest method.
  8865  //    req, resp := client.TagResourceRequest(params)
  8866  //
  8867  //    err := req.Send()
  8868  //    if err == nil { // resp is now filled
  8869  //        fmt.Println(resp)
  8870  //    }
  8871  //
  8872  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
  8873  func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  8874  	op := &request.Operation{
  8875  		Name:       opTagResource,
  8876  		HTTPMethod: "POST",
  8877  		HTTPPath:   "/v1/tags/{resource-arn}",
  8878  	}
  8879  
  8880  	if input == nil {
  8881  		input = &TagResourceInput{}
  8882  	}
  8883  
  8884  	output = &TagResourceOutput{}
  8885  	req = c.newRequest(op, input, output)
  8886  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8887  	return
  8888  }
  8889  
  8890  // TagResource API operation for Amazon Pinpoint.
  8891  //
  8892  // Adds one or more tags (keys and values) to an application, campaign, message
  8893  // template, or segment.
  8894  //
  8895  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8896  // with awserr.Error's Code and Message methods to get detailed information about
  8897  // the error.
  8898  //
  8899  // See the AWS API reference guide for Amazon Pinpoint's
  8900  // API operation TagResource for usage and error information.
  8901  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
  8902  func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  8903  	req, out := c.TagResourceRequest(input)
  8904  	return out, req.Send()
  8905  }
  8906  
  8907  // TagResourceWithContext is the same as TagResource with the addition of
  8908  // the ability to pass a context and additional request options.
  8909  //
  8910  // See TagResource for details on how to use this API operation.
  8911  //
  8912  // The context must be non-nil and will be used for request cancellation. If
  8913  // the context is nil a panic will occur. In the future the SDK may create
  8914  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8915  // for more information on using Contexts.
  8916  func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  8917  	req, out := c.TagResourceRequest(input)
  8918  	req.SetContext(ctx)
  8919  	req.ApplyOptions(opts...)
  8920  	return out, req.Send()
  8921  }
  8922  
  8923  const opUntagResource = "UntagResource"
  8924  
  8925  // UntagResourceRequest generates a "aws/request.Request" representing the
  8926  // client's request for the UntagResource operation. The "output" return
  8927  // value will be populated with the request's response once the request completes
  8928  // successfully.
  8929  //
  8930  // Use "Send" method on the returned Request to send the API call to the service.
  8931  // the "output" return value is not valid until after Send returns without error.
  8932  //
  8933  // See UntagResource for more information on using the UntagResource
  8934  // API call, and error handling.
  8935  //
  8936  // This method is useful when you want to inject custom logic or configuration
  8937  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8938  //
  8939  //
  8940  //    // Example sending a request using the UntagResourceRequest method.
  8941  //    req, resp := client.UntagResourceRequest(params)
  8942  //
  8943  //    err := req.Send()
  8944  //    if err == nil { // resp is now filled
  8945  //        fmt.Println(resp)
  8946  //    }
  8947  //
  8948  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
  8949  func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  8950  	op := &request.Operation{
  8951  		Name:       opUntagResource,
  8952  		HTTPMethod: "DELETE",
  8953  		HTTPPath:   "/v1/tags/{resource-arn}",
  8954  	}
  8955  
  8956  	if input == nil {
  8957  		input = &UntagResourceInput{}
  8958  	}
  8959  
  8960  	output = &UntagResourceOutput{}
  8961  	req = c.newRequest(op, input, output)
  8962  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8963  	return
  8964  }
  8965  
  8966  // UntagResource API operation for Amazon Pinpoint.
  8967  //
  8968  // Removes one or more tags (keys and values) from an application, campaign,
  8969  // message template, or segment.
  8970  //
  8971  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8972  // with awserr.Error's Code and Message methods to get detailed information about
  8973  // the error.
  8974  //
  8975  // See the AWS API reference guide for Amazon Pinpoint's
  8976  // API operation UntagResource for usage and error information.
  8977  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
  8978  func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  8979  	req, out := c.UntagResourceRequest(input)
  8980  	return out, req.Send()
  8981  }
  8982  
  8983  // UntagResourceWithContext is the same as UntagResource with the addition of
  8984  // the ability to pass a context and additional request options.
  8985  //
  8986  // See UntagResource for details on how to use this API operation.
  8987  //
  8988  // The context must be non-nil and will be used for request cancellation. If
  8989  // the context is nil a panic will occur. In the future the SDK may create
  8990  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8991  // for more information on using Contexts.
  8992  func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  8993  	req, out := c.UntagResourceRequest(input)
  8994  	req.SetContext(ctx)
  8995  	req.ApplyOptions(opts...)
  8996  	return out, req.Send()
  8997  }
  8998  
  8999  const opUpdateAdmChannel = "UpdateAdmChannel"
  9000  
  9001  // UpdateAdmChannelRequest generates a "aws/request.Request" representing the
  9002  // client's request for the UpdateAdmChannel operation. The "output" return
  9003  // value will be populated with the request's response once the request completes
  9004  // successfully.
  9005  //
  9006  // Use "Send" method on the returned Request to send the API call to the service.
  9007  // the "output" return value is not valid until after Send returns without error.
  9008  //
  9009  // See UpdateAdmChannel for more information on using the UpdateAdmChannel
  9010  // API call, and error handling.
  9011  //
  9012  // This method is useful when you want to inject custom logic or configuration
  9013  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9014  //
  9015  //
  9016  //    // Example sending a request using the UpdateAdmChannelRequest method.
  9017  //    req, resp := client.UpdateAdmChannelRequest(params)
  9018  //
  9019  //    err := req.Send()
  9020  //    if err == nil { // resp is now filled
  9021  //        fmt.Println(resp)
  9022  //    }
  9023  //
  9024  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
  9025  func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) {
  9026  	op := &request.Operation{
  9027  		Name:       opUpdateAdmChannel,
  9028  		HTTPMethod: "PUT",
  9029  		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
  9030  	}
  9031  
  9032  	if input == nil {
  9033  		input = &UpdateAdmChannelInput{}
  9034  	}
  9035  
  9036  	output = &UpdateAdmChannelOutput{}
  9037  	req = c.newRequest(op, input, output)
  9038  	return
  9039  }
  9040  
  9041  // UpdateAdmChannel API operation for Amazon Pinpoint.
  9042  //
  9043  // Enables the ADM channel for an application or updates the status and settings
  9044  // of the ADM channel for an application.
  9045  //
  9046  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9047  // with awserr.Error's Code and Message methods to get detailed information about
  9048  // the error.
  9049  //
  9050  // See the AWS API reference guide for Amazon Pinpoint's
  9051  // API operation UpdateAdmChannel for usage and error information.
  9052  //
  9053  // Returned Error Types:
  9054  //   * BadRequestException
  9055  //   Provides information about an API request or response.
  9056  //
  9057  //   * InternalServerErrorException
  9058  //   Provides information about an API request or response.
  9059  //
  9060  //   * PayloadTooLargeException
  9061  //   Provides information about an API request or response.
  9062  //
  9063  //   * ForbiddenException
  9064  //   Provides information about an API request or response.
  9065  //
  9066  //   * NotFoundException
  9067  //   Provides information about an API request or response.
  9068  //
  9069  //   * MethodNotAllowedException
  9070  //   Provides information about an API request or response.
  9071  //
  9072  //   * TooManyRequestsException
  9073  //   Provides information about an API request or response.
  9074  //
  9075  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
  9076  func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) {
  9077  	req, out := c.UpdateAdmChannelRequest(input)
  9078  	return out, req.Send()
  9079  }
  9080  
  9081  // UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of
  9082  // the ability to pass a context and additional request options.
  9083  //
  9084  // See UpdateAdmChannel for details on how to use this API operation.
  9085  //
  9086  // The context must be non-nil and will be used for request cancellation. If
  9087  // the context is nil a panic will occur. In the future the SDK may create
  9088  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9089  // for more information on using Contexts.
  9090  func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) {
  9091  	req, out := c.UpdateAdmChannelRequest(input)
  9092  	req.SetContext(ctx)
  9093  	req.ApplyOptions(opts...)
  9094  	return out, req.Send()
  9095  }
  9096  
  9097  const opUpdateApnsChannel = "UpdateApnsChannel"
  9098  
  9099  // UpdateApnsChannelRequest generates a "aws/request.Request" representing the
  9100  // client's request for the UpdateApnsChannel operation. The "output" return
  9101  // value will be populated with the request's response once the request completes
  9102  // successfully.
  9103  //
  9104  // Use "Send" method on the returned Request to send the API call to the service.
  9105  // the "output" return value is not valid until after Send returns without error.
  9106  //
  9107  // See UpdateApnsChannel for more information on using the UpdateApnsChannel
  9108  // API call, and error handling.
  9109  //
  9110  // This method is useful when you want to inject custom logic or configuration
  9111  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9112  //
  9113  //
  9114  //    // Example sending a request using the UpdateApnsChannelRequest method.
  9115  //    req, resp := client.UpdateApnsChannelRequest(params)
  9116  //
  9117  //    err := req.Send()
  9118  //    if err == nil { // resp is now filled
  9119  //        fmt.Println(resp)
  9120  //    }
  9121  //
  9122  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
  9123  func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) {
  9124  	op := &request.Operation{
  9125  		Name:       opUpdateApnsChannel,
  9126  		HTTPMethod: "PUT",
  9127  		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
  9128  	}
  9129  
  9130  	if input == nil {
  9131  		input = &UpdateApnsChannelInput{}
  9132  	}
  9133  
  9134  	output = &UpdateApnsChannelOutput{}
  9135  	req = c.newRequest(op, input, output)
  9136  	return
  9137  }
  9138  
  9139  // UpdateApnsChannel API operation for Amazon Pinpoint.
  9140  //
  9141  // Enables the APNs channel for an application or updates the status and settings
  9142  // of the APNs channel for an application.
  9143  //
  9144  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9145  // with awserr.Error's Code and Message methods to get detailed information about
  9146  // the error.
  9147  //
  9148  // See the AWS API reference guide for Amazon Pinpoint's
  9149  // API operation UpdateApnsChannel for usage and error information.
  9150  //
  9151  // Returned Error Types:
  9152  //   * BadRequestException
  9153  //   Provides information about an API request or response.
  9154  //
  9155  //   * InternalServerErrorException
  9156  //   Provides information about an API request or response.
  9157  //
  9158  //   * PayloadTooLargeException
  9159  //   Provides information about an API request or response.
  9160  //
  9161  //   * ForbiddenException
  9162  //   Provides information about an API request or response.
  9163  //
  9164  //   * NotFoundException
  9165  //   Provides information about an API request or response.
  9166  //
  9167  //   * MethodNotAllowedException
  9168  //   Provides information about an API request or response.
  9169  //
  9170  //   * TooManyRequestsException
  9171  //   Provides information about an API request or response.
  9172  //
  9173  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
  9174  func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) {
  9175  	req, out := c.UpdateApnsChannelRequest(input)
  9176  	return out, req.Send()
  9177  }
  9178  
  9179  // UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of
  9180  // the ability to pass a context and additional request options.
  9181  //
  9182  // See UpdateApnsChannel for details on how to use this API operation.
  9183  //
  9184  // The context must be non-nil and will be used for request cancellation. If
  9185  // the context is nil a panic will occur. In the future the SDK may create
  9186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9187  // for more information on using Contexts.
  9188  func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) {
  9189  	req, out := c.UpdateApnsChannelRequest(input)
  9190  	req.SetContext(ctx)
  9191  	req.ApplyOptions(opts...)
  9192  	return out, req.Send()
  9193  }
  9194  
  9195  const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel"
  9196  
  9197  // UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the
  9198  // client's request for the UpdateApnsSandboxChannel operation. The "output" return
  9199  // value will be populated with the request's response once the request completes
  9200  // successfully.
  9201  //
  9202  // Use "Send" method on the returned Request to send the API call to the service.
  9203  // the "output" return value is not valid until after Send returns without error.
  9204  //
  9205  // See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel
  9206  // API call, and error handling.
  9207  //
  9208  // This method is useful when you want to inject custom logic or configuration
  9209  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9210  //
  9211  //
  9212  //    // Example sending a request using the UpdateApnsSandboxChannelRequest method.
  9213  //    req, resp := client.UpdateApnsSandboxChannelRequest(params)
  9214  //
  9215  //    err := req.Send()
  9216  //    if err == nil { // resp is now filled
  9217  //        fmt.Println(resp)
  9218  //    }
  9219  //
  9220  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
  9221  func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) {
  9222  	op := &request.Operation{
  9223  		Name:       opUpdateApnsSandboxChannel,
  9224  		HTTPMethod: "PUT",
  9225  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
  9226  	}
  9227  
  9228  	if input == nil {
  9229  		input = &UpdateApnsSandboxChannelInput{}
  9230  	}
  9231  
  9232  	output = &UpdateApnsSandboxChannelOutput{}
  9233  	req = c.newRequest(op, input, output)
  9234  	return
  9235  }
  9236  
  9237  // UpdateApnsSandboxChannel API operation for Amazon Pinpoint.
  9238  //
  9239  // Enables the APNs sandbox channel for an application or updates the status
  9240  // and settings of the APNs sandbox channel for an application.
  9241  //
  9242  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9243  // with awserr.Error's Code and Message methods to get detailed information about
  9244  // the error.
  9245  //
  9246  // See the AWS API reference guide for Amazon Pinpoint's
  9247  // API operation UpdateApnsSandboxChannel for usage and error information.
  9248  //
  9249  // Returned Error Types:
  9250  //   * BadRequestException
  9251  //   Provides information about an API request or response.
  9252  //
  9253  //   * InternalServerErrorException
  9254  //   Provides information about an API request or response.
  9255  //
  9256  //   * PayloadTooLargeException
  9257  //   Provides information about an API request or response.
  9258  //
  9259  //   * ForbiddenException
  9260  //   Provides information about an API request or response.
  9261  //
  9262  //   * NotFoundException
  9263  //   Provides information about an API request or response.
  9264  //
  9265  //   * MethodNotAllowedException
  9266  //   Provides information about an API request or response.
  9267  //
  9268  //   * TooManyRequestsException
  9269  //   Provides information about an API request or response.
  9270  //
  9271  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
  9272  func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) {
  9273  	req, out := c.UpdateApnsSandboxChannelRequest(input)
  9274  	return out, req.Send()
  9275  }
  9276  
  9277  // UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of
  9278  // the ability to pass a context and additional request options.
  9279  //
  9280  // See UpdateApnsSandboxChannel for details on how to use this API operation.
  9281  //
  9282  // The context must be non-nil and will be used for request cancellation. If
  9283  // the context is nil a panic will occur. In the future the SDK may create
  9284  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9285  // for more information on using Contexts.
  9286  func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) {
  9287  	req, out := c.UpdateApnsSandboxChannelRequest(input)
  9288  	req.SetContext(ctx)
  9289  	req.ApplyOptions(opts...)
  9290  	return out, req.Send()
  9291  }
  9292  
  9293  const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel"
  9294  
  9295  // UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the
  9296  // client's request for the UpdateApnsVoipChannel operation. The "output" return
  9297  // value will be populated with the request's response once the request completes
  9298  // successfully.
  9299  //
  9300  // Use "Send" method on the returned Request to send the API call to the service.
  9301  // the "output" return value is not valid until after Send returns without error.
  9302  //
  9303  // See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel
  9304  // API call, and error handling.
  9305  //
  9306  // This method is useful when you want to inject custom logic or configuration
  9307  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9308  //
  9309  //
  9310  //    // Example sending a request using the UpdateApnsVoipChannelRequest method.
  9311  //    req, resp := client.UpdateApnsVoipChannelRequest(params)
  9312  //
  9313  //    err := req.Send()
  9314  //    if err == nil { // resp is now filled
  9315  //        fmt.Println(resp)
  9316  //    }
  9317  //
  9318  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
  9319  func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) {
  9320  	op := &request.Operation{
  9321  		Name:       opUpdateApnsVoipChannel,
  9322  		HTTPMethod: "PUT",
  9323  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
  9324  	}
  9325  
  9326  	if input == nil {
  9327  		input = &UpdateApnsVoipChannelInput{}
  9328  	}
  9329  
  9330  	output = &UpdateApnsVoipChannelOutput{}
  9331  	req = c.newRequest(op, input, output)
  9332  	return
  9333  }
  9334  
  9335  // UpdateApnsVoipChannel API operation for Amazon Pinpoint.
  9336  //
  9337  // Enables the APNs VoIP channel for an application or updates the status and
  9338  // settings of the APNs VoIP channel for an application.
  9339  //
  9340  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9341  // with awserr.Error's Code and Message methods to get detailed information about
  9342  // the error.
  9343  //
  9344  // See the AWS API reference guide for Amazon Pinpoint's
  9345  // API operation UpdateApnsVoipChannel for usage and error information.
  9346  //
  9347  // Returned Error Types:
  9348  //   * BadRequestException
  9349  //   Provides information about an API request or response.
  9350  //
  9351  //   * InternalServerErrorException
  9352  //   Provides information about an API request or response.
  9353  //
  9354  //   * PayloadTooLargeException
  9355  //   Provides information about an API request or response.
  9356  //
  9357  //   * ForbiddenException
  9358  //   Provides information about an API request or response.
  9359  //
  9360  //   * NotFoundException
  9361  //   Provides information about an API request or response.
  9362  //
  9363  //   * MethodNotAllowedException
  9364  //   Provides information about an API request or response.
  9365  //
  9366  //   * TooManyRequestsException
  9367  //   Provides information about an API request or response.
  9368  //
  9369  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
  9370  func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) {
  9371  	req, out := c.UpdateApnsVoipChannelRequest(input)
  9372  	return out, req.Send()
  9373  }
  9374  
  9375  // UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of
  9376  // the ability to pass a context and additional request options.
  9377  //
  9378  // See UpdateApnsVoipChannel for details on how to use this API operation.
  9379  //
  9380  // The context must be non-nil and will be used for request cancellation. If
  9381  // the context is nil a panic will occur. In the future the SDK may create
  9382  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9383  // for more information on using Contexts.
  9384  func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) {
  9385  	req, out := c.UpdateApnsVoipChannelRequest(input)
  9386  	req.SetContext(ctx)
  9387  	req.ApplyOptions(opts...)
  9388  	return out, req.Send()
  9389  }
  9390  
  9391  const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel"
  9392  
  9393  // UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
  9394  // client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return
  9395  // value will be populated with the request's response once the request completes
  9396  // successfully.
  9397  //
  9398  // Use "Send" method on the returned Request to send the API call to the service.
  9399  // the "output" return value is not valid until after Send returns without error.
  9400  //
  9401  // See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel
  9402  // API call, and error handling.
  9403  //
  9404  // This method is useful when you want to inject custom logic or configuration
  9405  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9406  //
  9407  //
  9408  //    // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method.
  9409  //    req, resp := client.UpdateApnsVoipSandboxChannelRequest(params)
  9410  //
  9411  //    err := req.Send()
  9412  //    if err == nil { // resp is now filled
  9413  //        fmt.Println(resp)
  9414  //    }
  9415  //
  9416  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
  9417  func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) {
  9418  	op := &request.Operation{
  9419  		Name:       opUpdateApnsVoipSandboxChannel,
  9420  		HTTPMethod: "PUT",
  9421  		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
  9422  	}
  9423  
  9424  	if input == nil {
  9425  		input = &UpdateApnsVoipSandboxChannelInput{}
  9426  	}
  9427  
  9428  	output = &UpdateApnsVoipSandboxChannelOutput{}
  9429  	req = c.newRequest(op, input, output)
  9430  	return
  9431  }
  9432  
  9433  // UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint.
  9434  //
  9435  // Enables the APNs VoIP sandbox channel for an application or updates the status
  9436  // and settings of the APNs VoIP sandbox channel for an application.
  9437  //
  9438  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9439  // with awserr.Error's Code and Message methods to get detailed information about
  9440  // the error.
  9441  //
  9442  // See the AWS API reference guide for Amazon Pinpoint's
  9443  // API operation UpdateApnsVoipSandboxChannel for usage and error information.
  9444  //
  9445  // Returned Error Types:
  9446  //   * BadRequestException
  9447  //   Provides information about an API request or response.
  9448  //
  9449  //   * InternalServerErrorException
  9450  //   Provides information about an API request or response.
  9451  //
  9452  //   * PayloadTooLargeException
  9453  //   Provides information about an API request or response.
  9454  //
  9455  //   * ForbiddenException
  9456  //   Provides information about an API request or response.
  9457  //
  9458  //   * NotFoundException
  9459  //   Provides information about an API request or response.
  9460  //
  9461  //   * MethodNotAllowedException
  9462  //   Provides information about an API request or response.
  9463  //
  9464  //   * TooManyRequestsException
  9465  //   Provides information about an API request or response.
  9466  //
  9467  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
  9468  func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) {
  9469  	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
  9470  	return out, req.Send()
  9471  }
  9472  
  9473  // UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of
  9474  // the ability to pass a context and additional request options.
  9475  //
  9476  // See UpdateApnsVoipSandboxChannel for details on how to use this API operation.
  9477  //
  9478  // The context must be non-nil and will be used for request cancellation. If
  9479  // the context is nil a panic will occur. In the future the SDK may create
  9480  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9481  // for more information on using Contexts.
  9482  func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) {
  9483  	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
  9484  	req.SetContext(ctx)
  9485  	req.ApplyOptions(opts...)
  9486  	return out, req.Send()
  9487  }
  9488  
  9489  const opUpdateApplicationSettings = "UpdateApplicationSettings"
  9490  
  9491  // UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the
  9492  // client's request for the UpdateApplicationSettings operation. The "output" return
  9493  // value will be populated with the request's response once the request completes
  9494  // successfully.
  9495  //
  9496  // Use "Send" method on the returned Request to send the API call to the service.
  9497  // the "output" return value is not valid until after Send returns without error.
  9498  //
  9499  // See UpdateApplicationSettings for more information on using the UpdateApplicationSettings
  9500  // API call, and error handling.
  9501  //
  9502  // This method is useful when you want to inject custom logic or configuration
  9503  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9504  //
  9505  //
  9506  //    // Example sending a request using the UpdateApplicationSettingsRequest method.
  9507  //    req, resp := client.UpdateApplicationSettingsRequest(params)
  9508  //
  9509  //    err := req.Send()
  9510  //    if err == nil { // resp is now filled
  9511  //        fmt.Println(resp)
  9512  //    }
  9513  //
  9514  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
  9515  func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) {
  9516  	op := &request.Operation{
  9517  		Name:       opUpdateApplicationSettings,
  9518  		HTTPMethod: "PUT",
  9519  		HTTPPath:   "/v1/apps/{application-id}/settings",
  9520  	}
  9521  
  9522  	if input == nil {
  9523  		input = &UpdateApplicationSettingsInput{}
  9524  	}
  9525  
  9526  	output = &UpdateApplicationSettingsOutput{}
  9527  	req = c.newRequest(op, input, output)
  9528  	return
  9529  }
  9530  
  9531  // UpdateApplicationSettings API operation for Amazon Pinpoint.
  9532  //
  9533  // Updates the settings for an application.
  9534  //
  9535  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9536  // with awserr.Error's Code and Message methods to get detailed information about
  9537  // the error.
  9538  //
  9539  // See the AWS API reference guide for Amazon Pinpoint's
  9540  // API operation UpdateApplicationSettings for usage and error information.
  9541  //
  9542  // Returned Error Types:
  9543  //   * BadRequestException
  9544  //   Provides information about an API request or response.
  9545  //
  9546  //   * InternalServerErrorException
  9547  //   Provides information about an API request or response.
  9548  //
  9549  //   * PayloadTooLargeException
  9550  //   Provides information about an API request or response.
  9551  //
  9552  //   * ForbiddenException
  9553  //   Provides information about an API request or response.
  9554  //
  9555  //   * NotFoundException
  9556  //   Provides information about an API request or response.
  9557  //
  9558  //   * MethodNotAllowedException
  9559  //   Provides information about an API request or response.
  9560  //
  9561  //   * TooManyRequestsException
  9562  //   Provides information about an API request or response.
  9563  //
  9564  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
  9565  func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) {
  9566  	req, out := c.UpdateApplicationSettingsRequest(input)
  9567  	return out, req.Send()
  9568  }
  9569  
  9570  // UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of
  9571  // the ability to pass a context and additional request options.
  9572  //
  9573  // See UpdateApplicationSettings for details on how to use this API operation.
  9574  //
  9575  // The context must be non-nil and will be used for request cancellation. If
  9576  // the context is nil a panic will occur. In the future the SDK may create
  9577  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9578  // for more information on using Contexts.
  9579  func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) {
  9580  	req, out := c.UpdateApplicationSettingsRequest(input)
  9581  	req.SetContext(ctx)
  9582  	req.ApplyOptions(opts...)
  9583  	return out, req.Send()
  9584  }
  9585  
  9586  const opUpdateBaiduChannel = "UpdateBaiduChannel"
  9587  
  9588  // UpdateBaiduChannelRequest generates a "aws/request.Request" representing the
  9589  // client's request for the UpdateBaiduChannel operation. The "output" return
  9590  // value will be populated with the request's response once the request completes
  9591  // successfully.
  9592  //
  9593  // Use "Send" method on the returned Request to send the API call to the service.
  9594  // the "output" return value is not valid until after Send returns without error.
  9595  //
  9596  // See UpdateBaiduChannel for more information on using the UpdateBaiduChannel
  9597  // API call, and error handling.
  9598  //
  9599  // This method is useful when you want to inject custom logic or configuration
  9600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9601  //
  9602  //
  9603  //    // Example sending a request using the UpdateBaiduChannelRequest method.
  9604  //    req, resp := client.UpdateBaiduChannelRequest(params)
  9605  //
  9606  //    err := req.Send()
  9607  //    if err == nil { // resp is now filled
  9608  //        fmt.Println(resp)
  9609  //    }
  9610  //
  9611  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
  9612  func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) {
  9613  	op := &request.Operation{
  9614  		Name:       opUpdateBaiduChannel,
  9615  		HTTPMethod: "PUT",
  9616  		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
  9617  	}
  9618  
  9619  	if input == nil {
  9620  		input = &UpdateBaiduChannelInput{}
  9621  	}
  9622  
  9623  	output = &UpdateBaiduChannelOutput{}
  9624  	req = c.newRequest(op, input, output)
  9625  	return
  9626  }
  9627  
  9628  // UpdateBaiduChannel API operation for Amazon Pinpoint.
  9629  //
  9630  // Enables the Baidu channel for an application or updates the status and settings
  9631  // of the Baidu channel for an application.
  9632  //
  9633  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9634  // with awserr.Error's Code and Message methods to get detailed information about
  9635  // the error.
  9636  //
  9637  // See the AWS API reference guide for Amazon Pinpoint's
  9638  // API operation UpdateBaiduChannel for usage and error information.
  9639  //
  9640  // Returned Error Types:
  9641  //   * BadRequestException
  9642  //   Provides information about an API request or response.
  9643  //
  9644  //   * InternalServerErrorException
  9645  //   Provides information about an API request or response.
  9646  //
  9647  //   * PayloadTooLargeException
  9648  //   Provides information about an API request or response.
  9649  //
  9650  //   * ForbiddenException
  9651  //   Provides information about an API request or response.
  9652  //
  9653  //   * NotFoundException
  9654  //   Provides information about an API request or response.
  9655  //
  9656  //   * MethodNotAllowedException
  9657  //   Provides information about an API request or response.
  9658  //
  9659  //   * TooManyRequestsException
  9660  //   Provides information about an API request or response.
  9661  //
  9662  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
  9663  func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) {
  9664  	req, out := c.UpdateBaiduChannelRequest(input)
  9665  	return out, req.Send()
  9666  }
  9667  
  9668  // UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of
  9669  // the ability to pass a context and additional request options.
  9670  //
  9671  // See UpdateBaiduChannel for details on how to use this API operation.
  9672  //
  9673  // The context must be non-nil and will be used for request cancellation. If
  9674  // the context is nil a panic will occur. In the future the SDK may create
  9675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9676  // for more information on using Contexts.
  9677  func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) {
  9678  	req, out := c.UpdateBaiduChannelRequest(input)
  9679  	req.SetContext(ctx)
  9680  	req.ApplyOptions(opts...)
  9681  	return out, req.Send()
  9682  }
  9683  
  9684  const opUpdateCampaign = "UpdateCampaign"
  9685  
  9686  // UpdateCampaignRequest generates a "aws/request.Request" representing the
  9687  // client's request for the UpdateCampaign operation. The "output" return
  9688  // value will be populated with the request's response once the request completes
  9689  // successfully.
  9690  //
  9691  // Use "Send" method on the returned Request to send the API call to the service.
  9692  // the "output" return value is not valid until after Send returns without error.
  9693  //
  9694  // See UpdateCampaign for more information on using the UpdateCampaign
  9695  // API call, and error handling.
  9696  //
  9697  // This method is useful when you want to inject custom logic or configuration
  9698  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9699  //
  9700  //
  9701  //    // Example sending a request using the UpdateCampaignRequest method.
  9702  //    req, resp := client.UpdateCampaignRequest(params)
  9703  //
  9704  //    err := req.Send()
  9705  //    if err == nil { // resp is now filled
  9706  //        fmt.Println(resp)
  9707  //    }
  9708  //
  9709  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
  9710  func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
  9711  	op := &request.Operation{
  9712  		Name:       opUpdateCampaign,
  9713  		HTTPMethod: "PUT",
  9714  		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
  9715  	}
  9716  
  9717  	if input == nil {
  9718  		input = &UpdateCampaignInput{}
  9719  	}
  9720  
  9721  	output = &UpdateCampaignOutput{}
  9722  	req = c.newRequest(op, input, output)
  9723  	return
  9724  }
  9725  
  9726  // UpdateCampaign API operation for Amazon Pinpoint.
  9727  //
  9728  // Updates the configuration and other settings for a campaign.
  9729  //
  9730  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9731  // with awserr.Error's Code and Message methods to get detailed information about
  9732  // the error.
  9733  //
  9734  // See the AWS API reference guide for Amazon Pinpoint's
  9735  // API operation UpdateCampaign for usage and error information.
  9736  //
  9737  // Returned Error Types:
  9738  //   * BadRequestException
  9739  //   Provides information about an API request or response.
  9740  //
  9741  //   * InternalServerErrorException
  9742  //   Provides information about an API request or response.
  9743  //
  9744  //   * PayloadTooLargeException
  9745  //   Provides information about an API request or response.
  9746  //
  9747  //   * ForbiddenException
  9748  //   Provides information about an API request or response.
  9749  //
  9750  //   * NotFoundException
  9751  //   Provides information about an API request or response.
  9752  //
  9753  //   * MethodNotAllowedException
  9754  //   Provides information about an API request or response.
  9755  //
  9756  //   * TooManyRequestsException
  9757  //   Provides information about an API request or response.
  9758  //
  9759  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
  9760  func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
  9761  	req, out := c.UpdateCampaignRequest(input)
  9762  	return out, req.Send()
  9763  }
  9764  
  9765  // UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
  9766  // the ability to pass a context and additional request options.
  9767  //
  9768  // See UpdateCampaign for details on how to use this API operation.
  9769  //
  9770  // The context must be non-nil and will be used for request cancellation. If
  9771  // the context is nil a panic will occur. In the future the SDK may create
  9772  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9773  // for more information on using Contexts.
  9774  func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
  9775  	req, out := c.UpdateCampaignRequest(input)
  9776  	req.SetContext(ctx)
  9777  	req.ApplyOptions(opts...)
  9778  	return out, req.Send()
  9779  }
  9780  
  9781  const opUpdateEmailChannel = "UpdateEmailChannel"
  9782  
  9783  // UpdateEmailChannelRequest generates a "aws/request.Request" representing the
  9784  // client's request for the UpdateEmailChannel operation. The "output" return
  9785  // value will be populated with the request's response once the request completes
  9786  // successfully.
  9787  //
  9788  // Use "Send" method on the returned Request to send the API call to the service.
  9789  // the "output" return value is not valid until after Send returns without error.
  9790  //
  9791  // See UpdateEmailChannel for more information on using the UpdateEmailChannel
  9792  // API call, and error handling.
  9793  //
  9794  // This method is useful when you want to inject custom logic or configuration
  9795  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9796  //
  9797  //
  9798  //    // Example sending a request using the UpdateEmailChannelRequest method.
  9799  //    req, resp := client.UpdateEmailChannelRequest(params)
  9800  //
  9801  //    err := req.Send()
  9802  //    if err == nil { // resp is now filled
  9803  //        fmt.Println(resp)
  9804  //    }
  9805  //
  9806  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
  9807  func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) {
  9808  	op := &request.Operation{
  9809  		Name:       opUpdateEmailChannel,
  9810  		HTTPMethod: "PUT",
  9811  		HTTPPath:   "/v1/apps/{application-id}/channels/email",
  9812  	}
  9813  
  9814  	if input == nil {
  9815  		input = &UpdateEmailChannelInput{}
  9816  	}
  9817  
  9818  	output = &UpdateEmailChannelOutput{}
  9819  	req = c.newRequest(op, input, output)
  9820  	return
  9821  }
  9822  
  9823  // UpdateEmailChannel API operation for Amazon Pinpoint.
  9824  //
  9825  // Enables the email channel for an application or updates the status and settings
  9826  // of the email channel for an application.
  9827  //
  9828  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9829  // with awserr.Error's Code and Message methods to get detailed information about
  9830  // the error.
  9831  //
  9832  // See the AWS API reference guide for Amazon Pinpoint's
  9833  // API operation UpdateEmailChannel for usage and error information.
  9834  //
  9835  // Returned Error Types:
  9836  //   * BadRequestException
  9837  //   Provides information about an API request or response.
  9838  //
  9839  //   * InternalServerErrorException
  9840  //   Provides information about an API request or response.
  9841  //
  9842  //   * PayloadTooLargeException
  9843  //   Provides information about an API request or response.
  9844  //
  9845  //   * ForbiddenException
  9846  //   Provides information about an API request or response.
  9847  //
  9848  //   * NotFoundException
  9849  //   Provides information about an API request or response.
  9850  //
  9851  //   * MethodNotAllowedException
  9852  //   Provides information about an API request or response.
  9853  //
  9854  //   * TooManyRequestsException
  9855  //   Provides information about an API request or response.
  9856  //
  9857  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
  9858  func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) {
  9859  	req, out := c.UpdateEmailChannelRequest(input)
  9860  	return out, req.Send()
  9861  }
  9862  
  9863  // UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of
  9864  // the ability to pass a context and additional request options.
  9865  //
  9866  // See UpdateEmailChannel for details on how to use this API operation.
  9867  //
  9868  // The context must be non-nil and will be used for request cancellation. If
  9869  // the context is nil a panic will occur. In the future the SDK may create
  9870  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9871  // for more information on using Contexts.
  9872  func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) {
  9873  	req, out := c.UpdateEmailChannelRequest(input)
  9874  	req.SetContext(ctx)
  9875  	req.ApplyOptions(opts...)
  9876  	return out, req.Send()
  9877  }
  9878  
  9879  const opUpdateEmailTemplate = "UpdateEmailTemplate"
  9880  
  9881  // UpdateEmailTemplateRequest generates a "aws/request.Request" representing the
  9882  // client's request for the UpdateEmailTemplate operation. The "output" return
  9883  // value will be populated with the request's response once the request completes
  9884  // successfully.
  9885  //
  9886  // Use "Send" method on the returned Request to send the API call to the service.
  9887  // the "output" return value is not valid until after Send returns without error.
  9888  //
  9889  // See UpdateEmailTemplate for more information on using the UpdateEmailTemplate
  9890  // API call, and error handling.
  9891  //
  9892  // This method is useful when you want to inject custom logic or configuration
  9893  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9894  //
  9895  //
  9896  //    // Example sending a request using the UpdateEmailTemplateRequest method.
  9897  //    req, resp := client.UpdateEmailTemplateRequest(params)
  9898  //
  9899  //    err := req.Send()
  9900  //    if err == nil { // resp is now filled
  9901  //        fmt.Println(resp)
  9902  //    }
  9903  //
  9904  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
  9905  func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) {
  9906  	op := &request.Operation{
  9907  		Name:       opUpdateEmailTemplate,
  9908  		HTTPMethod: "PUT",
  9909  		HTTPPath:   "/v1/templates/{template-name}/email",
  9910  	}
  9911  
  9912  	if input == nil {
  9913  		input = &UpdateEmailTemplateInput{}
  9914  	}
  9915  
  9916  	output = &UpdateEmailTemplateOutput{}
  9917  	req = c.newRequest(op, input, output)
  9918  	return
  9919  }
  9920  
  9921  // UpdateEmailTemplate API operation for Amazon Pinpoint.
  9922  //
  9923  // Updates an existing message template for messages that are sent through the
  9924  // email channel.
  9925  //
  9926  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9927  // with awserr.Error's Code and Message methods to get detailed information about
  9928  // the error.
  9929  //
  9930  // See the AWS API reference guide for Amazon Pinpoint's
  9931  // API operation UpdateEmailTemplate for usage and error information.
  9932  //
  9933  // Returned Error Types:
  9934  //   * BadRequestException
  9935  //   Provides information about an API request or response.
  9936  //
  9937  //   * InternalServerErrorException
  9938  //   Provides information about an API request or response.
  9939  //
  9940  //   * PayloadTooLargeException
  9941  //   Provides information about an API request or response.
  9942  //
  9943  //   * ForbiddenException
  9944  //   Provides information about an API request or response.
  9945  //
  9946  //   * NotFoundException
  9947  //   Provides information about an API request or response.
  9948  //
  9949  //   * MethodNotAllowedException
  9950  //   Provides information about an API request or response.
  9951  //
  9952  //   * TooManyRequestsException
  9953  //   Provides information about an API request or response.
  9954  //
  9955  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
  9956  func (c *Pinpoint) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) {
  9957  	req, out := c.UpdateEmailTemplateRequest(input)
  9958  	return out, req.Send()
  9959  }
  9960  
  9961  // UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of
  9962  // the ability to pass a context and additional request options.
  9963  //
  9964  // See UpdateEmailTemplate for details on how to use this API operation.
  9965  //
  9966  // The context must be non-nil and will be used for request cancellation. If
  9967  // the context is nil a panic will occur. In the future the SDK may create
  9968  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9969  // for more information on using Contexts.
  9970  func (c *Pinpoint) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) {
  9971  	req, out := c.UpdateEmailTemplateRequest(input)
  9972  	req.SetContext(ctx)
  9973  	req.ApplyOptions(opts...)
  9974  	return out, req.Send()
  9975  }
  9976  
  9977  const opUpdateEndpoint = "UpdateEndpoint"
  9978  
  9979  // UpdateEndpointRequest generates a "aws/request.Request" representing the
  9980  // client's request for the UpdateEndpoint operation. The "output" return
  9981  // value will be populated with the request's response once the request completes
  9982  // successfully.
  9983  //
  9984  // Use "Send" method on the returned Request to send the API call to the service.
  9985  // the "output" return value is not valid until after Send returns without error.
  9986  //
  9987  // See UpdateEndpoint for more information on using the UpdateEndpoint
  9988  // API call, and error handling.
  9989  //
  9990  // This method is useful when you want to inject custom logic or configuration
  9991  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9992  //
  9993  //
  9994  //    // Example sending a request using the UpdateEndpointRequest method.
  9995  //    req, resp := client.UpdateEndpointRequest(params)
  9996  //
  9997  //    err := req.Send()
  9998  //    if err == nil { // resp is now filled
  9999  //        fmt.Println(resp)
 10000  //    }
 10001  //
 10002  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
 10003  func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
 10004  	op := &request.Operation{
 10005  		Name:       opUpdateEndpoint,
 10006  		HTTPMethod: "PUT",
 10007  		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
 10008  	}
 10009  
 10010  	if input == nil {
 10011  		input = &UpdateEndpointInput{}
 10012  	}
 10013  
 10014  	output = &UpdateEndpointOutput{}
 10015  	req = c.newRequest(op, input, output)
 10016  	return
 10017  }
 10018  
 10019  // UpdateEndpoint API operation for Amazon Pinpoint.
 10020  //
 10021  // Creates a new endpoint for an application or updates the settings and attributes
 10022  // of an existing endpoint for an application. You can also use this operation
 10023  // to define custom attributes for an endpoint. If an update includes one or
 10024  // more values for a custom attribute, Amazon Pinpoint replaces (overwrites)
 10025  // any existing values with the new values.
 10026  //
 10027  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10028  // with awserr.Error's Code and Message methods to get detailed information about
 10029  // the error.
 10030  //
 10031  // See the AWS API reference guide for Amazon Pinpoint's
 10032  // API operation UpdateEndpoint for usage and error information.
 10033  //
 10034  // Returned Error Types:
 10035  //   * BadRequestException
 10036  //   Provides information about an API request or response.
 10037  //
 10038  //   * InternalServerErrorException
 10039  //   Provides information about an API request or response.
 10040  //
 10041  //   * PayloadTooLargeException
 10042  //   Provides information about an API request or response.
 10043  //
 10044  //   * ForbiddenException
 10045  //   Provides information about an API request or response.
 10046  //
 10047  //   * NotFoundException
 10048  //   Provides information about an API request or response.
 10049  //
 10050  //   * MethodNotAllowedException
 10051  //   Provides information about an API request or response.
 10052  //
 10053  //   * TooManyRequestsException
 10054  //   Provides information about an API request or response.
 10055  //
 10056  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
 10057  func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
 10058  	req, out := c.UpdateEndpointRequest(input)
 10059  	return out, req.Send()
 10060  }
 10061  
 10062  // UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
 10063  // the ability to pass a context and additional request options.
 10064  //
 10065  // See UpdateEndpoint for details on how to use this API operation.
 10066  //
 10067  // The context must be non-nil and will be used for request cancellation. If
 10068  // the context is nil a panic will occur. In the future the SDK may create
 10069  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10070  // for more information on using Contexts.
 10071  func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
 10072  	req, out := c.UpdateEndpointRequest(input)
 10073  	req.SetContext(ctx)
 10074  	req.ApplyOptions(opts...)
 10075  	return out, req.Send()
 10076  }
 10077  
 10078  const opUpdateEndpointsBatch = "UpdateEndpointsBatch"
 10079  
 10080  // UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the
 10081  // client's request for the UpdateEndpointsBatch operation. The "output" return
 10082  // value will be populated with the request's response once the request completes
 10083  // successfully.
 10084  //
 10085  // Use "Send" method on the returned Request to send the API call to the service.
 10086  // the "output" return value is not valid until after Send returns without error.
 10087  //
 10088  // See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch
 10089  // API call, and error handling.
 10090  //
 10091  // This method is useful when you want to inject custom logic or configuration
 10092  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10093  //
 10094  //
 10095  //    // Example sending a request using the UpdateEndpointsBatchRequest method.
 10096  //    req, resp := client.UpdateEndpointsBatchRequest(params)
 10097  //
 10098  //    err := req.Send()
 10099  //    if err == nil { // resp is now filled
 10100  //        fmt.Println(resp)
 10101  //    }
 10102  //
 10103  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
 10104  func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) {
 10105  	op := &request.Operation{
 10106  		Name:       opUpdateEndpointsBatch,
 10107  		HTTPMethod: "PUT",
 10108  		HTTPPath:   "/v1/apps/{application-id}/endpoints",
 10109  	}
 10110  
 10111  	if input == nil {
 10112  		input = &UpdateEndpointsBatchInput{}
 10113  	}
 10114  
 10115  	output = &UpdateEndpointsBatchOutput{}
 10116  	req = c.newRequest(op, input, output)
 10117  	return
 10118  }
 10119  
 10120  // UpdateEndpointsBatch API operation for Amazon Pinpoint.
 10121  //
 10122  // Creates a new batch of endpoints for an application or updates the settings
 10123  // and attributes of a batch of existing endpoints for an application. You can
 10124  // also use this operation to define custom attributes for a batch of endpoints.
 10125  // If an update includes one or more values for a custom attribute, Amazon Pinpoint
 10126  // replaces (overwrites) any existing values with the new values.
 10127  //
 10128  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10129  // with awserr.Error's Code and Message methods to get detailed information about
 10130  // the error.
 10131  //
 10132  // See the AWS API reference guide for Amazon Pinpoint's
 10133  // API operation UpdateEndpointsBatch for usage and error information.
 10134  //
 10135  // Returned Error Types:
 10136  //   * BadRequestException
 10137  //   Provides information about an API request or response.
 10138  //
 10139  //   * InternalServerErrorException
 10140  //   Provides information about an API request or response.
 10141  //
 10142  //   * PayloadTooLargeException
 10143  //   Provides information about an API request or response.
 10144  //
 10145  //   * ForbiddenException
 10146  //   Provides information about an API request or response.
 10147  //
 10148  //   * NotFoundException
 10149  //   Provides information about an API request or response.
 10150  //
 10151  //   * MethodNotAllowedException
 10152  //   Provides information about an API request or response.
 10153  //
 10154  //   * TooManyRequestsException
 10155  //   Provides information about an API request or response.
 10156  //
 10157  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
 10158  func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) {
 10159  	req, out := c.UpdateEndpointsBatchRequest(input)
 10160  	return out, req.Send()
 10161  }
 10162  
 10163  // UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of
 10164  // the ability to pass a context and additional request options.
 10165  //
 10166  // See UpdateEndpointsBatch for details on how to use this API operation.
 10167  //
 10168  // The context must be non-nil and will be used for request cancellation. If
 10169  // the context is nil a panic will occur. In the future the SDK may create
 10170  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10171  // for more information on using Contexts.
 10172  func (c *Pinpoint) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) {
 10173  	req, out := c.UpdateEndpointsBatchRequest(input)
 10174  	req.SetContext(ctx)
 10175  	req.ApplyOptions(opts...)
 10176  	return out, req.Send()
 10177  }
 10178  
 10179  const opUpdateGcmChannel = "UpdateGcmChannel"
 10180  
 10181  // UpdateGcmChannelRequest generates a "aws/request.Request" representing the
 10182  // client's request for the UpdateGcmChannel operation. The "output" return
 10183  // value will be populated with the request's response once the request completes
 10184  // successfully.
 10185  //
 10186  // Use "Send" method on the returned Request to send the API call to the service.
 10187  // the "output" return value is not valid until after Send returns without error.
 10188  //
 10189  // See UpdateGcmChannel for more information on using the UpdateGcmChannel
 10190  // API call, and error handling.
 10191  //
 10192  // This method is useful when you want to inject custom logic or configuration
 10193  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10194  //
 10195  //
 10196  //    // Example sending a request using the UpdateGcmChannelRequest method.
 10197  //    req, resp := client.UpdateGcmChannelRequest(params)
 10198  //
 10199  //    err := req.Send()
 10200  //    if err == nil { // resp is now filled
 10201  //        fmt.Println(resp)
 10202  //    }
 10203  //
 10204  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
 10205  func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) {
 10206  	op := &request.Operation{
 10207  		Name:       opUpdateGcmChannel,
 10208  		HTTPMethod: "PUT",
 10209  		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
 10210  	}
 10211  
 10212  	if input == nil {
 10213  		input = &UpdateGcmChannelInput{}
 10214  	}
 10215  
 10216  	output = &UpdateGcmChannelOutput{}
 10217  	req = c.newRequest(op, input, output)
 10218  	return
 10219  }
 10220  
 10221  // UpdateGcmChannel API operation for Amazon Pinpoint.
 10222  //
 10223  // Enables the GCM channel for an application or updates the status and settings
 10224  // of the GCM channel for an application.
 10225  //
 10226  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10227  // with awserr.Error's Code and Message methods to get detailed information about
 10228  // the error.
 10229  //
 10230  // See the AWS API reference guide for Amazon Pinpoint's
 10231  // API operation UpdateGcmChannel for usage and error information.
 10232  //
 10233  // Returned Error Types:
 10234  //   * BadRequestException
 10235  //   Provides information about an API request or response.
 10236  //
 10237  //   * InternalServerErrorException
 10238  //   Provides information about an API request or response.
 10239  //
 10240  //   * PayloadTooLargeException
 10241  //   Provides information about an API request or response.
 10242  //
 10243  //   * ForbiddenException
 10244  //   Provides information about an API request or response.
 10245  //
 10246  //   * NotFoundException
 10247  //   Provides information about an API request or response.
 10248  //
 10249  //   * MethodNotAllowedException
 10250  //   Provides information about an API request or response.
 10251  //
 10252  //   * TooManyRequestsException
 10253  //   Provides information about an API request or response.
 10254  //
 10255  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
 10256  func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) {
 10257  	req, out := c.UpdateGcmChannelRequest(input)
 10258  	return out, req.Send()
 10259  }
 10260  
 10261  // UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of
 10262  // the ability to pass a context and additional request options.
 10263  //
 10264  // See UpdateGcmChannel for details on how to use this API operation.
 10265  //
 10266  // The context must be non-nil and will be used for request cancellation. If
 10267  // the context is nil a panic will occur. In the future the SDK may create
 10268  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10269  // for more information on using Contexts.
 10270  func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) {
 10271  	req, out := c.UpdateGcmChannelRequest(input)
 10272  	req.SetContext(ctx)
 10273  	req.ApplyOptions(opts...)
 10274  	return out, req.Send()
 10275  }
 10276  
 10277  const opUpdateInAppTemplate = "UpdateInAppTemplate"
 10278  
 10279  // UpdateInAppTemplateRequest generates a "aws/request.Request" representing the
 10280  // client's request for the UpdateInAppTemplate operation. The "output" return
 10281  // value will be populated with the request's response once the request completes
 10282  // successfully.
 10283  //
 10284  // Use "Send" method on the returned Request to send the API call to the service.
 10285  // the "output" return value is not valid until after Send returns without error.
 10286  //
 10287  // See UpdateInAppTemplate for more information on using the UpdateInAppTemplate
 10288  // API call, and error handling.
 10289  //
 10290  // This method is useful when you want to inject custom logic or configuration
 10291  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10292  //
 10293  //
 10294  //    // Example sending a request using the UpdateInAppTemplateRequest method.
 10295  //    req, resp := client.UpdateInAppTemplateRequest(params)
 10296  //
 10297  //    err := req.Send()
 10298  //    if err == nil { // resp is now filled
 10299  //        fmt.Println(resp)
 10300  //    }
 10301  //
 10302  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateInAppTemplate
 10303  func (c *Pinpoint) UpdateInAppTemplateRequest(input *UpdateInAppTemplateInput) (req *request.Request, output *UpdateInAppTemplateOutput) {
 10304  	op := &request.Operation{
 10305  		Name:       opUpdateInAppTemplate,
 10306  		HTTPMethod: "PUT",
 10307  		HTTPPath:   "/v1/templates/{template-name}/inapp",
 10308  	}
 10309  
 10310  	if input == nil {
 10311  		input = &UpdateInAppTemplateInput{}
 10312  	}
 10313  
 10314  	output = &UpdateInAppTemplateOutput{}
 10315  	req = c.newRequest(op, input, output)
 10316  	return
 10317  }
 10318  
 10319  // UpdateInAppTemplate API operation for Amazon Pinpoint.
 10320  //
 10321  // Updates an existing message template for messages sent through the in-app
 10322  // message channel.
 10323  //
 10324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10325  // with awserr.Error's Code and Message methods to get detailed information about
 10326  // the error.
 10327  //
 10328  // See the AWS API reference guide for Amazon Pinpoint's
 10329  // API operation UpdateInAppTemplate for usage and error information.
 10330  //
 10331  // Returned Error Types:
 10332  //   * BadRequestException
 10333  //   Provides information about an API request or response.
 10334  //
 10335  //   * InternalServerErrorException
 10336  //   Provides information about an API request or response.
 10337  //
 10338  //   * PayloadTooLargeException
 10339  //   Provides information about an API request or response.
 10340  //
 10341  //   * ForbiddenException
 10342  //   Provides information about an API request or response.
 10343  //
 10344  //   * NotFoundException
 10345  //   Provides information about an API request or response.
 10346  //
 10347  //   * MethodNotAllowedException
 10348  //   Provides information about an API request or response.
 10349  //
 10350  //   * TooManyRequestsException
 10351  //   Provides information about an API request or response.
 10352  //
 10353  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateInAppTemplate
 10354  func (c *Pinpoint) UpdateInAppTemplate(input *UpdateInAppTemplateInput) (*UpdateInAppTemplateOutput, error) {
 10355  	req, out := c.UpdateInAppTemplateRequest(input)
 10356  	return out, req.Send()
 10357  }
 10358  
 10359  // UpdateInAppTemplateWithContext is the same as UpdateInAppTemplate with the addition of
 10360  // the ability to pass a context and additional request options.
 10361  //
 10362  // See UpdateInAppTemplate for details on how to use this API operation.
 10363  //
 10364  // The context must be non-nil and will be used for request cancellation. If
 10365  // the context is nil a panic will occur. In the future the SDK may create
 10366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10367  // for more information on using Contexts.
 10368  func (c *Pinpoint) UpdateInAppTemplateWithContext(ctx aws.Context, input *UpdateInAppTemplateInput, opts ...request.Option) (*UpdateInAppTemplateOutput, error) {
 10369  	req, out := c.UpdateInAppTemplateRequest(input)
 10370  	req.SetContext(ctx)
 10371  	req.ApplyOptions(opts...)
 10372  	return out, req.Send()
 10373  }
 10374  
 10375  const opUpdateJourney = "UpdateJourney"
 10376  
 10377  // UpdateJourneyRequest generates a "aws/request.Request" representing the
 10378  // client's request for the UpdateJourney operation. The "output" return
 10379  // value will be populated with the request's response once the request completes
 10380  // successfully.
 10381  //
 10382  // Use "Send" method on the returned Request to send the API call to the service.
 10383  // the "output" return value is not valid until after Send returns without error.
 10384  //
 10385  // See UpdateJourney for more information on using the UpdateJourney
 10386  // API call, and error handling.
 10387  //
 10388  // This method is useful when you want to inject custom logic or configuration
 10389  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10390  //
 10391  //
 10392  //    // Example sending a request using the UpdateJourneyRequest method.
 10393  //    req, resp := client.UpdateJourneyRequest(params)
 10394  //
 10395  //    err := req.Send()
 10396  //    if err == nil { // resp is now filled
 10397  //        fmt.Println(resp)
 10398  //    }
 10399  //
 10400  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
 10401  func (c *Pinpoint) UpdateJourneyRequest(input *UpdateJourneyInput) (req *request.Request, output *UpdateJourneyOutput) {
 10402  	op := &request.Operation{
 10403  		Name:       opUpdateJourney,
 10404  		HTTPMethod: "PUT",
 10405  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
 10406  	}
 10407  
 10408  	if input == nil {
 10409  		input = &UpdateJourneyInput{}
 10410  	}
 10411  
 10412  	output = &UpdateJourneyOutput{}
 10413  	req = c.newRequest(op, input, output)
 10414  	return
 10415  }
 10416  
 10417  // UpdateJourney API operation for Amazon Pinpoint.
 10418  //
 10419  // Updates the configuration and other settings for a journey.
 10420  //
 10421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10422  // with awserr.Error's Code and Message methods to get detailed information about
 10423  // the error.
 10424  //
 10425  // See the AWS API reference guide for Amazon Pinpoint's
 10426  // API operation UpdateJourney for usage and error information.
 10427  //
 10428  // Returned Error Types:
 10429  //   * BadRequestException
 10430  //   Provides information about an API request or response.
 10431  //
 10432  //   * InternalServerErrorException
 10433  //   Provides information about an API request or response.
 10434  //
 10435  //   * PayloadTooLargeException
 10436  //   Provides information about an API request or response.
 10437  //
 10438  //   * ForbiddenException
 10439  //   Provides information about an API request or response.
 10440  //
 10441  //   * NotFoundException
 10442  //   Provides information about an API request or response.
 10443  //
 10444  //   * MethodNotAllowedException
 10445  //   Provides information about an API request or response.
 10446  //
 10447  //   * TooManyRequestsException
 10448  //   Provides information about an API request or response.
 10449  //
 10450  //   * ConflictException
 10451  //   Provides information about an API request or response.
 10452  //
 10453  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
 10454  func (c *Pinpoint) UpdateJourney(input *UpdateJourneyInput) (*UpdateJourneyOutput, error) {
 10455  	req, out := c.UpdateJourneyRequest(input)
 10456  	return out, req.Send()
 10457  }
 10458  
 10459  // UpdateJourneyWithContext is the same as UpdateJourney with the addition of
 10460  // the ability to pass a context and additional request options.
 10461  //
 10462  // See UpdateJourney for details on how to use this API operation.
 10463  //
 10464  // The context must be non-nil and will be used for request cancellation. If
 10465  // the context is nil a panic will occur. In the future the SDK may create
 10466  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10467  // for more information on using Contexts.
 10468  func (c *Pinpoint) UpdateJourneyWithContext(ctx aws.Context, input *UpdateJourneyInput, opts ...request.Option) (*UpdateJourneyOutput, error) {
 10469  	req, out := c.UpdateJourneyRequest(input)
 10470  	req.SetContext(ctx)
 10471  	req.ApplyOptions(opts...)
 10472  	return out, req.Send()
 10473  }
 10474  
 10475  const opUpdateJourneyState = "UpdateJourneyState"
 10476  
 10477  // UpdateJourneyStateRequest generates a "aws/request.Request" representing the
 10478  // client's request for the UpdateJourneyState operation. The "output" return
 10479  // value will be populated with the request's response once the request completes
 10480  // successfully.
 10481  //
 10482  // Use "Send" method on the returned Request to send the API call to the service.
 10483  // the "output" return value is not valid until after Send returns without error.
 10484  //
 10485  // See UpdateJourneyState for more information on using the UpdateJourneyState
 10486  // API call, and error handling.
 10487  //
 10488  // This method is useful when you want to inject custom logic or configuration
 10489  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10490  //
 10491  //
 10492  //    // Example sending a request using the UpdateJourneyStateRequest method.
 10493  //    req, resp := client.UpdateJourneyStateRequest(params)
 10494  //
 10495  //    err := req.Send()
 10496  //    if err == nil { // resp is now filled
 10497  //        fmt.Println(resp)
 10498  //    }
 10499  //
 10500  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
 10501  func (c *Pinpoint) UpdateJourneyStateRequest(input *UpdateJourneyStateInput) (req *request.Request, output *UpdateJourneyStateOutput) {
 10502  	op := &request.Operation{
 10503  		Name:       opUpdateJourneyState,
 10504  		HTTPMethod: "PUT",
 10505  		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/state",
 10506  	}
 10507  
 10508  	if input == nil {
 10509  		input = &UpdateJourneyStateInput{}
 10510  	}
 10511  
 10512  	output = &UpdateJourneyStateOutput{}
 10513  	req = c.newRequest(op, input, output)
 10514  	return
 10515  }
 10516  
 10517  // UpdateJourneyState API operation for Amazon Pinpoint.
 10518  //
 10519  // Pause, resume or cancels (stops) a journey.
 10520  //
 10521  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10522  // with awserr.Error's Code and Message methods to get detailed information about
 10523  // the error.
 10524  //
 10525  // See the AWS API reference guide for Amazon Pinpoint's
 10526  // API operation UpdateJourneyState for usage and error information.
 10527  //
 10528  // Returned Error Types:
 10529  //   * BadRequestException
 10530  //   Provides information about an API request or response.
 10531  //
 10532  //   * InternalServerErrorException
 10533  //   Provides information about an API request or response.
 10534  //
 10535  //   * PayloadTooLargeException
 10536  //   Provides information about an API request or response.
 10537  //
 10538  //   * ForbiddenException
 10539  //   Provides information about an API request or response.
 10540  //
 10541  //   * NotFoundException
 10542  //   Provides information about an API request or response.
 10543  //
 10544  //   * MethodNotAllowedException
 10545  //   Provides information about an API request or response.
 10546  //
 10547  //   * TooManyRequestsException
 10548  //   Provides information about an API request or response.
 10549  //
 10550  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
 10551  func (c *Pinpoint) UpdateJourneyState(input *UpdateJourneyStateInput) (*UpdateJourneyStateOutput, error) {
 10552  	req, out := c.UpdateJourneyStateRequest(input)
 10553  	return out, req.Send()
 10554  }
 10555  
 10556  // UpdateJourneyStateWithContext is the same as UpdateJourneyState with the addition of
 10557  // the ability to pass a context and additional request options.
 10558  //
 10559  // See UpdateJourneyState for details on how to use this API operation.
 10560  //
 10561  // The context must be non-nil and will be used for request cancellation. If
 10562  // the context is nil a panic will occur. In the future the SDK may create
 10563  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10564  // for more information on using Contexts.
 10565  func (c *Pinpoint) UpdateJourneyStateWithContext(ctx aws.Context, input *UpdateJourneyStateInput, opts ...request.Option) (*UpdateJourneyStateOutput, error) {
 10566  	req, out := c.UpdateJourneyStateRequest(input)
 10567  	req.SetContext(ctx)
 10568  	req.ApplyOptions(opts...)
 10569  	return out, req.Send()
 10570  }
 10571  
 10572  const opUpdatePushTemplate = "UpdatePushTemplate"
 10573  
 10574  // UpdatePushTemplateRequest generates a "aws/request.Request" representing the
 10575  // client's request for the UpdatePushTemplate operation. The "output" return
 10576  // value will be populated with the request's response once the request completes
 10577  // successfully.
 10578  //
 10579  // Use "Send" method on the returned Request to send the API call to the service.
 10580  // the "output" return value is not valid until after Send returns without error.
 10581  //
 10582  // See UpdatePushTemplate for more information on using the UpdatePushTemplate
 10583  // API call, and error handling.
 10584  //
 10585  // This method is useful when you want to inject custom logic or configuration
 10586  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10587  //
 10588  //
 10589  //    // Example sending a request using the UpdatePushTemplateRequest method.
 10590  //    req, resp := client.UpdatePushTemplateRequest(params)
 10591  //
 10592  //    err := req.Send()
 10593  //    if err == nil { // resp is now filled
 10594  //        fmt.Println(resp)
 10595  //    }
 10596  //
 10597  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
 10598  func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (req *request.Request, output *UpdatePushTemplateOutput) {
 10599  	op := &request.Operation{
 10600  		Name:       opUpdatePushTemplate,
 10601  		HTTPMethod: "PUT",
 10602  		HTTPPath:   "/v1/templates/{template-name}/push",
 10603  	}
 10604  
 10605  	if input == nil {
 10606  		input = &UpdatePushTemplateInput{}
 10607  	}
 10608  
 10609  	output = &UpdatePushTemplateOutput{}
 10610  	req = c.newRequest(op, input, output)
 10611  	return
 10612  }
 10613  
 10614  // UpdatePushTemplate API operation for Amazon Pinpoint.
 10615  //
 10616  // Updates an existing message template for messages that are sent through a
 10617  // push notification channel.
 10618  //
 10619  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10620  // with awserr.Error's Code and Message methods to get detailed information about
 10621  // the error.
 10622  //
 10623  // See the AWS API reference guide for Amazon Pinpoint's
 10624  // API operation UpdatePushTemplate for usage and error information.
 10625  //
 10626  // Returned Error Types:
 10627  //   * BadRequestException
 10628  //   Provides information about an API request or response.
 10629  //
 10630  //   * InternalServerErrorException
 10631  //   Provides information about an API request or response.
 10632  //
 10633  //   * PayloadTooLargeException
 10634  //   Provides information about an API request or response.
 10635  //
 10636  //   * ForbiddenException
 10637  //   Provides information about an API request or response.
 10638  //
 10639  //   * NotFoundException
 10640  //   Provides information about an API request or response.
 10641  //
 10642  //   * MethodNotAllowedException
 10643  //   Provides information about an API request or response.
 10644  //
 10645  //   * TooManyRequestsException
 10646  //   Provides information about an API request or response.
 10647  //
 10648  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
 10649  func (c *Pinpoint) UpdatePushTemplate(input *UpdatePushTemplateInput) (*UpdatePushTemplateOutput, error) {
 10650  	req, out := c.UpdatePushTemplateRequest(input)
 10651  	return out, req.Send()
 10652  }
 10653  
 10654  // UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of
 10655  // the ability to pass a context and additional request options.
 10656  //
 10657  // See UpdatePushTemplate for details on how to use this API operation.
 10658  //
 10659  // The context must be non-nil and will be used for request cancellation. If
 10660  // the context is nil a panic will occur. In the future the SDK may create
 10661  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10662  // for more information on using Contexts.
 10663  func (c *Pinpoint) UpdatePushTemplateWithContext(ctx aws.Context, input *UpdatePushTemplateInput, opts ...request.Option) (*UpdatePushTemplateOutput, error) {
 10664  	req, out := c.UpdatePushTemplateRequest(input)
 10665  	req.SetContext(ctx)
 10666  	req.ApplyOptions(opts...)
 10667  	return out, req.Send()
 10668  }
 10669  
 10670  const opUpdateRecommenderConfiguration = "UpdateRecommenderConfiguration"
 10671  
 10672  // UpdateRecommenderConfigurationRequest generates a "aws/request.Request" representing the
 10673  // client's request for the UpdateRecommenderConfiguration operation. The "output" return
 10674  // value will be populated with the request's response once the request completes
 10675  // successfully.
 10676  //
 10677  // Use "Send" method on the returned Request to send the API call to the service.
 10678  // the "output" return value is not valid until after Send returns without error.
 10679  //
 10680  // See UpdateRecommenderConfiguration for more information on using the UpdateRecommenderConfiguration
 10681  // API call, and error handling.
 10682  //
 10683  // This method is useful when you want to inject custom logic or configuration
 10684  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10685  //
 10686  //
 10687  //    // Example sending a request using the UpdateRecommenderConfigurationRequest method.
 10688  //    req, resp := client.UpdateRecommenderConfigurationRequest(params)
 10689  //
 10690  //    err := req.Send()
 10691  //    if err == nil { // resp is now filled
 10692  //        fmt.Println(resp)
 10693  //    }
 10694  //
 10695  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateRecommenderConfiguration
 10696  func (c *Pinpoint) UpdateRecommenderConfigurationRequest(input *UpdateRecommenderConfigurationInput) (req *request.Request, output *UpdateRecommenderConfigurationOutput) {
 10697  	op := &request.Operation{
 10698  		Name:       opUpdateRecommenderConfiguration,
 10699  		HTTPMethod: "PUT",
 10700  		HTTPPath:   "/v1/recommenders/{recommender-id}",
 10701  	}
 10702  
 10703  	if input == nil {
 10704  		input = &UpdateRecommenderConfigurationInput{}
 10705  	}
 10706  
 10707  	output = &UpdateRecommenderConfigurationOutput{}
 10708  	req = c.newRequest(op, input, output)
 10709  	return
 10710  }
 10711  
 10712  // UpdateRecommenderConfiguration API operation for Amazon Pinpoint.
 10713  //
 10714  // Updates an Amazon Pinpoint configuration for a recommender model.
 10715  //
 10716  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10717  // with awserr.Error's Code and Message methods to get detailed information about
 10718  // the error.
 10719  //
 10720  // See the AWS API reference guide for Amazon Pinpoint's
 10721  // API operation UpdateRecommenderConfiguration for usage and error information.
 10722  //
 10723  // Returned Error Types:
 10724  //   * BadRequestException
 10725  //   Provides information about an API request or response.
 10726  //
 10727  //   * InternalServerErrorException
 10728  //   Provides information about an API request or response.
 10729  //
 10730  //   * PayloadTooLargeException
 10731  //   Provides information about an API request or response.
 10732  //
 10733  //   * ForbiddenException
 10734  //   Provides information about an API request or response.
 10735  //
 10736  //   * NotFoundException
 10737  //   Provides information about an API request or response.
 10738  //
 10739  //   * MethodNotAllowedException
 10740  //   Provides information about an API request or response.
 10741  //
 10742  //   * TooManyRequestsException
 10743  //   Provides information about an API request or response.
 10744  //
 10745  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateRecommenderConfiguration
 10746  func (c *Pinpoint) UpdateRecommenderConfiguration(input *UpdateRecommenderConfigurationInput) (*UpdateRecommenderConfigurationOutput, error) {
 10747  	req, out := c.UpdateRecommenderConfigurationRequest(input)
 10748  	return out, req.Send()
 10749  }
 10750  
 10751  // UpdateRecommenderConfigurationWithContext is the same as UpdateRecommenderConfiguration with the addition of
 10752  // the ability to pass a context and additional request options.
 10753  //
 10754  // See UpdateRecommenderConfiguration for details on how to use this API operation.
 10755  //
 10756  // The context must be non-nil and will be used for request cancellation. If
 10757  // the context is nil a panic will occur. In the future the SDK may create
 10758  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10759  // for more information on using Contexts.
 10760  func (c *Pinpoint) UpdateRecommenderConfigurationWithContext(ctx aws.Context, input *UpdateRecommenderConfigurationInput, opts ...request.Option) (*UpdateRecommenderConfigurationOutput, error) {
 10761  	req, out := c.UpdateRecommenderConfigurationRequest(input)
 10762  	req.SetContext(ctx)
 10763  	req.ApplyOptions(opts...)
 10764  	return out, req.Send()
 10765  }
 10766  
 10767  const opUpdateSegment = "UpdateSegment"
 10768  
 10769  // UpdateSegmentRequest generates a "aws/request.Request" representing the
 10770  // client's request for the UpdateSegment operation. The "output" return
 10771  // value will be populated with the request's response once the request completes
 10772  // successfully.
 10773  //
 10774  // Use "Send" method on the returned Request to send the API call to the service.
 10775  // the "output" return value is not valid until after Send returns without error.
 10776  //
 10777  // See UpdateSegment for more information on using the UpdateSegment
 10778  // API call, and error handling.
 10779  //
 10780  // This method is useful when you want to inject custom logic or configuration
 10781  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10782  //
 10783  //
 10784  //    // Example sending a request using the UpdateSegmentRequest method.
 10785  //    req, resp := client.UpdateSegmentRequest(params)
 10786  //
 10787  //    err := req.Send()
 10788  //    if err == nil { // resp is now filled
 10789  //        fmt.Println(resp)
 10790  //    }
 10791  //
 10792  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
 10793  func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) {
 10794  	op := &request.Operation{
 10795  		Name:       opUpdateSegment,
 10796  		HTTPMethod: "PUT",
 10797  		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
 10798  	}
 10799  
 10800  	if input == nil {
 10801  		input = &UpdateSegmentInput{}
 10802  	}
 10803  
 10804  	output = &UpdateSegmentOutput{}
 10805  	req = c.newRequest(op, input, output)
 10806  	return
 10807  }
 10808  
 10809  // UpdateSegment API operation for Amazon Pinpoint.
 10810  //
 10811  // Creates a new segment for an application or updates the configuration, dimension,
 10812  // and other settings for an existing segment that's associated with an application.
 10813  //
 10814  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10815  // with awserr.Error's Code and Message methods to get detailed information about
 10816  // the error.
 10817  //
 10818  // See the AWS API reference guide for Amazon Pinpoint's
 10819  // API operation UpdateSegment for usage and error information.
 10820  //
 10821  // Returned Error Types:
 10822  //   * BadRequestException
 10823  //   Provides information about an API request or response.
 10824  //
 10825  //   * InternalServerErrorException
 10826  //   Provides information about an API request or response.
 10827  //
 10828  //   * PayloadTooLargeException
 10829  //   Provides information about an API request or response.
 10830  //
 10831  //   * ForbiddenException
 10832  //   Provides information about an API request or response.
 10833  //
 10834  //   * NotFoundException
 10835  //   Provides information about an API request or response.
 10836  //
 10837  //   * MethodNotAllowedException
 10838  //   Provides information about an API request or response.
 10839  //
 10840  //   * TooManyRequestsException
 10841  //   Provides information about an API request or response.
 10842  //
 10843  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
 10844  func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) {
 10845  	req, out := c.UpdateSegmentRequest(input)
 10846  	return out, req.Send()
 10847  }
 10848  
 10849  // UpdateSegmentWithContext is the same as UpdateSegment with the addition of
 10850  // the ability to pass a context and additional request options.
 10851  //
 10852  // See UpdateSegment for details on how to use this API operation.
 10853  //
 10854  // The context must be non-nil and will be used for request cancellation. If
 10855  // the context is nil a panic will occur. In the future the SDK may create
 10856  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10857  // for more information on using Contexts.
 10858  func (c *Pinpoint) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) {
 10859  	req, out := c.UpdateSegmentRequest(input)
 10860  	req.SetContext(ctx)
 10861  	req.ApplyOptions(opts...)
 10862  	return out, req.Send()
 10863  }
 10864  
 10865  const opUpdateSmsChannel = "UpdateSmsChannel"
 10866  
 10867  // UpdateSmsChannelRequest generates a "aws/request.Request" representing the
 10868  // client's request for the UpdateSmsChannel operation. The "output" return
 10869  // value will be populated with the request's response once the request completes
 10870  // successfully.
 10871  //
 10872  // Use "Send" method on the returned Request to send the API call to the service.
 10873  // the "output" return value is not valid until after Send returns without error.
 10874  //
 10875  // See UpdateSmsChannel for more information on using the UpdateSmsChannel
 10876  // API call, and error handling.
 10877  //
 10878  // This method is useful when you want to inject custom logic or configuration
 10879  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10880  //
 10881  //
 10882  //    // Example sending a request using the UpdateSmsChannelRequest method.
 10883  //    req, resp := client.UpdateSmsChannelRequest(params)
 10884  //
 10885  //    err := req.Send()
 10886  //    if err == nil { // resp is now filled
 10887  //        fmt.Println(resp)
 10888  //    }
 10889  //
 10890  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
 10891  func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) {
 10892  	op := &request.Operation{
 10893  		Name:       opUpdateSmsChannel,
 10894  		HTTPMethod: "PUT",
 10895  		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
 10896  	}
 10897  
 10898  	if input == nil {
 10899  		input = &UpdateSmsChannelInput{}
 10900  	}
 10901  
 10902  	output = &UpdateSmsChannelOutput{}
 10903  	req = c.newRequest(op, input, output)
 10904  	return
 10905  }
 10906  
 10907  // UpdateSmsChannel API operation for Amazon Pinpoint.
 10908  //
 10909  // Enables the SMS channel for an application or updates the status and settings
 10910  // of the SMS channel for an application.
 10911  //
 10912  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10913  // with awserr.Error's Code and Message methods to get detailed information about
 10914  // the error.
 10915  //
 10916  // See the AWS API reference guide for Amazon Pinpoint's
 10917  // API operation UpdateSmsChannel for usage and error information.
 10918  //
 10919  // Returned Error Types:
 10920  //   * BadRequestException
 10921  //   Provides information about an API request or response.
 10922  //
 10923  //   * InternalServerErrorException
 10924  //   Provides information about an API request or response.
 10925  //
 10926  //   * PayloadTooLargeException
 10927  //   Provides information about an API request or response.
 10928  //
 10929  //   * ForbiddenException
 10930  //   Provides information about an API request or response.
 10931  //
 10932  //   * NotFoundException
 10933  //   Provides information about an API request or response.
 10934  //
 10935  //   * MethodNotAllowedException
 10936  //   Provides information about an API request or response.
 10937  //
 10938  //   * TooManyRequestsException
 10939  //   Provides information about an API request or response.
 10940  //
 10941  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
 10942  func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) {
 10943  	req, out := c.UpdateSmsChannelRequest(input)
 10944  	return out, req.Send()
 10945  }
 10946  
 10947  // UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of
 10948  // the ability to pass a context and additional request options.
 10949  //
 10950  // See UpdateSmsChannel for details on how to use this API operation.
 10951  //
 10952  // The context must be non-nil and will be used for request cancellation. If
 10953  // the context is nil a panic will occur. In the future the SDK may create
 10954  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10955  // for more information on using Contexts.
 10956  func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) {
 10957  	req, out := c.UpdateSmsChannelRequest(input)
 10958  	req.SetContext(ctx)
 10959  	req.ApplyOptions(opts...)
 10960  	return out, req.Send()
 10961  }
 10962  
 10963  const opUpdateSmsTemplate = "UpdateSmsTemplate"
 10964  
 10965  // UpdateSmsTemplateRequest generates a "aws/request.Request" representing the
 10966  // client's request for the UpdateSmsTemplate operation. The "output" return
 10967  // value will be populated with the request's response once the request completes
 10968  // successfully.
 10969  //
 10970  // Use "Send" method on the returned Request to send the API call to the service.
 10971  // the "output" return value is not valid until after Send returns without error.
 10972  //
 10973  // See UpdateSmsTemplate for more information on using the UpdateSmsTemplate
 10974  // API call, and error handling.
 10975  //
 10976  // This method is useful when you want to inject custom logic or configuration
 10977  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10978  //
 10979  //
 10980  //    // Example sending a request using the UpdateSmsTemplateRequest method.
 10981  //    req, resp := client.UpdateSmsTemplateRequest(params)
 10982  //
 10983  //    err := req.Send()
 10984  //    if err == nil { // resp is now filled
 10985  //        fmt.Println(resp)
 10986  //    }
 10987  //
 10988  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
 10989  func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) {
 10990  	op := &request.Operation{
 10991  		Name:       opUpdateSmsTemplate,
 10992  		HTTPMethod: "PUT",
 10993  		HTTPPath:   "/v1/templates/{template-name}/sms",
 10994  	}
 10995  
 10996  	if input == nil {
 10997  		input = &UpdateSmsTemplateInput{}
 10998  	}
 10999  
 11000  	output = &UpdateSmsTemplateOutput{}
 11001  	req = c.newRequest(op, input, output)
 11002  	return
 11003  }
 11004  
 11005  // UpdateSmsTemplate API operation for Amazon Pinpoint.
 11006  //
 11007  // Updates an existing message template for messages that are sent through the
 11008  // SMS channel.
 11009  //
 11010  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11011  // with awserr.Error's Code and Message methods to get detailed information about
 11012  // the error.
 11013  //
 11014  // See the AWS API reference guide for Amazon Pinpoint's
 11015  // API operation UpdateSmsTemplate for usage and error information.
 11016  //
 11017  // Returned Error Types:
 11018  //   * BadRequestException
 11019  //   Provides information about an API request or response.
 11020  //
 11021  //   * InternalServerErrorException
 11022  //   Provides information about an API request or response.
 11023  //
 11024  //   * PayloadTooLargeException
 11025  //   Provides information about an API request or response.
 11026  //
 11027  //   * ForbiddenException
 11028  //   Provides information about an API request or response.
 11029  //
 11030  //   * NotFoundException
 11031  //   Provides information about an API request or response.
 11032  //
 11033  //   * MethodNotAllowedException
 11034  //   Provides information about an API request or response.
 11035  //
 11036  //   * TooManyRequestsException
 11037  //   Provides information about an API request or response.
 11038  //
 11039  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
 11040  func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) {
 11041  	req, out := c.UpdateSmsTemplateRequest(input)
 11042  	return out, req.Send()
 11043  }
 11044  
 11045  // UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of
 11046  // the ability to pass a context and additional request options.
 11047  //
 11048  // See UpdateSmsTemplate for details on how to use this API operation.
 11049  //
 11050  // The context must be non-nil and will be used for request cancellation. If
 11051  // the context is nil a panic will occur. In the future the SDK may create
 11052  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11053  // for more information on using Contexts.
 11054  func (c *Pinpoint) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) {
 11055  	req, out := c.UpdateSmsTemplateRequest(input)
 11056  	req.SetContext(ctx)
 11057  	req.ApplyOptions(opts...)
 11058  	return out, req.Send()
 11059  }
 11060  
 11061  const opUpdateTemplateActiveVersion = "UpdateTemplateActiveVersion"
 11062  
 11063  // UpdateTemplateActiveVersionRequest generates a "aws/request.Request" representing the
 11064  // client's request for the UpdateTemplateActiveVersion operation. The "output" return
 11065  // value will be populated with the request's response once the request completes
 11066  // successfully.
 11067  //
 11068  // Use "Send" method on the returned Request to send the API call to the service.
 11069  // the "output" return value is not valid until after Send returns without error.
 11070  //
 11071  // See UpdateTemplateActiveVersion for more information on using the UpdateTemplateActiveVersion
 11072  // API call, and error handling.
 11073  //
 11074  // This method is useful when you want to inject custom logic or configuration
 11075  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11076  //
 11077  //
 11078  //    // Example sending a request using the UpdateTemplateActiveVersionRequest method.
 11079  //    req, resp := client.UpdateTemplateActiveVersionRequest(params)
 11080  //
 11081  //    err := req.Send()
 11082  //    if err == nil { // resp is now filled
 11083  //        fmt.Println(resp)
 11084  //    }
 11085  //
 11086  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
 11087  func (c *Pinpoint) UpdateTemplateActiveVersionRequest(input *UpdateTemplateActiveVersionInput) (req *request.Request, output *UpdateTemplateActiveVersionOutput) {
 11088  	op := &request.Operation{
 11089  		Name:       opUpdateTemplateActiveVersion,
 11090  		HTTPMethod: "PUT",
 11091  		HTTPPath:   "/v1/templates/{template-name}/{template-type}/active-version",
 11092  	}
 11093  
 11094  	if input == nil {
 11095  		input = &UpdateTemplateActiveVersionInput{}
 11096  	}
 11097  
 11098  	output = &UpdateTemplateActiveVersionOutput{}
 11099  	req = c.newRequest(op, input, output)
 11100  	return
 11101  }
 11102  
 11103  // UpdateTemplateActiveVersion API operation for Amazon Pinpoint.
 11104  //
 11105  // Changes the status of a specific version of a message template to active.
 11106  //
 11107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11108  // with awserr.Error's Code and Message methods to get detailed information about
 11109  // the error.
 11110  //
 11111  // See the AWS API reference guide for Amazon Pinpoint's
 11112  // API operation UpdateTemplateActiveVersion for usage and error information.
 11113  //
 11114  // Returned Error Types:
 11115  //   * BadRequestException
 11116  //   Provides information about an API request or response.
 11117  //
 11118  //   * InternalServerErrorException
 11119  //   Provides information about an API request or response.
 11120  //
 11121  //   * PayloadTooLargeException
 11122  //   Provides information about an API request or response.
 11123  //
 11124  //   * ForbiddenException
 11125  //   Provides information about an API request or response.
 11126  //
 11127  //   * NotFoundException
 11128  //   Provides information about an API request or response.
 11129  //
 11130  //   * MethodNotAllowedException
 11131  //   Provides information about an API request or response.
 11132  //
 11133  //   * TooManyRequestsException
 11134  //   Provides information about an API request or response.
 11135  //
 11136  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
 11137  func (c *Pinpoint) UpdateTemplateActiveVersion(input *UpdateTemplateActiveVersionInput) (*UpdateTemplateActiveVersionOutput, error) {
 11138  	req, out := c.UpdateTemplateActiveVersionRequest(input)
 11139  	return out, req.Send()
 11140  }
 11141  
 11142  // UpdateTemplateActiveVersionWithContext is the same as UpdateTemplateActiveVersion with the addition of
 11143  // the ability to pass a context and additional request options.
 11144  //
 11145  // See UpdateTemplateActiveVersion for details on how to use this API operation.
 11146  //
 11147  // The context must be non-nil and will be used for request cancellation. If
 11148  // the context is nil a panic will occur. In the future the SDK may create
 11149  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11150  // for more information on using Contexts.
 11151  func (c *Pinpoint) UpdateTemplateActiveVersionWithContext(ctx aws.Context, input *UpdateTemplateActiveVersionInput, opts ...request.Option) (*UpdateTemplateActiveVersionOutput, error) {
 11152  	req, out := c.UpdateTemplateActiveVersionRequest(input)
 11153  	req.SetContext(ctx)
 11154  	req.ApplyOptions(opts...)
 11155  	return out, req.Send()
 11156  }
 11157  
 11158  const opUpdateVoiceChannel = "UpdateVoiceChannel"
 11159  
 11160  // UpdateVoiceChannelRequest generates a "aws/request.Request" representing the
 11161  // client's request for the UpdateVoiceChannel operation. The "output" return
 11162  // value will be populated with the request's response once the request completes
 11163  // successfully.
 11164  //
 11165  // Use "Send" method on the returned Request to send the API call to the service.
 11166  // the "output" return value is not valid until after Send returns without error.
 11167  //
 11168  // See UpdateVoiceChannel for more information on using the UpdateVoiceChannel
 11169  // API call, and error handling.
 11170  //
 11171  // This method is useful when you want to inject custom logic or configuration
 11172  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11173  //
 11174  //
 11175  //    // Example sending a request using the UpdateVoiceChannelRequest method.
 11176  //    req, resp := client.UpdateVoiceChannelRequest(params)
 11177  //
 11178  //    err := req.Send()
 11179  //    if err == nil { // resp is now filled
 11180  //        fmt.Println(resp)
 11181  //    }
 11182  //
 11183  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
 11184  func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) {
 11185  	op := &request.Operation{
 11186  		Name:       opUpdateVoiceChannel,
 11187  		HTTPMethod: "PUT",
 11188  		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
 11189  	}
 11190  
 11191  	if input == nil {
 11192  		input = &UpdateVoiceChannelInput{}
 11193  	}
 11194  
 11195  	output = &UpdateVoiceChannelOutput{}
 11196  	req = c.newRequest(op, input, output)
 11197  	return
 11198  }
 11199  
 11200  // UpdateVoiceChannel API operation for Amazon Pinpoint.
 11201  //
 11202  // Enables the voice channel for an application or updates the status and settings
 11203  // of the voice channel for an application.
 11204  //
 11205  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11206  // with awserr.Error's Code and Message methods to get detailed information about
 11207  // the error.
 11208  //
 11209  // See the AWS API reference guide for Amazon Pinpoint's
 11210  // API operation UpdateVoiceChannel for usage and error information.
 11211  //
 11212  // Returned Error Types:
 11213  //   * BadRequestException
 11214  //   Provides information about an API request or response.
 11215  //
 11216  //   * InternalServerErrorException
 11217  //   Provides information about an API request or response.
 11218  //
 11219  //   * PayloadTooLargeException
 11220  //   Provides information about an API request or response.
 11221  //
 11222  //   * ForbiddenException
 11223  //   Provides information about an API request or response.
 11224  //
 11225  //   * NotFoundException
 11226  //   Provides information about an API request or response.
 11227  //
 11228  //   * MethodNotAllowedException
 11229  //   Provides information about an API request or response.
 11230  //
 11231  //   * TooManyRequestsException
 11232  //   Provides information about an API request or response.
 11233  //
 11234  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
 11235  func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) {
 11236  	req, out := c.UpdateVoiceChannelRequest(input)
 11237  	return out, req.Send()
 11238  }
 11239  
 11240  // UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of
 11241  // the ability to pass a context and additional request options.
 11242  //
 11243  // See UpdateVoiceChannel for details on how to use this API operation.
 11244  //
 11245  // The context must be non-nil and will be used for request cancellation. If
 11246  // the context is nil a panic will occur. In the future the SDK may create
 11247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11248  // for more information on using Contexts.
 11249  func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) {
 11250  	req, out := c.UpdateVoiceChannelRequest(input)
 11251  	req.SetContext(ctx)
 11252  	req.ApplyOptions(opts...)
 11253  	return out, req.Send()
 11254  }
 11255  
 11256  const opUpdateVoiceTemplate = "UpdateVoiceTemplate"
 11257  
 11258  // UpdateVoiceTemplateRequest generates a "aws/request.Request" representing the
 11259  // client's request for the UpdateVoiceTemplate operation. The "output" return
 11260  // value will be populated with the request's response once the request completes
 11261  // successfully.
 11262  //
 11263  // Use "Send" method on the returned Request to send the API call to the service.
 11264  // the "output" return value is not valid until after Send returns without error.
 11265  //
 11266  // See UpdateVoiceTemplate for more information on using the UpdateVoiceTemplate
 11267  // API call, and error handling.
 11268  //
 11269  // This method is useful when you want to inject custom logic or configuration
 11270  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11271  //
 11272  //
 11273  //    // Example sending a request using the UpdateVoiceTemplateRequest method.
 11274  //    req, resp := client.UpdateVoiceTemplateRequest(params)
 11275  //
 11276  //    err := req.Send()
 11277  //    if err == nil { // resp is now filled
 11278  //        fmt.Println(resp)
 11279  //    }
 11280  //
 11281  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
 11282  func (c *Pinpoint) UpdateVoiceTemplateRequest(input *UpdateVoiceTemplateInput) (req *request.Request, output *UpdateVoiceTemplateOutput) {
 11283  	op := &request.Operation{
 11284  		Name:       opUpdateVoiceTemplate,
 11285  		HTTPMethod: "PUT",
 11286  		HTTPPath:   "/v1/templates/{template-name}/voice",
 11287  	}
 11288  
 11289  	if input == nil {
 11290  		input = &UpdateVoiceTemplateInput{}
 11291  	}
 11292  
 11293  	output = &UpdateVoiceTemplateOutput{}
 11294  	req = c.newRequest(op, input, output)
 11295  	return
 11296  }
 11297  
 11298  // UpdateVoiceTemplate API operation for Amazon Pinpoint.
 11299  //
 11300  // Updates an existing message template for messages that are sent through the
 11301  // voice channel.
 11302  //
 11303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11304  // with awserr.Error's Code and Message methods to get detailed information about
 11305  // the error.
 11306  //
 11307  // See the AWS API reference guide for Amazon Pinpoint's
 11308  // API operation UpdateVoiceTemplate for usage and error information.
 11309  //
 11310  // Returned Error Types:
 11311  //   * BadRequestException
 11312  //   Provides information about an API request or response.
 11313  //
 11314  //   * InternalServerErrorException
 11315  //   Provides information about an API request or response.
 11316  //
 11317  //   * PayloadTooLargeException
 11318  //   Provides information about an API request or response.
 11319  //
 11320  //   * ForbiddenException
 11321  //   Provides information about an API request or response.
 11322  //
 11323  //   * NotFoundException
 11324  //   Provides information about an API request or response.
 11325  //
 11326  //   * MethodNotAllowedException
 11327  //   Provides information about an API request or response.
 11328  //
 11329  //   * TooManyRequestsException
 11330  //   Provides information about an API request or response.
 11331  //
 11332  // See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
 11333  func (c *Pinpoint) UpdateVoiceTemplate(input *UpdateVoiceTemplateInput) (*UpdateVoiceTemplateOutput, error) {
 11334  	req, out := c.UpdateVoiceTemplateRequest(input)
 11335  	return out, req.Send()
 11336  }
 11337  
 11338  // UpdateVoiceTemplateWithContext is the same as UpdateVoiceTemplate with the addition of
 11339  // the ability to pass a context and additional request options.
 11340  //
 11341  // See UpdateVoiceTemplate for details on how to use this API operation.
 11342  //
 11343  // The context must be non-nil and will be used for request cancellation. If
 11344  // the context is nil a panic will occur. In the future the SDK may create
 11345  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11346  // for more information on using Contexts.
 11347  func (c *Pinpoint) UpdateVoiceTemplateWithContext(ctx aws.Context, input *UpdateVoiceTemplateInput, opts ...request.Option) (*UpdateVoiceTemplateOutput, error) {
 11348  	req, out := c.UpdateVoiceTemplateRequest(input)
 11349  	req.SetContext(ctx)
 11350  	req.ApplyOptions(opts...)
 11351  	return out, req.Send()
 11352  }
 11353  
 11354  // Specifies the status and settings of the ADM (Amazon Device Messaging) channel
 11355  // for an application.
 11356  type ADMChannelRequest struct {
 11357  	_ struct{} `type:"structure"`
 11358  
 11359  	// The Client ID that you received from Amazon to send messages by using ADM.
 11360  	//
 11361  	// ClientId is a required field
 11362  	ClientId *string `type:"string" required:"true"`
 11363  
 11364  	// The Client Secret that you received from Amazon to send messages by using
 11365  	// ADM.
 11366  	//
 11367  	// ClientSecret is a required field
 11368  	ClientSecret *string `type:"string" required:"true"`
 11369  
 11370  	// Specifies whether to enable the ADM channel for the application.
 11371  	Enabled *bool `type:"boolean"`
 11372  }
 11373  
 11374  // String returns the string representation.
 11375  //
 11376  // API parameter values that are decorated as "sensitive" in the API will not
 11377  // be included in the string output. The member name will be present, but the
 11378  // value will be replaced with "sensitive".
 11379  func (s ADMChannelRequest) String() string {
 11380  	return awsutil.Prettify(s)
 11381  }
 11382  
 11383  // GoString returns the string representation.
 11384  //
 11385  // API parameter values that are decorated as "sensitive" in the API will not
 11386  // be included in the string output. The member name will be present, but the
 11387  // value will be replaced with "sensitive".
 11388  func (s ADMChannelRequest) GoString() string {
 11389  	return s.String()
 11390  }
 11391  
 11392  // Validate inspects the fields of the type to determine if they are valid.
 11393  func (s *ADMChannelRequest) Validate() error {
 11394  	invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"}
 11395  	if s.ClientId == nil {
 11396  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 11397  	}
 11398  	if s.ClientSecret == nil {
 11399  		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
 11400  	}
 11401  
 11402  	if invalidParams.Len() > 0 {
 11403  		return invalidParams
 11404  	}
 11405  	return nil
 11406  }
 11407  
 11408  // SetClientId sets the ClientId field's value.
 11409  func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest {
 11410  	s.ClientId = &v
 11411  	return s
 11412  }
 11413  
 11414  // SetClientSecret sets the ClientSecret field's value.
 11415  func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest {
 11416  	s.ClientSecret = &v
 11417  	return s
 11418  }
 11419  
 11420  // SetEnabled sets the Enabled field's value.
 11421  func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest {
 11422  	s.Enabled = &v
 11423  	return s
 11424  }
 11425  
 11426  // Provides information about the status and settings of the ADM (Amazon Device
 11427  // Messaging) channel for an application.
 11428  type ADMChannelResponse struct {
 11429  	_ struct{} `type:"structure"`
 11430  
 11431  	// The unique identifier for the application that the ADM channel applies to.
 11432  	ApplicationId *string `type:"string"`
 11433  
 11434  	// The date and time when the ADM channel was enabled.
 11435  	CreationDate *string `type:"string"`
 11436  
 11437  	// Specifies whether the ADM channel is enabled for the application.
 11438  	Enabled *bool `type:"boolean"`
 11439  
 11440  	// (Not used) This property is retained only for backward compatibility.
 11441  	HasCredential *bool `type:"boolean"`
 11442  
 11443  	// (Deprecated) An identifier for the ADM channel. This property is retained
 11444  	// only for backward compatibility.
 11445  	Id *string `type:"string"`
 11446  
 11447  	// Specifies whether the ADM channel is archived.
 11448  	IsArchived *bool `type:"boolean"`
 11449  
 11450  	// The user who last modified the ADM channel.
 11451  	LastModifiedBy *string `type:"string"`
 11452  
 11453  	// The date and time when the ADM channel was last modified.
 11454  	LastModifiedDate *string `type:"string"`
 11455  
 11456  	// The type of messaging or notification platform for the channel. For the ADM
 11457  	// channel, this value is ADM.
 11458  	//
 11459  	// Platform is a required field
 11460  	Platform *string `type:"string" required:"true"`
 11461  
 11462  	// The current version of the ADM channel.
 11463  	Version *int64 `type:"integer"`
 11464  }
 11465  
 11466  // String returns the string representation.
 11467  //
 11468  // API parameter values that are decorated as "sensitive" in the API will not
 11469  // be included in the string output. The member name will be present, but the
 11470  // value will be replaced with "sensitive".
 11471  func (s ADMChannelResponse) String() string {
 11472  	return awsutil.Prettify(s)
 11473  }
 11474  
 11475  // GoString returns the string representation.
 11476  //
 11477  // API parameter values that are decorated as "sensitive" in the API will not
 11478  // be included in the string output. The member name will be present, but the
 11479  // value will be replaced with "sensitive".
 11480  func (s ADMChannelResponse) GoString() string {
 11481  	return s.String()
 11482  }
 11483  
 11484  // SetApplicationId sets the ApplicationId field's value.
 11485  func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse {
 11486  	s.ApplicationId = &v
 11487  	return s
 11488  }
 11489  
 11490  // SetCreationDate sets the CreationDate field's value.
 11491  func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse {
 11492  	s.CreationDate = &v
 11493  	return s
 11494  }
 11495  
 11496  // SetEnabled sets the Enabled field's value.
 11497  func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse {
 11498  	s.Enabled = &v
 11499  	return s
 11500  }
 11501  
 11502  // SetHasCredential sets the HasCredential field's value.
 11503  func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse {
 11504  	s.HasCredential = &v
 11505  	return s
 11506  }
 11507  
 11508  // SetId sets the Id field's value.
 11509  func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse {
 11510  	s.Id = &v
 11511  	return s
 11512  }
 11513  
 11514  // SetIsArchived sets the IsArchived field's value.
 11515  func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse {
 11516  	s.IsArchived = &v
 11517  	return s
 11518  }
 11519  
 11520  // SetLastModifiedBy sets the LastModifiedBy field's value.
 11521  func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse {
 11522  	s.LastModifiedBy = &v
 11523  	return s
 11524  }
 11525  
 11526  // SetLastModifiedDate sets the LastModifiedDate field's value.
 11527  func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse {
 11528  	s.LastModifiedDate = &v
 11529  	return s
 11530  }
 11531  
 11532  // SetPlatform sets the Platform field's value.
 11533  func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse {
 11534  	s.Platform = &v
 11535  	return s
 11536  }
 11537  
 11538  // SetVersion sets the Version field's value.
 11539  func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse {
 11540  	s.Version = &v
 11541  	return s
 11542  }
 11543  
 11544  // Specifies the settings for a one-time message that's sent directly to an
 11545  // endpoint through the ADM (Amazon Device Messaging) channel.
 11546  type ADMMessage struct {
 11547  	_ struct{} `type:"structure"`
 11548  
 11549  	// The action to occur if the recipient taps the push notification. Valid values
 11550  	// are:
 11551  	//
 11552  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 11553  	//    sent to the background. This is the default action.
 11554  	//
 11555  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 11556  	//    in the app. This action uses the deep-linking features of the Android
 11557  	//    platform.
 11558  	//
 11559  	//    * URL - The default mobile browser on the recipient's device opens and
 11560  	//    loads the web page at a URL that you specify.
 11561  	Action *string `type:"string" enum:"Action"`
 11562  
 11563  	// The body of the notification message.
 11564  	Body *string `type:"string"`
 11565  
 11566  	// An arbitrary string that indicates that multiple messages are logically the
 11567  	// same and that Amazon Device Messaging (ADM) can drop previously enqueued
 11568  	// messages in favor of this message.
 11569  	ConsolidationKey *string `type:"string"`
 11570  
 11571  	// The JSON data payload to use for the push notification, if the notification
 11572  	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
 11573  	// object of the notification.
 11574  	Data map[string]*string `type:"map"`
 11575  
 11576  	// The amount of time, in seconds, that ADM should store the message if the
 11577  	// recipient's device is offline. Amazon Pinpoint specifies this value in the
 11578  	// expiresAfter parameter when it sends the notification message to ADM.
 11579  	ExpiresAfter *string `type:"string"`
 11580  
 11581  	// The icon image name of the asset saved in your app.
 11582  	IconReference *string `type:"string"`
 11583  
 11584  	// The URL of the large icon image to display in the content view of the push
 11585  	// notification.
 11586  	ImageIconUrl *string `type:"string"`
 11587  
 11588  	// The URL of an image to display in the push notification.
 11589  	ImageUrl *string `type:"string"`
 11590  
 11591  	// The base64-encoded, MD5 checksum of the value specified by the Data property.
 11592  	// ADM uses the MD5 value to verify the integrity of the data.
 11593  	MD5 *string `type:"string"`
 11594  
 11595  	// The raw, JSON-formatted string to use as the payload for the notification
 11596  	// message. If specified, this value overrides all other content for the message.
 11597  	RawContent *string `type:"string"`
 11598  
 11599  	// Specifies whether the notification is a silent push notification, which is
 11600  	// a push notification that doesn't display on a recipient's device. Silent
 11601  	// push notifications can be used for cases such as updating an app's configuration
 11602  	// or supporting phone home functionality.
 11603  	SilentPush *bool `type:"boolean"`
 11604  
 11605  	// The URL of the small icon image to display in the status bar and the content
 11606  	// view of the push notification.
 11607  	SmallImageIconUrl *string `type:"string"`
 11608  
 11609  	// The sound to play when the recipient receives the push notification. You
 11610  	// can use the default stream or specify the file name of a sound resource that's
 11611  	// bundled in your app. On an Android platform, the sound file must reside in
 11612  	// /res/raw/.
 11613  	Sound *string `type:"string"`
 11614  
 11615  	// The default message variables to use in the notification message. You can
 11616  	// override the default variables with individual address variables.
 11617  	Substitutions map[string][]*string `type:"map"`
 11618  
 11619  	// The title to display above the notification message on the recipient's device.
 11620  	Title *string `type:"string"`
 11621  
 11622  	// The URL to open in the recipient's default mobile browser, if a recipient
 11623  	// taps the push notification and the value of the Action property is URL.
 11624  	Url *string `type:"string"`
 11625  }
 11626  
 11627  // String returns the string representation.
 11628  //
 11629  // API parameter values that are decorated as "sensitive" in the API will not
 11630  // be included in the string output. The member name will be present, but the
 11631  // value will be replaced with "sensitive".
 11632  func (s ADMMessage) String() string {
 11633  	return awsutil.Prettify(s)
 11634  }
 11635  
 11636  // GoString returns the string representation.
 11637  //
 11638  // API parameter values that are decorated as "sensitive" in the API will not
 11639  // be included in the string output. The member name will be present, but the
 11640  // value will be replaced with "sensitive".
 11641  func (s ADMMessage) GoString() string {
 11642  	return s.String()
 11643  }
 11644  
 11645  // SetAction sets the Action field's value.
 11646  func (s *ADMMessage) SetAction(v string) *ADMMessage {
 11647  	s.Action = &v
 11648  	return s
 11649  }
 11650  
 11651  // SetBody sets the Body field's value.
 11652  func (s *ADMMessage) SetBody(v string) *ADMMessage {
 11653  	s.Body = &v
 11654  	return s
 11655  }
 11656  
 11657  // SetConsolidationKey sets the ConsolidationKey field's value.
 11658  func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage {
 11659  	s.ConsolidationKey = &v
 11660  	return s
 11661  }
 11662  
 11663  // SetData sets the Data field's value.
 11664  func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage {
 11665  	s.Data = v
 11666  	return s
 11667  }
 11668  
 11669  // SetExpiresAfter sets the ExpiresAfter field's value.
 11670  func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage {
 11671  	s.ExpiresAfter = &v
 11672  	return s
 11673  }
 11674  
 11675  // SetIconReference sets the IconReference field's value.
 11676  func (s *ADMMessage) SetIconReference(v string) *ADMMessage {
 11677  	s.IconReference = &v
 11678  	return s
 11679  }
 11680  
 11681  // SetImageIconUrl sets the ImageIconUrl field's value.
 11682  func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage {
 11683  	s.ImageIconUrl = &v
 11684  	return s
 11685  }
 11686  
 11687  // SetImageUrl sets the ImageUrl field's value.
 11688  func (s *ADMMessage) SetImageUrl(v string) *ADMMessage {
 11689  	s.ImageUrl = &v
 11690  	return s
 11691  }
 11692  
 11693  // SetMD5 sets the MD5 field's value.
 11694  func (s *ADMMessage) SetMD5(v string) *ADMMessage {
 11695  	s.MD5 = &v
 11696  	return s
 11697  }
 11698  
 11699  // SetRawContent sets the RawContent field's value.
 11700  func (s *ADMMessage) SetRawContent(v string) *ADMMessage {
 11701  	s.RawContent = &v
 11702  	return s
 11703  }
 11704  
 11705  // SetSilentPush sets the SilentPush field's value.
 11706  func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage {
 11707  	s.SilentPush = &v
 11708  	return s
 11709  }
 11710  
 11711  // SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
 11712  func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage {
 11713  	s.SmallImageIconUrl = &v
 11714  	return s
 11715  }
 11716  
 11717  // SetSound sets the Sound field's value.
 11718  func (s *ADMMessage) SetSound(v string) *ADMMessage {
 11719  	s.Sound = &v
 11720  	return s
 11721  }
 11722  
 11723  // SetSubstitutions sets the Substitutions field's value.
 11724  func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage {
 11725  	s.Substitutions = v
 11726  	return s
 11727  }
 11728  
 11729  // SetTitle sets the Title field's value.
 11730  func (s *ADMMessage) SetTitle(v string) *ADMMessage {
 11731  	s.Title = &v
 11732  	return s
 11733  }
 11734  
 11735  // SetUrl sets the Url field's value.
 11736  func (s *ADMMessage) SetUrl(v string) *ADMMessage {
 11737  	s.Url = &v
 11738  	return s
 11739  }
 11740  
 11741  // Specifies the status and settings of the APNs (Apple Push Notification service)
 11742  // channel for an application.
 11743  type APNSChannelRequest struct {
 11744  	_ struct{} `type:"structure"`
 11745  
 11746  	// The bundle identifier that's assigned to your iOS app. This identifier is
 11747  	// used for APNs tokens.
 11748  	BundleId *string `type:"string"`
 11749  
 11750  	// The APNs client certificate that you received from Apple, if you want Amazon
 11751  	// Pinpoint to communicate with APNs by using an APNs certificate.
 11752  	Certificate *string `type:"string"`
 11753  
 11754  	// The default authentication method that you want Amazon Pinpoint to use when
 11755  	// authenticating with APNs, key or certificate.
 11756  	DefaultAuthenticationMethod *string `type:"string"`
 11757  
 11758  	// Specifies whether to enable the APNs channel for the application.
 11759  	Enabled *bool `type:"boolean"`
 11760  
 11761  	// The private key for the APNs client certificate that you want Amazon Pinpoint
 11762  	// to use to communicate with APNs.
 11763  	PrivateKey *string `type:"string"`
 11764  
 11765  	// The identifier that's assigned to your Apple developer account team. This
 11766  	// identifier is used for APNs tokens.
 11767  	TeamId *string `type:"string"`
 11768  
 11769  	// The authentication key to use for APNs tokens.
 11770  	TokenKey *string `type:"string"`
 11771  
 11772  	// The key identifier that's assigned to your APNs signing key, if you want
 11773  	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
 11774  	TokenKeyId *string `type:"string"`
 11775  }
 11776  
 11777  // String returns the string representation.
 11778  //
 11779  // API parameter values that are decorated as "sensitive" in the API will not
 11780  // be included in the string output. The member name will be present, but the
 11781  // value will be replaced with "sensitive".
 11782  func (s APNSChannelRequest) String() string {
 11783  	return awsutil.Prettify(s)
 11784  }
 11785  
 11786  // GoString returns the string representation.
 11787  //
 11788  // API parameter values that are decorated as "sensitive" in the API will not
 11789  // be included in the string output. The member name will be present, but the
 11790  // value will be replaced with "sensitive".
 11791  func (s APNSChannelRequest) GoString() string {
 11792  	return s.String()
 11793  }
 11794  
 11795  // SetBundleId sets the BundleId field's value.
 11796  func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest {
 11797  	s.BundleId = &v
 11798  	return s
 11799  }
 11800  
 11801  // SetCertificate sets the Certificate field's value.
 11802  func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest {
 11803  	s.Certificate = &v
 11804  	return s
 11805  }
 11806  
 11807  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 11808  func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest {
 11809  	s.DefaultAuthenticationMethod = &v
 11810  	return s
 11811  }
 11812  
 11813  // SetEnabled sets the Enabled field's value.
 11814  func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest {
 11815  	s.Enabled = &v
 11816  	return s
 11817  }
 11818  
 11819  // SetPrivateKey sets the PrivateKey field's value.
 11820  func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest {
 11821  	s.PrivateKey = &v
 11822  	return s
 11823  }
 11824  
 11825  // SetTeamId sets the TeamId field's value.
 11826  func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest {
 11827  	s.TeamId = &v
 11828  	return s
 11829  }
 11830  
 11831  // SetTokenKey sets the TokenKey field's value.
 11832  func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest {
 11833  	s.TokenKey = &v
 11834  	return s
 11835  }
 11836  
 11837  // SetTokenKeyId sets the TokenKeyId field's value.
 11838  func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest {
 11839  	s.TokenKeyId = &v
 11840  	return s
 11841  }
 11842  
 11843  // Provides information about the status and settings of the APNs (Apple Push
 11844  // Notification service) channel for an application.
 11845  type APNSChannelResponse struct {
 11846  	_ struct{} `type:"structure"`
 11847  
 11848  	// The unique identifier for the application that the APNs channel applies to.
 11849  	ApplicationId *string `type:"string"`
 11850  
 11851  	// The date and time when the APNs channel was enabled.
 11852  	CreationDate *string `type:"string"`
 11853  
 11854  	// The default authentication method that Amazon Pinpoint uses to authenticate
 11855  	// with APNs for this channel, key or certificate.
 11856  	DefaultAuthenticationMethod *string `type:"string"`
 11857  
 11858  	// Specifies whether the APNs channel is enabled for the application.
 11859  	Enabled *bool `type:"boolean"`
 11860  
 11861  	// (Not used) This property is retained only for backward compatibility.
 11862  	HasCredential *bool `type:"boolean"`
 11863  
 11864  	// Specifies whether the APNs channel is configured to communicate with APNs
 11865  	// by using APNs tokens. To provide an authentication key for APNs tokens, set
 11866  	// the TokenKey property of the channel.
 11867  	HasTokenKey *bool `type:"boolean"`
 11868  
 11869  	// (Deprecated) An identifier for the APNs channel. This property is retained
 11870  	// only for backward compatibility.
 11871  	Id *string `type:"string"`
 11872  
 11873  	// Specifies whether the APNs channel is archived.
 11874  	IsArchived *bool `type:"boolean"`
 11875  
 11876  	// The user who last modified the APNs channel.
 11877  	LastModifiedBy *string `type:"string"`
 11878  
 11879  	// The date and time when the APNs channel was last modified.
 11880  	LastModifiedDate *string `type:"string"`
 11881  
 11882  	// The type of messaging or notification platform for the channel. For the APNs
 11883  	// channel, this value is APNS.
 11884  	//
 11885  	// Platform is a required field
 11886  	Platform *string `type:"string" required:"true"`
 11887  
 11888  	// The current version of the APNs channel.
 11889  	Version *int64 `type:"integer"`
 11890  }
 11891  
 11892  // String returns the string representation.
 11893  //
 11894  // API parameter values that are decorated as "sensitive" in the API will not
 11895  // be included in the string output. The member name will be present, but the
 11896  // value will be replaced with "sensitive".
 11897  func (s APNSChannelResponse) String() string {
 11898  	return awsutil.Prettify(s)
 11899  }
 11900  
 11901  // GoString returns the string representation.
 11902  //
 11903  // API parameter values that are decorated as "sensitive" in the API will not
 11904  // be included in the string output. The member name will be present, but the
 11905  // value will be replaced with "sensitive".
 11906  func (s APNSChannelResponse) GoString() string {
 11907  	return s.String()
 11908  }
 11909  
 11910  // SetApplicationId sets the ApplicationId field's value.
 11911  func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse {
 11912  	s.ApplicationId = &v
 11913  	return s
 11914  }
 11915  
 11916  // SetCreationDate sets the CreationDate field's value.
 11917  func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse {
 11918  	s.CreationDate = &v
 11919  	return s
 11920  }
 11921  
 11922  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 11923  func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse {
 11924  	s.DefaultAuthenticationMethod = &v
 11925  	return s
 11926  }
 11927  
 11928  // SetEnabled sets the Enabled field's value.
 11929  func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse {
 11930  	s.Enabled = &v
 11931  	return s
 11932  }
 11933  
 11934  // SetHasCredential sets the HasCredential field's value.
 11935  func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse {
 11936  	s.HasCredential = &v
 11937  	return s
 11938  }
 11939  
 11940  // SetHasTokenKey sets the HasTokenKey field's value.
 11941  func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse {
 11942  	s.HasTokenKey = &v
 11943  	return s
 11944  }
 11945  
 11946  // SetId sets the Id field's value.
 11947  func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse {
 11948  	s.Id = &v
 11949  	return s
 11950  }
 11951  
 11952  // SetIsArchived sets the IsArchived field's value.
 11953  func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse {
 11954  	s.IsArchived = &v
 11955  	return s
 11956  }
 11957  
 11958  // SetLastModifiedBy sets the LastModifiedBy field's value.
 11959  func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse {
 11960  	s.LastModifiedBy = &v
 11961  	return s
 11962  }
 11963  
 11964  // SetLastModifiedDate sets the LastModifiedDate field's value.
 11965  func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse {
 11966  	s.LastModifiedDate = &v
 11967  	return s
 11968  }
 11969  
 11970  // SetPlatform sets the Platform field's value.
 11971  func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse {
 11972  	s.Platform = &v
 11973  	return s
 11974  }
 11975  
 11976  // SetVersion sets the Version field's value.
 11977  func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse {
 11978  	s.Version = &v
 11979  	return s
 11980  }
 11981  
 11982  // Specifies the settings for a one-time message that's sent directly to an
 11983  // endpoint through the APNs (Apple Push Notification service) channel.
 11984  type APNSMessage struct {
 11985  	_ struct{} `type:"structure"`
 11986  
 11987  	// The type of push notification to send. Valid values are:
 11988  	//
 11989  	//    * alert - For a standard notification that's displayed on recipients'
 11990  	//    devices and prompts a recipient to interact with the notification.
 11991  	//
 11992  	//    * background - For a silent notification that delivers content in the
 11993  	//    background and isn't displayed on recipients' devices.
 11994  	//
 11995  	//    * complication - For a notification that contains update information for
 11996  	//    an app’s complication timeline.
 11997  	//
 11998  	//    * fileprovider - For a notification that signals changes to a File Provider
 11999  	//    extension.
 12000  	//
 12001  	//    * mdm - For a notification that tells managed devices to contact the MDM
 12002  	//    server.
 12003  	//
 12004  	//    * voip - For a notification that provides information about an incoming
 12005  	//    VoIP call.
 12006  	//
 12007  	// Amazon Pinpoint specifies this value in the apns-push-type request header
 12008  	// when it sends the notification message to APNs. If you don't specify a value
 12009  	// for this property, Amazon Pinpoint sets the value to alert or background
 12010  	// automatically, based on the value that you specify for the SilentPush or
 12011  	// RawContent property of the message.
 12012  	//
 12013  	// For more information about the apns-push-type request header, see Sending
 12014  	// Notification Requests to APNs (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
 12015  	// on the Apple Developer website.
 12016  	APNSPushType *string `type:"string"`
 12017  
 12018  	// The action to occur if the recipient taps the push notification. Valid values
 12019  	// are:
 12020  	//
 12021  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 12022  	//    sent to the background. This is the default action.
 12023  	//
 12024  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 12025  	//    in the app. This setting uses the deep-linking features of the iOS platform.
 12026  	//
 12027  	//    * URL - The default mobile browser on the recipient's device opens and
 12028  	//    loads the web page at a URL that you specify.
 12029  	Action *string `type:"string" enum:"Action"`
 12030  
 12031  	// The key that indicates whether and how to modify the badge of your app's
 12032  	// icon when the recipient receives the push notification. If this key isn't
 12033  	// included in the dictionary, the badge doesn't change. To remove the badge,
 12034  	// set this value to 0.
 12035  	Badge *int64 `type:"integer"`
 12036  
 12037  	// The body of the notification message.
 12038  	Body *string `type:"string"`
 12039  
 12040  	// The key that indicates the notification type for the push notification. This
 12041  	// key is a value that's defined by the identifier property of one of your app's
 12042  	// registered categories.
 12043  	Category *string `type:"string"`
 12044  
 12045  	// An arbitrary identifier that, if assigned to multiple messages, APNs uses
 12046  	// to coalesce the messages into a single push notification instead of delivering
 12047  	// each message individually. This value can't exceed 64 bytes.
 12048  	//
 12049  	// Amazon Pinpoint specifies this value in the apns-collapse-id request header
 12050  	// when it sends the notification message to APNs.
 12051  	CollapseId *string `type:"string"`
 12052  
 12053  	// The JSON payload to use for a silent push notification. This payload is added
 12054  	// to the data.pinpoint.jsonBody object of the notification.
 12055  	Data map[string]*string `type:"map"`
 12056  
 12057  	// The URL of an image or video to display in the push notification.
 12058  	MediaUrl *string `type:"string"`
 12059  
 12060  	// The authentication method that you want Amazon Pinpoint to use when authenticating
 12061  	// with APNs, CERTIFICATE or TOKEN.
 12062  	PreferredAuthenticationMethod *string `type:"string"`
 12063  
 12064  	// para>5 - Low priority, the notification might be delayed, delivered as part
 12065  	// of a group, or throttled.
 12066  	// /listitem>
 12067  	// 10 - High priority, the notification is sent immediately. This is the default
 12068  	// value. A high priority notification should trigger an alert, play a sound,
 12069  	// or badge your app's icon on the recipient's device.
 12070  	// /para>
 12071  	// Amazon Pinpoint specifies this value in the apns-priority request header
 12072  	// when it sends the notification message to APNs.
 12073  	//
 12074  	// The equivalent values for Firebase Cloud Messaging (FCM), formerly Google
 12075  	// Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify
 12076  	// an FCM value for this property, Amazon Pinpoint accepts and converts the
 12077  	// value to the corresponding APNs value.
 12078  	Priority *string `type:"string"`
 12079  
 12080  	// The raw, JSON-formatted string to use as the payload for the notification
 12081  	// message. If specified, this value overrides all other content for the message.
 12082  	//
 12083  	// If you specify the raw content of an APNs push notification, the message
 12084  	// payload has to include the content-available key. The value of the content-available
 12085  	// key has to be an integer, and can only be 0 or 1. If you're sending a standard
 12086  	// notification, set the value of content-available to 0. If you're sending
 12087  	// a silent (background) notification, set the value of content-available to
 12088  	// 1. Additionally, silent notification payloads can't include the alert, badge,
 12089  	// or sound keys. For more information, see Generating a Remote Notification
 12090  	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
 12091  	// and Pushing Background Updates to Your App (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app)
 12092  	// on the Apple Developer website.
 12093  	RawContent *string `type:"string"`
 12094  
 12095  	// Specifies whether the notification is a silent push notification. A silent
 12096  	// (or background) push notification isn't displayed on recipients' devices.
 12097  	// You can use silent push notifications to make small updates to your app,
 12098  	// or to display messages in an in-app message center.
 12099  	//
 12100  	// Amazon Pinpoint uses this property to determine the correct value for the
 12101  	// apns-push-type request header when it sends the notification message to APNs.
 12102  	// If you specify a value of true for this property, Amazon Pinpoint sets the
 12103  	// value for the apns-push-type header field to background.
 12104  	//
 12105  	// If you specify the raw content of an APNs push notification, the message
 12106  	// payload has to include the content-available key. For silent (background)
 12107  	// notifications, set the value of content-available to 1. Additionally, the
 12108  	// message payload for a silent notification can't include the alert, badge,
 12109  	// or sound keys. For more information, see Generating a Remote Notification
 12110  	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
 12111  	// and Pushing Background Updates to Your App (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app)
 12112  	// on the Apple Developer website.
 12113  	//
 12114  	// Apple has indicated that they will throttle "excessive" background notifications
 12115  	// based on current traffic volumes. To prevent your notifications being throttled,
 12116  	// Apple recommends that you send no more than 3 silent push notifications to
 12117  	// each recipient per hour.
 12118  	SilentPush *bool `type:"boolean"`
 12119  
 12120  	// The key for the sound to play when the recipient receives the push notification.
 12121  	// The value for this key is the name of a sound file in your app's main bundle
 12122  	// or the Library/Sounds folder in your app's data container. If the sound file
 12123  	// can't be found or you specify default for the value, the system plays the
 12124  	// default alert sound.
 12125  	Sound *string `type:"string"`
 12126  
 12127  	// The default message variables to use in the notification message. You can
 12128  	// override these default variables with individual address variables.
 12129  	Substitutions map[string][]*string `type:"map"`
 12130  
 12131  	// The key that represents your app-specific identifier for grouping notifications.
 12132  	// If you provide a Notification Content app extension, you can use this value
 12133  	// to group your notifications together.
 12134  	ThreadId *string `type:"string"`
 12135  
 12136  	// The amount of time, in seconds, that APNs should store and attempt to deliver
 12137  	// the push notification, if the service is unable to deliver the notification
 12138  	// the first time. If this value is 0, APNs treats the notification as if it
 12139  	// expires immediately and the service doesn't store or try to deliver the notification
 12140  	// again.
 12141  	//
 12142  	// Amazon Pinpoint specifies this value in the apns-expiration request header
 12143  	// when it sends the notification message to APNs.
 12144  	TimeToLive *int64 `type:"integer"`
 12145  
 12146  	// The title to display above the notification message on the recipient's device.
 12147  	Title *string `type:"string"`
 12148  
 12149  	// The URL to open in the recipient's default mobile browser, if a recipient
 12150  	// taps the push notification and the value of the Action property is URL.
 12151  	Url *string `type:"string"`
 12152  }
 12153  
 12154  // String returns the string representation.
 12155  //
 12156  // API parameter values that are decorated as "sensitive" in the API will not
 12157  // be included in the string output. The member name will be present, but the
 12158  // value will be replaced with "sensitive".
 12159  func (s APNSMessage) String() string {
 12160  	return awsutil.Prettify(s)
 12161  }
 12162  
 12163  // GoString returns the string representation.
 12164  //
 12165  // API parameter values that are decorated as "sensitive" in the API will not
 12166  // be included in the string output. The member name will be present, but the
 12167  // value will be replaced with "sensitive".
 12168  func (s APNSMessage) GoString() string {
 12169  	return s.String()
 12170  }
 12171  
 12172  // SetAPNSPushType sets the APNSPushType field's value.
 12173  func (s *APNSMessage) SetAPNSPushType(v string) *APNSMessage {
 12174  	s.APNSPushType = &v
 12175  	return s
 12176  }
 12177  
 12178  // SetAction sets the Action field's value.
 12179  func (s *APNSMessage) SetAction(v string) *APNSMessage {
 12180  	s.Action = &v
 12181  	return s
 12182  }
 12183  
 12184  // SetBadge sets the Badge field's value.
 12185  func (s *APNSMessage) SetBadge(v int64) *APNSMessage {
 12186  	s.Badge = &v
 12187  	return s
 12188  }
 12189  
 12190  // SetBody sets the Body field's value.
 12191  func (s *APNSMessage) SetBody(v string) *APNSMessage {
 12192  	s.Body = &v
 12193  	return s
 12194  }
 12195  
 12196  // SetCategory sets the Category field's value.
 12197  func (s *APNSMessage) SetCategory(v string) *APNSMessage {
 12198  	s.Category = &v
 12199  	return s
 12200  }
 12201  
 12202  // SetCollapseId sets the CollapseId field's value.
 12203  func (s *APNSMessage) SetCollapseId(v string) *APNSMessage {
 12204  	s.CollapseId = &v
 12205  	return s
 12206  }
 12207  
 12208  // SetData sets the Data field's value.
 12209  func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage {
 12210  	s.Data = v
 12211  	return s
 12212  }
 12213  
 12214  // SetMediaUrl sets the MediaUrl field's value.
 12215  func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage {
 12216  	s.MediaUrl = &v
 12217  	return s
 12218  }
 12219  
 12220  // SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value.
 12221  func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage {
 12222  	s.PreferredAuthenticationMethod = &v
 12223  	return s
 12224  }
 12225  
 12226  // SetPriority sets the Priority field's value.
 12227  func (s *APNSMessage) SetPriority(v string) *APNSMessage {
 12228  	s.Priority = &v
 12229  	return s
 12230  }
 12231  
 12232  // SetRawContent sets the RawContent field's value.
 12233  func (s *APNSMessage) SetRawContent(v string) *APNSMessage {
 12234  	s.RawContent = &v
 12235  	return s
 12236  }
 12237  
 12238  // SetSilentPush sets the SilentPush field's value.
 12239  func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage {
 12240  	s.SilentPush = &v
 12241  	return s
 12242  }
 12243  
 12244  // SetSound sets the Sound field's value.
 12245  func (s *APNSMessage) SetSound(v string) *APNSMessage {
 12246  	s.Sound = &v
 12247  	return s
 12248  }
 12249  
 12250  // SetSubstitutions sets the Substitutions field's value.
 12251  func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage {
 12252  	s.Substitutions = v
 12253  	return s
 12254  }
 12255  
 12256  // SetThreadId sets the ThreadId field's value.
 12257  func (s *APNSMessage) SetThreadId(v string) *APNSMessage {
 12258  	s.ThreadId = &v
 12259  	return s
 12260  }
 12261  
 12262  // SetTimeToLive sets the TimeToLive field's value.
 12263  func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage {
 12264  	s.TimeToLive = &v
 12265  	return s
 12266  }
 12267  
 12268  // SetTitle sets the Title field's value.
 12269  func (s *APNSMessage) SetTitle(v string) *APNSMessage {
 12270  	s.Title = &v
 12271  	return s
 12272  }
 12273  
 12274  // SetUrl sets the Url field's value.
 12275  func (s *APNSMessage) SetUrl(v string) *APNSMessage {
 12276  	s.Url = &v
 12277  	return s
 12278  }
 12279  
 12280  // Specifies channel-specific content and settings for a message template that
 12281  // can be used in push notifications that are sent through the APNs (Apple Push
 12282  // Notification service) channel.
 12283  type APNSPushNotificationTemplate struct {
 12284  	_ struct{} `type:"structure"`
 12285  
 12286  	// The action to occur if a recipient taps a push notification that's based
 12287  	// on the message template. Valid values are:
 12288  	//
 12289  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 12290  	//    sent to the background. This is the default action.
 12291  	//
 12292  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 12293  	//    in the app. This setting uses the deep-linking features of the iOS platform.
 12294  	//
 12295  	//    * URL - The default mobile browser on the recipient's device opens and
 12296  	//    loads the web page at a URL that you specify.
 12297  	Action *string `type:"string" enum:"Action"`
 12298  
 12299  	// The message body to use in push notifications that are based on the message
 12300  	// template.
 12301  	Body *string `type:"string"`
 12302  
 12303  	// The URL of an image or video to display in push notifications that are based
 12304  	// on the message template.
 12305  	MediaUrl *string `type:"string"`
 12306  
 12307  	// The raw, JSON-formatted string to use as the payload for push notifications
 12308  	// that are based on the message template. If specified, this value overrides
 12309  	// all other content for the message template.
 12310  	RawContent *string `type:"string"`
 12311  
 12312  	// The key for the sound to play when the recipient receives a push notification
 12313  	// that's based on the message template. The value for this key is the name
 12314  	// of a sound file in your app's main bundle or the Library/Sounds folder in
 12315  	// your app's data container. If the sound file can't be found or you specify
 12316  	// default for the value, the system plays the default alert sound.
 12317  	Sound *string `type:"string"`
 12318  
 12319  	// The title to use in push notifications that are based on the message template.
 12320  	// This title appears above the notification message on a recipient's device.
 12321  	Title *string `type:"string"`
 12322  
 12323  	// The URL to open in the recipient's default mobile browser, if a recipient
 12324  	// taps a push notification that's based on the message template and the value
 12325  	// of the Action property is URL.
 12326  	Url *string `type:"string"`
 12327  }
 12328  
 12329  // String returns the string representation.
 12330  //
 12331  // API parameter values that are decorated as "sensitive" in the API will not
 12332  // be included in the string output. The member name will be present, but the
 12333  // value will be replaced with "sensitive".
 12334  func (s APNSPushNotificationTemplate) String() string {
 12335  	return awsutil.Prettify(s)
 12336  }
 12337  
 12338  // GoString returns the string representation.
 12339  //
 12340  // API parameter values that are decorated as "sensitive" in the API will not
 12341  // be included in the string output. The member name will be present, but the
 12342  // value will be replaced with "sensitive".
 12343  func (s APNSPushNotificationTemplate) GoString() string {
 12344  	return s.String()
 12345  }
 12346  
 12347  // SetAction sets the Action field's value.
 12348  func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate {
 12349  	s.Action = &v
 12350  	return s
 12351  }
 12352  
 12353  // SetBody sets the Body field's value.
 12354  func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate {
 12355  	s.Body = &v
 12356  	return s
 12357  }
 12358  
 12359  // SetMediaUrl sets the MediaUrl field's value.
 12360  func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate {
 12361  	s.MediaUrl = &v
 12362  	return s
 12363  }
 12364  
 12365  // SetRawContent sets the RawContent field's value.
 12366  func (s *APNSPushNotificationTemplate) SetRawContent(v string) *APNSPushNotificationTemplate {
 12367  	s.RawContent = &v
 12368  	return s
 12369  }
 12370  
 12371  // SetSound sets the Sound field's value.
 12372  func (s *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate {
 12373  	s.Sound = &v
 12374  	return s
 12375  }
 12376  
 12377  // SetTitle sets the Title field's value.
 12378  func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate {
 12379  	s.Title = &v
 12380  	return s
 12381  }
 12382  
 12383  // SetUrl sets the Url field's value.
 12384  func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate {
 12385  	s.Url = &v
 12386  	return s
 12387  }
 12388  
 12389  // Specifies the status and settings of the APNs (Apple Push Notification service)
 12390  // sandbox channel for an application.
 12391  type APNSSandboxChannelRequest struct {
 12392  	_ struct{} `type:"structure"`
 12393  
 12394  	// The bundle identifier that's assigned to your iOS app. This identifier is
 12395  	// used for APNs tokens.
 12396  	BundleId *string `type:"string"`
 12397  
 12398  	// The APNs client certificate that you received from Apple, if you want Amazon
 12399  	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
 12400  	// certificate.
 12401  	Certificate *string `type:"string"`
 12402  
 12403  	// The default authentication method that you want Amazon Pinpoint to use when
 12404  	// authenticating with the APNs sandbox environment, key or certificate.
 12405  	DefaultAuthenticationMethod *string `type:"string"`
 12406  
 12407  	// Specifies whether to enable the APNs sandbox channel for the application.
 12408  	Enabled *bool `type:"boolean"`
 12409  
 12410  	// The private key for the APNs client certificate that you want Amazon Pinpoint
 12411  	// to use to communicate with the APNs sandbox environment.
 12412  	PrivateKey *string `type:"string"`
 12413  
 12414  	// The identifier that's assigned to your Apple developer account team. This
 12415  	// identifier is used for APNs tokens.
 12416  	TeamId *string `type:"string"`
 12417  
 12418  	// The authentication key to use for APNs tokens.
 12419  	TokenKey *string `type:"string"`
 12420  
 12421  	// The key identifier that's assigned to your APNs signing key, if you want
 12422  	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
 12423  	// APNs tokens.
 12424  	TokenKeyId *string `type:"string"`
 12425  }
 12426  
 12427  // String returns the string representation.
 12428  //
 12429  // API parameter values that are decorated as "sensitive" in the API will not
 12430  // be included in the string output. The member name will be present, but the
 12431  // value will be replaced with "sensitive".
 12432  func (s APNSSandboxChannelRequest) String() string {
 12433  	return awsutil.Prettify(s)
 12434  }
 12435  
 12436  // GoString returns the string representation.
 12437  //
 12438  // API parameter values that are decorated as "sensitive" in the API will not
 12439  // be included in the string output. The member name will be present, but the
 12440  // value will be replaced with "sensitive".
 12441  func (s APNSSandboxChannelRequest) GoString() string {
 12442  	return s.String()
 12443  }
 12444  
 12445  // SetBundleId sets the BundleId field's value.
 12446  func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest {
 12447  	s.BundleId = &v
 12448  	return s
 12449  }
 12450  
 12451  // SetCertificate sets the Certificate field's value.
 12452  func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest {
 12453  	s.Certificate = &v
 12454  	return s
 12455  }
 12456  
 12457  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 12458  func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest {
 12459  	s.DefaultAuthenticationMethod = &v
 12460  	return s
 12461  }
 12462  
 12463  // SetEnabled sets the Enabled field's value.
 12464  func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest {
 12465  	s.Enabled = &v
 12466  	return s
 12467  }
 12468  
 12469  // SetPrivateKey sets the PrivateKey field's value.
 12470  func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest {
 12471  	s.PrivateKey = &v
 12472  	return s
 12473  }
 12474  
 12475  // SetTeamId sets the TeamId field's value.
 12476  func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest {
 12477  	s.TeamId = &v
 12478  	return s
 12479  }
 12480  
 12481  // SetTokenKey sets the TokenKey field's value.
 12482  func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest {
 12483  	s.TokenKey = &v
 12484  	return s
 12485  }
 12486  
 12487  // SetTokenKeyId sets the TokenKeyId field's value.
 12488  func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest {
 12489  	s.TokenKeyId = &v
 12490  	return s
 12491  }
 12492  
 12493  // Provides information about the status and settings of the APNs (Apple Push
 12494  // Notification service) sandbox channel for an application.
 12495  type APNSSandboxChannelResponse struct {
 12496  	_ struct{} `type:"structure"`
 12497  
 12498  	// The unique identifier for the application that the APNs sandbox channel applies
 12499  	// to.
 12500  	ApplicationId *string `type:"string"`
 12501  
 12502  	// The date and time when the APNs sandbox channel was enabled.
 12503  	CreationDate *string `type:"string"`
 12504  
 12505  	// The default authentication method that Amazon Pinpoint uses to authenticate
 12506  	// with the APNs sandbox environment for this channel, key or certificate.
 12507  	DefaultAuthenticationMethod *string `type:"string"`
 12508  
 12509  	// Specifies whether the APNs sandbox channel is enabled for the application.
 12510  	Enabled *bool `type:"boolean"`
 12511  
 12512  	// (Not used) This property is retained only for backward compatibility.
 12513  	HasCredential *bool `type:"boolean"`
 12514  
 12515  	// Specifies whether the APNs sandbox channel is configured to communicate with
 12516  	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
 12517  	// set the TokenKey property of the channel.
 12518  	HasTokenKey *bool `type:"boolean"`
 12519  
 12520  	// (Deprecated) An identifier for the APNs sandbox channel. This property is
 12521  	// retained only for backward compatibility.
 12522  	Id *string `type:"string"`
 12523  
 12524  	// Specifies whether the APNs sandbox channel is archived.
 12525  	IsArchived *bool `type:"boolean"`
 12526  
 12527  	// The user who last modified the APNs sandbox channel.
 12528  	LastModifiedBy *string `type:"string"`
 12529  
 12530  	// The date and time when the APNs sandbox channel was last modified.
 12531  	LastModifiedDate *string `type:"string"`
 12532  
 12533  	// The type of messaging or notification platform for the channel. For the APNs
 12534  	// sandbox channel, this value is APNS_SANDBOX.
 12535  	//
 12536  	// Platform is a required field
 12537  	Platform *string `type:"string" required:"true"`
 12538  
 12539  	// The current version of the APNs sandbox channel.
 12540  	Version *int64 `type:"integer"`
 12541  }
 12542  
 12543  // String returns the string representation.
 12544  //
 12545  // API parameter values that are decorated as "sensitive" in the API will not
 12546  // be included in the string output. The member name will be present, but the
 12547  // value will be replaced with "sensitive".
 12548  func (s APNSSandboxChannelResponse) String() string {
 12549  	return awsutil.Prettify(s)
 12550  }
 12551  
 12552  // GoString returns the string representation.
 12553  //
 12554  // API parameter values that are decorated as "sensitive" in the API will not
 12555  // be included in the string output. The member name will be present, but the
 12556  // value will be replaced with "sensitive".
 12557  func (s APNSSandboxChannelResponse) GoString() string {
 12558  	return s.String()
 12559  }
 12560  
 12561  // SetApplicationId sets the ApplicationId field's value.
 12562  func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse {
 12563  	s.ApplicationId = &v
 12564  	return s
 12565  }
 12566  
 12567  // SetCreationDate sets the CreationDate field's value.
 12568  func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse {
 12569  	s.CreationDate = &v
 12570  	return s
 12571  }
 12572  
 12573  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 12574  func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse {
 12575  	s.DefaultAuthenticationMethod = &v
 12576  	return s
 12577  }
 12578  
 12579  // SetEnabled sets the Enabled field's value.
 12580  func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse {
 12581  	s.Enabled = &v
 12582  	return s
 12583  }
 12584  
 12585  // SetHasCredential sets the HasCredential field's value.
 12586  func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse {
 12587  	s.HasCredential = &v
 12588  	return s
 12589  }
 12590  
 12591  // SetHasTokenKey sets the HasTokenKey field's value.
 12592  func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse {
 12593  	s.HasTokenKey = &v
 12594  	return s
 12595  }
 12596  
 12597  // SetId sets the Id field's value.
 12598  func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse {
 12599  	s.Id = &v
 12600  	return s
 12601  }
 12602  
 12603  // SetIsArchived sets the IsArchived field's value.
 12604  func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse {
 12605  	s.IsArchived = &v
 12606  	return s
 12607  }
 12608  
 12609  // SetLastModifiedBy sets the LastModifiedBy field's value.
 12610  func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse {
 12611  	s.LastModifiedBy = &v
 12612  	return s
 12613  }
 12614  
 12615  // SetLastModifiedDate sets the LastModifiedDate field's value.
 12616  func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse {
 12617  	s.LastModifiedDate = &v
 12618  	return s
 12619  }
 12620  
 12621  // SetPlatform sets the Platform field's value.
 12622  func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse {
 12623  	s.Platform = &v
 12624  	return s
 12625  }
 12626  
 12627  // SetVersion sets the Version field's value.
 12628  func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse {
 12629  	s.Version = &v
 12630  	return s
 12631  }
 12632  
 12633  // Specifies the status and settings of the APNs (Apple Push Notification service)
 12634  // VoIP channel for an application.
 12635  type APNSVoipChannelRequest struct {
 12636  	_ struct{} `type:"structure"`
 12637  
 12638  	// The bundle identifier that's assigned to your iOS app. This identifier is
 12639  	// used for APNs tokens.
 12640  	BundleId *string `type:"string"`
 12641  
 12642  	// The APNs client certificate that you received from Apple, if you want Amazon
 12643  	// Pinpoint to communicate with APNs by using an APNs certificate.
 12644  	Certificate *string `type:"string"`
 12645  
 12646  	// The default authentication method that you want Amazon Pinpoint to use when
 12647  	// authenticating with APNs, key or certificate.
 12648  	DefaultAuthenticationMethod *string `type:"string"`
 12649  
 12650  	// Specifies whether to enable the APNs VoIP channel for the application.
 12651  	Enabled *bool `type:"boolean"`
 12652  
 12653  	// The private key for the APNs client certificate that you want Amazon Pinpoint
 12654  	// to use to communicate with APNs.
 12655  	PrivateKey *string `type:"string"`
 12656  
 12657  	// The identifier that's assigned to your Apple developer account team. This
 12658  	// identifier is used for APNs tokens.
 12659  	TeamId *string `type:"string"`
 12660  
 12661  	// The authentication key to use for APNs tokens.
 12662  	TokenKey *string `type:"string"`
 12663  
 12664  	// The key identifier that's assigned to your APNs signing key, if you want
 12665  	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
 12666  	TokenKeyId *string `type:"string"`
 12667  }
 12668  
 12669  // String returns the string representation.
 12670  //
 12671  // API parameter values that are decorated as "sensitive" in the API will not
 12672  // be included in the string output. The member name will be present, but the
 12673  // value will be replaced with "sensitive".
 12674  func (s APNSVoipChannelRequest) String() string {
 12675  	return awsutil.Prettify(s)
 12676  }
 12677  
 12678  // GoString returns the string representation.
 12679  //
 12680  // API parameter values that are decorated as "sensitive" in the API will not
 12681  // be included in the string output. The member name will be present, but the
 12682  // value will be replaced with "sensitive".
 12683  func (s APNSVoipChannelRequest) GoString() string {
 12684  	return s.String()
 12685  }
 12686  
 12687  // SetBundleId sets the BundleId field's value.
 12688  func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest {
 12689  	s.BundleId = &v
 12690  	return s
 12691  }
 12692  
 12693  // SetCertificate sets the Certificate field's value.
 12694  func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest {
 12695  	s.Certificate = &v
 12696  	return s
 12697  }
 12698  
 12699  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 12700  func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest {
 12701  	s.DefaultAuthenticationMethod = &v
 12702  	return s
 12703  }
 12704  
 12705  // SetEnabled sets the Enabled field's value.
 12706  func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest {
 12707  	s.Enabled = &v
 12708  	return s
 12709  }
 12710  
 12711  // SetPrivateKey sets the PrivateKey field's value.
 12712  func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest {
 12713  	s.PrivateKey = &v
 12714  	return s
 12715  }
 12716  
 12717  // SetTeamId sets the TeamId field's value.
 12718  func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest {
 12719  	s.TeamId = &v
 12720  	return s
 12721  }
 12722  
 12723  // SetTokenKey sets the TokenKey field's value.
 12724  func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest {
 12725  	s.TokenKey = &v
 12726  	return s
 12727  }
 12728  
 12729  // SetTokenKeyId sets the TokenKeyId field's value.
 12730  func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest {
 12731  	s.TokenKeyId = &v
 12732  	return s
 12733  }
 12734  
 12735  // Provides information about the status and settings of the APNs (Apple Push
 12736  // Notification service) VoIP channel for an application.
 12737  type APNSVoipChannelResponse struct {
 12738  	_ struct{} `type:"structure"`
 12739  
 12740  	// The unique identifier for the application that the APNs VoIP channel applies
 12741  	// to.
 12742  	ApplicationId *string `type:"string"`
 12743  
 12744  	// The date and time when the APNs VoIP channel was enabled.
 12745  	CreationDate *string `type:"string"`
 12746  
 12747  	// The default authentication method that Amazon Pinpoint uses to authenticate
 12748  	// with APNs for this channel, key or certificate.
 12749  	DefaultAuthenticationMethod *string `type:"string"`
 12750  
 12751  	// Specifies whether the APNs VoIP channel is enabled for the application.
 12752  	Enabled *bool `type:"boolean"`
 12753  
 12754  	// (Not used) This property is retained only for backward compatibility.
 12755  	HasCredential *bool `type:"boolean"`
 12756  
 12757  	// Specifies whether the APNs VoIP channel is configured to communicate with
 12758  	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
 12759  	// set the TokenKey property of the channel.
 12760  	HasTokenKey *bool `type:"boolean"`
 12761  
 12762  	// (Deprecated) An identifier for the APNs VoIP channel. This property is retained
 12763  	// only for backward compatibility.
 12764  	Id *string `type:"string"`
 12765  
 12766  	// Specifies whether the APNs VoIP channel is archived.
 12767  	IsArchived *bool `type:"boolean"`
 12768  
 12769  	// The user who last modified the APNs VoIP channel.
 12770  	LastModifiedBy *string `type:"string"`
 12771  
 12772  	// The date and time when the APNs VoIP channel was last modified.
 12773  	LastModifiedDate *string `type:"string"`
 12774  
 12775  	// The type of messaging or notification platform for the channel. For the APNs
 12776  	// VoIP channel, this value is APNS_VOIP.
 12777  	//
 12778  	// Platform is a required field
 12779  	Platform *string `type:"string" required:"true"`
 12780  
 12781  	// The current version of the APNs VoIP channel.
 12782  	Version *int64 `type:"integer"`
 12783  }
 12784  
 12785  // String returns the string representation.
 12786  //
 12787  // API parameter values that are decorated as "sensitive" in the API will not
 12788  // be included in the string output. The member name will be present, but the
 12789  // value will be replaced with "sensitive".
 12790  func (s APNSVoipChannelResponse) String() string {
 12791  	return awsutil.Prettify(s)
 12792  }
 12793  
 12794  // GoString returns the string representation.
 12795  //
 12796  // API parameter values that are decorated as "sensitive" in the API will not
 12797  // be included in the string output. The member name will be present, but the
 12798  // value will be replaced with "sensitive".
 12799  func (s APNSVoipChannelResponse) GoString() string {
 12800  	return s.String()
 12801  }
 12802  
 12803  // SetApplicationId sets the ApplicationId field's value.
 12804  func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse {
 12805  	s.ApplicationId = &v
 12806  	return s
 12807  }
 12808  
 12809  // SetCreationDate sets the CreationDate field's value.
 12810  func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse {
 12811  	s.CreationDate = &v
 12812  	return s
 12813  }
 12814  
 12815  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 12816  func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse {
 12817  	s.DefaultAuthenticationMethod = &v
 12818  	return s
 12819  }
 12820  
 12821  // SetEnabled sets the Enabled field's value.
 12822  func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse {
 12823  	s.Enabled = &v
 12824  	return s
 12825  }
 12826  
 12827  // SetHasCredential sets the HasCredential field's value.
 12828  func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse {
 12829  	s.HasCredential = &v
 12830  	return s
 12831  }
 12832  
 12833  // SetHasTokenKey sets the HasTokenKey field's value.
 12834  func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse {
 12835  	s.HasTokenKey = &v
 12836  	return s
 12837  }
 12838  
 12839  // SetId sets the Id field's value.
 12840  func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse {
 12841  	s.Id = &v
 12842  	return s
 12843  }
 12844  
 12845  // SetIsArchived sets the IsArchived field's value.
 12846  func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse {
 12847  	s.IsArchived = &v
 12848  	return s
 12849  }
 12850  
 12851  // SetLastModifiedBy sets the LastModifiedBy field's value.
 12852  func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse {
 12853  	s.LastModifiedBy = &v
 12854  	return s
 12855  }
 12856  
 12857  // SetLastModifiedDate sets the LastModifiedDate field's value.
 12858  func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse {
 12859  	s.LastModifiedDate = &v
 12860  	return s
 12861  }
 12862  
 12863  // SetPlatform sets the Platform field's value.
 12864  func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse {
 12865  	s.Platform = &v
 12866  	return s
 12867  }
 12868  
 12869  // SetVersion sets the Version field's value.
 12870  func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse {
 12871  	s.Version = &v
 12872  	return s
 12873  }
 12874  
 12875  // Specifies the status and settings of the APNs (Apple Push Notification service)
 12876  // VoIP sandbox channel for an application.
 12877  type APNSVoipSandboxChannelRequest struct {
 12878  	_ struct{} `type:"structure"`
 12879  
 12880  	// The bundle identifier that's assigned to your iOS app. This identifier is
 12881  	// used for APNs tokens.
 12882  	BundleId *string `type:"string"`
 12883  
 12884  	// The APNs client certificate that you received from Apple, if you want Amazon
 12885  	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
 12886  	// certificate.
 12887  	Certificate *string `type:"string"`
 12888  
 12889  	// The default authentication method that you want Amazon Pinpoint to use when
 12890  	// authenticating with the APNs sandbox environment for this channel, key or
 12891  	// certificate.
 12892  	DefaultAuthenticationMethod *string `type:"string"`
 12893  
 12894  	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
 12895  	Enabled *bool `type:"boolean"`
 12896  
 12897  	// The private key for the APNs client certificate that you want Amazon Pinpoint
 12898  	// to use to communicate with the APNs sandbox environment.
 12899  	PrivateKey *string `type:"string"`
 12900  
 12901  	// The identifier that's assigned to your Apple developer account team. This
 12902  	// identifier is used for APNs tokens.
 12903  	TeamId *string `type:"string"`
 12904  
 12905  	// The authentication key to use for APNs tokens.
 12906  	TokenKey *string `type:"string"`
 12907  
 12908  	// The key identifier that's assigned to your APNs signing key, if you want
 12909  	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
 12910  	// APNs tokens.
 12911  	TokenKeyId *string `type:"string"`
 12912  }
 12913  
 12914  // String returns the string representation.
 12915  //
 12916  // API parameter values that are decorated as "sensitive" in the API will not
 12917  // be included in the string output. The member name will be present, but the
 12918  // value will be replaced with "sensitive".
 12919  func (s APNSVoipSandboxChannelRequest) String() string {
 12920  	return awsutil.Prettify(s)
 12921  }
 12922  
 12923  // GoString returns the string representation.
 12924  //
 12925  // API parameter values that are decorated as "sensitive" in the API will not
 12926  // be included in the string output. The member name will be present, but the
 12927  // value will be replaced with "sensitive".
 12928  func (s APNSVoipSandboxChannelRequest) GoString() string {
 12929  	return s.String()
 12930  }
 12931  
 12932  // SetBundleId sets the BundleId field's value.
 12933  func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest {
 12934  	s.BundleId = &v
 12935  	return s
 12936  }
 12937  
 12938  // SetCertificate sets the Certificate field's value.
 12939  func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest {
 12940  	s.Certificate = &v
 12941  	return s
 12942  }
 12943  
 12944  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 12945  func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest {
 12946  	s.DefaultAuthenticationMethod = &v
 12947  	return s
 12948  }
 12949  
 12950  // SetEnabled sets the Enabled field's value.
 12951  func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest {
 12952  	s.Enabled = &v
 12953  	return s
 12954  }
 12955  
 12956  // SetPrivateKey sets the PrivateKey field's value.
 12957  func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest {
 12958  	s.PrivateKey = &v
 12959  	return s
 12960  }
 12961  
 12962  // SetTeamId sets the TeamId field's value.
 12963  func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest {
 12964  	s.TeamId = &v
 12965  	return s
 12966  }
 12967  
 12968  // SetTokenKey sets the TokenKey field's value.
 12969  func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest {
 12970  	s.TokenKey = &v
 12971  	return s
 12972  }
 12973  
 12974  // SetTokenKeyId sets the TokenKeyId field's value.
 12975  func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest {
 12976  	s.TokenKeyId = &v
 12977  	return s
 12978  }
 12979  
 12980  // Provides information about the status and settings of the APNs (Apple Push
 12981  // Notification service) VoIP sandbox channel for an application.
 12982  type APNSVoipSandboxChannelResponse struct {
 12983  	_ struct{} `type:"structure"`
 12984  
 12985  	// The unique identifier for the application that the APNs VoIP sandbox channel
 12986  	// applies to.
 12987  	ApplicationId *string `type:"string"`
 12988  
 12989  	// The date and time when the APNs VoIP sandbox channel was enabled.
 12990  	CreationDate *string `type:"string"`
 12991  
 12992  	// The default authentication method that Amazon Pinpoint uses to authenticate
 12993  	// with the APNs sandbox environment for this channel, key or certificate.
 12994  	DefaultAuthenticationMethod *string `type:"string"`
 12995  
 12996  	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
 12997  	Enabled *bool `type:"boolean"`
 12998  
 12999  	// (Not used) This property is retained only for backward compatibility.
 13000  	HasCredential *bool `type:"boolean"`
 13001  
 13002  	// Specifies whether the APNs VoIP sandbox channel is configured to communicate
 13003  	// with APNs by using APNs tokens. To provide an authentication key for APNs
 13004  	// tokens, set the TokenKey property of the channel.
 13005  	HasTokenKey *bool `type:"boolean"`
 13006  
 13007  	// (Deprecated) An identifier for the APNs VoIP sandbox channel. This property
 13008  	// is retained only for backward compatibility.
 13009  	Id *string `type:"string"`
 13010  
 13011  	// Specifies whether the APNs VoIP sandbox channel is archived.
 13012  	IsArchived *bool `type:"boolean"`
 13013  
 13014  	// The user who last modified the APNs VoIP sandbox channel.
 13015  	LastModifiedBy *string `type:"string"`
 13016  
 13017  	// The date and time when the APNs VoIP sandbox channel was last modified.
 13018  	LastModifiedDate *string `type:"string"`
 13019  
 13020  	// The type of messaging or notification platform for the channel. For the APNs
 13021  	// VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.
 13022  	//
 13023  	// Platform is a required field
 13024  	Platform *string `type:"string" required:"true"`
 13025  
 13026  	// The current version of the APNs VoIP sandbox channel.
 13027  	Version *int64 `type:"integer"`
 13028  }
 13029  
 13030  // String returns the string representation.
 13031  //
 13032  // API parameter values that are decorated as "sensitive" in the API will not
 13033  // be included in the string output. The member name will be present, but the
 13034  // value will be replaced with "sensitive".
 13035  func (s APNSVoipSandboxChannelResponse) String() string {
 13036  	return awsutil.Prettify(s)
 13037  }
 13038  
 13039  // GoString returns the string representation.
 13040  //
 13041  // API parameter values that are decorated as "sensitive" in the API will not
 13042  // be included in the string output. The member name will be present, but the
 13043  // value will be replaced with "sensitive".
 13044  func (s APNSVoipSandboxChannelResponse) GoString() string {
 13045  	return s.String()
 13046  }
 13047  
 13048  // SetApplicationId sets the ApplicationId field's value.
 13049  func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse {
 13050  	s.ApplicationId = &v
 13051  	return s
 13052  }
 13053  
 13054  // SetCreationDate sets the CreationDate field's value.
 13055  func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse {
 13056  	s.CreationDate = &v
 13057  	return s
 13058  }
 13059  
 13060  // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
 13061  func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse {
 13062  	s.DefaultAuthenticationMethod = &v
 13063  	return s
 13064  }
 13065  
 13066  // SetEnabled sets the Enabled field's value.
 13067  func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse {
 13068  	s.Enabled = &v
 13069  	return s
 13070  }
 13071  
 13072  // SetHasCredential sets the HasCredential field's value.
 13073  func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse {
 13074  	s.HasCredential = &v
 13075  	return s
 13076  }
 13077  
 13078  // SetHasTokenKey sets the HasTokenKey field's value.
 13079  func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse {
 13080  	s.HasTokenKey = &v
 13081  	return s
 13082  }
 13083  
 13084  // SetId sets the Id field's value.
 13085  func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse {
 13086  	s.Id = &v
 13087  	return s
 13088  }
 13089  
 13090  // SetIsArchived sets the IsArchived field's value.
 13091  func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse {
 13092  	s.IsArchived = &v
 13093  	return s
 13094  }
 13095  
 13096  // SetLastModifiedBy sets the LastModifiedBy field's value.
 13097  func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse {
 13098  	s.LastModifiedBy = &v
 13099  	return s
 13100  }
 13101  
 13102  // SetLastModifiedDate sets the LastModifiedDate field's value.
 13103  func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse {
 13104  	s.LastModifiedDate = &v
 13105  	return s
 13106  }
 13107  
 13108  // SetPlatform sets the Platform field's value.
 13109  func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse {
 13110  	s.Platform = &v
 13111  	return s
 13112  }
 13113  
 13114  // SetVersion sets the Version field's value.
 13115  func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse {
 13116  	s.Version = &v
 13117  	return s
 13118  }
 13119  
 13120  // Provides information about the activities that were performed by a campaign.
 13121  type ActivitiesResponse struct {
 13122  	_ struct{} `type:"structure"`
 13123  
 13124  	// An array of responses, one for each activity that was performed by the campaign.
 13125  	//
 13126  	// Item is a required field
 13127  	Item []*ActivityResponse `type:"list" required:"true"`
 13128  
 13129  	// The string to use in a subsequent request to get the next page of results
 13130  	// in a paginated response. This value is null if there are no additional pages.
 13131  	NextToken *string `type:"string"`
 13132  }
 13133  
 13134  // String returns the string representation.
 13135  //
 13136  // API parameter values that are decorated as "sensitive" in the API will not
 13137  // be included in the string output. The member name will be present, but the
 13138  // value will be replaced with "sensitive".
 13139  func (s ActivitiesResponse) String() string {
 13140  	return awsutil.Prettify(s)
 13141  }
 13142  
 13143  // GoString returns the string representation.
 13144  //
 13145  // API parameter values that are decorated as "sensitive" in the API will not
 13146  // be included in the string output. The member name will be present, but the
 13147  // value will be replaced with "sensitive".
 13148  func (s ActivitiesResponse) GoString() string {
 13149  	return s.String()
 13150  }
 13151  
 13152  // SetItem sets the Item field's value.
 13153  func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse {
 13154  	s.Item = v
 13155  	return s
 13156  }
 13157  
 13158  // SetNextToken sets the NextToken field's value.
 13159  func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse {
 13160  	s.NextToken = &v
 13161  	return s
 13162  }
 13163  
 13164  // Specifies the configuration and other settings for an activity in a journey.
 13165  type Activity struct {
 13166  	_ struct{} `type:"structure"`
 13167  
 13168  	// The settings for a custom message activity. This type of activity calls an
 13169  	// AWS Lambda function or web hook that sends messages to participants.
 13170  	CUSTOM *CustomMessageActivity `type:"structure"`
 13171  
 13172  	// The settings for a yes/no split activity. This type of activity sends participants
 13173  	// down one of two paths in a journey, based on conditions that you specify.
 13174  	ConditionalSplit *ConditionalSplitActivity `type:"structure"`
 13175  
 13176  	// The settings for a connect activity. This type of activity initiates a contact
 13177  	// center call to participants.
 13178  	ContactCenter *ContactCenterActivity `type:"structure"`
 13179  
 13180  	// The custom description of the activity.
 13181  	Description *string `type:"string"`
 13182  
 13183  	// The settings for an email activity. This type of activity sends an email
 13184  	// message to participants.
 13185  	EMAIL *EmailMessageActivity `type:"structure"`
 13186  
 13187  	// The settings for a holdout activity. This type of activity stops a journey
 13188  	// for a specified percentage of participants.
 13189  	Holdout *HoldoutActivity `type:"structure"`
 13190  
 13191  	// The settings for a multivariate split activity. This type of activity sends
 13192  	// participants down one of as many as five paths (including a default Else
 13193  	// path) in a journey, based on conditions that you specify.
 13194  	MultiCondition *MultiConditionalSplitActivity `type:"structure"`
 13195  
 13196  	// The settings for a push notification activity. This type of activity sends
 13197  	// a push notification to participants.
 13198  	PUSH *PushMessageActivity `type:"structure"`
 13199  
 13200  	// The settings for a random split activity. This type of activity randomly
 13201  	// sends specified percentages of participants down one of as many as five paths
 13202  	// in a journey, based on conditions that you specify.
 13203  	RandomSplit *RandomSplitActivity `type:"structure"`
 13204  
 13205  	// The settings for an SMS activity. This type of activity sends a text message
 13206  	// to participants.
 13207  	SMS *SMSMessageActivity `type:"structure"`
 13208  
 13209  	// The settings for a wait activity. This type of activity waits for a certain
 13210  	// amount of time or until a specific date and time before moving participants
 13211  	// to the next activity in a journey.
 13212  	Wait *WaitActivity `type:"structure"`
 13213  }
 13214  
 13215  // String returns the string representation.
 13216  //
 13217  // API parameter values that are decorated as "sensitive" in the API will not
 13218  // be included in the string output. The member name will be present, but the
 13219  // value will be replaced with "sensitive".
 13220  func (s Activity) String() string {
 13221  	return awsutil.Prettify(s)
 13222  }
 13223  
 13224  // GoString returns the string representation.
 13225  //
 13226  // API parameter values that are decorated as "sensitive" in the API will not
 13227  // be included in the string output. The member name will be present, but the
 13228  // value will be replaced with "sensitive".
 13229  func (s Activity) GoString() string {
 13230  	return s.String()
 13231  }
 13232  
 13233  // Validate inspects the fields of the type to determine if they are valid.
 13234  func (s *Activity) Validate() error {
 13235  	invalidParams := request.ErrInvalidParams{Context: "Activity"}
 13236  	if s.ConditionalSplit != nil {
 13237  		if err := s.ConditionalSplit.Validate(); err != nil {
 13238  			invalidParams.AddNested("ConditionalSplit", err.(request.ErrInvalidParams))
 13239  		}
 13240  	}
 13241  	if s.Holdout != nil {
 13242  		if err := s.Holdout.Validate(); err != nil {
 13243  			invalidParams.AddNested("Holdout", err.(request.ErrInvalidParams))
 13244  		}
 13245  	}
 13246  	if s.MultiCondition != nil {
 13247  		if err := s.MultiCondition.Validate(); err != nil {
 13248  			invalidParams.AddNested("MultiCondition", err.(request.ErrInvalidParams))
 13249  		}
 13250  	}
 13251  
 13252  	if invalidParams.Len() > 0 {
 13253  		return invalidParams
 13254  	}
 13255  	return nil
 13256  }
 13257  
 13258  // SetCUSTOM sets the CUSTOM field's value.
 13259  func (s *Activity) SetCUSTOM(v *CustomMessageActivity) *Activity {
 13260  	s.CUSTOM = v
 13261  	return s
 13262  }
 13263  
 13264  // SetConditionalSplit sets the ConditionalSplit field's value.
 13265  func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity {
 13266  	s.ConditionalSplit = v
 13267  	return s
 13268  }
 13269  
 13270  // SetContactCenter sets the ContactCenter field's value.
 13271  func (s *Activity) SetContactCenter(v *ContactCenterActivity) *Activity {
 13272  	s.ContactCenter = v
 13273  	return s
 13274  }
 13275  
 13276  // SetDescription sets the Description field's value.
 13277  func (s *Activity) SetDescription(v string) *Activity {
 13278  	s.Description = &v
 13279  	return s
 13280  }
 13281  
 13282  // SetEMAIL sets the EMAIL field's value.
 13283  func (s *Activity) SetEMAIL(v *EmailMessageActivity) *Activity {
 13284  	s.EMAIL = v
 13285  	return s
 13286  }
 13287  
 13288  // SetHoldout sets the Holdout field's value.
 13289  func (s *Activity) SetHoldout(v *HoldoutActivity) *Activity {
 13290  	s.Holdout = v
 13291  	return s
 13292  }
 13293  
 13294  // SetMultiCondition sets the MultiCondition field's value.
 13295  func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity {
 13296  	s.MultiCondition = v
 13297  	return s
 13298  }
 13299  
 13300  // SetPUSH sets the PUSH field's value.
 13301  func (s *Activity) SetPUSH(v *PushMessageActivity) *Activity {
 13302  	s.PUSH = v
 13303  	return s
 13304  }
 13305  
 13306  // SetRandomSplit sets the RandomSplit field's value.
 13307  func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity {
 13308  	s.RandomSplit = v
 13309  	return s
 13310  }
 13311  
 13312  // SetSMS sets the SMS field's value.
 13313  func (s *Activity) SetSMS(v *SMSMessageActivity) *Activity {
 13314  	s.SMS = v
 13315  	return s
 13316  }
 13317  
 13318  // SetWait sets the Wait field's value.
 13319  func (s *Activity) SetWait(v *WaitActivity) *Activity {
 13320  	s.Wait = v
 13321  	return s
 13322  }
 13323  
 13324  // Provides information about an activity that was performed by a campaign.
 13325  type ActivityResponse struct {
 13326  	_ struct{} `type:"structure"`
 13327  
 13328  	// The unique identifier for the application that the campaign applies to.
 13329  	//
 13330  	// ApplicationId is a required field
 13331  	ApplicationId *string `type:"string" required:"true"`
 13332  
 13333  	// The unique identifier for the campaign that the activity applies to.
 13334  	//
 13335  	// CampaignId is a required field
 13336  	CampaignId *string `type:"string" required:"true"`
 13337  
 13338  	// The actual time, in ISO 8601 format, when the activity was marked CANCELLED
 13339  	// or COMPLETED.
 13340  	End *string `type:"string"`
 13341  
 13342  	// The unique identifier for the activity.
 13343  	//
 13344  	// Id is a required field
 13345  	Id *string `type:"string" required:"true"`
 13346  
 13347  	// Specifies whether the activity succeeded. Possible values are SUCCESS and
 13348  	// FAIL.
 13349  	Result *string `type:"string"`
 13350  
 13351  	// The scheduled start time, in ISO 8601 format, for the activity.
 13352  	ScheduledStart *string `type:"string"`
 13353  
 13354  	// The actual start time, in ISO 8601 format, of the activity.
 13355  	Start *string `type:"string"`
 13356  
 13357  	// The current status of the activity. Possible values are: PENDING, INITIALIZING,
 13358  	// RUNNING, PAUSED, CANCELLED, and COMPLETED.
 13359  	State *string `type:"string"`
 13360  
 13361  	// The total number of endpoints that the campaign successfully delivered messages
 13362  	// to.
 13363  	SuccessfulEndpointCount *int64 `type:"integer"`
 13364  
 13365  	// The total number of time zones that were completed.
 13366  	TimezonesCompletedCount *int64 `type:"integer"`
 13367  
 13368  	// The total number of unique time zones that are in the segment for the campaign.
 13369  	TimezonesTotalCount *int64 `type:"integer"`
 13370  
 13371  	// The total number of endpoints that the campaign attempted to deliver messages
 13372  	// to.
 13373  	TotalEndpointCount *int64 `type:"integer"`
 13374  
 13375  	// The unique identifier for the campaign treatment that the activity applies
 13376  	// to. A treatment is a variation of a campaign that's used for A/B testing
 13377  	// of a campaign.
 13378  	TreatmentId *string `type:"string"`
 13379  }
 13380  
 13381  // String returns the string representation.
 13382  //
 13383  // API parameter values that are decorated as "sensitive" in the API will not
 13384  // be included in the string output. The member name will be present, but the
 13385  // value will be replaced with "sensitive".
 13386  func (s ActivityResponse) String() string {
 13387  	return awsutil.Prettify(s)
 13388  }
 13389  
 13390  // GoString returns the string representation.
 13391  //
 13392  // API parameter values that are decorated as "sensitive" in the API will not
 13393  // be included in the string output. The member name will be present, but the
 13394  // value will be replaced with "sensitive".
 13395  func (s ActivityResponse) GoString() string {
 13396  	return s.String()
 13397  }
 13398  
 13399  // SetApplicationId sets the ApplicationId field's value.
 13400  func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse {
 13401  	s.ApplicationId = &v
 13402  	return s
 13403  }
 13404  
 13405  // SetCampaignId sets the CampaignId field's value.
 13406  func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse {
 13407  	s.CampaignId = &v
 13408  	return s
 13409  }
 13410  
 13411  // SetEnd sets the End field's value.
 13412  func (s *ActivityResponse) SetEnd(v string) *ActivityResponse {
 13413  	s.End = &v
 13414  	return s
 13415  }
 13416  
 13417  // SetId sets the Id field's value.
 13418  func (s *ActivityResponse) SetId(v string) *ActivityResponse {
 13419  	s.Id = &v
 13420  	return s
 13421  }
 13422  
 13423  // SetResult sets the Result field's value.
 13424  func (s *ActivityResponse) SetResult(v string) *ActivityResponse {
 13425  	s.Result = &v
 13426  	return s
 13427  }
 13428  
 13429  // SetScheduledStart sets the ScheduledStart field's value.
 13430  func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse {
 13431  	s.ScheduledStart = &v
 13432  	return s
 13433  }
 13434  
 13435  // SetStart sets the Start field's value.
 13436  func (s *ActivityResponse) SetStart(v string) *ActivityResponse {
 13437  	s.Start = &v
 13438  	return s
 13439  }
 13440  
 13441  // SetState sets the State field's value.
 13442  func (s *ActivityResponse) SetState(v string) *ActivityResponse {
 13443  	s.State = &v
 13444  	return s
 13445  }
 13446  
 13447  // SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value.
 13448  func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse {
 13449  	s.SuccessfulEndpointCount = &v
 13450  	return s
 13451  }
 13452  
 13453  // SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value.
 13454  func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse {
 13455  	s.TimezonesCompletedCount = &v
 13456  	return s
 13457  }
 13458  
 13459  // SetTimezonesTotalCount sets the TimezonesTotalCount field's value.
 13460  func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse {
 13461  	s.TimezonesTotalCount = &v
 13462  	return s
 13463  }
 13464  
 13465  // SetTotalEndpointCount sets the TotalEndpointCount field's value.
 13466  func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse {
 13467  	s.TotalEndpointCount = &v
 13468  	return s
 13469  }
 13470  
 13471  // SetTreatmentId sets the TreatmentId field's value.
 13472  func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse {
 13473  	s.TreatmentId = &v
 13474  	return s
 13475  }
 13476  
 13477  // Specifies address-based configuration settings for a message that's sent
 13478  // directly to an endpoint.
 13479  type AddressConfiguration struct {
 13480  	_ struct{} `type:"structure"`
 13481  
 13482  	// The message body to use instead of the default message body. This value overrides
 13483  	// the default message body.
 13484  	BodyOverride *string `type:"string"`
 13485  
 13486  	// The channel to use when sending the message.
 13487  	ChannelType *string `type:"string" enum:"ChannelType"`
 13488  
 13489  	// An object that maps custom attributes to attributes for the address and is
 13490  	// attached to the message. Attribute names are case sensitive.
 13491  	//
 13492  	// For a push notification, this payload is added to the data.pinpoint object.
 13493  	// For an email or text message, this payload is added to email/SMS delivery
 13494  	// receipt event attributes.
 13495  	Context map[string]*string `type:"map"`
 13496  
 13497  	// The raw, JSON-formatted string to use as the payload for the message. If
 13498  	// specified, this value overrides all other values for the message.
 13499  	RawContent *string `type:"string"`
 13500  
 13501  	// A map of the message variables to merge with the variables specified by properties
 13502  	// of the DefaultMessage object. The variables specified in this map take precedence
 13503  	// over all other variables.
 13504  	Substitutions map[string][]*string `type:"map"`
 13505  
 13506  	// The message title to use instead of the default message title. This value
 13507  	// overrides the default message title.
 13508  	TitleOverride *string `type:"string"`
 13509  }
 13510  
 13511  // String returns the string representation.
 13512  //
 13513  // API parameter values that are decorated as "sensitive" in the API will not
 13514  // be included in the string output. The member name will be present, but the
 13515  // value will be replaced with "sensitive".
 13516  func (s AddressConfiguration) String() string {
 13517  	return awsutil.Prettify(s)
 13518  }
 13519  
 13520  // GoString returns the string representation.
 13521  //
 13522  // API parameter values that are decorated as "sensitive" in the API will not
 13523  // be included in the string output. The member name will be present, but the
 13524  // value will be replaced with "sensitive".
 13525  func (s AddressConfiguration) GoString() string {
 13526  	return s.String()
 13527  }
 13528  
 13529  // SetBodyOverride sets the BodyOverride field's value.
 13530  func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration {
 13531  	s.BodyOverride = &v
 13532  	return s
 13533  }
 13534  
 13535  // SetChannelType sets the ChannelType field's value.
 13536  func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration {
 13537  	s.ChannelType = &v
 13538  	return s
 13539  }
 13540  
 13541  // SetContext sets the Context field's value.
 13542  func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration {
 13543  	s.Context = v
 13544  	return s
 13545  }
 13546  
 13547  // SetRawContent sets the RawContent field's value.
 13548  func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration {
 13549  	s.RawContent = &v
 13550  	return s
 13551  }
 13552  
 13553  // SetSubstitutions sets the Substitutions field's value.
 13554  func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration {
 13555  	s.Substitutions = v
 13556  	return s
 13557  }
 13558  
 13559  // SetTitleOverride sets the TitleOverride field's value.
 13560  func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration {
 13561  	s.TitleOverride = &v
 13562  	return s
 13563  }
 13564  
 13565  // Specifies channel-specific content and settings for a message template that
 13566  // can be used in push notifications that are sent through the ADM (Amazon Device
 13567  // Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly
 13568  // Google Cloud Messaging) channel.
 13569  type AndroidPushNotificationTemplate struct {
 13570  	_ struct{} `type:"structure"`
 13571  
 13572  	// The action to occur if a recipient taps a push notification that's based
 13573  	// on the message template. Valid values are:
 13574  	//
 13575  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 13576  	//    sent to the background. This is the default action.
 13577  	//
 13578  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 13579  	//    in the app. This action uses the deep-linking features of the Android
 13580  	//    platform.
 13581  	//
 13582  	//    * URL - The default mobile browser on the recipient's device opens and
 13583  	//    loads the web page at a URL that you specify.
 13584  	Action *string `type:"string" enum:"Action"`
 13585  
 13586  	// The message body to use in a push notification that's based on the message
 13587  	// template.
 13588  	Body *string `type:"string"`
 13589  
 13590  	// The URL of the large icon image to display in the content view of a push
 13591  	// notification that's based on the message template.
 13592  	ImageIconUrl *string `type:"string"`
 13593  
 13594  	// The URL of an image to display in a push notification that's based on the
 13595  	// message template.
 13596  	ImageUrl *string `type:"string"`
 13597  
 13598  	// The raw, JSON-formatted string to use as the payload for a push notification
 13599  	// that's based on the message template. If specified, this value overrides
 13600  	// all other content for the message template.
 13601  	RawContent *string `type:"string"`
 13602  
 13603  	// The URL of the small icon image to display in the status bar and the content
 13604  	// view of a push notification that's based on the message template.
 13605  	SmallImageIconUrl *string `type:"string"`
 13606  
 13607  	// The sound to play when a recipient receives a push notification that's based
 13608  	// on the message template. You can use the default stream or specify the file
 13609  	// name of a sound resource that's bundled in your app. On an Android platform,
 13610  	// the sound file must reside in /res/raw/.
 13611  	Sound *string `type:"string"`
 13612  
 13613  	// The title to use in a push notification that's based on the message template.
 13614  	// This title appears above the notification message on a recipient's device.
 13615  	Title *string `type:"string"`
 13616  
 13617  	// The URL to open in a recipient's default mobile browser, if a recipient taps
 13618  	// a push notification that's based on the message template and the value of
 13619  	// the Action property is URL.
 13620  	Url *string `type:"string"`
 13621  }
 13622  
 13623  // String returns the string representation.
 13624  //
 13625  // API parameter values that are decorated as "sensitive" in the API will not
 13626  // be included in the string output. The member name will be present, but the
 13627  // value will be replaced with "sensitive".
 13628  func (s AndroidPushNotificationTemplate) String() string {
 13629  	return awsutil.Prettify(s)
 13630  }
 13631  
 13632  // GoString returns the string representation.
 13633  //
 13634  // API parameter values that are decorated as "sensitive" in the API will not
 13635  // be included in the string output. The member name will be present, but the
 13636  // value will be replaced with "sensitive".
 13637  func (s AndroidPushNotificationTemplate) GoString() string {
 13638  	return s.String()
 13639  }
 13640  
 13641  // SetAction sets the Action field's value.
 13642  func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate {
 13643  	s.Action = &v
 13644  	return s
 13645  }
 13646  
 13647  // SetBody sets the Body field's value.
 13648  func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate {
 13649  	s.Body = &v
 13650  	return s
 13651  }
 13652  
 13653  // SetImageIconUrl sets the ImageIconUrl field's value.
 13654  func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate {
 13655  	s.ImageIconUrl = &v
 13656  	return s
 13657  }
 13658  
 13659  // SetImageUrl sets the ImageUrl field's value.
 13660  func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate {
 13661  	s.ImageUrl = &v
 13662  	return s
 13663  }
 13664  
 13665  // SetRawContent sets the RawContent field's value.
 13666  func (s *AndroidPushNotificationTemplate) SetRawContent(v string) *AndroidPushNotificationTemplate {
 13667  	s.RawContent = &v
 13668  	return s
 13669  }
 13670  
 13671  // SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
 13672  func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate {
 13673  	s.SmallImageIconUrl = &v
 13674  	return s
 13675  }
 13676  
 13677  // SetSound sets the Sound field's value.
 13678  func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate {
 13679  	s.Sound = &v
 13680  	return s
 13681  }
 13682  
 13683  // SetTitle sets the Title field's value.
 13684  func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate {
 13685  	s.Title = &v
 13686  	return s
 13687  }
 13688  
 13689  // SetUrl sets the Url field's value.
 13690  func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate {
 13691  	s.Url = &v
 13692  	return s
 13693  }
 13694  
 13695  // Provides the results of a query that retrieved the data for a standard metric
 13696  // that applies to an application, and provides information about that query.
 13697  type ApplicationDateRangeKpiResponse struct {
 13698  	_ struct{} `type:"structure"`
 13699  
 13700  	// The unique identifier for the application that the metric applies to.
 13701  	//
 13702  	// ApplicationId is a required field
 13703  	ApplicationId *string `type:"string" required:"true"`
 13704  
 13705  	// EndTime is a required field
 13706  	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 13707  
 13708  	// The name of the metric, also referred to as a key performance indicator (KPI),
 13709  	// that the data was retrieved for. This value describes the associated metric
 13710  	// and consists of two or more terms, which are comprised of lowercase alphanumeric
 13711  	// characters, separated by a hyphen. For a list of possible values, see the
 13712  	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
 13713  	//
 13714  	// KpiName is a required field
 13715  	KpiName *string `type:"string" required:"true"`
 13716  
 13717  	// An array of objects that contains the results of the query. Each object contains
 13718  	// the value for the metric and metadata about that value.
 13719  	//
 13720  	// KpiResult is a required field
 13721  	KpiResult *BaseKpiResult `type:"structure" required:"true"`
 13722  
 13723  	// The string to use in a subsequent request to get the next page of results
 13724  	// in a paginated response. This value is null for the Application Metrics resource
 13725  	// because the resource returns all results in a single page.
 13726  	NextToken *string `type:"string"`
 13727  
 13728  	// StartTime is a required field
 13729  	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 13730  }
 13731  
 13732  // String returns the string representation.
 13733  //
 13734  // API parameter values that are decorated as "sensitive" in the API will not
 13735  // be included in the string output. The member name will be present, but the
 13736  // value will be replaced with "sensitive".
 13737  func (s ApplicationDateRangeKpiResponse) String() string {
 13738  	return awsutil.Prettify(s)
 13739  }
 13740  
 13741  // GoString returns the string representation.
 13742  //
 13743  // API parameter values that are decorated as "sensitive" in the API will not
 13744  // be included in the string output. The member name will be present, but the
 13745  // value will be replaced with "sensitive".
 13746  func (s ApplicationDateRangeKpiResponse) GoString() string {
 13747  	return s.String()
 13748  }
 13749  
 13750  // SetApplicationId sets the ApplicationId field's value.
 13751  func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse {
 13752  	s.ApplicationId = &v
 13753  	return s
 13754  }
 13755  
 13756  // SetEndTime sets the EndTime field's value.
 13757  func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse {
 13758  	s.EndTime = &v
 13759  	return s
 13760  }
 13761  
 13762  // SetKpiName sets the KpiName field's value.
 13763  func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse {
 13764  	s.KpiName = &v
 13765  	return s
 13766  }
 13767  
 13768  // SetKpiResult sets the KpiResult field's value.
 13769  func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse {
 13770  	s.KpiResult = v
 13771  	return s
 13772  }
 13773  
 13774  // SetNextToken sets the NextToken field's value.
 13775  func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse {
 13776  	s.NextToken = &v
 13777  	return s
 13778  }
 13779  
 13780  // SetStartTime sets the StartTime field's value.
 13781  func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse {
 13782  	s.StartTime = &v
 13783  	return s
 13784  }
 13785  
 13786  // Provides information about an application.
 13787  type ApplicationResponse struct {
 13788  	_ struct{} `type:"structure"`
 13789  
 13790  	// The Amazon Resource Name (ARN) of the application.
 13791  	//
 13792  	// Arn is a required field
 13793  	Arn *string `type:"string" required:"true"`
 13794  
 13795  	// The unique identifier for the application. This identifier is displayed as
 13796  	// the Project ID on the Amazon Pinpoint console.
 13797  	//
 13798  	// Id is a required field
 13799  	Id *string `type:"string" required:"true"`
 13800  
 13801  	// The display name of the application. This name is displayed as the Project
 13802  	// name on the Amazon Pinpoint console.
 13803  	//
 13804  	// Name is a required field
 13805  	Name *string `type:"string" required:"true"`
 13806  
 13807  	// A string-to-string map of key-value pairs that identifies the tags that are
 13808  	// associated with the application. Each tag consists of a required tag key
 13809  	// and an associated tag value.
 13810  	Tags map[string]*string `locationName:"tags" type:"map"`
 13811  }
 13812  
 13813  // String returns the string representation.
 13814  //
 13815  // API parameter values that are decorated as "sensitive" in the API will not
 13816  // be included in the string output. The member name will be present, but the
 13817  // value will be replaced with "sensitive".
 13818  func (s ApplicationResponse) String() string {
 13819  	return awsutil.Prettify(s)
 13820  }
 13821  
 13822  // GoString returns the string representation.
 13823  //
 13824  // API parameter values that are decorated as "sensitive" in the API will not
 13825  // be included in the string output. The member name will be present, but the
 13826  // value will be replaced with "sensitive".
 13827  func (s ApplicationResponse) GoString() string {
 13828  	return s.String()
 13829  }
 13830  
 13831  // SetArn sets the Arn field's value.
 13832  func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse {
 13833  	s.Arn = &v
 13834  	return s
 13835  }
 13836  
 13837  // SetId sets the Id field's value.
 13838  func (s *ApplicationResponse) SetId(v string) *ApplicationResponse {
 13839  	s.Id = &v
 13840  	return s
 13841  }
 13842  
 13843  // SetName sets the Name field's value.
 13844  func (s *ApplicationResponse) SetName(v string) *ApplicationResponse {
 13845  	s.Name = &v
 13846  	return s
 13847  }
 13848  
 13849  // SetTags sets the Tags field's value.
 13850  func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse {
 13851  	s.Tags = v
 13852  	return s
 13853  }
 13854  
 13855  // Provides information about an application, including the default settings
 13856  // for an application.
 13857  type ApplicationSettingsResource struct {
 13858  	_ struct{} `type:"structure"`
 13859  
 13860  	// The unique identifier for the application. This identifier is displayed as
 13861  	// the Project ID on the Amazon Pinpoint console.
 13862  	//
 13863  	// ApplicationId is a required field
 13864  	ApplicationId *string `type:"string" required:"true"`
 13865  
 13866  	// The settings for the AWS Lambda function to invoke by default as a code hook
 13867  	// for campaigns in the application. You can use this hook to customize segments
 13868  	// that are used by campaigns in the application.
 13869  	CampaignHook *CampaignHook `type:"structure"`
 13870  
 13871  	// The date and time, in ISO 8601 format, when the application's settings were
 13872  	// last modified.
 13873  	LastModifiedDate *string `type:"string"`
 13874  
 13875  	// The default sending limits for campaigns in the application.
 13876  	Limits *CampaignLimits `type:"structure"`
 13877  
 13878  	// The default quiet time for campaigns in the application. Quiet time is a
 13879  	// specific time range when messages aren't sent to endpoints, if all the following
 13880  	// conditions are met:
 13881  	//
 13882  	//    * The EndpointDemographic.Timezone property of the endpoint is set to
 13883  	//    a valid value.
 13884  	//
 13885  	//    * The current time in the endpoint's time zone is later than or equal
 13886  	//    to the time specified by the QuietTime.Start property for the application
 13887  	//    (or a campaign or journey that has custom quiet time settings).
 13888  	//
 13889  	//    * The current time in the endpoint's time zone is earlier than or equal
 13890  	//    to the time specified by the QuietTime.End property for the application
 13891  	//    (or a campaign or journey that has custom quiet time settings).
 13892  	//
 13893  	// If any of the preceding conditions isn't met, the endpoint will receive messages
 13894  	// from a campaign or journey, even if quiet time is enabled.
 13895  	QuietTime *QuietTime `type:"structure"`
 13896  }
 13897  
 13898  // String returns the string representation.
 13899  //
 13900  // API parameter values that are decorated as "sensitive" in the API will not
 13901  // be included in the string output. The member name will be present, but the
 13902  // value will be replaced with "sensitive".
 13903  func (s ApplicationSettingsResource) String() string {
 13904  	return awsutil.Prettify(s)
 13905  }
 13906  
 13907  // GoString returns the string representation.
 13908  //
 13909  // API parameter values that are decorated as "sensitive" in the API will not
 13910  // be included in the string output. The member name will be present, but the
 13911  // value will be replaced with "sensitive".
 13912  func (s ApplicationSettingsResource) GoString() string {
 13913  	return s.String()
 13914  }
 13915  
 13916  // SetApplicationId sets the ApplicationId field's value.
 13917  func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource {
 13918  	s.ApplicationId = &v
 13919  	return s
 13920  }
 13921  
 13922  // SetCampaignHook sets the CampaignHook field's value.
 13923  func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource {
 13924  	s.CampaignHook = v
 13925  	return s
 13926  }
 13927  
 13928  // SetLastModifiedDate sets the LastModifiedDate field's value.
 13929  func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource {
 13930  	s.LastModifiedDate = &v
 13931  	return s
 13932  }
 13933  
 13934  // SetLimits sets the Limits field's value.
 13935  func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource {
 13936  	s.Limits = v
 13937  	return s
 13938  }
 13939  
 13940  // SetQuietTime sets the QuietTime field's value.
 13941  func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource {
 13942  	s.QuietTime = v
 13943  	return s
 13944  }
 13945  
 13946  // Provides information about all of your applications.
 13947  type ApplicationsResponse struct {
 13948  	_ struct{} `type:"structure"`
 13949  
 13950  	// An array of responses, one for each application that was returned.
 13951  	Item []*ApplicationResponse `type:"list"`
 13952  
 13953  	// The string to use in a subsequent request to get the next page of results
 13954  	// in a paginated response. This value is null if there are no additional pages.
 13955  	NextToken *string `type:"string"`
 13956  }
 13957  
 13958  // String returns the string representation.
 13959  //
 13960  // API parameter values that are decorated as "sensitive" in the API will not
 13961  // be included in the string output. The member name will be present, but the
 13962  // value will be replaced with "sensitive".
 13963  func (s ApplicationsResponse) String() string {
 13964  	return awsutil.Prettify(s)
 13965  }
 13966  
 13967  // GoString returns the string representation.
 13968  //
 13969  // API parameter values that are decorated as "sensitive" in the API will not
 13970  // be included in the string output. The member name will be present, but the
 13971  // value will be replaced with "sensitive".
 13972  func (s ApplicationsResponse) GoString() string {
 13973  	return s.String()
 13974  }
 13975  
 13976  // SetItem sets the Item field's value.
 13977  func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse {
 13978  	s.Item = v
 13979  	return s
 13980  }
 13981  
 13982  // SetNextToken sets the NextToken field's value.
 13983  func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse {
 13984  	s.NextToken = &v
 13985  	return s
 13986  }
 13987  
 13988  // Specifies attribute-based criteria for including or excluding endpoints from
 13989  // a segment.
 13990  type AttributeDimension struct {
 13991  	_ struct{} `type:"structure"`
 13992  
 13993  	AttributeType *string `type:"string" enum:"AttributeType"`
 13994  
 13995  	// The criteria values to use for the segment dimension. Depending on the value
 13996  	// of the AttributeType property, endpoints are included or excluded from the
 13997  	// segment if their attribute values match the criteria values.
 13998  	//
 13999  	// Values is a required field
 14000  	Values []*string `type:"list" required:"true"`
 14001  }
 14002  
 14003  // String returns the string representation.
 14004  //
 14005  // API parameter values that are decorated as "sensitive" in the API will not
 14006  // be included in the string output. The member name will be present, but the
 14007  // value will be replaced with "sensitive".
 14008  func (s AttributeDimension) String() string {
 14009  	return awsutil.Prettify(s)
 14010  }
 14011  
 14012  // GoString returns the string representation.
 14013  //
 14014  // API parameter values that are decorated as "sensitive" in the API will not
 14015  // be included in the string output. The member name will be present, but the
 14016  // value will be replaced with "sensitive".
 14017  func (s AttributeDimension) GoString() string {
 14018  	return s.String()
 14019  }
 14020  
 14021  // Validate inspects the fields of the type to determine if they are valid.
 14022  func (s *AttributeDimension) Validate() error {
 14023  	invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"}
 14024  	if s.Values == nil {
 14025  		invalidParams.Add(request.NewErrParamRequired("Values"))
 14026  	}
 14027  
 14028  	if invalidParams.Len() > 0 {
 14029  		return invalidParams
 14030  	}
 14031  	return nil
 14032  }
 14033  
 14034  // SetAttributeType sets the AttributeType field's value.
 14035  func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension {
 14036  	s.AttributeType = &v
 14037  	return s
 14038  }
 14039  
 14040  // SetValues sets the Values field's value.
 14041  func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension {
 14042  	s.Values = v
 14043  	return s
 14044  }
 14045  
 14046  // Provides information about the type and the names of attributes that were
 14047  // removed from all the endpoints that are associated with an application.
 14048  type AttributesResource struct {
 14049  	_ struct{} `type:"structure"`
 14050  
 14051  	// The unique identifier for the application.
 14052  	//
 14053  	// ApplicationId is a required field
 14054  	ApplicationId *string `type:"string" required:"true"`
 14055  
 14056  	// The type of attribute or attributes that were removed from the endpoints.
 14057  	// Valid values are:
 14058  	//
 14059  	//    * endpoint-custom-attributes - Custom attributes that describe endpoints.
 14060  	//
 14061  	//    * endpoint-metric-attributes - Custom metrics that your app reports to
 14062  	//    Amazon Pinpoint for endpoints.
 14063  	//
 14064  	//    * endpoint-user-attributes - Custom attributes that describe users.
 14065  	//
 14066  	// AttributeType is a required field
 14067  	AttributeType *string `type:"string" required:"true"`
 14068  
 14069  	// An array that specifies the names of the attributes that were removed from
 14070  	// the endpoints.
 14071  	Attributes []*string `type:"list"`
 14072  }
 14073  
 14074  // String returns the string representation.
 14075  //
 14076  // API parameter values that are decorated as "sensitive" in the API will not
 14077  // be included in the string output. The member name will be present, but the
 14078  // value will be replaced with "sensitive".
 14079  func (s AttributesResource) String() string {
 14080  	return awsutil.Prettify(s)
 14081  }
 14082  
 14083  // GoString returns the string representation.
 14084  //
 14085  // API parameter values that are decorated as "sensitive" in the API will not
 14086  // be included in the string output. The member name will be present, but the
 14087  // value will be replaced with "sensitive".
 14088  func (s AttributesResource) GoString() string {
 14089  	return s.String()
 14090  }
 14091  
 14092  // SetApplicationId sets the ApplicationId field's value.
 14093  func (s *AttributesResource) SetApplicationId(v string) *AttributesResource {
 14094  	s.ApplicationId = &v
 14095  	return s
 14096  }
 14097  
 14098  // SetAttributeType sets the AttributeType field's value.
 14099  func (s *AttributesResource) SetAttributeType(v string) *AttributesResource {
 14100  	s.AttributeType = &v
 14101  	return s
 14102  }
 14103  
 14104  // SetAttributes sets the Attributes field's value.
 14105  func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource {
 14106  	s.Attributes = v
 14107  	return s
 14108  }
 14109  
 14110  // Provides information about an API request or response.
 14111  type BadRequestException struct {
 14112  	_            struct{}                  `type:"structure"`
 14113  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14114  
 14115  	Message_ *string `locationName:"Message" type:"string"`
 14116  
 14117  	RequestID_ *string `locationName:"RequestID" type:"string"`
 14118  }
 14119  
 14120  // String returns the string representation.
 14121  //
 14122  // API parameter values that are decorated as "sensitive" in the API will not
 14123  // be included in the string output. The member name will be present, but the
 14124  // value will be replaced with "sensitive".
 14125  func (s BadRequestException) String() string {
 14126  	return awsutil.Prettify(s)
 14127  }
 14128  
 14129  // GoString returns the string representation.
 14130  //
 14131  // API parameter values that are decorated as "sensitive" in the API will not
 14132  // be included in the string output. The member name will be present, but the
 14133  // value will be replaced with "sensitive".
 14134  func (s BadRequestException) GoString() string {
 14135  	return s.String()
 14136  }
 14137  
 14138  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
 14139  	return &BadRequestException{
 14140  		RespMetadata: v,
 14141  	}
 14142  }
 14143  
 14144  // Code returns the exception type name.
 14145  func (s *BadRequestException) Code() string {
 14146  	return "BadRequestException"
 14147  }
 14148  
 14149  // Message returns the exception's message.
 14150  func (s *BadRequestException) Message() string {
 14151  	if s.Message_ != nil {
 14152  		return *s.Message_
 14153  	}
 14154  	return ""
 14155  }
 14156  
 14157  // OrigErr always returns nil, satisfies awserr.Error interface.
 14158  func (s *BadRequestException) OrigErr() error {
 14159  	return nil
 14160  }
 14161  
 14162  func (s *BadRequestException) Error() string {
 14163  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 14164  }
 14165  
 14166  // Status code returns the HTTP status code for the request's response error.
 14167  func (s *BadRequestException) StatusCode() int {
 14168  	return s.RespMetadata.StatusCode
 14169  }
 14170  
 14171  // RequestID returns the service's response RequestID for request.
 14172  func (s *BadRequestException) RequestID() string {
 14173  	return s.RespMetadata.RequestID
 14174  }
 14175  
 14176  // Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
 14177  // for an application.
 14178  type BaiduChannelRequest struct {
 14179  	_ struct{} `type:"structure"`
 14180  
 14181  	// The API key that you received from the Baidu Cloud Push service to communicate
 14182  	// with the service.
 14183  	//
 14184  	// ApiKey is a required field
 14185  	ApiKey *string `type:"string" required:"true"`
 14186  
 14187  	// Specifies whether to enable the Baidu channel for the application.
 14188  	Enabled *bool `type:"boolean"`
 14189  
 14190  	// The secret key that you received from the Baidu Cloud Push service to communicate
 14191  	// with the service.
 14192  	//
 14193  	// SecretKey is a required field
 14194  	SecretKey *string `type:"string" required:"true"`
 14195  }
 14196  
 14197  // String returns the string representation.
 14198  //
 14199  // API parameter values that are decorated as "sensitive" in the API will not
 14200  // be included in the string output. The member name will be present, but the
 14201  // value will be replaced with "sensitive".
 14202  func (s BaiduChannelRequest) String() string {
 14203  	return awsutil.Prettify(s)
 14204  }
 14205  
 14206  // GoString returns the string representation.
 14207  //
 14208  // API parameter values that are decorated as "sensitive" in the API will not
 14209  // be included in the string output. The member name will be present, but the
 14210  // value will be replaced with "sensitive".
 14211  func (s BaiduChannelRequest) GoString() string {
 14212  	return s.String()
 14213  }
 14214  
 14215  // Validate inspects the fields of the type to determine if they are valid.
 14216  func (s *BaiduChannelRequest) Validate() error {
 14217  	invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"}
 14218  	if s.ApiKey == nil {
 14219  		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
 14220  	}
 14221  	if s.SecretKey == nil {
 14222  		invalidParams.Add(request.NewErrParamRequired("SecretKey"))
 14223  	}
 14224  
 14225  	if invalidParams.Len() > 0 {
 14226  		return invalidParams
 14227  	}
 14228  	return nil
 14229  }
 14230  
 14231  // SetApiKey sets the ApiKey field's value.
 14232  func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest {
 14233  	s.ApiKey = &v
 14234  	return s
 14235  }
 14236  
 14237  // SetEnabled sets the Enabled field's value.
 14238  func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest {
 14239  	s.Enabled = &v
 14240  	return s
 14241  }
 14242  
 14243  // SetSecretKey sets the SecretKey field's value.
 14244  func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest {
 14245  	s.SecretKey = &v
 14246  	return s
 14247  }
 14248  
 14249  // Provides information about the status and settings of the Baidu (Baidu Cloud
 14250  // Push) channel for an application.
 14251  type BaiduChannelResponse struct {
 14252  	_ struct{} `type:"structure"`
 14253  
 14254  	// The unique identifier for the application that the Baidu channel applies
 14255  	// to.
 14256  	ApplicationId *string `type:"string"`
 14257  
 14258  	// The date and time when the Baidu channel was enabled.
 14259  	CreationDate *string `type:"string"`
 14260  
 14261  	// The API key that you received from the Baidu Cloud Push service to communicate
 14262  	// with the service.
 14263  	//
 14264  	// Credential is a required field
 14265  	Credential *string `type:"string" required:"true"`
 14266  
 14267  	// Specifies whether the Baidu channel is enabled for the application.
 14268  	Enabled *bool `type:"boolean"`
 14269  
 14270  	// (Not used) This property is retained only for backward compatibility.
 14271  	HasCredential *bool `type:"boolean"`
 14272  
 14273  	// (Deprecated) An identifier for the Baidu channel. This property is retained
 14274  	// only for backward compatibility.
 14275  	Id *string `type:"string"`
 14276  
 14277  	// Specifies whether the Baidu channel is archived.
 14278  	IsArchived *bool `type:"boolean"`
 14279  
 14280  	// The user who last modified the Baidu channel.
 14281  	LastModifiedBy *string `type:"string"`
 14282  
 14283  	// The date and time when the Baidu channel was last modified.
 14284  	LastModifiedDate *string `type:"string"`
 14285  
 14286  	// The type of messaging or notification platform for the channel. For the Baidu
 14287  	// channel, this value is BAIDU.
 14288  	//
 14289  	// Platform is a required field
 14290  	Platform *string `type:"string" required:"true"`
 14291  
 14292  	// The current version of the Baidu channel.
 14293  	Version *int64 `type:"integer"`
 14294  }
 14295  
 14296  // String returns the string representation.
 14297  //
 14298  // API parameter values that are decorated as "sensitive" in the API will not
 14299  // be included in the string output. The member name will be present, but the
 14300  // value will be replaced with "sensitive".
 14301  func (s BaiduChannelResponse) String() string {
 14302  	return awsutil.Prettify(s)
 14303  }
 14304  
 14305  // GoString returns the string representation.
 14306  //
 14307  // API parameter values that are decorated as "sensitive" in the API will not
 14308  // be included in the string output. The member name will be present, but the
 14309  // value will be replaced with "sensitive".
 14310  func (s BaiduChannelResponse) GoString() string {
 14311  	return s.String()
 14312  }
 14313  
 14314  // SetApplicationId sets the ApplicationId field's value.
 14315  func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse {
 14316  	s.ApplicationId = &v
 14317  	return s
 14318  }
 14319  
 14320  // SetCreationDate sets the CreationDate field's value.
 14321  func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse {
 14322  	s.CreationDate = &v
 14323  	return s
 14324  }
 14325  
 14326  // SetCredential sets the Credential field's value.
 14327  func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse {
 14328  	s.Credential = &v
 14329  	return s
 14330  }
 14331  
 14332  // SetEnabled sets the Enabled field's value.
 14333  func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse {
 14334  	s.Enabled = &v
 14335  	return s
 14336  }
 14337  
 14338  // SetHasCredential sets the HasCredential field's value.
 14339  func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse {
 14340  	s.HasCredential = &v
 14341  	return s
 14342  }
 14343  
 14344  // SetId sets the Id field's value.
 14345  func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse {
 14346  	s.Id = &v
 14347  	return s
 14348  }
 14349  
 14350  // SetIsArchived sets the IsArchived field's value.
 14351  func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse {
 14352  	s.IsArchived = &v
 14353  	return s
 14354  }
 14355  
 14356  // SetLastModifiedBy sets the LastModifiedBy field's value.
 14357  func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse {
 14358  	s.LastModifiedBy = &v
 14359  	return s
 14360  }
 14361  
 14362  // SetLastModifiedDate sets the LastModifiedDate field's value.
 14363  func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse {
 14364  	s.LastModifiedDate = &v
 14365  	return s
 14366  }
 14367  
 14368  // SetPlatform sets the Platform field's value.
 14369  func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse {
 14370  	s.Platform = &v
 14371  	return s
 14372  }
 14373  
 14374  // SetVersion sets the Version field's value.
 14375  func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse {
 14376  	s.Version = &v
 14377  	return s
 14378  }
 14379  
 14380  // Specifies the settings for a one-time message that's sent directly to an
 14381  // endpoint through the Baidu (Baidu Cloud Push) channel.
 14382  type BaiduMessage struct {
 14383  	_ struct{} `type:"structure"`
 14384  
 14385  	// The action to occur if the recipient taps the push notification. Valid values
 14386  	// are:
 14387  	//
 14388  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 14389  	//    sent to the background. This is the default action.
 14390  	//
 14391  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 14392  	//    in the app. This action uses the deep-linking features of the Android
 14393  	//    platform.
 14394  	//
 14395  	//    * URL - The default mobile browser on the recipient's device opens and
 14396  	//    loads the web page at a URL that you specify.
 14397  	Action *string `type:"string" enum:"Action"`
 14398  
 14399  	// The body of the notification message.
 14400  	Body *string `type:"string"`
 14401  
 14402  	// The JSON data payload to use for the push notification, if the notification
 14403  	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
 14404  	// object of the notification.
 14405  	Data map[string]*string `type:"map"`
 14406  
 14407  	// The icon image name of the asset saved in your app.
 14408  	IconReference *string `type:"string"`
 14409  
 14410  	// The URL of the large icon image to display in the content view of the push
 14411  	// notification.
 14412  	ImageIconUrl *string `type:"string"`
 14413  
 14414  	// The URL of an image to display in the push notification.
 14415  	ImageUrl *string `type:"string"`
 14416  
 14417  	// The raw, JSON-formatted string to use as the payload for the notification
 14418  	// message. If specified, this value overrides all other content for the message.
 14419  	RawContent *string `type:"string"`
 14420  
 14421  	// Specifies whether the notification is a silent push notification, which is
 14422  	// a push notification that doesn't display on a recipient's device. Silent
 14423  	// push notifications can be used for cases such as updating an app's configuration
 14424  	// or supporting phone home functionality.
 14425  	SilentPush *bool `type:"boolean"`
 14426  
 14427  	// The URL of the small icon image to display in the status bar and the content
 14428  	// view of the push notification.
 14429  	SmallImageIconUrl *string `type:"string"`
 14430  
 14431  	// The sound to play when the recipient receives the push notification. You
 14432  	// can use the default stream or specify the file name of a sound resource that's
 14433  	// bundled in your app. On an Android platform, the sound file must reside in
 14434  	// /res/raw/.
 14435  	Sound *string `type:"string"`
 14436  
 14437  	// The default message variables to use in the notification message. You can
 14438  	// override the default variables with individual address variables.
 14439  	Substitutions map[string][]*string `type:"map"`
 14440  
 14441  	// The amount of time, in seconds, that the Baidu Cloud Push service should
 14442  	// store the message if the recipient's device is offline. The default value
 14443  	// and maximum supported time is 604,800 seconds (7 days).
 14444  	TimeToLive *int64 `type:"integer"`
 14445  
 14446  	// The title to display above the notification message on the recipient's device.
 14447  	Title *string `type:"string"`
 14448  
 14449  	// The URL to open in the recipient's default mobile browser, if a recipient
 14450  	// taps the push notification and the value of the Action property is URL.
 14451  	Url *string `type:"string"`
 14452  }
 14453  
 14454  // String returns the string representation.
 14455  //
 14456  // API parameter values that are decorated as "sensitive" in the API will not
 14457  // be included in the string output. The member name will be present, but the
 14458  // value will be replaced with "sensitive".
 14459  func (s BaiduMessage) String() string {
 14460  	return awsutil.Prettify(s)
 14461  }
 14462  
 14463  // GoString returns the string representation.
 14464  //
 14465  // API parameter values that are decorated as "sensitive" in the API will not
 14466  // be included in the string output. The member name will be present, but the
 14467  // value will be replaced with "sensitive".
 14468  func (s BaiduMessage) GoString() string {
 14469  	return s.String()
 14470  }
 14471  
 14472  // SetAction sets the Action field's value.
 14473  func (s *BaiduMessage) SetAction(v string) *BaiduMessage {
 14474  	s.Action = &v
 14475  	return s
 14476  }
 14477  
 14478  // SetBody sets the Body field's value.
 14479  func (s *BaiduMessage) SetBody(v string) *BaiduMessage {
 14480  	s.Body = &v
 14481  	return s
 14482  }
 14483  
 14484  // SetData sets the Data field's value.
 14485  func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage {
 14486  	s.Data = v
 14487  	return s
 14488  }
 14489  
 14490  // SetIconReference sets the IconReference field's value.
 14491  func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage {
 14492  	s.IconReference = &v
 14493  	return s
 14494  }
 14495  
 14496  // SetImageIconUrl sets the ImageIconUrl field's value.
 14497  func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage {
 14498  	s.ImageIconUrl = &v
 14499  	return s
 14500  }
 14501  
 14502  // SetImageUrl sets the ImageUrl field's value.
 14503  func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage {
 14504  	s.ImageUrl = &v
 14505  	return s
 14506  }
 14507  
 14508  // SetRawContent sets the RawContent field's value.
 14509  func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage {
 14510  	s.RawContent = &v
 14511  	return s
 14512  }
 14513  
 14514  // SetSilentPush sets the SilentPush field's value.
 14515  func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage {
 14516  	s.SilentPush = &v
 14517  	return s
 14518  }
 14519  
 14520  // SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
 14521  func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage {
 14522  	s.SmallImageIconUrl = &v
 14523  	return s
 14524  }
 14525  
 14526  // SetSound sets the Sound field's value.
 14527  func (s *BaiduMessage) SetSound(v string) *BaiduMessage {
 14528  	s.Sound = &v
 14529  	return s
 14530  }
 14531  
 14532  // SetSubstitutions sets the Substitutions field's value.
 14533  func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage {
 14534  	s.Substitutions = v
 14535  	return s
 14536  }
 14537  
 14538  // SetTimeToLive sets the TimeToLive field's value.
 14539  func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage {
 14540  	s.TimeToLive = &v
 14541  	return s
 14542  }
 14543  
 14544  // SetTitle sets the Title field's value.
 14545  func (s *BaiduMessage) SetTitle(v string) *BaiduMessage {
 14546  	s.Title = &v
 14547  	return s
 14548  }
 14549  
 14550  // SetUrl sets the Url field's value.
 14551  func (s *BaiduMessage) SetUrl(v string) *BaiduMessage {
 14552  	s.Url = &v
 14553  	return s
 14554  }
 14555  
 14556  // Provides the results of a query that retrieved the data for a standard metric
 14557  // that applies to an application, campaign, or journey.
 14558  type BaseKpiResult struct {
 14559  	_ struct{} `type:"structure"`
 14560  
 14561  	// An array of objects that provides the results of a query that retrieved the
 14562  	// data for a standard metric that applies to an application, campaign, or journey.
 14563  	//
 14564  	// Rows is a required field
 14565  	Rows []*ResultRow `type:"list" required:"true"`
 14566  }
 14567  
 14568  // String returns the string representation.
 14569  //
 14570  // API parameter values that are decorated as "sensitive" in the API will not
 14571  // be included in the string output. The member name will be present, but the
 14572  // value will be replaced with "sensitive".
 14573  func (s BaseKpiResult) String() string {
 14574  	return awsutil.Prettify(s)
 14575  }
 14576  
 14577  // GoString returns the string representation.
 14578  //
 14579  // API parameter values that are decorated as "sensitive" in the API will not
 14580  // be included in the string output. The member name will be present, but the
 14581  // value will be replaced with "sensitive".
 14582  func (s BaseKpiResult) GoString() string {
 14583  	return s.String()
 14584  }
 14585  
 14586  // SetRows sets the Rows field's value.
 14587  func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult {
 14588  	s.Rows = v
 14589  	return s
 14590  }
 14591  
 14592  // Specifies the contents of a message that's sent through a custom channel
 14593  // to recipients of a campaign.
 14594  type CampaignCustomMessage struct {
 14595  	_ struct{} `type:"structure"`
 14596  
 14597  	// The raw, JSON-formatted string to use as the payload for the message. The
 14598  	// maximum size is 5 KB.
 14599  	Data *string `type:"string"`
 14600  }
 14601  
 14602  // String returns the string representation.
 14603  //
 14604  // API parameter values that are decorated as "sensitive" in the API will not
 14605  // be included in the string output. The member name will be present, but the
 14606  // value will be replaced with "sensitive".
 14607  func (s CampaignCustomMessage) String() string {
 14608  	return awsutil.Prettify(s)
 14609  }
 14610  
 14611  // GoString returns the string representation.
 14612  //
 14613  // API parameter values that are decorated as "sensitive" in the API will not
 14614  // be included in the string output. The member name will be present, but the
 14615  // value will be replaced with "sensitive".
 14616  func (s CampaignCustomMessage) GoString() string {
 14617  	return s.String()
 14618  }
 14619  
 14620  // SetData sets the Data field's value.
 14621  func (s *CampaignCustomMessage) SetData(v string) *CampaignCustomMessage {
 14622  	s.Data = &v
 14623  	return s
 14624  }
 14625  
 14626  // Provides the results of a query that retrieved the data for a standard metric
 14627  // that applies to a campaign, and provides information about that query.
 14628  type CampaignDateRangeKpiResponse struct {
 14629  	_ struct{} `type:"structure"`
 14630  
 14631  	// The unique identifier for the application that the metric applies to.
 14632  	//
 14633  	// ApplicationId is a required field
 14634  	ApplicationId *string `type:"string" required:"true"`
 14635  
 14636  	// The unique identifier for the campaign that the metric applies to.
 14637  	//
 14638  	// CampaignId is a required field
 14639  	CampaignId *string `type:"string" required:"true"`
 14640  
 14641  	// EndTime is a required field
 14642  	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14643  
 14644  	// The name of the metric, also referred to as a key performance indicator (KPI),
 14645  	// that the data was retrieved for. This value describes the associated metric
 14646  	// and consists of two or more terms, which are comprised of lowercase alphanumeric
 14647  	// characters, separated by a hyphen. For a list of possible values, see the
 14648  	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
 14649  	//
 14650  	// KpiName is a required field
 14651  	KpiName *string `type:"string" required:"true"`
 14652  
 14653  	// An array of objects that contains the results of the query. Each object contains
 14654  	// the value for the metric and metadata about that value.
 14655  	//
 14656  	// KpiResult is a required field
 14657  	KpiResult *BaseKpiResult `type:"structure" required:"true"`
 14658  
 14659  	// The string to use in a subsequent request to get the next page of results
 14660  	// in a paginated response. This value is null for the Campaign Metrics resource
 14661  	// because the resource returns all results in a single page.
 14662  	NextToken *string `type:"string"`
 14663  
 14664  	// StartTime is a required field
 14665  	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14666  }
 14667  
 14668  // String returns the string representation.
 14669  //
 14670  // API parameter values that are decorated as "sensitive" in the API will not
 14671  // be included in the string output. The member name will be present, but the
 14672  // value will be replaced with "sensitive".
 14673  func (s CampaignDateRangeKpiResponse) String() string {
 14674  	return awsutil.Prettify(s)
 14675  }
 14676  
 14677  // GoString returns the string representation.
 14678  //
 14679  // API parameter values that are decorated as "sensitive" in the API will not
 14680  // be included in the string output. The member name will be present, but the
 14681  // value will be replaced with "sensitive".
 14682  func (s CampaignDateRangeKpiResponse) GoString() string {
 14683  	return s.String()
 14684  }
 14685  
 14686  // SetApplicationId sets the ApplicationId field's value.
 14687  func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse {
 14688  	s.ApplicationId = &v
 14689  	return s
 14690  }
 14691  
 14692  // SetCampaignId sets the CampaignId field's value.
 14693  func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse {
 14694  	s.CampaignId = &v
 14695  	return s
 14696  }
 14697  
 14698  // SetEndTime sets the EndTime field's value.
 14699  func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse {
 14700  	s.EndTime = &v
 14701  	return s
 14702  }
 14703  
 14704  // SetKpiName sets the KpiName field's value.
 14705  func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse {
 14706  	s.KpiName = &v
 14707  	return s
 14708  }
 14709  
 14710  // SetKpiResult sets the KpiResult field's value.
 14711  func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse {
 14712  	s.KpiResult = v
 14713  	return s
 14714  }
 14715  
 14716  // SetNextToken sets the NextToken field's value.
 14717  func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse {
 14718  	s.NextToken = &v
 14719  	return s
 14720  }
 14721  
 14722  // SetStartTime sets the StartTime field's value.
 14723  func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse {
 14724  	s.StartTime = &v
 14725  	return s
 14726  }
 14727  
 14728  // Specifies the content and "From" address for an email message that's sent
 14729  // to recipients of a campaign.
 14730  type CampaignEmailMessage struct {
 14731  	_ struct{} `type:"structure"`
 14732  
 14733  	// The body of the email for recipients whose email clients don't render HTML
 14734  	// content.
 14735  	Body *string `type:"string"`
 14736  
 14737  	// The verified email address to send the email from. The default address is
 14738  	// the FromAddress specified for the email channel for the application.
 14739  	FromAddress *string `type:"string"`
 14740  
 14741  	// The body of the email, in HTML format, for recipients whose email clients
 14742  	// render HTML content.
 14743  	HtmlBody *string `type:"string"`
 14744  
 14745  	// The subject line, or title, of the email.
 14746  	Title *string `type:"string"`
 14747  }
 14748  
 14749  // String returns the string representation.
 14750  //
 14751  // API parameter values that are decorated as "sensitive" in the API will not
 14752  // be included in the string output. The member name will be present, but the
 14753  // value will be replaced with "sensitive".
 14754  func (s CampaignEmailMessage) String() string {
 14755  	return awsutil.Prettify(s)
 14756  }
 14757  
 14758  // GoString returns the string representation.
 14759  //
 14760  // API parameter values that are decorated as "sensitive" in the API will not
 14761  // be included in the string output. The member name will be present, but the
 14762  // value will be replaced with "sensitive".
 14763  func (s CampaignEmailMessage) GoString() string {
 14764  	return s.String()
 14765  }
 14766  
 14767  // SetBody sets the Body field's value.
 14768  func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage {
 14769  	s.Body = &v
 14770  	return s
 14771  }
 14772  
 14773  // SetFromAddress sets the FromAddress field's value.
 14774  func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage {
 14775  	s.FromAddress = &v
 14776  	return s
 14777  }
 14778  
 14779  // SetHtmlBody sets the HtmlBody field's value.
 14780  func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage {
 14781  	s.HtmlBody = &v
 14782  	return s
 14783  }
 14784  
 14785  // SetTitle sets the Title field's value.
 14786  func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage {
 14787  	s.Title = &v
 14788  	return s
 14789  }
 14790  
 14791  // Specifies the settings for events that cause a campaign to be sent.
 14792  type CampaignEventFilter struct {
 14793  	_ struct{} `type:"structure"`
 14794  
 14795  	// The dimension settings of the event filter for the campaign.
 14796  	//
 14797  	// Dimensions is a required field
 14798  	Dimensions *EventDimensions `type:"structure" required:"true"`
 14799  
 14800  	// The type of event that causes the campaign to be sent. Valid values are:
 14801  	// SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends
 14802  	// the campaign when an endpoint event (Events resource) occurs.
 14803  	//
 14804  	// FilterType is a required field
 14805  	FilterType *string `type:"string" required:"true" enum:"FilterType"`
 14806  }
 14807  
 14808  // String returns the string representation.
 14809  //
 14810  // API parameter values that are decorated as "sensitive" in the API will not
 14811  // be included in the string output. The member name will be present, but the
 14812  // value will be replaced with "sensitive".
 14813  func (s CampaignEventFilter) String() string {
 14814  	return awsutil.Prettify(s)
 14815  }
 14816  
 14817  // GoString returns the string representation.
 14818  //
 14819  // API parameter values that are decorated as "sensitive" in the API will not
 14820  // be included in the string output. The member name will be present, but the
 14821  // value will be replaced with "sensitive".
 14822  func (s CampaignEventFilter) GoString() string {
 14823  	return s.String()
 14824  }
 14825  
 14826  // Validate inspects the fields of the type to determine if they are valid.
 14827  func (s *CampaignEventFilter) Validate() error {
 14828  	invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"}
 14829  	if s.Dimensions == nil {
 14830  		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
 14831  	}
 14832  	if s.FilterType == nil {
 14833  		invalidParams.Add(request.NewErrParamRequired("FilterType"))
 14834  	}
 14835  	if s.Dimensions != nil {
 14836  		if err := s.Dimensions.Validate(); err != nil {
 14837  			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
 14838  		}
 14839  	}
 14840  
 14841  	if invalidParams.Len() > 0 {
 14842  		return invalidParams
 14843  	}
 14844  	return nil
 14845  }
 14846  
 14847  // SetDimensions sets the Dimensions field's value.
 14848  func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter {
 14849  	s.Dimensions = v
 14850  	return s
 14851  }
 14852  
 14853  // SetFilterType sets the FilterType field's value.
 14854  func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter {
 14855  	s.FilterType = &v
 14856  	return s
 14857  }
 14858  
 14859  // Specifies settings for invoking an AWS Lambda function that customizes a
 14860  // segment for a campaign.
 14861  type CampaignHook struct {
 14862  	_ struct{} `type:"structure"`
 14863  
 14864  	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
 14865  	// Pinpoint invokes to customize a segment for a campaign.
 14866  	LambdaFunctionName *string `type:"string"`
 14867  
 14868  	// The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible
 14869  	// values are:
 14870  	//
 14871  	//    * FILTER - Invoke the function to customize the segment that's used by
 14872  	//    a campaign.
 14873  	//
 14874  	//    * DELIVERY - (Deprecated) Previously, invoked the function to send a campaign
 14875  	//    through a custom channel. This functionality is not supported anymore.
 14876  	//    To send a campaign through a custom channel, use the CustomDeliveryConfiguration
 14877  	//    and CampaignCustomMessage objects of the campaign.
 14878  	Mode *string `type:"string" enum:"Mode"`
 14879  
 14880  	// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function
 14881  	// over HTTPS.
 14882  	WebUrl *string `type:"string"`
 14883  }
 14884  
 14885  // String returns the string representation.
 14886  //
 14887  // API parameter values that are decorated as "sensitive" in the API will not
 14888  // be included in the string output. The member name will be present, but the
 14889  // value will be replaced with "sensitive".
 14890  func (s CampaignHook) String() string {
 14891  	return awsutil.Prettify(s)
 14892  }
 14893  
 14894  // GoString returns the string representation.
 14895  //
 14896  // API parameter values that are decorated as "sensitive" in the API will not
 14897  // be included in the string output. The member name will be present, but the
 14898  // value will be replaced with "sensitive".
 14899  func (s CampaignHook) GoString() string {
 14900  	return s.String()
 14901  }
 14902  
 14903  // SetLambdaFunctionName sets the LambdaFunctionName field's value.
 14904  func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook {
 14905  	s.LambdaFunctionName = &v
 14906  	return s
 14907  }
 14908  
 14909  // SetMode sets the Mode field's value.
 14910  func (s *CampaignHook) SetMode(v string) *CampaignHook {
 14911  	s.Mode = &v
 14912  	return s
 14913  }
 14914  
 14915  // SetWebUrl sets the WebUrl field's value.
 14916  func (s *CampaignHook) SetWebUrl(v string) *CampaignHook {
 14917  	s.WebUrl = &v
 14918  	return s
 14919  }
 14920  
 14921  // In-app message configuration.
 14922  type CampaignInAppMessage struct {
 14923  	_ struct{} `type:"structure"`
 14924  
 14925  	// The message body of the notification, the email body or the text message.
 14926  	Body *string `type:"string"`
 14927  
 14928  	// In-app message content.
 14929  	Content []*InAppMessageContent `type:"list"`
 14930  
 14931  	// Custom config to be sent to client.
 14932  	CustomConfig map[string]*string `type:"map"`
 14933  
 14934  	// In-app message layout.
 14935  	Layout *string `type:"string" enum:"Layout"`
 14936  }
 14937  
 14938  // String returns the string representation.
 14939  //
 14940  // API parameter values that are decorated as "sensitive" in the API will not
 14941  // be included in the string output. The member name will be present, but the
 14942  // value will be replaced with "sensitive".
 14943  func (s CampaignInAppMessage) String() string {
 14944  	return awsutil.Prettify(s)
 14945  }
 14946  
 14947  // GoString returns the string representation.
 14948  //
 14949  // API parameter values that are decorated as "sensitive" in the API will not
 14950  // be included in the string output. The member name will be present, but the
 14951  // value will be replaced with "sensitive".
 14952  func (s CampaignInAppMessage) GoString() string {
 14953  	return s.String()
 14954  }
 14955  
 14956  // Validate inspects the fields of the type to determine if they are valid.
 14957  func (s *CampaignInAppMessage) Validate() error {
 14958  	invalidParams := request.ErrInvalidParams{Context: "CampaignInAppMessage"}
 14959  	if s.Content != nil {
 14960  		for i, v := range s.Content {
 14961  			if v == nil {
 14962  				continue
 14963  			}
 14964  			if err := v.Validate(); err != nil {
 14965  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Content", i), err.(request.ErrInvalidParams))
 14966  			}
 14967  		}
 14968  	}
 14969  
 14970  	if invalidParams.Len() > 0 {
 14971  		return invalidParams
 14972  	}
 14973  	return nil
 14974  }
 14975  
 14976  // SetBody sets the Body field's value.
 14977  func (s *CampaignInAppMessage) SetBody(v string) *CampaignInAppMessage {
 14978  	s.Body = &v
 14979  	return s
 14980  }
 14981  
 14982  // SetContent sets the Content field's value.
 14983  func (s *CampaignInAppMessage) SetContent(v []*InAppMessageContent) *CampaignInAppMessage {
 14984  	s.Content = v
 14985  	return s
 14986  }
 14987  
 14988  // SetCustomConfig sets the CustomConfig field's value.
 14989  func (s *CampaignInAppMessage) SetCustomConfig(v map[string]*string) *CampaignInAppMessage {
 14990  	s.CustomConfig = v
 14991  	return s
 14992  }
 14993  
 14994  // SetLayout sets the Layout field's value.
 14995  func (s *CampaignInAppMessage) SetLayout(v string) *CampaignInAppMessage {
 14996  	s.Layout = &v
 14997  	return s
 14998  }
 14999  
 15000  // For a campaign, specifies limits on the messages that the campaign can send.
 15001  // For an application, specifies the default limits for messages that campaigns
 15002  // in the application can send.
 15003  type CampaignLimits struct {
 15004  	_ struct{} `type:"structure"`
 15005  
 15006  	// The maximum number of messages that a campaign can send to a single endpoint
 15007  	// during a 24-hour period. For an application, this value specifies the default
 15008  	// limit for the number of messages that campaigns and journeys can send to
 15009  	// a single endpoint during a 24-hour period. The maximum value is 100.
 15010  	Daily *int64 `type:"integer"`
 15011  
 15012  	// The maximum amount of time, in seconds, that a campaign can attempt to deliver
 15013  	// a message after the scheduled start time for the campaign. The minimum value
 15014  	// is 60 seconds.
 15015  	MaximumDuration *int64 `type:"integer"`
 15016  
 15017  	// The maximum number of messages that a campaign can send each second. For
 15018  	// an application, this value specifies the default limit for the number of
 15019  	// messages that campaigns can send each second. The minimum value is 50. The
 15020  	// maximum value is 20,000.
 15021  	MessagesPerSecond *int64 `type:"integer"`
 15022  
 15023  	// The maximum total number of messages that the campaign can send per user
 15024  	// session.
 15025  	Session *int64 `type:"integer"`
 15026  
 15027  	// The maximum number of messages that a campaign can send to a single endpoint
 15028  	// during the course of the campaign. If a campaign recurs, this setting applies
 15029  	// to all runs of the campaign. The maximum value is 100.
 15030  	Total *int64 `type:"integer"`
 15031  }
 15032  
 15033  // String returns the string representation.
 15034  //
 15035  // API parameter values that are decorated as "sensitive" in the API will not
 15036  // be included in the string output. The member name will be present, but the
 15037  // value will be replaced with "sensitive".
 15038  func (s CampaignLimits) String() string {
 15039  	return awsutil.Prettify(s)
 15040  }
 15041  
 15042  // GoString returns the string representation.
 15043  //
 15044  // API parameter values that are decorated as "sensitive" in the API will not
 15045  // be included in the string output. The member name will be present, but the
 15046  // value will be replaced with "sensitive".
 15047  func (s CampaignLimits) GoString() string {
 15048  	return s.String()
 15049  }
 15050  
 15051  // SetDaily sets the Daily field's value.
 15052  func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits {
 15053  	s.Daily = &v
 15054  	return s
 15055  }
 15056  
 15057  // SetMaximumDuration sets the MaximumDuration field's value.
 15058  func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits {
 15059  	s.MaximumDuration = &v
 15060  	return s
 15061  }
 15062  
 15063  // SetMessagesPerSecond sets the MessagesPerSecond field's value.
 15064  func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits {
 15065  	s.MessagesPerSecond = &v
 15066  	return s
 15067  }
 15068  
 15069  // SetSession sets the Session field's value.
 15070  func (s *CampaignLimits) SetSession(v int64) *CampaignLimits {
 15071  	s.Session = &v
 15072  	return s
 15073  }
 15074  
 15075  // SetTotal sets the Total field's value.
 15076  func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits {
 15077  	s.Total = &v
 15078  	return s
 15079  }
 15080  
 15081  // Provides information about the status, configuration, and other settings
 15082  // for a campaign.
 15083  type CampaignResponse struct {
 15084  	_ struct{} `type:"structure"`
 15085  
 15086  	// An array of responses, one for each treatment that you defined for the campaign,
 15087  	// in addition to the default treatment.
 15088  	AdditionalTreatments []*TreatmentResource `type:"list"`
 15089  
 15090  	// The unique identifier for the application that the campaign applies to.
 15091  	//
 15092  	// ApplicationId is a required field
 15093  	ApplicationId *string `type:"string" required:"true"`
 15094  
 15095  	// The Amazon Resource Name (ARN) of the campaign.
 15096  	//
 15097  	// Arn is a required field
 15098  	Arn *string `type:"string" required:"true"`
 15099  
 15100  	// The date, in ISO 8601 format, when the campaign was created.
 15101  	//
 15102  	// CreationDate is a required field
 15103  	CreationDate *string `type:"string" required:"true"`
 15104  
 15105  	// The delivery configuration settings for sending the campaign through a custom
 15106  	// channel.
 15107  	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
 15108  
 15109  	// The current status of the campaign's default treatment. This value exists
 15110  	// only for campaigns that have more than one treatment.
 15111  	DefaultState *CampaignState `type:"structure"`
 15112  
 15113  	// The custom description of the campaign.
 15114  	Description *string `type:"string"`
 15115  
 15116  	// The allocated percentage of users (segment members) who shouldn't receive
 15117  	// messages from the campaign.
 15118  	HoldoutPercent *int64 `type:"integer"`
 15119  
 15120  	// The settings for the AWS Lambda function to use as a code hook for the campaign.
 15121  	// You can use this hook to customize the segment that's used by the campaign.
 15122  	Hook *CampaignHook `type:"structure"`
 15123  
 15124  	// The unique identifier for the campaign.
 15125  	//
 15126  	// Id is a required field
 15127  	Id *string `type:"string" required:"true"`
 15128  
 15129  	// Specifies whether the campaign is paused. A paused campaign doesn't run unless
 15130  	// you resume it by changing this value to false.
 15131  	IsPaused *bool `type:"boolean"`
 15132  
 15133  	// The date, in ISO 8601 format, when the campaign was last modified.
 15134  	//
 15135  	// LastModifiedDate is a required field
 15136  	LastModifiedDate *string `type:"string" required:"true"`
 15137  
 15138  	// The messaging limits for the campaign.
 15139  	Limits *CampaignLimits `type:"structure"`
 15140  
 15141  	// The message configuration settings for the campaign.
 15142  	MessageConfiguration *MessageConfiguration `type:"structure"`
 15143  
 15144  	// The name of the campaign.
 15145  	Name *string `type:"string"`
 15146  
 15147  	// Defines the priority of the campaign, used to decide the order of messages
 15148  	// displayed to user if there are multiple messages scheduled to be displayed
 15149  	// at the same moment
 15150  	Priority *int64 `type:"integer"`
 15151  
 15152  	// The schedule settings for the campaign.
 15153  	Schedule *Schedule `type:"structure"`
 15154  
 15155  	// The unique identifier for the segment that's associated with the campaign.
 15156  	//
 15157  	// SegmentId is a required field
 15158  	SegmentId *string `type:"string" required:"true"`
 15159  
 15160  	// The version number of the segment that's associated with the campaign.
 15161  	//
 15162  	// SegmentVersion is a required field
 15163  	SegmentVersion *int64 `type:"integer" required:"true"`
 15164  
 15165  	// The current status of the campaign.
 15166  	State *CampaignState `type:"structure"`
 15167  
 15168  	// A string-to-string map of key-value pairs that identifies the tags that are
 15169  	// associated with the campaign. Each tag consists of a required tag key and
 15170  	// an associated tag value.
 15171  	Tags map[string]*string `locationName:"tags" type:"map"`
 15172  
 15173  	// The message template that’s used for the campaign.
 15174  	TemplateConfiguration *TemplateConfiguration `type:"structure"`
 15175  
 15176  	// The custom description of the default treatment for the campaign.
 15177  	TreatmentDescription *string `type:"string"`
 15178  
 15179  	// The custom name of the default treatment for the campaign, if the campaign
 15180  	// has multiple treatments. A treatment is a variation of a campaign that's
 15181  	// used for A/B testing.
 15182  	TreatmentName *string `type:"string"`
 15183  
 15184  	// The version number of the campaign.
 15185  	Version *int64 `type:"integer"`
 15186  }
 15187  
 15188  // String returns the string representation.
 15189  //
 15190  // API parameter values that are decorated as "sensitive" in the API will not
 15191  // be included in the string output. The member name will be present, but the
 15192  // value will be replaced with "sensitive".
 15193  func (s CampaignResponse) String() string {
 15194  	return awsutil.Prettify(s)
 15195  }
 15196  
 15197  // GoString returns the string representation.
 15198  //
 15199  // API parameter values that are decorated as "sensitive" in the API will not
 15200  // be included in the string output. The member name will be present, but the
 15201  // value will be replaced with "sensitive".
 15202  func (s CampaignResponse) GoString() string {
 15203  	return s.String()
 15204  }
 15205  
 15206  // SetAdditionalTreatments sets the AdditionalTreatments field's value.
 15207  func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse {
 15208  	s.AdditionalTreatments = v
 15209  	return s
 15210  }
 15211  
 15212  // SetApplicationId sets the ApplicationId field's value.
 15213  func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse {
 15214  	s.ApplicationId = &v
 15215  	return s
 15216  }
 15217  
 15218  // SetArn sets the Arn field's value.
 15219  func (s *CampaignResponse) SetArn(v string) *CampaignResponse {
 15220  	s.Arn = &v
 15221  	return s
 15222  }
 15223  
 15224  // SetCreationDate sets the CreationDate field's value.
 15225  func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse {
 15226  	s.CreationDate = &v
 15227  	return s
 15228  }
 15229  
 15230  // SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
 15231  func (s *CampaignResponse) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *CampaignResponse {
 15232  	s.CustomDeliveryConfiguration = v
 15233  	return s
 15234  }
 15235  
 15236  // SetDefaultState sets the DefaultState field's value.
 15237  func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse {
 15238  	s.DefaultState = v
 15239  	return s
 15240  }
 15241  
 15242  // SetDescription sets the Description field's value.
 15243  func (s *CampaignResponse) SetDescription(v string) *CampaignResponse {
 15244  	s.Description = &v
 15245  	return s
 15246  }
 15247  
 15248  // SetHoldoutPercent sets the HoldoutPercent field's value.
 15249  func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse {
 15250  	s.HoldoutPercent = &v
 15251  	return s
 15252  }
 15253  
 15254  // SetHook sets the Hook field's value.
 15255  func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse {
 15256  	s.Hook = v
 15257  	return s
 15258  }
 15259  
 15260  // SetId sets the Id field's value.
 15261  func (s *CampaignResponse) SetId(v string) *CampaignResponse {
 15262  	s.Id = &v
 15263  	return s
 15264  }
 15265  
 15266  // SetIsPaused sets the IsPaused field's value.
 15267  func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse {
 15268  	s.IsPaused = &v
 15269  	return s
 15270  }
 15271  
 15272  // SetLastModifiedDate sets the LastModifiedDate field's value.
 15273  func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse {
 15274  	s.LastModifiedDate = &v
 15275  	return s
 15276  }
 15277  
 15278  // SetLimits sets the Limits field's value.
 15279  func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse {
 15280  	s.Limits = v
 15281  	return s
 15282  }
 15283  
 15284  // SetMessageConfiguration sets the MessageConfiguration field's value.
 15285  func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse {
 15286  	s.MessageConfiguration = v
 15287  	return s
 15288  }
 15289  
 15290  // SetName sets the Name field's value.
 15291  func (s *CampaignResponse) SetName(v string) *CampaignResponse {
 15292  	s.Name = &v
 15293  	return s
 15294  }
 15295  
 15296  // SetPriority sets the Priority field's value.
 15297  func (s *CampaignResponse) SetPriority(v int64) *CampaignResponse {
 15298  	s.Priority = &v
 15299  	return s
 15300  }
 15301  
 15302  // SetSchedule sets the Schedule field's value.
 15303  func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse {
 15304  	s.Schedule = v
 15305  	return s
 15306  }
 15307  
 15308  // SetSegmentId sets the SegmentId field's value.
 15309  func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse {
 15310  	s.SegmentId = &v
 15311  	return s
 15312  }
 15313  
 15314  // SetSegmentVersion sets the SegmentVersion field's value.
 15315  func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse {
 15316  	s.SegmentVersion = &v
 15317  	return s
 15318  }
 15319  
 15320  // SetState sets the State field's value.
 15321  func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse {
 15322  	s.State = v
 15323  	return s
 15324  }
 15325  
 15326  // SetTags sets the Tags field's value.
 15327  func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse {
 15328  	s.Tags = v
 15329  	return s
 15330  }
 15331  
 15332  // SetTemplateConfiguration sets the TemplateConfiguration field's value.
 15333  func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse {
 15334  	s.TemplateConfiguration = v
 15335  	return s
 15336  }
 15337  
 15338  // SetTreatmentDescription sets the TreatmentDescription field's value.
 15339  func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse {
 15340  	s.TreatmentDescription = &v
 15341  	return s
 15342  }
 15343  
 15344  // SetTreatmentName sets the TreatmentName field's value.
 15345  func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse {
 15346  	s.TreatmentName = &v
 15347  	return s
 15348  }
 15349  
 15350  // SetVersion sets the Version field's value.
 15351  func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse {
 15352  	s.Version = &v
 15353  	return s
 15354  }
 15355  
 15356  // Specifies the content and settings for an SMS message that's sent to recipients
 15357  // of a campaign.
 15358  type CampaignSmsMessage struct {
 15359  	_ struct{} `type:"structure"`
 15360  
 15361  	// The body of the SMS message.
 15362  	Body *string `type:"string"`
 15363  
 15364  	// The entity ID or Principal Entity (PE) id received from the regulatory body
 15365  	// for sending SMS in your country.
 15366  	EntityId *string `type:"string"`
 15367  
 15368  	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
 15369  	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
 15370  	// (for messsages that aren't critical or time-sensitive, such as marketing
 15371  	// messages).
 15372  	MessageType *string `type:"string" enum:"MessageType"`
 15373  
 15374  	// The long code to send the SMS message from. This value should be one of the
 15375  	// dedicated long codes that's assigned to your AWS account. Although it isn't
 15376  	// required, we recommend that you specify the long code using an E.164 format
 15377  	// to ensure prompt and accurate delivery of the message. For example, +12065550100.
 15378  	OriginationNumber *string `type:"string"`
 15379  
 15380  	// The sender ID to display on recipients' devices when they receive the SMS
 15381  	// message.
 15382  	SenderId *string `type:"string"`
 15383  
 15384  	// The template ID received from the regulatory body for sending SMS in your
 15385  	// country.
 15386  	TemplateId *string `type:"string"`
 15387  }
 15388  
 15389  // String returns the string representation.
 15390  //
 15391  // API parameter values that are decorated as "sensitive" in the API will not
 15392  // be included in the string output. The member name will be present, but the
 15393  // value will be replaced with "sensitive".
 15394  func (s CampaignSmsMessage) String() string {
 15395  	return awsutil.Prettify(s)
 15396  }
 15397  
 15398  // GoString returns the string representation.
 15399  //
 15400  // API parameter values that are decorated as "sensitive" in the API will not
 15401  // be included in the string output. The member name will be present, but the
 15402  // value will be replaced with "sensitive".
 15403  func (s CampaignSmsMessage) GoString() string {
 15404  	return s.String()
 15405  }
 15406  
 15407  // SetBody sets the Body field's value.
 15408  func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
 15409  	s.Body = &v
 15410  	return s
 15411  }
 15412  
 15413  // SetEntityId sets the EntityId field's value.
 15414  func (s *CampaignSmsMessage) SetEntityId(v string) *CampaignSmsMessage {
 15415  	s.EntityId = &v
 15416  	return s
 15417  }
 15418  
 15419  // SetMessageType sets the MessageType field's value.
 15420  func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
 15421  	s.MessageType = &v
 15422  	return s
 15423  }
 15424  
 15425  // SetOriginationNumber sets the OriginationNumber field's value.
 15426  func (s *CampaignSmsMessage) SetOriginationNumber(v string) *CampaignSmsMessage {
 15427  	s.OriginationNumber = &v
 15428  	return s
 15429  }
 15430  
 15431  // SetSenderId sets the SenderId field's value.
 15432  func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
 15433  	s.SenderId = &v
 15434  	return s
 15435  }
 15436  
 15437  // SetTemplateId sets the TemplateId field's value.
 15438  func (s *CampaignSmsMessage) SetTemplateId(v string) *CampaignSmsMessage {
 15439  	s.TemplateId = &v
 15440  	return s
 15441  }
 15442  
 15443  // Provides information about the status of a campaign.
 15444  type CampaignState struct {
 15445  	_ struct{} `type:"structure"`
 15446  
 15447  	// The current status of the campaign, or the current status of a treatment
 15448  	// that belongs to an A/B test campaign.
 15449  	//
 15450  	// If a campaign uses A/B testing, the campaign has a status of COMPLETED only
 15451  	// if all campaign treatments have a status of COMPLETED. If you delete the
 15452  	// segment that's associated with a campaign, the campaign fails and has a status
 15453  	// of DELETED.
 15454  	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
 15455  }
 15456  
 15457  // String returns the string representation.
 15458  //
 15459  // API parameter values that are decorated as "sensitive" in the API will not
 15460  // be included in the string output. The member name will be present, but the
 15461  // value will be replaced with "sensitive".
 15462  func (s CampaignState) String() string {
 15463  	return awsutil.Prettify(s)
 15464  }
 15465  
 15466  // GoString returns the string representation.
 15467  //
 15468  // API parameter values that are decorated as "sensitive" in the API will not
 15469  // be included in the string output. The member name will be present, but the
 15470  // value will be replaced with "sensitive".
 15471  func (s CampaignState) GoString() string {
 15472  	return s.String()
 15473  }
 15474  
 15475  // SetCampaignStatus sets the CampaignStatus field's value.
 15476  func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
 15477  	s.CampaignStatus = &v
 15478  	return s
 15479  }
 15480  
 15481  // Provides information about the configuration and other settings for all the
 15482  // campaigns that are associated with an application.
 15483  type CampaignsResponse struct {
 15484  	_ struct{} `type:"structure"`
 15485  
 15486  	// An array of responses, one for each campaign that's associated with the application.
 15487  	//
 15488  	// Item is a required field
 15489  	Item []*CampaignResponse `type:"list" required:"true"`
 15490  
 15491  	// The string to use in a subsequent request to get the next page of results
 15492  	// in a paginated response. This value is null if there are no additional pages.
 15493  	NextToken *string `type:"string"`
 15494  }
 15495  
 15496  // String returns the string representation.
 15497  //
 15498  // API parameter values that are decorated as "sensitive" in the API will not
 15499  // be included in the string output. The member name will be present, but the
 15500  // value will be replaced with "sensitive".
 15501  func (s CampaignsResponse) String() string {
 15502  	return awsutil.Prettify(s)
 15503  }
 15504  
 15505  // GoString returns the string representation.
 15506  //
 15507  // API parameter values that are decorated as "sensitive" in the API will not
 15508  // be included in the string output. The member name will be present, but the
 15509  // value will be replaced with "sensitive".
 15510  func (s CampaignsResponse) GoString() string {
 15511  	return s.String()
 15512  }
 15513  
 15514  // SetItem sets the Item field's value.
 15515  func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
 15516  	s.Item = v
 15517  	return s
 15518  }
 15519  
 15520  // SetNextToken sets the NextToken field's value.
 15521  func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
 15522  	s.NextToken = &v
 15523  	return s
 15524  }
 15525  
 15526  // Provides information about the general settings and status of a channel for
 15527  // an application.
 15528  type ChannelResponse struct {
 15529  	_ struct{} `type:"structure"`
 15530  
 15531  	// The unique identifier for the application.
 15532  	ApplicationId *string `type:"string"`
 15533  
 15534  	// The date and time, in ISO 8601 format, when the channel was enabled.
 15535  	CreationDate *string `type:"string"`
 15536  
 15537  	// Specifies whether the channel is enabled for the application.
 15538  	Enabled *bool `type:"boolean"`
 15539  
 15540  	// (Not used) This property is retained only for backward compatibility.
 15541  	HasCredential *bool `type:"boolean"`
 15542  
 15543  	// (Deprecated) An identifier for the channel. This property is retained only
 15544  	// for backward compatibility.
 15545  	Id *string `type:"string"`
 15546  
 15547  	// Specifies whether the channel is archived.
 15548  	IsArchived *bool `type:"boolean"`
 15549  
 15550  	// The user who last modified the channel.
 15551  	LastModifiedBy *string `type:"string"`
 15552  
 15553  	// The date and time, in ISO 8601 format, when the channel was last modified.
 15554  	LastModifiedDate *string `type:"string"`
 15555  
 15556  	// The current version of the channel.
 15557  	Version *int64 `type:"integer"`
 15558  }
 15559  
 15560  // String returns the string representation.
 15561  //
 15562  // API parameter values that are decorated as "sensitive" in the API will not
 15563  // be included in the string output. The member name will be present, but the
 15564  // value will be replaced with "sensitive".
 15565  func (s ChannelResponse) String() string {
 15566  	return awsutil.Prettify(s)
 15567  }
 15568  
 15569  // GoString returns the string representation.
 15570  //
 15571  // API parameter values that are decorated as "sensitive" in the API will not
 15572  // be included in the string output. The member name will be present, but the
 15573  // value will be replaced with "sensitive".
 15574  func (s ChannelResponse) GoString() string {
 15575  	return s.String()
 15576  }
 15577  
 15578  // SetApplicationId sets the ApplicationId field's value.
 15579  func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
 15580  	s.ApplicationId = &v
 15581  	return s
 15582  }
 15583  
 15584  // SetCreationDate sets the CreationDate field's value.
 15585  func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
 15586  	s.CreationDate = &v
 15587  	return s
 15588  }
 15589  
 15590  // SetEnabled sets the Enabled field's value.
 15591  func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
 15592  	s.Enabled = &v
 15593  	return s
 15594  }
 15595  
 15596  // SetHasCredential sets the HasCredential field's value.
 15597  func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
 15598  	s.HasCredential = &v
 15599  	return s
 15600  }
 15601  
 15602  // SetId sets the Id field's value.
 15603  func (s *ChannelResponse) SetId(v string) *ChannelResponse {
 15604  	s.Id = &v
 15605  	return s
 15606  }
 15607  
 15608  // SetIsArchived sets the IsArchived field's value.
 15609  func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
 15610  	s.IsArchived = &v
 15611  	return s
 15612  }
 15613  
 15614  // SetLastModifiedBy sets the LastModifiedBy field's value.
 15615  func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
 15616  	s.LastModifiedBy = &v
 15617  	return s
 15618  }
 15619  
 15620  // SetLastModifiedDate sets the LastModifiedDate field's value.
 15621  func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
 15622  	s.LastModifiedDate = &v
 15623  	return s
 15624  }
 15625  
 15626  // SetVersion sets the Version field's value.
 15627  func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
 15628  	s.Version = &v
 15629  	return s
 15630  }
 15631  
 15632  // Provides information about the general settings and status of all channels
 15633  // for an application, including channels that aren't enabled for the application.
 15634  type ChannelsResponse struct {
 15635  	_ struct{} `type:"structure"`
 15636  
 15637  	// A map that contains a multipart response for each channel. For each item
 15638  	// in this object, the ChannelType is the key and the Channel is the value.
 15639  	//
 15640  	// Channels is a required field
 15641  	Channels map[string]*ChannelResponse `type:"map" required:"true"`
 15642  }
 15643  
 15644  // String returns the string representation.
 15645  //
 15646  // API parameter values that are decorated as "sensitive" in the API will not
 15647  // be included in the string output. The member name will be present, but the
 15648  // value will be replaced with "sensitive".
 15649  func (s ChannelsResponse) String() string {
 15650  	return awsutil.Prettify(s)
 15651  }
 15652  
 15653  // GoString returns the string representation.
 15654  //
 15655  // API parameter values that are decorated as "sensitive" in the API will not
 15656  // be included in the string output. The member name will be present, but the
 15657  // value will be replaced with "sensitive".
 15658  func (s ChannelsResponse) GoString() string {
 15659  	return s.String()
 15660  }
 15661  
 15662  // SetChannels sets the Channels field's value.
 15663  func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
 15664  	s.Channels = v
 15665  	return s
 15666  }
 15667  
 15668  // Specifies the conditions to evaluate for an activity in a journey, and how
 15669  // to evaluate those conditions.
 15670  type Condition struct {
 15671  	_ struct{} `type:"structure"`
 15672  
 15673  	// The conditions to evaluate for the activity.
 15674  	Conditions []*SimpleCondition `type:"list"`
 15675  
 15676  	// Specifies how to handle multiple conditions for the activity. For example,
 15677  	// if you specify two conditions for an activity, whether both or only one of
 15678  	// the conditions must be met for the activity to be performed.
 15679  	Operator *string `type:"string" enum:"Operator"`
 15680  }
 15681  
 15682  // String returns the string representation.
 15683  //
 15684  // API parameter values that are decorated as "sensitive" in the API will not
 15685  // be included in the string output. The member name will be present, but the
 15686  // value will be replaced with "sensitive".
 15687  func (s Condition) String() string {
 15688  	return awsutil.Prettify(s)
 15689  }
 15690  
 15691  // GoString returns the string representation.
 15692  //
 15693  // API parameter values that are decorated as "sensitive" in the API will not
 15694  // be included in the string output. The member name will be present, but the
 15695  // value will be replaced with "sensitive".
 15696  func (s Condition) GoString() string {
 15697  	return s.String()
 15698  }
 15699  
 15700  // Validate inspects the fields of the type to determine if they are valid.
 15701  func (s *Condition) Validate() error {
 15702  	invalidParams := request.ErrInvalidParams{Context: "Condition"}
 15703  	if s.Conditions != nil {
 15704  		for i, v := range s.Conditions {
 15705  			if v == nil {
 15706  				continue
 15707  			}
 15708  			if err := v.Validate(); err != nil {
 15709  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams))
 15710  			}
 15711  		}
 15712  	}
 15713  
 15714  	if invalidParams.Len() > 0 {
 15715  		return invalidParams
 15716  	}
 15717  	return nil
 15718  }
 15719  
 15720  // SetConditions sets the Conditions field's value.
 15721  func (s *Condition) SetConditions(v []*SimpleCondition) *Condition {
 15722  	s.Conditions = v
 15723  	return s
 15724  }
 15725  
 15726  // SetOperator sets the Operator field's value.
 15727  func (s *Condition) SetOperator(v string) *Condition {
 15728  	s.Operator = &v
 15729  	return s
 15730  }
 15731  
 15732  // Specifies the settings for a yes/no split activity in a journey. This type
 15733  // of activity sends participants down one of two paths in a journey, based
 15734  // on conditions that you specify.
 15735  //
 15736  // To create yes/no split activities that send participants down different paths
 15737  // based on push notification events (such as Open or Received events), your
 15738  // mobile app has to specify the User ID and Endpoint ID values. For more information,
 15739  // see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
 15740  // in the Amazon Pinpoint Developer Guide.
 15741  type ConditionalSplitActivity struct {
 15742  	_ struct{} `type:"structure"`
 15743  
 15744  	// The conditions that define the paths for the activity, and the relationship
 15745  	// between the conditions.
 15746  	Condition *Condition `type:"structure"`
 15747  
 15748  	// The amount of time to wait before determining whether the conditions are
 15749  	// met, or the date and time when Amazon Pinpoint determines whether the conditions
 15750  	// are met.
 15751  	EvaluationWaitTime *WaitTime `type:"structure"`
 15752  
 15753  	// The unique identifier for the activity to perform if the conditions aren't
 15754  	// met.
 15755  	FalseActivity *string `type:"string"`
 15756  
 15757  	// The unique identifier for the activity to perform if the conditions are met.
 15758  	TrueActivity *string `type:"string"`
 15759  }
 15760  
 15761  // String returns the string representation.
 15762  //
 15763  // API parameter values that are decorated as "sensitive" in the API will not
 15764  // be included in the string output. The member name will be present, but the
 15765  // value will be replaced with "sensitive".
 15766  func (s ConditionalSplitActivity) String() string {
 15767  	return awsutil.Prettify(s)
 15768  }
 15769  
 15770  // GoString returns the string representation.
 15771  //
 15772  // API parameter values that are decorated as "sensitive" in the API will not
 15773  // be included in the string output. The member name will be present, but the
 15774  // value will be replaced with "sensitive".
 15775  func (s ConditionalSplitActivity) GoString() string {
 15776  	return s.String()
 15777  }
 15778  
 15779  // Validate inspects the fields of the type to determine if they are valid.
 15780  func (s *ConditionalSplitActivity) Validate() error {
 15781  	invalidParams := request.ErrInvalidParams{Context: "ConditionalSplitActivity"}
 15782  	if s.Condition != nil {
 15783  		if err := s.Condition.Validate(); err != nil {
 15784  			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
 15785  		}
 15786  	}
 15787  
 15788  	if invalidParams.Len() > 0 {
 15789  		return invalidParams
 15790  	}
 15791  	return nil
 15792  }
 15793  
 15794  // SetCondition sets the Condition field's value.
 15795  func (s *ConditionalSplitActivity) SetCondition(v *Condition) *ConditionalSplitActivity {
 15796  	s.Condition = v
 15797  	return s
 15798  }
 15799  
 15800  // SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
 15801  func (s *ConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *ConditionalSplitActivity {
 15802  	s.EvaluationWaitTime = v
 15803  	return s
 15804  }
 15805  
 15806  // SetFalseActivity sets the FalseActivity field's value.
 15807  func (s *ConditionalSplitActivity) SetFalseActivity(v string) *ConditionalSplitActivity {
 15808  	s.FalseActivity = &v
 15809  	return s
 15810  }
 15811  
 15812  // SetTrueActivity sets the TrueActivity field's value.
 15813  func (s *ConditionalSplitActivity) SetTrueActivity(v string) *ConditionalSplitActivity {
 15814  	s.TrueActivity = &v
 15815  	return s
 15816  }
 15817  
 15818  // Provides information about an API request or response.
 15819  type ConflictException struct {
 15820  	_            struct{}                  `type:"structure"`
 15821  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15822  
 15823  	Message_ *string `locationName:"Message" type:"string"`
 15824  
 15825  	RequestID_ *string `locationName:"RequestID" type:"string"`
 15826  }
 15827  
 15828  // String returns the string representation.
 15829  //
 15830  // API parameter values that are decorated as "sensitive" in the API will not
 15831  // be included in the string output. The member name will be present, but the
 15832  // value will be replaced with "sensitive".
 15833  func (s ConflictException) String() string {
 15834  	return awsutil.Prettify(s)
 15835  }
 15836  
 15837  // GoString returns the string representation.
 15838  //
 15839  // API parameter values that are decorated as "sensitive" in the API will not
 15840  // be included in the string output. The member name will be present, but the
 15841  // value will be replaced with "sensitive".
 15842  func (s ConflictException) GoString() string {
 15843  	return s.String()
 15844  }
 15845  
 15846  func newErrorConflictException(v protocol.ResponseMetadata) error {
 15847  	return &ConflictException{
 15848  		RespMetadata: v,
 15849  	}
 15850  }
 15851  
 15852  // Code returns the exception type name.
 15853  func (s *ConflictException) Code() string {
 15854  	return "ConflictException"
 15855  }
 15856  
 15857  // Message returns the exception's message.
 15858  func (s *ConflictException) Message() string {
 15859  	if s.Message_ != nil {
 15860  		return *s.Message_
 15861  	}
 15862  	return ""
 15863  }
 15864  
 15865  // OrigErr always returns nil, satisfies awserr.Error interface.
 15866  func (s *ConflictException) OrigErr() error {
 15867  	return nil
 15868  }
 15869  
 15870  func (s *ConflictException) Error() string {
 15871  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 15872  }
 15873  
 15874  // Status code returns the HTTP status code for the request's response error.
 15875  func (s *ConflictException) StatusCode() int {
 15876  	return s.RespMetadata.StatusCode
 15877  }
 15878  
 15879  // RequestID returns the service's response RequestID for request.
 15880  func (s *ConflictException) RequestID() string {
 15881  	return s.RespMetadata.RequestID
 15882  }
 15883  
 15884  // The settings for a connect activity. This type of activity initiates a contact
 15885  // center call to participants.
 15886  type ContactCenterActivity struct {
 15887  	_ struct{} `type:"structure"`
 15888  
 15889  	// The unique identifier for the next activity to perform after the this activity.
 15890  	NextActivity *string `type:"string"`
 15891  }
 15892  
 15893  // String returns the string representation.
 15894  //
 15895  // API parameter values that are decorated as "sensitive" in the API will not
 15896  // be included in the string output. The member name will be present, but the
 15897  // value will be replaced with "sensitive".
 15898  func (s ContactCenterActivity) String() string {
 15899  	return awsutil.Prettify(s)
 15900  }
 15901  
 15902  // GoString returns the string representation.
 15903  //
 15904  // API parameter values that are decorated as "sensitive" in the API will not
 15905  // be included in the string output. The member name will be present, but the
 15906  // value will be replaced with "sensitive".
 15907  func (s ContactCenterActivity) GoString() string {
 15908  	return s.String()
 15909  }
 15910  
 15911  // SetNextActivity sets the NextActivity field's value.
 15912  func (s *ContactCenterActivity) SetNextActivity(v string) *ContactCenterActivity {
 15913  	s.NextActivity = &v
 15914  	return s
 15915  }
 15916  
 15917  type CreateAppInput struct {
 15918  	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
 15919  
 15920  	// Specifies the display name of an application and the tags to associate with
 15921  	// the application.
 15922  	//
 15923  	// CreateApplicationRequest is a required field
 15924  	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
 15925  }
 15926  
 15927  // String returns the string representation.
 15928  //
 15929  // API parameter values that are decorated as "sensitive" in the API will not
 15930  // be included in the string output. The member name will be present, but the
 15931  // value will be replaced with "sensitive".
 15932  func (s CreateAppInput) String() string {
 15933  	return awsutil.Prettify(s)
 15934  }
 15935  
 15936  // GoString returns the string representation.
 15937  //
 15938  // API parameter values that are decorated as "sensitive" in the API will not
 15939  // be included in the string output. The member name will be present, but the
 15940  // value will be replaced with "sensitive".
 15941  func (s CreateAppInput) GoString() string {
 15942  	return s.String()
 15943  }
 15944  
 15945  // Validate inspects the fields of the type to determine if they are valid.
 15946  func (s *CreateAppInput) Validate() error {
 15947  	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
 15948  	if s.CreateApplicationRequest == nil {
 15949  		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
 15950  	}
 15951  	if s.CreateApplicationRequest != nil {
 15952  		if err := s.CreateApplicationRequest.Validate(); err != nil {
 15953  			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
 15954  		}
 15955  	}
 15956  
 15957  	if invalidParams.Len() > 0 {
 15958  		return invalidParams
 15959  	}
 15960  	return nil
 15961  }
 15962  
 15963  // SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
 15964  func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
 15965  	s.CreateApplicationRequest = v
 15966  	return s
 15967  }
 15968  
 15969  type CreateAppOutput struct {
 15970  	_ struct{} `type:"structure" payload:"ApplicationResponse"`
 15971  
 15972  	// Provides information about an application.
 15973  	//
 15974  	// ApplicationResponse is a required field
 15975  	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
 15976  }
 15977  
 15978  // String returns the string representation.
 15979  //
 15980  // API parameter values that are decorated as "sensitive" in the API will not
 15981  // be included in the string output. The member name will be present, but the
 15982  // value will be replaced with "sensitive".
 15983  func (s CreateAppOutput) String() string {
 15984  	return awsutil.Prettify(s)
 15985  }
 15986  
 15987  // GoString returns the string representation.
 15988  //
 15989  // API parameter values that are decorated as "sensitive" in the API will not
 15990  // be included in the string output. The member name will be present, but the
 15991  // value will be replaced with "sensitive".
 15992  func (s CreateAppOutput) GoString() string {
 15993  	return s.String()
 15994  }
 15995  
 15996  // SetApplicationResponse sets the ApplicationResponse field's value.
 15997  func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
 15998  	s.ApplicationResponse = v
 15999  	return s
 16000  }
 16001  
 16002  // Specifies the display name of an application and the tags to associate with
 16003  // the application.
 16004  type CreateApplicationRequest struct {
 16005  	_ struct{} `type:"structure"`
 16006  
 16007  	// The display name of the application. This name is displayed as the Project
 16008  	// name on the Amazon Pinpoint console.
 16009  	//
 16010  	// Name is a required field
 16011  	Name *string `type:"string" required:"true"`
 16012  
 16013  	// A string-to-string map of key-value pairs that defines the tags to associate
 16014  	// with the application. Each tag consists of a required tag key and an associated
 16015  	// tag value.
 16016  	Tags map[string]*string `locationName:"tags" type:"map"`
 16017  }
 16018  
 16019  // String returns the string representation.
 16020  //
 16021  // API parameter values that are decorated as "sensitive" in the API will not
 16022  // be included in the string output. The member name will be present, but the
 16023  // value will be replaced with "sensitive".
 16024  func (s CreateApplicationRequest) String() string {
 16025  	return awsutil.Prettify(s)
 16026  }
 16027  
 16028  // GoString returns the string representation.
 16029  //
 16030  // API parameter values that are decorated as "sensitive" in the API will not
 16031  // be included in the string output. The member name will be present, but the
 16032  // value will be replaced with "sensitive".
 16033  func (s CreateApplicationRequest) GoString() string {
 16034  	return s.String()
 16035  }
 16036  
 16037  // Validate inspects the fields of the type to determine if they are valid.
 16038  func (s *CreateApplicationRequest) Validate() error {
 16039  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
 16040  	if s.Name == nil {
 16041  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16042  	}
 16043  
 16044  	if invalidParams.Len() > 0 {
 16045  		return invalidParams
 16046  	}
 16047  	return nil
 16048  }
 16049  
 16050  // SetName sets the Name field's value.
 16051  func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
 16052  	s.Name = &v
 16053  	return s
 16054  }
 16055  
 16056  // SetTags sets the Tags field's value.
 16057  func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
 16058  	s.Tags = v
 16059  	return s
 16060  }
 16061  
 16062  type CreateCampaignInput struct {
 16063  	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
 16064  
 16065  	// ApplicationId is a required field
 16066  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 16067  
 16068  	// Specifies the configuration and other settings for a campaign.
 16069  	//
 16070  	// WriteCampaignRequest is a required field
 16071  	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
 16072  }
 16073  
 16074  // String returns the string representation.
 16075  //
 16076  // API parameter values that are decorated as "sensitive" in the API will not
 16077  // be included in the string output. The member name will be present, but the
 16078  // value will be replaced with "sensitive".
 16079  func (s CreateCampaignInput) String() string {
 16080  	return awsutil.Prettify(s)
 16081  }
 16082  
 16083  // GoString returns the string representation.
 16084  //
 16085  // API parameter values that are decorated as "sensitive" in the API will not
 16086  // be included in the string output. The member name will be present, but the
 16087  // value will be replaced with "sensitive".
 16088  func (s CreateCampaignInput) GoString() string {
 16089  	return s.String()
 16090  }
 16091  
 16092  // Validate inspects the fields of the type to determine if they are valid.
 16093  func (s *CreateCampaignInput) Validate() error {
 16094  	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
 16095  	if s.ApplicationId == nil {
 16096  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 16097  	}
 16098  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 16099  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 16100  	}
 16101  	if s.WriteCampaignRequest == nil {
 16102  		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
 16103  	}
 16104  	if s.WriteCampaignRequest != nil {
 16105  		if err := s.WriteCampaignRequest.Validate(); err != nil {
 16106  			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
 16107  		}
 16108  	}
 16109  
 16110  	if invalidParams.Len() > 0 {
 16111  		return invalidParams
 16112  	}
 16113  	return nil
 16114  }
 16115  
 16116  // SetApplicationId sets the ApplicationId field's value.
 16117  func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
 16118  	s.ApplicationId = &v
 16119  	return s
 16120  }
 16121  
 16122  // SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
 16123  func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
 16124  	s.WriteCampaignRequest = v
 16125  	return s
 16126  }
 16127  
 16128  type CreateCampaignOutput struct {
 16129  	_ struct{} `type:"structure" payload:"CampaignResponse"`
 16130  
 16131  	// Provides information about the status, configuration, and other settings
 16132  	// for a campaign.
 16133  	//
 16134  	// CampaignResponse is a required field
 16135  	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
 16136  }
 16137  
 16138  // String returns the string representation.
 16139  //
 16140  // API parameter values that are decorated as "sensitive" in the API will not
 16141  // be included in the string output. The member name will be present, but the
 16142  // value will be replaced with "sensitive".
 16143  func (s CreateCampaignOutput) String() string {
 16144  	return awsutil.Prettify(s)
 16145  }
 16146  
 16147  // GoString returns the string representation.
 16148  //
 16149  // API parameter values that are decorated as "sensitive" in the API will not
 16150  // be included in the string output. The member name will be present, but the
 16151  // value will be replaced with "sensitive".
 16152  func (s CreateCampaignOutput) GoString() string {
 16153  	return s.String()
 16154  }
 16155  
 16156  // SetCampaignResponse sets the CampaignResponse field's value.
 16157  func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
 16158  	s.CampaignResponse = v
 16159  	return s
 16160  }
 16161  
 16162  type CreateEmailTemplateInput struct {
 16163  	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
 16164  
 16165  	// Specifies the content and settings for a message template that can be used
 16166  	// in messages that are sent through the email channel.
 16167  	//
 16168  	// EmailTemplateRequest is a required field
 16169  	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
 16170  
 16171  	// TemplateName is a required field
 16172  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 16173  }
 16174  
 16175  // String returns the string representation.
 16176  //
 16177  // API parameter values that are decorated as "sensitive" in the API will not
 16178  // be included in the string output. The member name will be present, but the
 16179  // value will be replaced with "sensitive".
 16180  func (s CreateEmailTemplateInput) String() string {
 16181  	return awsutil.Prettify(s)
 16182  }
 16183  
 16184  // GoString returns the string representation.
 16185  //
 16186  // API parameter values that are decorated as "sensitive" in the API will not
 16187  // be included in the string output. The member name will be present, but the
 16188  // value will be replaced with "sensitive".
 16189  func (s CreateEmailTemplateInput) GoString() string {
 16190  	return s.String()
 16191  }
 16192  
 16193  // Validate inspects the fields of the type to determine if they are valid.
 16194  func (s *CreateEmailTemplateInput) Validate() error {
 16195  	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
 16196  	if s.EmailTemplateRequest == nil {
 16197  		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
 16198  	}
 16199  	if s.TemplateName == nil {
 16200  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 16201  	}
 16202  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 16203  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 16204  	}
 16205  
 16206  	if invalidParams.Len() > 0 {
 16207  		return invalidParams
 16208  	}
 16209  	return nil
 16210  }
 16211  
 16212  // SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
 16213  func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput {
 16214  	s.EmailTemplateRequest = v
 16215  	return s
 16216  }
 16217  
 16218  // SetTemplateName sets the TemplateName field's value.
 16219  func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
 16220  	s.TemplateName = &v
 16221  	return s
 16222  }
 16223  
 16224  type CreateEmailTemplateOutput struct {
 16225  	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
 16226  
 16227  	// Provides information about a request to create a message template.
 16228  	//
 16229  	// CreateTemplateMessageBody is a required field
 16230  	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
 16231  }
 16232  
 16233  // String returns the string representation.
 16234  //
 16235  // API parameter values that are decorated as "sensitive" in the API will not
 16236  // be included in the string output. The member name will be present, but the
 16237  // value will be replaced with "sensitive".
 16238  func (s CreateEmailTemplateOutput) String() string {
 16239  	return awsutil.Prettify(s)
 16240  }
 16241  
 16242  // GoString returns the string representation.
 16243  //
 16244  // API parameter values that are decorated as "sensitive" in the API will not
 16245  // be included in the string output. The member name will be present, but the
 16246  // value will be replaced with "sensitive".
 16247  func (s CreateEmailTemplateOutput) GoString() string {
 16248  	return s.String()
 16249  }
 16250  
 16251  // SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
 16252  func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput {
 16253  	s.CreateTemplateMessageBody = v
 16254  	return s
 16255  }
 16256  
 16257  type CreateExportJobInput struct {
 16258  	_ struct{} `type:"structure" payload:"ExportJobRequest"`
 16259  
 16260  	// ApplicationId is a required field
 16261  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 16262  
 16263  	// Specifies the settings for a job that exports endpoint definitions to an
 16264  	// Amazon Simple Storage Service (Amazon S3) bucket.
 16265  	//
 16266  	// ExportJobRequest is a required field
 16267  	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
 16268  }
 16269  
 16270  // String returns the string representation.
 16271  //
 16272  // API parameter values that are decorated as "sensitive" in the API will not
 16273  // be included in the string output. The member name will be present, but the
 16274  // value will be replaced with "sensitive".
 16275  func (s CreateExportJobInput) String() string {
 16276  	return awsutil.Prettify(s)
 16277  }
 16278  
 16279  // GoString returns the string representation.
 16280  //
 16281  // API parameter values that are decorated as "sensitive" in the API will not
 16282  // be included in the string output. The member name will be present, but the
 16283  // value will be replaced with "sensitive".
 16284  func (s CreateExportJobInput) GoString() string {
 16285  	return s.String()
 16286  }
 16287  
 16288  // Validate inspects the fields of the type to determine if they are valid.
 16289  func (s *CreateExportJobInput) Validate() error {
 16290  	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
 16291  	if s.ApplicationId == nil {
 16292  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 16293  	}
 16294  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 16295  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 16296  	}
 16297  	if s.ExportJobRequest == nil {
 16298  		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
 16299  	}
 16300  	if s.ExportJobRequest != nil {
 16301  		if err := s.ExportJobRequest.Validate(); err != nil {
 16302  			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
 16303  		}
 16304  	}
 16305  
 16306  	if invalidParams.Len() > 0 {
 16307  		return invalidParams
 16308  	}
 16309  	return nil
 16310  }
 16311  
 16312  // SetApplicationId sets the ApplicationId field's value.
 16313  func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
 16314  	s.ApplicationId = &v
 16315  	return s
 16316  }
 16317  
 16318  // SetExportJobRequest sets the ExportJobRequest field's value.
 16319  func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
 16320  	s.ExportJobRequest = v
 16321  	return s
 16322  }
 16323  
 16324  type CreateExportJobOutput struct {
 16325  	_ struct{} `type:"structure" payload:"ExportJobResponse"`
 16326  
 16327  	// Provides information about the status and settings of a job that exports
 16328  	// endpoint definitions to a file. The file can be added directly to an Amazon
 16329  	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
 16330  	// or downloaded directly to a computer by using the Amazon Pinpoint console.
 16331  	//
 16332  	// ExportJobResponse is a required field
 16333  	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
 16334  }
 16335  
 16336  // String returns the string representation.
 16337  //
 16338  // API parameter values that are decorated as "sensitive" in the API will not
 16339  // be included in the string output. The member name will be present, but the
 16340  // value will be replaced with "sensitive".
 16341  func (s CreateExportJobOutput) String() string {
 16342  	return awsutil.Prettify(s)
 16343  }
 16344  
 16345  // GoString returns the string representation.
 16346  //
 16347  // API parameter values that are decorated as "sensitive" in the API will not
 16348  // be included in the string output. The member name will be present, but the
 16349  // value will be replaced with "sensitive".
 16350  func (s CreateExportJobOutput) GoString() string {
 16351  	return s.String()
 16352  }
 16353  
 16354  // SetExportJobResponse sets the ExportJobResponse field's value.
 16355  func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
 16356  	s.ExportJobResponse = v
 16357  	return s
 16358  }
 16359  
 16360  type CreateImportJobInput struct {
 16361  	_ struct{} `type:"structure" payload:"ImportJobRequest"`
 16362  
 16363  	// ApplicationId is a required field
 16364  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 16365  
 16366  	// Specifies the settings for a job that imports endpoint definitions from an
 16367  	// Amazon Simple Storage Service (Amazon S3) bucket.
 16368  	//
 16369  	// ImportJobRequest is a required field
 16370  	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
 16371  }
 16372  
 16373  // String returns the string representation.
 16374  //
 16375  // API parameter values that are decorated as "sensitive" in the API will not
 16376  // be included in the string output. The member name will be present, but the
 16377  // value will be replaced with "sensitive".
 16378  func (s CreateImportJobInput) String() string {
 16379  	return awsutil.Prettify(s)
 16380  }
 16381  
 16382  // GoString returns the string representation.
 16383  //
 16384  // API parameter values that are decorated as "sensitive" in the API will not
 16385  // be included in the string output. The member name will be present, but the
 16386  // value will be replaced with "sensitive".
 16387  func (s CreateImportJobInput) GoString() string {
 16388  	return s.String()
 16389  }
 16390  
 16391  // Validate inspects the fields of the type to determine if they are valid.
 16392  func (s *CreateImportJobInput) Validate() error {
 16393  	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
 16394  	if s.ApplicationId == nil {
 16395  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 16396  	}
 16397  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 16398  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 16399  	}
 16400  	if s.ImportJobRequest == nil {
 16401  		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
 16402  	}
 16403  	if s.ImportJobRequest != nil {
 16404  		if err := s.ImportJobRequest.Validate(); err != nil {
 16405  			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
 16406  		}
 16407  	}
 16408  
 16409  	if invalidParams.Len() > 0 {
 16410  		return invalidParams
 16411  	}
 16412  	return nil
 16413  }
 16414  
 16415  // SetApplicationId sets the ApplicationId field's value.
 16416  func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
 16417  	s.ApplicationId = &v
 16418  	return s
 16419  }
 16420  
 16421  // SetImportJobRequest sets the ImportJobRequest field's value.
 16422  func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
 16423  	s.ImportJobRequest = v
 16424  	return s
 16425  }
 16426  
 16427  type CreateImportJobOutput struct {
 16428  	_ struct{} `type:"structure" payload:"ImportJobResponse"`
 16429  
 16430  	// Provides information about the status and settings of a job that imports
 16431  	// endpoint definitions from one or more files. The files can be stored in an
 16432  	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
 16433  	// a computer by using the Amazon Pinpoint console.
 16434  	//
 16435  	// ImportJobResponse is a required field
 16436  	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
 16437  }
 16438  
 16439  // String returns the string representation.
 16440  //
 16441  // API parameter values that are decorated as "sensitive" in the API will not
 16442  // be included in the string output. The member name will be present, but the
 16443  // value will be replaced with "sensitive".
 16444  func (s CreateImportJobOutput) String() string {
 16445  	return awsutil.Prettify(s)
 16446  }
 16447  
 16448  // GoString returns the string representation.
 16449  //
 16450  // API parameter values that are decorated as "sensitive" in the API will not
 16451  // be included in the string output. The member name will be present, but the
 16452  // value will be replaced with "sensitive".
 16453  func (s CreateImportJobOutput) GoString() string {
 16454  	return s.String()
 16455  }
 16456  
 16457  // SetImportJobResponse sets the ImportJobResponse field's value.
 16458  func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
 16459  	s.ImportJobResponse = v
 16460  	return s
 16461  }
 16462  
 16463  type CreateInAppTemplateInput struct {
 16464  	_ struct{} `type:"structure" payload:"InAppTemplateRequest"`
 16465  
 16466  	// In-App Template Request.
 16467  	//
 16468  	// InAppTemplateRequest is a required field
 16469  	InAppTemplateRequest *InAppTemplateRequest `type:"structure" required:"true"`
 16470  
 16471  	// TemplateName is a required field
 16472  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 16473  }
 16474  
 16475  // String returns the string representation.
 16476  //
 16477  // API parameter values that are decorated as "sensitive" in the API will not
 16478  // be included in the string output. The member name will be present, but the
 16479  // value will be replaced with "sensitive".
 16480  func (s CreateInAppTemplateInput) String() string {
 16481  	return awsutil.Prettify(s)
 16482  }
 16483  
 16484  // GoString returns the string representation.
 16485  //
 16486  // API parameter values that are decorated as "sensitive" in the API will not
 16487  // be included in the string output. The member name will be present, but the
 16488  // value will be replaced with "sensitive".
 16489  func (s CreateInAppTemplateInput) GoString() string {
 16490  	return s.String()
 16491  }
 16492  
 16493  // Validate inspects the fields of the type to determine if they are valid.
 16494  func (s *CreateInAppTemplateInput) Validate() error {
 16495  	invalidParams := request.ErrInvalidParams{Context: "CreateInAppTemplateInput"}
 16496  	if s.InAppTemplateRequest == nil {
 16497  		invalidParams.Add(request.NewErrParamRequired("InAppTemplateRequest"))
 16498  	}
 16499  	if s.TemplateName == nil {
 16500  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 16501  	}
 16502  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 16503  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 16504  	}
 16505  	if s.InAppTemplateRequest != nil {
 16506  		if err := s.InAppTemplateRequest.Validate(); err != nil {
 16507  			invalidParams.AddNested("InAppTemplateRequest", err.(request.ErrInvalidParams))
 16508  		}
 16509  	}
 16510  
 16511  	if invalidParams.Len() > 0 {
 16512  		return invalidParams
 16513  	}
 16514  	return nil
 16515  }
 16516  
 16517  // SetInAppTemplateRequest sets the InAppTemplateRequest field's value.
 16518  func (s *CreateInAppTemplateInput) SetInAppTemplateRequest(v *InAppTemplateRequest) *CreateInAppTemplateInput {
 16519  	s.InAppTemplateRequest = v
 16520  	return s
 16521  }
 16522  
 16523  // SetTemplateName sets the TemplateName field's value.
 16524  func (s *CreateInAppTemplateInput) SetTemplateName(v string) *CreateInAppTemplateInput {
 16525  	s.TemplateName = &v
 16526  	return s
 16527  }
 16528  
 16529  type CreateInAppTemplateOutput struct {
 16530  	_ struct{} `type:"structure" payload:"TemplateCreateMessageBody"`
 16531  
 16532  	// Provides information about a request to create a message template.
 16533  	//
 16534  	// TemplateCreateMessageBody is a required field
 16535  	TemplateCreateMessageBody *TemplateCreateMessageBody `type:"structure" required:"true"`
 16536  }
 16537  
 16538  // String returns the string representation.
 16539  //
 16540  // API parameter values that are decorated as "sensitive" in the API will not
 16541  // be included in the string output. The member name will be present, but the
 16542  // value will be replaced with "sensitive".
 16543  func (s CreateInAppTemplateOutput) String() string {
 16544  	return awsutil.Prettify(s)
 16545  }
 16546  
 16547  // GoString returns the string representation.
 16548  //
 16549  // API parameter values that are decorated as "sensitive" in the API will not
 16550  // be included in the string output. The member name will be present, but the
 16551  // value will be replaced with "sensitive".
 16552  func (s CreateInAppTemplateOutput) GoString() string {
 16553  	return s.String()
 16554  }
 16555  
 16556  // SetTemplateCreateMessageBody sets the TemplateCreateMessageBody field's value.
 16557  func (s *CreateInAppTemplateOutput) SetTemplateCreateMessageBody(v *TemplateCreateMessageBody) *CreateInAppTemplateOutput {
 16558  	s.TemplateCreateMessageBody = v
 16559  	return s
 16560  }
 16561  
 16562  type CreateJourneyInput struct {
 16563  	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
 16564  
 16565  	// ApplicationId is a required field
 16566  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 16567  
 16568  	// Specifies the configuration and other settings for a journey.
 16569  	//
 16570  	// WriteJourneyRequest is a required field
 16571  	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
 16572  }
 16573  
 16574  // String returns the string representation.
 16575  //
 16576  // API parameter values that are decorated as "sensitive" in the API will not
 16577  // be included in the string output. The member name will be present, but the
 16578  // value will be replaced with "sensitive".
 16579  func (s CreateJourneyInput) String() string {
 16580  	return awsutil.Prettify(s)
 16581  }
 16582  
 16583  // GoString returns the string representation.
 16584  //
 16585  // API parameter values that are decorated as "sensitive" in the API will not
 16586  // be included in the string output. The member name will be present, but the
 16587  // value will be replaced with "sensitive".
 16588  func (s CreateJourneyInput) GoString() string {
 16589  	return s.String()
 16590  }
 16591  
 16592  // Validate inspects the fields of the type to determine if they are valid.
 16593  func (s *CreateJourneyInput) Validate() error {
 16594  	invalidParams := request.ErrInvalidParams{Context: "CreateJourneyInput"}
 16595  	if s.ApplicationId == nil {
 16596  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 16597  	}
 16598  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 16599  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 16600  	}
 16601  	if s.WriteJourneyRequest == nil {
 16602  		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
 16603  	}
 16604  	if s.WriteJourneyRequest != nil {
 16605  		if err := s.WriteJourneyRequest.Validate(); err != nil {
 16606  			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
 16607  		}
 16608  	}
 16609  
 16610  	if invalidParams.Len() > 0 {
 16611  		return invalidParams
 16612  	}
 16613  	return nil
 16614  }
 16615  
 16616  // SetApplicationId sets the ApplicationId field's value.
 16617  func (s *CreateJourneyInput) SetApplicationId(v string) *CreateJourneyInput {
 16618  	s.ApplicationId = &v
 16619  	return s
 16620  }
 16621  
 16622  // SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
 16623  func (s *CreateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *CreateJourneyInput {
 16624  	s.WriteJourneyRequest = v
 16625  	return s
 16626  }
 16627  
 16628  type CreateJourneyOutput struct {
 16629  	_ struct{} `type:"structure" payload:"JourneyResponse"`
 16630  
 16631  	// Provides information about the status, configuration, and other settings
 16632  	// for a journey.
 16633  	//
 16634  	// JourneyResponse is a required field
 16635  	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
 16636  }
 16637  
 16638  // String returns the string representation.
 16639  //
 16640  // API parameter values that are decorated as "sensitive" in the API will not
 16641  // be included in the string output. The member name will be present, but the
 16642  // value will be replaced with "sensitive".
 16643  func (s CreateJourneyOutput) String() string {
 16644  	return awsutil.Prettify(s)
 16645  }
 16646  
 16647  // GoString returns the string representation.
 16648  //
 16649  // API parameter values that are decorated as "sensitive" in the API will not
 16650  // be included in the string output. The member name will be present, but the
 16651  // value will be replaced with "sensitive".
 16652  func (s CreateJourneyOutput) GoString() string {
 16653  	return s.String()
 16654  }
 16655  
 16656  // SetJourneyResponse sets the JourneyResponse field's value.
 16657  func (s *CreateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *CreateJourneyOutput {
 16658  	s.JourneyResponse = v
 16659  	return s
 16660  }
 16661  
 16662  type CreatePushTemplateInput struct {
 16663  	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
 16664  
 16665  	// Specifies the content and settings for a message template that can be used
 16666  	// in messages that are sent through a push notification channel.
 16667  	//
 16668  	// PushNotificationTemplateRequest is a required field
 16669  	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
 16670  
 16671  	// TemplateName is a required field
 16672  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 16673  }
 16674  
 16675  // String returns the string representation.
 16676  //
 16677  // API parameter values that are decorated as "sensitive" in the API will not
 16678  // be included in the string output. The member name will be present, but the
 16679  // value will be replaced with "sensitive".
 16680  func (s CreatePushTemplateInput) String() string {
 16681  	return awsutil.Prettify(s)
 16682  }
 16683  
 16684  // GoString returns the string representation.
 16685  //
 16686  // API parameter values that are decorated as "sensitive" in the API will not
 16687  // be included in the string output. The member name will be present, but the
 16688  // value will be replaced with "sensitive".
 16689  func (s CreatePushTemplateInput) GoString() string {
 16690  	return s.String()
 16691  }
 16692  
 16693  // Validate inspects the fields of the type to determine if they are valid.
 16694  func (s *CreatePushTemplateInput) Validate() error {
 16695  	invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"}
 16696  	if s.PushNotificationTemplateRequest == nil {
 16697  		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
 16698  	}
 16699  	if s.TemplateName == nil {
 16700  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 16701  	}
 16702  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 16703  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 16704  	}
 16705  
 16706  	if invalidParams.Len() > 0 {
 16707  		return invalidParams
 16708  	}
 16709  	return nil
 16710  }
 16711  
 16712  // SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
 16713  func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput {
 16714  	s.PushNotificationTemplateRequest = v
 16715  	return s
 16716  }
 16717  
 16718  // SetTemplateName sets the TemplateName field's value.
 16719  func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput {
 16720  	s.TemplateName = &v
 16721  	return s
 16722  }
 16723  
 16724  type CreatePushTemplateOutput struct {
 16725  	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
 16726  
 16727  	// Provides information about a request to create a message template.
 16728  	//
 16729  	// CreateTemplateMessageBody is a required field
 16730  	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
 16731  }
 16732  
 16733  // String returns the string representation.
 16734  //
 16735  // API parameter values that are decorated as "sensitive" in the API will not
 16736  // be included in the string output. The member name will be present, but the
 16737  // value will be replaced with "sensitive".
 16738  func (s CreatePushTemplateOutput) String() string {
 16739  	return awsutil.Prettify(s)
 16740  }
 16741  
 16742  // GoString returns the string representation.
 16743  //
 16744  // API parameter values that are decorated as "sensitive" in the API will not
 16745  // be included in the string output. The member name will be present, but the
 16746  // value will be replaced with "sensitive".
 16747  func (s CreatePushTemplateOutput) GoString() string {
 16748  	return s.String()
 16749  }
 16750  
 16751  // SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
 16752  func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput {
 16753  	s.CreateTemplateMessageBody = v
 16754  	return s
 16755  }
 16756  
 16757  // Specifies Amazon Pinpoint configuration settings for retrieving and processing
 16758  // recommendation data from a recommender model.
 16759  type CreateRecommenderConfiguration struct {
 16760  	_ struct{} `type:"structure"`
 16761  
 16762  	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
 16763  	// depending on the value for the RecommendationProviderIdType property. Each
 16764  	// of these attributes temporarily stores a recommended item that's retrieved
 16765  	// from the recommender model and sent to an AWS Lambda function for additional
 16766  	// processing. Each attribute can be used as a message variable in a message
 16767  	// template.
 16768  	//
 16769  	// In the map, the key is the name of a custom attribute and the value is a
 16770  	// custom display name for that attribute. The display name appears in the Attribute
 16771  	// finder of the template editor on the Amazon Pinpoint console. The following
 16772  	// restrictions apply to these names:
 16773  	//
 16774  	//    * An attribute name must start with a letter or number and it can contain
 16775  	//    up to 50 characters. The characters can be letters, numbers, underscores
 16776  	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
 16777  	//
 16778  	//    * An attribute display name must start with a letter or number and it
 16779  	//    can contain up to 25 characters. The characters can be letters, numbers,
 16780  	//    spaces, underscores (_), or hyphens (-).
 16781  	//
 16782  	// This object is required if the configuration invokes an AWS Lambda function
 16783  	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
 16784  	// don't include this object in your request.
 16785  	Attributes map[string]*string `type:"map"`
 16786  
 16787  	// A custom description of the configuration for the recommender model. The
 16788  	// description can contain up to 128 characters. The characters can be letters,
 16789  	// numbers, spaces, or the following symbols: _ ; () , ‐.
 16790  	Description *string `type:"string"`
 16791  
 16792  	// A custom name of the configuration for the recommender model. The name must
 16793  	// start with a letter or number and it can contain up to 128 characters. The
 16794  	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
 16795  	Name *string `type:"string"`
 16796  
 16797  	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
 16798  	// model. This value enables the model to use attribute and event data that’s
 16799  	// specific to a particular endpoint or user in an Amazon Pinpoint application.
 16800  	// Valid values are:
 16801  	//
 16802  	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
 16803  	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
 16804  	//    IDs in Amazon Pinpoint. This is the default value.
 16805  	//
 16806  	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
 16807  	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
 16808  	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
 16809  	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
 16810  	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
 16811  	RecommendationProviderIdType *string `type:"string"`
 16812  
 16813  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 16814  	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
 16815  	// from the recommender model.
 16816  	//
 16817  	// RecommendationProviderRoleArn is a required field
 16818  	RecommendationProviderRoleArn *string `type:"string" required:"true"`
 16819  
 16820  	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
 16821  	// data from. This value must match the ARN of an Amazon Personalize campaign.
 16822  	//
 16823  	// RecommendationProviderUri is a required field
 16824  	RecommendationProviderUri *string `type:"string" required:"true"`
 16825  
 16826  	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
 16827  	// for additional processing of recommendation data that's retrieved from the
 16828  	// recommender model.
 16829  	RecommendationTransformerUri *string `type:"string"`
 16830  
 16831  	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
 16832  	// that temporarily stores recommended items for each endpoint or user, depending
 16833  	// on the value for the RecommendationProviderIdType property. This value is
 16834  	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
 16835  	// to perform additional processing of recommendation data.
 16836  	//
 16837  	// This name appears in the Attribute finder of the template editor on the Amazon
 16838  	// Pinpoint console. The name can contain up to 25 characters. The characters
 16839  	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
 16840  	// don't apply to attribute values.
 16841  	RecommendationsDisplayName *string `type:"string"`
 16842  
 16843  	// The number of recommended items to retrieve from the model for each endpoint
 16844  	// or user, depending on the value for the RecommendationProviderIdType property.
 16845  	// This number determines how many recommended items are available for use in
 16846  	// message variables. The minimum value is 1. The maximum value is 5. The default
 16847  	// value is 5.
 16848  	//
 16849  	// To use multiple recommended items and custom attributes with message variables,
 16850  	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
 16851  	// perform additional processing of recommendation data.
 16852  	RecommendationsPerMessage *int64 `type:"integer"`
 16853  }
 16854  
 16855  // String returns the string representation.
 16856  //
 16857  // API parameter values that are decorated as "sensitive" in the API will not
 16858  // be included in the string output. The member name will be present, but the
 16859  // value will be replaced with "sensitive".
 16860  func (s CreateRecommenderConfiguration) String() string {
 16861  	return awsutil.Prettify(s)
 16862  }
 16863  
 16864  // GoString returns the string representation.
 16865  //
 16866  // API parameter values that are decorated as "sensitive" in the API will not
 16867  // be included in the string output. The member name will be present, but the
 16868  // value will be replaced with "sensitive".
 16869  func (s CreateRecommenderConfiguration) GoString() string {
 16870  	return s.String()
 16871  }
 16872  
 16873  // Validate inspects the fields of the type to determine if they are valid.
 16874  func (s *CreateRecommenderConfiguration) Validate() error {
 16875  	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfiguration"}
 16876  	if s.RecommendationProviderRoleArn == nil {
 16877  		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
 16878  	}
 16879  	if s.RecommendationProviderUri == nil {
 16880  		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
 16881  	}
 16882  
 16883  	if invalidParams.Len() > 0 {
 16884  		return invalidParams
 16885  	}
 16886  	return nil
 16887  }
 16888  
 16889  // SetAttributes sets the Attributes field's value.
 16890  func (s *CreateRecommenderConfiguration) SetAttributes(v map[string]*string) *CreateRecommenderConfiguration {
 16891  	s.Attributes = v
 16892  	return s
 16893  }
 16894  
 16895  // SetDescription sets the Description field's value.
 16896  func (s *CreateRecommenderConfiguration) SetDescription(v string) *CreateRecommenderConfiguration {
 16897  	s.Description = &v
 16898  	return s
 16899  }
 16900  
 16901  // SetName sets the Name field's value.
 16902  func (s *CreateRecommenderConfiguration) SetName(v string) *CreateRecommenderConfiguration {
 16903  	s.Name = &v
 16904  	return s
 16905  }
 16906  
 16907  // SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
 16908  func (s *CreateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *CreateRecommenderConfiguration {
 16909  	s.RecommendationProviderIdType = &v
 16910  	return s
 16911  }
 16912  
 16913  // SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
 16914  func (s *CreateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *CreateRecommenderConfiguration {
 16915  	s.RecommendationProviderRoleArn = &v
 16916  	return s
 16917  }
 16918  
 16919  // SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
 16920  func (s *CreateRecommenderConfiguration) SetRecommendationProviderUri(v string) *CreateRecommenderConfiguration {
 16921  	s.RecommendationProviderUri = &v
 16922  	return s
 16923  }
 16924  
 16925  // SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
 16926  func (s *CreateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *CreateRecommenderConfiguration {
 16927  	s.RecommendationTransformerUri = &v
 16928  	return s
 16929  }
 16930  
 16931  // SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
 16932  func (s *CreateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *CreateRecommenderConfiguration {
 16933  	s.RecommendationsDisplayName = &v
 16934  	return s
 16935  }
 16936  
 16937  // SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
 16938  func (s *CreateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *CreateRecommenderConfiguration {
 16939  	s.RecommendationsPerMessage = &v
 16940  	return s
 16941  }
 16942  
 16943  type CreateRecommenderConfigurationInput struct {
 16944  	_ struct{} `type:"structure" payload:"CreateRecommenderConfiguration"`
 16945  
 16946  	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
 16947  	// recommendation data from a recommender model.
 16948  	//
 16949  	// CreateRecommenderConfiguration is a required field
 16950  	CreateRecommenderConfiguration *CreateRecommenderConfiguration `type:"structure" required:"true"`
 16951  }
 16952  
 16953  // String returns the string representation.
 16954  //
 16955  // API parameter values that are decorated as "sensitive" in the API will not
 16956  // be included in the string output. The member name will be present, but the
 16957  // value will be replaced with "sensitive".
 16958  func (s CreateRecommenderConfigurationInput) String() string {
 16959  	return awsutil.Prettify(s)
 16960  }
 16961  
 16962  // GoString returns the string representation.
 16963  //
 16964  // API parameter values that are decorated as "sensitive" in the API will not
 16965  // be included in the string output. The member name will be present, but the
 16966  // value will be replaced with "sensitive".
 16967  func (s CreateRecommenderConfigurationInput) GoString() string {
 16968  	return s.String()
 16969  }
 16970  
 16971  // Validate inspects the fields of the type to determine if they are valid.
 16972  func (s *CreateRecommenderConfigurationInput) Validate() error {
 16973  	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfigurationInput"}
 16974  	if s.CreateRecommenderConfiguration == nil {
 16975  		invalidParams.Add(request.NewErrParamRequired("CreateRecommenderConfiguration"))
 16976  	}
 16977  	if s.CreateRecommenderConfiguration != nil {
 16978  		if err := s.CreateRecommenderConfiguration.Validate(); err != nil {
 16979  			invalidParams.AddNested("CreateRecommenderConfiguration", err.(request.ErrInvalidParams))
 16980  		}
 16981  	}
 16982  
 16983  	if invalidParams.Len() > 0 {
 16984  		return invalidParams
 16985  	}
 16986  	return nil
 16987  }
 16988  
 16989  // SetCreateRecommenderConfiguration sets the CreateRecommenderConfiguration field's value.
 16990  func (s *CreateRecommenderConfigurationInput) SetCreateRecommenderConfiguration(v *CreateRecommenderConfiguration) *CreateRecommenderConfigurationInput {
 16991  	s.CreateRecommenderConfiguration = v
 16992  	return s
 16993  }
 16994  
 16995  type CreateRecommenderConfigurationOutput struct {
 16996  	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
 16997  
 16998  	// Provides information about Amazon Pinpoint configuration settings for retrieving
 16999  	// and processing data from a recommender model.
 17000  	//
 17001  	// RecommenderConfigurationResponse is a required field
 17002  	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
 17003  }
 17004  
 17005  // String returns the string representation.
 17006  //
 17007  // API parameter values that are decorated as "sensitive" in the API will not
 17008  // be included in the string output. The member name will be present, but the
 17009  // value will be replaced with "sensitive".
 17010  func (s CreateRecommenderConfigurationOutput) String() string {
 17011  	return awsutil.Prettify(s)
 17012  }
 17013  
 17014  // GoString returns the string representation.
 17015  //
 17016  // API parameter values that are decorated as "sensitive" in the API will not
 17017  // be included in the string output. The member name will be present, but the
 17018  // value will be replaced with "sensitive".
 17019  func (s CreateRecommenderConfigurationOutput) GoString() string {
 17020  	return s.String()
 17021  }
 17022  
 17023  // SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
 17024  func (s *CreateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *CreateRecommenderConfigurationOutput {
 17025  	s.RecommenderConfigurationResponse = v
 17026  	return s
 17027  }
 17028  
 17029  type CreateSegmentInput struct {
 17030  	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
 17031  
 17032  	// ApplicationId is a required field
 17033  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 17034  
 17035  	// Specifies the configuration, dimension, and other settings for a segment.
 17036  	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
 17037  	// object, but not both.
 17038  	//
 17039  	// WriteSegmentRequest is a required field
 17040  	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
 17041  }
 17042  
 17043  // String returns the string representation.
 17044  //
 17045  // API parameter values that are decorated as "sensitive" in the API will not
 17046  // be included in the string output. The member name will be present, but the
 17047  // value will be replaced with "sensitive".
 17048  func (s CreateSegmentInput) String() string {
 17049  	return awsutil.Prettify(s)
 17050  }
 17051  
 17052  // GoString returns the string representation.
 17053  //
 17054  // API parameter values that are decorated as "sensitive" in the API will not
 17055  // be included in the string output. The member name will be present, but the
 17056  // value will be replaced with "sensitive".
 17057  func (s CreateSegmentInput) GoString() string {
 17058  	return s.String()
 17059  }
 17060  
 17061  // Validate inspects the fields of the type to determine if they are valid.
 17062  func (s *CreateSegmentInput) Validate() error {
 17063  	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
 17064  	if s.ApplicationId == nil {
 17065  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 17066  	}
 17067  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 17068  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 17069  	}
 17070  	if s.WriteSegmentRequest == nil {
 17071  		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
 17072  	}
 17073  	if s.WriteSegmentRequest != nil {
 17074  		if err := s.WriteSegmentRequest.Validate(); err != nil {
 17075  			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
 17076  		}
 17077  	}
 17078  
 17079  	if invalidParams.Len() > 0 {
 17080  		return invalidParams
 17081  	}
 17082  	return nil
 17083  }
 17084  
 17085  // SetApplicationId sets the ApplicationId field's value.
 17086  func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
 17087  	s.ApplicationId = &v
 17088  	return s
 17089  }
 17090  
 17091  // SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
 17092  func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
 17093  	s.WriteSegmentRequest = v
 17094  	return s
 17095  }
 17096  
 17097  type CreateSegmentOutput struct {
 17098  	_ struct{} `type:"structure" payload:"SegmentResponse"`
 17099  
 17100  	// Provides information about the configuration, dimension, and other settings
 17101  	// for a segment.
 17102  	//
 17103  	// SegmentResponse is a required field
 17104  	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
 17105  }
 17106  
 17107  // String returns the string representation.
 17108  //
 17109  // API parameter values that are decorated as "sensitive" in the API will not
 17110  // be included in the string output. The member name will be present, but the
 17111  // value will be replaced with "sensitive".
 17112  func (s CreateSegmentOutput) String() string {
 17113  	return awsutil.Prettify(s)
 17114  }
 17115  
 17116  // GoString returns the string representation.
 17117  //
 17118  // API parameter values that are decorated as "sensitive" in the API will not
 17119  // be included in the string output. The member name will be present, but the
 17120  // value will be replaced with "sensitive".
 17121  func (s CreateSegmentOutput) GoString() string {
 17122  	return s.String()
 17123  }
 17124  
 17125  // SetSegmentResponse sets the SegmentResponse field's value.
 17126  func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
 17127  	s.SegmentResponse = v
 17128  	return s
 17129  }
 17130  
 17131  type CreateSmsTemplateInput struct {
 17132  	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
 17133  
 17134  	// Specifies the content and settings for a message template that can be used
 17135  	// in text messages that are sent through the SMS channel.
 17136  	//
 17137  	// SMSTemplateRequest is a required field
 17138  	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
 17139  
 17140  	// TemplateName is a required field
 17141  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 17142  }
 17143  
 17144  // String returns the string representation.
 17145  //
 17146  // API parameter values that are decorated as "sensitive" in the API will not
 17147  // be included in the string output. The member name will be present, but the
 17148  // value will be replaced with "sensitive".
 17149  func (s CreateSmsTemplateInput) String() string {
 17150  	return awsutil.Prettify(s)
 17151  }
 17152  
 17153  // GoString returns the string representation.
 17154  //
 17155  // API parameter values that are decorated as "sensitive" in the API will not
 17156  // be included in the string output. The member name will be present, but the
 17157  // value will be replaced with "sensitive".
 17158  func (s CreateSmsTemplateInput) GoString() string {
 17159  	return s.String()
 17160  }
 17161  
 17162  // Validate inspects the fields of the type to determine if they are valid.
 17163  func (s *CreateSmsTemplateInput) Validate() error {
 17164  	invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"}
 17165  	if s.SMSTemplateRequest == nil {
 17166  		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
 17167  	}
 17168  	if s.TemplateName == nil {
 17169  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 17170  	}
 17171  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 17172  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 17173  	}
 17174  
 17175  	if invalidParams.Len() > 0 {
 17176  		return invalidParams
 17177  	}
 17178  	return nil
 17179  }
 17180  
 17181  // SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
 17182  func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput {
 17183  	s.SMSTemplateRequest = v
 17184  	return s
 17185  }
 17186  
 17187  // SetTemplateName sets the TemplateName field's value.
 17188  func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput {
 17189  	s.TemplateName = &v
 17190  	return s
 17191  }
 17192  
 17193  type CreateSmsTemplateOutput struct {
 17194  	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
 17195  
 17196  	// Provides information about a request to create a message template.
 17197  	//
 17198  	// CreateTemplateMessageBody is a required field
 17199  	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
 17200  }
 17201  
 17202  // String returns the string representation.
 17203  //
 17204  // API parameter values that are decorated as "sensitive" in the API will not
 17205  // be included in the string output. The member name will be present, but the
 17206  // value will be replaced with "sensitive".
 17207  func (s CreateSmsTemplateOutput) String() string {
 17208  	return awsutil.Prettify(s)
 17209  }
 17210  
 17211  // GoString returns the string representation.
 17212  //
 17213  // API parameter values that are decorated as "sensitive" in the API will not
 17214  // be included in the string output. The member name will be present, but the
 17215  // value will be replaced with "sensitive".
 17216  func (s CreateSmsTemplateOutput) GoString() string {
 17217  	return s.String()
 17218  }
 17219  
 17220  // SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
 17221  func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput {
 17222  	s.CreateTemplateMessageBody = v
 17223  	return s
 17224  }
 17225  
 17226  // Provides information about a request to create a message template.
 17227  type CreateTemplateMessageBody struct {
 17228  	_ struct{} `type:"structure"`
 17229  
 17230  	// The Amazon Resource Name (ARN) of the message template that was created.
 17231  	Arn *string `type:"string"`
 17232  
 17233  	// The message that's returned from the API for the request to create the message
 17234  	// template.
 17235  	Message *string `type:"string"`
 17236  
 17237  	// The unique identifier for the request to create the message template.
 17238  	RequestID *string `type:"string"`
 17239  }
 17240  
 17241  // String returns the string representation.
 17242  //
 17243  // API parameter values that are decorated as "sensitive" in the API will not
 17244  // be included in the string output. The member name will be present, but the
 17245  // value will be replaced with "sensitive".
 17246  func (s CreateTemplateMessageBody) String() string {
 17247  	return awsutil.Prettify(s)
 17248  }
 17249  
 17250  // GoString returns the string representation.
 17251  //
 17252  // API parameter values that are decorated as "sensitive" in the API will not
 17253  // be included in the string output. The member name will be present, but the
 17254  // value will be replaced with "sensitive".
 17255  func (s CreateTemplateMessageBody) GoString() string {
 17256  	return s.String()
 17257  }
 17258  
 17259  // SetArn sets the Arn field's value.
 17260  func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody {
 17261  	s.Arn = &v
 17262  	return s
 17263  }
 17264  
 17265  // SetMessage sets the Message field's value.
 17266  func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody {
 17267  	s.Message = &v
 17268  	return s
 17269  }
 17270  
 17271  // SetRequestID sets the RequestID field's value.
 17272  func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody {
 17273  	s.RequestID = &v
 17274  	return s
 17275  }
 17276  
 17277  type CreateVoiceTemplateInput struct {
 17278  	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
 17279  
 17280  	// TemplateName is a required field
 17281  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 17282  
 17283  	// Specifies the content and settings for a message template that can be used
 17284  	// in messages that are sent through the voice channel.
 17285  	//
 17286  	// VoiceTemplateRequest is a required field
 17287  	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
 17288  }
 17289  
 17290  // String returns the string representation.
 17291  //
 17292  // API parameter values that are decorated as "sensitive" in the API will not
 17293  // be included in the string output. The member name will be present, but the
 17294  // value will be replaced with "sensitive".
 17295  func (s CreateVoiceTemplateInput) String() string {
 17296  	return awsutil.Prettify(s)
 17297  }
 17298  
 17299  // GoString returns the string representation.
 17300  //
 17301  // API parameter values that are decorated as "sensitive" in the API will not
 17302  // be included in the string output. The member name will be present, but the
 17303  // value will be replaced with "sensitive".
 17304  func (s CreateVoiceTemplateInput) GoString() string {
 17305  	return s.String()
 17306  }
 17307  
 17308  // Validate inspects the fields of the type to determine if they are valid.
 17309  func (s *CreateVoiceTemplateInput) Validate() error {
 17310  	invalidParams := request.ErrInvalidParams{Context: "CreateVoiceTemplateInput"}
 17311  	if s.TemplateName == nil {
 17312  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 17313  	}
 17314  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 17315  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 17316  	}
 17317  	if s.VoiceTemplateRequest == nil {
 17318  		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
 17319  	}
 17320  
 17321  	if invalidParams.Len() > 0 {
 17322  		return invalidParams
 17323  	}
 17324  	return nil
 17325  }
 17326  
 17327  // SetTemplateName sets the TemplateName field's value.
 17328  func (s *CreateVoiceTemplateInput) SetTemplateName(v string) *CreateVoiceTemplateInput {
 17329  	s.TemplateName = &v
 17330  	return s
 17331  }
 17332  
 17333  // SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
 17334  func (s *CreateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *CreateVoiceTemplateInput {
 17335  	s.VoiceTemplateRequest = v
 17336  	return s
 17337  }
 17338  
 17339  type CreateVoiceTemplateOutput struct {
 17340  	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
 17341  
 17342  	// Provides information about a request to create a message template.
 17343  	//
 17344  	// CreateTemplateMessageBody is a required field
 17345  	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
 17346  }
 17347  
 17348  // String returns the string representation.
 17349  //
 17350  // API parameter values that are decorated as "sensitive" in the API will not
 17351  // be included in the string output. The member name will be present, but the
 17352  // value will be replaced with "sensitive".
 17353  func (s CreateVoiceTemplateOutput) String() string {
 17354  	return awsutil.Prettify(s)
 17355  }
 17356  
 17357  // GoString 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 CreateVoiceTemplateOutput) GoString() string {
 17363  	return s.String()
 17364  }
 17365  
 17366  // SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
 17367  func (s *CreateVoiceTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateVoiceTemplateOutput {
 17368  	s.CreateTemplateMessageBody = v
 17369  	return s
 17370  }
 17371  
 17372  // Specifies the delivery configuration settings for sending a campaign or campaign
 17373  // treatment through a custom channel. This object is required if you use the
 17374  // CampaignCustomMessage object to define the message to send for the campaign
 17375  // or campaign treatment.
 17376  type CustomDeliveryConfiguration struct {
 17377  	_ struct{} `type:"structure"`
 17378  
 17379  	// The destination to send the campaign or treatment to. This value can be one
 17380  	// of the following:
 17381  	//
 17382  	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
 17383  	//    invoke to handle delivery of the campaign or treatment.
 17384  	//
 17385  	//    * The URL for a web application or service that supports HTTPS and can
 17386  	//    receive the message. The URL has to be a full URL, including the HTTPS
 17387  	//    protocol.
 17388  	//
 17389  	// DeliveryUri is a required field
 17390  	DeliveryUri *string `type:"string" required:"true"`
 17391  
 17392  	// The types of endpoints to send the campaign or treatment to. Each valid value
 17393  	// maps to a type of channel that you can associate with an endpoint by using
 17394  	// the ChannelType property of an endpoint.
 17395  	EndpointTypes []*string `type:"list"`
 17396  }
 17397  
 17398  // String returns the string representation.
 17399  //
 17400  // API parameter values that are decorated as "sensitive" in the API will not
 17401  // be included in the string output. The member name will be present, but the
 17402  // value will be replaced with "sensitive".
 17403  func (s CustomDeliveryConfiguration) String() string {
 17404  	return awsutil.Prettify(s)
 17405  }
 17406  
 17407  // GoString returns the string representation.
 17408  //
 17409  // API parameter values that are decorated as "sensitive" in the API will not
 17410  // be included in the string output. The member name will be present, but the
 17411  // value will be replaced with "sensitive".
 17412  func (s CustomDeliveryConfiguration) GoString() string {
 17413  	return s.String()
 17414  }
 17415  
 17416  // Validate inspects the fields of the type to determine if they are valid.
 17417  func (s *CustomDeliveryConfiguration) Validate() error {
 17418  	invalidParams := request.ErrInvalidParams{Context: "CustomDeliveryConfiguration"}
 17419  	if s.DeliveryUri == nil {
 17420  		invalidParams.Add(request.NewErrParamRequired("DeliveryUri"))
 17421  	}
 17422  
 17423  	if invalidParams.Len() > 0 {
 17424  		return invalidParams
 17425  	}
 17426  	return nil
 17427  }
 17428  
 17429  // SetDeliveryUri sets the DeliveryUri field's value.
 17430  func (s *CustomDeliveryConfiguration) SetDeliveryUri(v string) *CustomDeliveryConfiguration {
 17431  	s.DeliveryUri = &v
 17432  	return s
 17433  }
 17434  
 17435  // SetEndpointTypes sets the EndpointTypes field's value.
 17436  func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliveryConfiguration {
 17437  	s.EndpointTypes = v
 17438  	return s
 17439  }
 17440  
 17441  // The settings for a custom message activity. This type of activity calls an
 17442  // AWS Lambda function or web hook that sends messages to participants.
 17443  type CustomMessageActivity struct {
 17444  	_ struct{} `type:"structure"`
 17445  
 17446  	// The destination to send the campaign or treatment to. This value can be one
 17447  	// of the following:
 17448  	//
 17449  	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
 17450  	//    invoke to handle delivery of the campaign or treatment.
 17451  	//
 17452  	//    * The URL for a web application or service that supports HTTPS and can
 17453  	//    receive the message. The URL has to be a full URL, including the HTTPS
 17454  	//    protocol.
 17455  	DeliveryUri *string `type:"string"`
 17456  
 17457  	// The types of endpoints to send the custom message to. Each valid value maps
 17458  	// to a type of channel that you can associate with an endpoint by using the
 17459  	// ChannelType property of an endpoint.
 17460  	EndpointTypes []*string `type:"list"`
 17461  
 17462  	// Specifies the message data included in a custom channel message that's sent
 17463  	// to participants in a journey.
 17464  	MessageConfig *JourneyCustomMessage `type:"structure"`
 17465  
 17466  	// The unique identifier for the next activity to perform, after Amazon Pinpoint
 17467  	// calls the AWS Lambda function or web hook.
 17468  	NextActivity *string `type:"string"`
 17469  
 17470  	// The name of the custom message template to use for the message. If specified,
 17471  	// this value must match the name of an existing message template.
 17472  	TemplateName *string `type:"string"`
 17473  
 17474  	// The unique identifier for the version of the message template to use for
 17475  	// the message. If specified, this value must match the identifier for an existing
 17476  	// template version. To retrieve a list of versions and version identifiers
 17477  	// for a template, use the Template Versions resource.
 17478  	//
 17479  	// If you don't specify a value for this property, Amazon Pinpoint uses the
 17480  	// active version of the template. The active version is typically the version
 17481  	// of a template that's been most recently reviewed and approved for use, depending
 17482  	// on your workflow. It isn't necessarily the latest version of a template.
 17483  	TemplateVersion *string `type:"string"`
 17484  }
 17485  
 17486  // String returns the string representation.
 17487  //
 17488  // API parameter values that are decorated as "sensitive" in the API will not
 17489  // be included in the string output. The member name will be present, but the
 17490  // value will be replaced with "sensitive".
 17491  func (s CustomMessageActivity) String() string {
 17492  	return awsutil.Prettify(s)
 17493  }
 17494  
 17495  // GoString returns the string representation.
 17496  //
 17497  // API parameter values that are decorated as "sensitive" in the API will not
 17498  // be included in the string output. The member name will be present, but the
 17499  // value will be replaced with "sensitive".
 17500  func (s CustomMessageActivity) GoString() string {
 17501  	return s.String()
 17502  }
 17503  
 17504  // SetDeliveryUri sets the DeliveryUri field's value.
 17505  func (s *CustomMessageActivity) SetDeliveryUri(v string) *CustomMessageActivity {
 17506  	s.DeliveryUri = &v
 17507  	return s
 17508  }
 17509  
 17510  // SetEndpointTypes sets the EndpointTypes field's value.
 17511  func (s *CustomMessageActivity) SetEndpointTypes(v []*string) *CustomMessageActivity {
 17512  	s.EndpointTypes = v
 17513  	return s
 17514  }
 17515  
 17516  // SetMessageConfig sets the MessageConfig field's value.
 17517  func (s *CustomMessageActivity) SetMessageConfig(v *JourneyCustomMessage) *CustomMessageActivity {
 17518  	s.MessageConfig = v
 17519  	return s
 17520  }
 17521  
 17522  // SetNextActivity sets the NextActivity field's value.
 17523  func (s *CustomMessageActivity) SetNextActivity(v string) *CustomMessageActivity {
 17524  	s.NextActivity = &v
 17525  	return s
 17526  }
 17527  
 17528  // SetTemplateName sets the TemplateName field's value.
 17529  func (s *CustomMessageActivity) SetTemplateName(v string) *CustomMessageActivity {
 17530  	s.TemplateName = &v
 17531  	return s
 17532  }
 17533  
 17534  // SetTemplateVersion sets the TemplateVersion field's value.
 17535  func (s *CustomMessageActivity) SetTemplateVersion(v string) *CustomMessageActivity {
 17536  	s.TemplateVersion = &v
 17537  	return s
 17538  }
 17539  
 17540  // Default button configuration.
 17541  type DefaultButtonConfiguration struct {
 17542  	_ struct{} `type:"structure"`
 17543  
 17544  	// The background color of the button.
 17545  	BackgroundColor *string `type:"string"`
 17546  
 17547  	// The border radius of the button.
 17548  	BorderRadius *int64 `type:"integer"`
 17549  
 17550  	// Action triggered by the button.
 17551  	//
 17552  	// ButtonAction is a required field
 17553  	ButtonAction *string `type:"string" required:"true" enum:"ButtonAction"`
 17554  
 17555  	// Button destination.
 17556  	Link *string `type:"string"`
 17557  
 17558  	// Button text.
 17559  	//
 17560  	// Text is a required field
 17561  	Text *string `type:"string" required:"true"`
 17562  
 17563  	// The text color of the button.
 17564  	TextColor *string `type:"string"`
 17565  }
 17566  
 17567  // String returns the string representation.
 17568  //
 17569  // API parameter values that are decorated as "sensitive" in the API will not
 17570  // be included in the string output. The member name will be present, but the
 17571  // value will be replaced with "sensitive".
 17572  func (s DefaultButtonConfiguration) String() string {
 17573  	return awsutil.Prettify(s)
 17574  }
 17575  
 17576  // GoString returns the string representation.
 17577  //
 17578  // API parameter values that are decorated as "sensitive" in the API will not
 17579  // be included in the string output. The member name will be present, but the
 17580  // value will be replaced with "sensitive".
 17581  func (s DefaultButtonConfiguration) GoString() string {
 17582  	return s.String()
 17583  }
 17584  
 17585  // Validate inspects the fields of the type to determine if they are valid.
 17586  func (s *DefaultButtonConfiguration) Validate() error {
 17587  	invalidParams := request.ErrInvalidParams{Context: "DefaultButtonConfiguration"}
 17588  	if s.ButtonAction == nil {
 17589  		invalidParams.Add(request.NewErrParamRequired("ButtonAction"))
 17590  	}
 17591  	if s.Text == nil {
 17592  		invalidParams.Add(request.NewErrParamRequired("Text"))
 17593  	}
 17594  
 17595  	if invalidParams.Len() > 0 {
 17596  		return invalidParams
 17597  	}
 17598  	return nil
 17599  }
 17600  
 17601  // SetBackgroundColor sets the BackgroundColor field's value.
 17602  func (s *DefaultButtonConfiguration) SetBackgroundColor(v string) *DefaultButtonConfiguration {
 17603  	s.BackgroundColor = &v
 17604  	return s
 17605  }
 17606  
 17607  // SetBorderRadius sets the BorderRadius field's value.
 17608  func (s *DefaultButtonConfiguration) SetBorderRadius(v int64) *DefaultButtonConfiguration {
 17609  	s.BorderRadius = &v
 17610  	return s
 17611  }
 17612  
 17613  // SetButtonAction sets the ButtonAction field's value.
 17614  func (s *DefaultButtonConfiguration) SetButtonAction(v string) *DefaultButtonConfiguration {
 17615  	s.ButtonAction = &v
 17616  	return s
 17617  }
 17618  
 17619  // SetLink sets the Link field's value.
 17620  func (s *DefaultButtonConfiguration) SetLink(v string) *DefaultButtonConfiguration {
 17621  	s.Link = &v
 17622  	return s
 17623  }
 17624  
 17625  // SetText sets the Text field's value.
 17626  func (s *DefaultButtonConfiguration) SetText(v string) *DefaultButtonConfiguration {
 17627  	s.Text = &v
 17628  	return s
 17629  }
 17630  
 17631  // SetTextColor sets the TextColor field's value.
 17632  func (s *DefaultButtonConfiguration) SetTextColor(v string) *DefaultButtonConfiguration {
 17633  	s.TextColor = &v
 17634  	return s
 17635  }
 17636  
 17637  // Specifies the default message for all channels.
 17638  type DefaultMessage struct {
 17639  	_ struct{} `type:"structure"`
 17640  
 17641  	// The default body of the message.
 17642  	Body *string `type:"string"`
 17643  
 17644  	// The default message variables to use in the message. You can override these
 17645  	// default variables with individual address variables.
 17646  	Substitutions map[string][]*string `type:"map"`
 17647  }
 17648  
 17649  // String returns the string representation.
 17650  //
 17651  // API parameter values that are decorated as "sensitive" in the API will not
 17652  // be included in the string output. The member name will be present, but the
 17653  // value will be replaced with "sensitive".
 17654  func (s DefaultMessage) String() string {
 17655  	return awsutil.Prettify(s)
 17656  }
 17657  
 17658  // GoString returns the string representation.
 17659  //
 17660  // API parameter values that are decorated as "sensitive" in the API will not
 17661  // be included in the string output. The member name will be present, but the
 17662  // value will be replaced with "sensitive".
 17663  func (s DefaultMessage) GoString() string {
 17664  	return s.String()
 17665  }
 17666  
 17667  // SetBody sets the Body field's value.
 17668  func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
 17669  	s.Body = &v
 17670  	return s
 17671  }
 17672  
 17673  // SetSubstitutions sets the Substitutions field's value.
 17674  func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
 17675  	s.Substitutions = v
 17676  	return s
 17677  }
 17678  
 17679  // Specifies the default settings and content for a push notification that's
 17680  // sent directly to an endpoint.
 17681  type DefaultPushNotificationMessage struct {
 17682  	_ struct{} `type:"structure"`
 17683  
 17684  	// The default action to occur if a recipient taps the push notification. Valid
 17685  	// values are:
 17686  	//
 17687  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 17688  	//    sent to the background. This is the default action.
 17689  	//
 17690  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 17691  	//    in the app. This setting uses the deep-linking features of the iOS and
 17692  	//    Android platforms.
 17693  	//
 17694  	//    * URL - The default mobile browser on the recipient's device opens and
 17695  	//    loads the web page at a URL that you specify.
 17696  	Action *string `type:"string" enum:"Action"`
 17697  
 17698  	// The default body of the notification message.
 17699  	Body *string `type:"string"`
 17700  
 17701  	// The JSON data payload to use for the default push notification, if the notification
 17702  	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
 17703  	// object of the notification.
 17704  	Data map[string]*string `type:"map"`
 17705  
 17706  	// Specifies whether the default notification is a silent push notification,
 17707  	// which is a push notification that doesn't display on a recipient's device.
 17708  	// Silent push notifications can be used for cases such as updating an app's
 17709  	// configuration or delivering messages to an in-app notification center.
 17710  	SilentPush *bool `type:"boolean"`
 17711  
 17712  	// The default message variables to use in the notification message. You can
 17713  	// override the default variables with individual address variables.
 17714  	Substitutions map[string][]*string `type:"map"`
 17715  
 17716  	// The default title to display above the notification message on a recipient's
 17717  	// device.
 17718  	Title *string `type:"string"`
 17719  
 17720  	// The default URL to open in a recipient's default mobile browser, if a recipient
 17721  	// taps the push notification and the value of the Action property is URL.
 17722  	Url *string `type:"string"`
 17723  }
 17724  
 17725  // String returns the string representation.
 17726  //
 17727  // API parameter values that are decorated as "sensitive" in the API will not
 17728  // be included in the string output. The member name will be present, but the
 17729  // value will be replaced with "sensitive".
 17730  func (s DefaultPushNotificationMessage) String() string {
 17731  	return awsutil.Prettify(s)
 17732  }
 17733  
 17734  // GoString returns the string representation.
 17735  //
 17736  // API parameter values that are decorated as "sensitive" in the API will not
 17737  // be included in the string output. The member name will be present, but the
 17738  // value will be replaced with "sensitive".
 17739  func (s DefaultPushNotificationMessage) GoString() string {
 17740  	return s.String()
 17741  }
 17742  
 17743  // SetAction sets the Action field's value.
 17744  func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
 17745  	s.Action = &v
 17746  	return s
 17747  }
 17748  
 17749  // SetBody sets the Body field's value.
 17750  func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
 17751  	s.Body = &v
 17752  	return s
 17753  }
 17754  
 17755  // SetData sets the Data field's value.
 17756  func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
 17757  	s.Data = v
 17758  	return s
 17759  }
 17760  
 17761  // SetSilentPush sets the SilentPush field's value.
 17762  func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
 17763  	s.SilentPush = &v
 17764  	return s
 17765  }
 17766  
 17767  // SetSubstitutions sets the Substitutions field's value.
 17768  func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
 17769  	s.Substitutions = v
 17770  	return s
 17771  }
 17772  
 17773  // SetTitle sets the Title field's value.
 17774  func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
 17775  	s.Title = &v
 17776  	return s
 17777  }
 17778  
 17779  // SetUrl sets the Url field's value.
 17780  func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
 17781  	s.Url = &v
 17782  	return s
 17783  }
 17784  
 17785  // Specifies the default settings and content for a message template that can
 17786  // be used in messages that are sent through a push notification channel.
 17787  type DefaultPushNotificationTemplate struct {
 17788  	_ struct{} `type:"structure"`
 17789  
 17790  	// The action to occur if a recipient taps a push notification that's based
 17791  	// on the message template. Valid values are:
 17792  	//
 17793  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 17794  	//    sent to the background. This is the default action.
 17795  	//
 17796  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 17797  	//    in the app. This setting uses the deep-linking features of the iOS and
 17798  	//    Android platforms.
 17799  	//
 17800  	//    * URL - The default mobile browser on the recipient's device opens and
 17801  	//    loads the web page at a URL that you specify.
 17802  	Action *string `type:"string" enum:"Action"`
 17803  
 17804  	// The message body to use in push notifications that are based on the message
 17805  	// template.
 17806  	Body *string `type:"string"`
 17807  
 17808  	// The sound to play when a recipient receives a push notification that's based
 17809  	// on the message template. You can use the default stream or specify the file
 17810  	// name of a sound resource that's bundled in your app. On an Android platform,
 17811  	// the sound file must reside in /res/raw/.
 17812  	//
 17813  	// For an iOS platform, this value is the key for the name of a sound file in
 17814  	// your app's main bundle or the Library/Sounds folder in your app's data container.
 17815  	// If the sound file can't be found or you specify default for the value, the
 17816  	// system plays the default alert sound.
 17817  	Sound *string `type:"string"`
 17818  
 17819  	// The title to use in push notifications that are based on the message template.
 17820  	// This title appears above the notification message on a recipient's device.
 17821  	Title *string `type:"string"`
 17822  
 17823  	// The URL to open in a recipient's default mobile browser, if a recipient taps
 17824  	// a push notification that's based on the message template and the value of
 17825  	// the Action property is URL.
 17826  	Url *string `type:"string"`
 17827  }
 17828  
 17829  // String returns the string representation.
 17830  //
 17831  // API parameter values that are decorated as "sensitive" in the API will not
 17832  // be included in the string output. The member name will be present, but the
 17833  // value will be replaced with "sensitive".
 17834  func (s DefaultPushNotificationTemplate) String() string {
 17835  	return awsutil.Prettify(s)
 17836  }
 17837  
 17838  // GoString returns the string representation.
 17839  //
 17840  // API parameter values that are decorated as "sensitive" in the API will not
 17841  // be included in the string output. The member name will be present, but the
 17842  // value will be replaced with "sensitive".
 17843  func (s DefaultPushNotificationTemplate) GoString() string {
 17844  	return s.String()
 17845  }
 17846  
 17847  // SetAction sets the Action field's value.
 17848  func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate {
 17849  	s.Action = &v
 17850  	return s
 17851  }
 17852  
 17853  // SetBody sets the Body field's value.
 17854  func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate {
 17855  	s.Body = &v
 17856  	return s
 17857  }
 17858  
 17859  // SetSound sets the Sound field's value.
 17860  func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate {
 17861  	s.Sound = &v
 17862  	return s
 17863  }
 17864  
 17865  // SetTitle sets the Title field's value.
 17866  func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate {
 17867  	s.Title = &v
 17868  	return s
 17869  }
 17870  
 17871  // SetUrl sets the Url field's value.
 17872  func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate {
 17873  	s.Url = &v
 17874  	return s
 17875  }
 17876  
 17877  type DeleteAdmChannelInput struct {
 17878  	_ struct{} `type:"structure" nopayload:"true"`
 17879  
 17880  	// ApplicationId is a required field
 17881  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 17882  }
 17883  
 17884  // String returns the string representation.
 17885  //
 17886  // API parameter values that are decorated as "sensitive" in the API will not
 17887  // be included in the string output. The member name will be present, but the
 17888  // value will be replaced with "sensitive".
 17889  func (s DeleteAdmChannelInput) String() string {
 17890  	return awsutil.Prettify(s)
 17891  }
 17892  
 17893  // GoString returns the string representation.
 17894  //
 17895  // API parameter values that are decorated as "sensitive" in the API will not
 17896  // be included in the string output. The member name will be present, but the
 17897  // value will be replaced with "sensitive".
 17898  func (s DeleteAdmChannelInput) GoString() string {
 17899  	return s.String()
 17900  }
 17901  
 17902  // Validate inspects the fields of the type to determine if they are valid.
 17903  func (s *DeleteAdmChannelInput) Validate() error {
 17904  	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
 17905  	if s.ApplicationId == nil {
 17906  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 17907  	}
 17908  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 17909  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 17910  	}
 17911  
 17912  	if invalidParams.Len() > 0 {
 17913  		return invalidParams
 17914  	}
 17915  	return nil
 17916  }
 17917  
 17918  // SetApplicationId sets the ApplicationId field's value.
 17919  func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
 17920  	s.ApplicationId = &v
 17921  	return s
 17922  }
 17923  
 17924  type DeleteAdmChannelOutput struct {
 17925  	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
 17926  
 17927  	// Provides information about the status and settings of the ADM (Amazon Device
 17928  	// Messaging) channel for an application.
 17929  	//
 17930  	// ADMChannelResponse is a required field
 17931  	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
 17932  }
 17933  
 17934  // String returns the string representation.
 17935  //
 17936  // API parameter values that are decorated as "sensitive" in the API will not
 17937  // be included in the string output. The member name will be present, but the
 17938  // value will be replaced with "sensitive".
 17939  func (s DeleteAdmChannelOutput) String() string {
 17940  	return awsutil.Prettify(s)
 17941  }
 17942  
 17943  // GoString returns the string representation.
 17944  //
 17945  // API parameter values that are decorated as "sensitive" in the API will not
 17946  // be included in the string output. The member name will be present, but the
 17947  // value will be replaced with "sensitive".
 17948  func (s DeleteAdmChannelOutput) GoString() string {
 17949  	return s.String()
 17950  }
 17951  
 17952  // SetADMChannelResponse sets the ADMChannelResponse field's value.
 17953  func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
 17954  	s.ADMChannelResponse = v
 17955  	return s
 17956  }
 17957  
 17958  type DeleteApnsChannelInput struct {
 17959  	_ struct{} `type:"structure" nopayload:"true"`
 17960  
 17961  	// ApplicationId is a required field
 17962  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 17963  }
 17964  
 17965  // String returns the string representation.
 17966  //
 17967  // API parameter values that are decorated as "sensitive" in the API will not
 17968  // be included in the string output. The member name will be present, but the
 17969  // value will be replaced with "sensitive".
 17970  func (s DeleteApnsChannelInput) String() string {
 17971  	return awsutil.Prettify(s)
 17972  }
 17973  
 17974  // GoString returns the string representation.
 17975  //
 17976  // API parameter values that are decorated as "sensitive" in the API will not
 17977  // be included in the string output. The member name will be present, but the
 17978  // value will be replaced with "sensitive".
 17979  func (s DeleteApnsChannelInput) GoString() string {
 17980  	return s.String()
 17981  }
 17982  
 17983  // Validate inspects the fields of the type to determine if they are valid.
 17984  func (s *DeleteApnsChannelInput) Validate() error {
 17985  	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
 17986  	if s.ApplicationId == nil {
 17987  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 17988  	}
 17989  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 17990  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 17991  	}
 17992  
 17993  	if invalidParams.Len() > 0 {
 17994  		return invalidParams
 17995  	}
 17996  	return nil
 17997  }
 17998  
 17999  // SetApplicationId sets the ApplicationId field's value.
 18000  func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
 18001  	s.ApplicationId = &v
 18002  	return s
 18003  }
 18004  
 18005  type DeleteApnsChannelOutput struct {
 18006  	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
 18007  
 18008  	// Provides information about the status and settings of the APNs (Apple Push
 18009  	// Notification service) channel for an application.
 18010  	//
 18011  	// APNSChannelResponse is a required field
 18012  	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
 18013  }
 18014  
 18015  // String returns the string representation.
 18016  //
 18017  // API parameter values that are decorated as "sensitive" in the API will not
 18018  // be included in the string output. The member name will be present, but the
 18019  // value will be replaced with "sensitive".
 18020  func (s DeleteApnsChannelOutput) String() string {
 18021  	return awsutil.Prettify(s)
 18022  }
 18023  
 18024  // GoString returns the string representation.
 18025  //
 18026  // API parameter values that are decorated as "sensitive" in the API will not
 18027  // be included in the string output. The member name will be present, but the
 18028  // value will be replaced with "sensitive".
 18029  func (s DeleteApnsChannelOutput) GoString() string {
 18030  	return s.String()
 18031  }
 18032  
 18033  // SetAPNSChannelResponse sets the APNSChannelResponse field's value.
 18034  func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
 18035  	s.APNSChannelResponse = v
 18036  	return s
 18037  }
 18038  
 18039  type DeleteApnsSandboxChannelInput struct {
 18040  	_ struct{} `type:"structure" nopayload:"true"`
 18041  
 18042  	// ApplicationId is a required field
 18043  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18044  }
 18045  
 18046  // String returns the string representation.
 18047  //
 18048  // API parameter values that are decorated as "sensitive" in the API will not
 18049  // be included in the string output. The member name will be present, but the
 18050  // value will be replaced with "sensitive".
 18051  func (s DeleteApnsSandboxChannelInput) String() string {
 18052  	return awsutil.Prettify(s)
 18053  }
 18054  
 18055  // GoString returns the string representation.
 18056  //
 18057  // API parameter values that are decorated as "sensitive" in the API will not
 18058  // be included in the string output. The member name will be present, but the
 18059  // value will be replaced with "sensitive".
 18060  func (s DeleteApnsSandboxChannelInput) GoString() string {
 18061  	return s.String()
 18062  }
 18063  
 18064  // Validate inspects the fields of the type to determine if they are valid.
 18065  func (s *DeleteApnsSandboxChannelInput) Validate() error {
 18066  	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
 18067  	if s.ApplicationId == nil {
 18068  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18069  	}
 18070  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18071  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18072  	}
 18073  
 18074  	if invalidParams.Len() > 0 {
 18075  		return invalidParams
 18076  	}
 18077  	return nil
 18078  }
 18079  
 18080  // SetApplicationId sets the ApplicationId field's value.
 18081  func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
 18082  	s.ApplicationId = &v
 18083  	return s
 18084  }
 18085  
 18086  type DeleteApnsSandboxChannelOutput struct {
 18087  	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
 18088  
 18089  	// Provides information about the status and settings of the APNs (Apple Push
 18090  	// Notification service) sandbox channel for an application.
 18091  	//
 18092  	// APNSSandboxChannelResponse is a required field
 18093  	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
 18094  }
 18095  
 18096  // String returns the string representation.
 18097  //
 18098  // API parameter values that are decorated as "sensitive" in the API will not
 18099  // be included in the string output. The member name will be present, but the
 18100  // value will be replaced with "sensitive".
 18101  func (s DeleteApnsSandboxChannelOutput) String() string {
 18102  	return awsutil.Prettify(s)
 18103  }
 18104  
 18105  // GoString 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 DeleteApnsSandboxChannelOutput) GoString() string {
 18111  	return s.String()
 18112  }
 18113  
 18114  // SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
 18115  func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
 18116  	s.APNSSandboxChannelResponse = v
 18117  	return s
 18118  }
 18119  
 18120  type DeleteApnsVoipChannelInput struct {
 18121  	_ struct{} `type:"structure" nopayload:"true"`
 18122  
 18123  	// ApplicationId is a required field
 18124  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18125  }
 18126  
 18127  // String returns the string representation.
 18128  //
 18129  // API parameter values that are decorated as "sensitive" in the API will not
 18130  // be included in the string output. The member name will be present, but the
 18131  // value will be replaced with "sensitive".
 18132  func (s DeleteApnsVoipChannelInput) String() string {
 18133  	return awsutil.Prettify(s)
 18134  }
 18135  
 18136  // GoString returns the string representation.
 18137  //
 18138  // API parameter values that are decorated as "sensitive" in the API will not
 18139  // be included in the string output. The member name will be present, but the
 18140  // value will be replaced with "sensitive".
 18141  func (s DeleteApnsVoipChannelInput) GoString() string {
 18142  	return s.String()
 18143  }
 18144  
 18145  // Validate inspects the fields of the type to determine if they are valid.
 18146  func (s *DeleteApnsVoipChannelInput) Validate() error {
 18147  	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
 18148  	if s.ApplicationId == nil {
 18149  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18150  	}
 18151  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18152  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18153  	}
 18154  
 18155  	if invalidParams.Len() > 0 {
 18156  		return invalidParams
 18157  	}
 18158  	return nil
 18159  }
 18160  
 18161  // SetApplicationId sets the ApplicationId field's value.
 18162  func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
 18163  	s.ApplicationId = &v
 18164  	return s
 18165  }
 18166  
 18167  type DeleteApnsVoipChannelOutput struct {
 18168  	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
 18169  
 18170  	// Provides information about the status and settings of the APNs (Apple Push
 18171  	// Notification service) VoIP channel for an application.
 18172  	//
 18173  	// APNSVoipChannelResponse is a required field
 18174  	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
 18175  }
 18176  
 18177  // String returns the string representation.
 18178  //
 18179  // API parameter values that are decorated as "sensitive" in the API will not
 18180  // be included in the string output. The member name will be present, but the
 18181  // value will be replaced with "sensitive".
 18182  func (s DeleteApnsVoipChannelOutput) String() string {
 18183  	return awsutil.Prettify(s)
 18184  }
 18185  
 18186  // GoString returns the string representation.
 18187  //
 18188  // API parameter values that are decorated as "sensitive" in the API will not
 18189  // be included in the string output. The member name will be present, but the
 18190  // value will be replaced with "sensitive".
 18191  func (s DeleteApnsVoipChannelOutput) GoString() string {
 18192  	return s.String()
 18193  }
 18194  
 18195  // SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
 18196  func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
 18197  	s.APNSVoipChannelResponse = v
 18198  	return s
 18199  }
 18200  
 18201  type DeleteApnsVoipSandboxChannelInput struct {
 18202  	_ struct{} `type:"structure" nopayload:"true"`
 18203  
 18204  	// ApplicationId is a required field
 18205  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18206  }
 18207  
 18208  // String returns the string representation.
 18209  //
 18210  // API parameter values that are decorated as "sensitive" in the API will not
 18211  // be included in the string output. The member name will be present, but the
 18212  // value will be replaced with "sensitive".
 18213  func (s DeleteApnsVoipSandboxChannelInput) String() string {
 18214  	return awsutil.Prettify(s)
 18215  }
 18216  
 18217  // GoString returns the string representation.
 18218  //
 18219  // API parameter values that are decorated as "sensitive" in the API will not
 18220  // be included in the string output. The member name will be present, but the
 18221  // value will be replaced with "sensitive".
 18222  func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
 18223  	return s.String()
 18224  }
 18225  
 18226  // Validate inspects the fields of the type to determine if they are valid.
 18227  func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
 18228  	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
 18229  	if s.ApplicationId == nil {
 18230  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18231  	}
 18232  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18233  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18234  	}
 18235  
 18236  	if invalidParams.Len() > 0 {
 18237  		return invalidParams
 18238  	}
 18239  	return nil
 18240  }
 18241  
 18242  // SetApplicationId sets the ApplicationId field's value.
 18243  func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
 18244  	s.ApplicationId = &v
 18245  	return s
 18246  }
 18247  
 18248  type DeleteApnsVoipSandboxChannelOutput struct {
 18249  	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
 18250  
 18251  	// Provides information about the status and settings of the APNs (Apple Push
 18252  	// Notification service) VoIP sandbox channel for an application.
 18253  	//
 18254  	// APNSVoipSandboxChannelResponse is a required field
 18255  	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
 18256  }
 18257  
 18258  // String returns the string representation.
 18259  //
 18260  // API parameter values that are decorated as "sensitive" in the API will not
 18261  // be included in the string output. The member name will be present, but the
 18262  // value will be replaced with "sensitive".
 18263  func (s DeleteApnsVoipSandboxChannelOutput) String() string {
 18264  	return awsutil.Prettify(s)
 18265  }
 18266  
 18267  // GoString returns the string representation.
 18268  //
 18269  // API parameter values that are decorated as "sensitive" in the API will not
 18270  // be included in the string output. The member name will be present, but the
 18271  // value will be replaced with "sensitive".
 18272  func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
 18273  	return s.String()
 18274  }
 18275  
 18276  // SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
 18277  func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
 18278  	s.APNSVoipSandboxChannelResponse = v
 18279  	return s
 18280  }
 18281  
 18282  type DeleteAppInput struct {
 18283  	_ struct{} `type:"structure" nopayload:"true"`
 18284  
 18285  	// ApplicationId is a required field
 18286  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18287  }
 18288  
 18289  // String returns the string representation.
 18290  //
 18291  // API parameter values that are decorated as "sensitive" in the API will not
 18292  // be included in the string output. The member name will be present, but the
 18293  // value will be replaced with "sensitive".
 18294  func (s DeleteAppInput) String() string {
 18295  	return awsutil.Prettify(s)
 18296  }
 18297  
 18298  // GoString returns the string representation.
 18299  //
 18300  // API parameter values that are decorated as "sensitive" in the API will not
 18301  // be included in the string output. The member name will be present, but the
 18302  // value will be replaced with "sensitive".
 18303  func (s DeleteAppInput) GoString() string {
 18304  	return s.String()
 18305  }
 18306  
 18307  // Validate inspects the fields of the type to determine if they are valid.
 18308  func (s *DeleteAppInput) Validate() error {
 18309  	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
 18310  	if s.ApplicationId == nil {
 18311  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18312  	}
 18313  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18314  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18315  	}
 18316  
 18317  	if invalidParams.Len() > 0 {
 18318  		return invalidParams
 18319  	}
 18320  	return nil
 18321  }
 18322  
 18323  // SetApplicationId sets the ApplicationId field's value.
 18324  func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
 18325  	s.ApplicationId = &v
 18326  	return s
 18327  }
 18328  
 18329  type DeleteAppOutput struct {
 18330  	_ struct{} `type:"structure" payload:"ApplicationResponse"`
 18331  
 18332  	// Provides information about an application.
 18333  	//
 18334  	// ApplicationResponse is a required field
 18335  	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
 18336  }
 18337  
 18338  // String returns the string representation.
 18339  //
 18340  // API parameter values that are decorated as "sensitive" in the API will not
 18341  // be included in the string output. The member name will be present, but the
 18342  // value will be replaced with "sensitive".
 18343  func (s DeleteAppOutput) String() string {
 18344  	return awsutil.Prettify(s)
 18345  }
 18346  
 18347  // GoString returns the string representation.
 18348  //
 18349  // API parameter values that are decorated as "sensitive" in the API will not
 18350  // be included in the string output. The member name will be present, but the
 18351  // value will be replaced with "sensitive".
 18352  func (s DeleteAppOutput) GoString() string {
 18353  	return s.String()
 18354  }
 18355  
 18356  // SetApplicationResponse sets the ApplicationResponse field's value.
 18357  func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
 18358  	s.ApplicationResponse = v
 18359  	return s
 18360  }
 18361  
 18362  type DeleteBaiduChannelInput struct {
 18363  	_ struct{} `type:"structure" nopayload:"true"`
 18364  
 18365  	// ApplicationId is a required field
 18366  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18367  }
 18368  
 18369  // String returns the string representation.
 18370  //
 18371  // API parameter values that are decorated as "sensitive" in the API will not
 18372  // be included in the string output. The member name will be present, but the
 18373  // value will be replaced with "sensitive".
 18374  func (s DeleteBaiduChannelInput) String() string {
 18375  	return awsutil.Prettify(s)
 18376  }
 18377  
 18378  // GoString returns the string representation.
 18379  //
 18380  // API parameter values that are decorated as "sensitive" in the API will not
 18381  // be included in the string output. The member name will be present, but the
 18382  // value will be replaced with "sensitive".
 18383  func (s DeleteBaiduChannelInput) GoString() string {
 18384  	return s.String()
 18385  }
 18386  
 18387  // Validate inspects the fields of the type to determine if they are valid.
 18388  func (s *DeleteBaiduChannelInput) Validate() error {
 18389  	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
 18390  	if s.ApplicationId == nil {
 18391  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18392  	}
 18393  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18394  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18395  	}
 18396  
 18397  	if invalidParams.Len() > 0 {
 18398  		return invalidParams
 18399  	}
 18400  	return nil
 18401  }
 18402  
 18403  // SetApplicationId sets the ApplicationId field's value.
 18404  func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
 18405  	s.ApplicationId = &v
 18406  	return s
 18407  }
 18408  
 18409  type DeleteBaiduChannelOutput struct {
 18410  	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
 18411  
 18412  	// Provides information about the status and settings of the Baidu (Baidu Cloud
 18413  	// Push) channel for an application.
 18414  	//
 18415  	// BaiduChannelResponse is a required field
 18416  	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
 18417  }
 18418  
 18419  // String returns the string representation.
 18420  //
 18421  // API parameter values that are decorated as "sensitive" in the API will not
 18422  // be included in the string output. The member name will be present, but the
 18423  // value will be replaced with "sensitive".
 18424  func (s DeleteBaiduChannelOutput) String() string {
 18425  	return awsutil.Prettify(s)
 18426  }
 18427  
 18428  // GoString returns the string representation.
 18429  //
 18430  // API parameter values that are decorated as "sensitive" in the API will not
 18431  // be included in the string output. The member name will be present, but the
 18432  // value will be replaced with "sensitive".
 18433  func (s DeleteBaiduChannelOutput) GoString() string {
 18434  	return s.String()
 18435  }
 18436  
 18437  // SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
 18438  func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
 18439  	s.BaiduChannelResponse = v
 18440  	return s
 18441  }
 18442  
 18443  type DeleteCampaignInput struct {
 18444  	_ struct{} `type:"structure" nopayload:"true"`
 18445  
 18446  	// ApplicationId is a required field
 18447  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18448  
 18449  	// CampaignId is a required field
 18450  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 18451  }
 18452  
 18453  // String returns the string representation.
 18454  //
 18455  // API parameter values that are decorated as "sensitive" in the API will not
 18456  // be included in the string output. The member name will be present, but the
 18457  // value will be replaced with "sensitive".
 18458  func (s DeleteCampaignInput) String() string {
 18459  	return awsutil.Prettify(s)
 18460  }
 18461  
 18462  // GoString returns the string representation.
 18463  //
 18464  // API parameter values that are decorated as "sensitive" in the API will not
 18465  // be included in the string output. The member name will be present, but the
 18466  // value will be replaced with "sensitive".
 18467  func (s DeleteCampaignInput) GoString() string {
 18468  	return s.String()
 18469  }
 18470  
 18471  // Validate inspects the fields of the type to determine if they are valid.
 18472  func (s *DeleteCampaignInput) Validate() error {
 18473  	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
 18474  	if s.ApplicationId == nil {
 18475  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18476  	}
 18477  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18478  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18479  	}
 18480  	if s.CampaignId == nil {
 18481  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 18482  	}
 18483  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 18484  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 18485  	}
 18486  
 18487  	if invalidParams.Len() > 0 {
 18488  		return invalidParams
 18489  	}
 18490  	return nil
 18491  }
 18492  
 18493  // SetApplicationId sets the ApplicationId field's value.
 18494  func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
 18495  	s.ApplicationId = &v
 18496  	return s
 18497  }
 18498  
 18499  // SetCampaignId sets the CampaignId field's value.
 18500  func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
 18501  	s.CampaignId = &v
 18502  	return s
 18503  }
 18504  
 18505  type DeleteCampaignOutput struct {
 18506  	_ struct{} `type:"structure" payload:"CampaignResponse"`
 18507  
 18508  	// Provides information about the status, configuration, and other settings
 18509  	// for a campaign.
 18510  	//
 18511  	// CampaignResponse is a required field
 18512  	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
 18513  }
 18514  
 18515  // String returns the string representation.
 18516  //
 18517  // API parameter values that are decorated as "sensitive" in the API will not
 18518  // be included in the string output. The member name will be present, but the
 18519  // value will be replaced with "sensitive".
 18520  func (s DeleteCampaignOutput) String() string {
 18521  	return awsutil.Prettify(s)
 18522  }
 18523  
 18524  // GoString returns the string representation.
 18525  //
 18526  // API parameter values that are decorated as "sensitive" in the API will not
 18527  // be included in the string output. The member name will be present, but the
 18528  // value will be replaced with "sensitive".
 18529  func (s DeleteCampaignOutput) GoString() string {
 18530  	return s.String()
 18531  }
 18532  
 18533  // SetCampaignResponse sets the CampaignResponse field's value.
 18534  func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
 18535  	s.CampaignResponse = v
 18536  	return s
 18537  }
 18538  
 18539  type DeleteEmailChannelInput struct {
 18540  	_ struct{} `type:"structure" nopayload:"true"`
 18541  
 18542  	// ApplicationId is a required field
 18543  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18544  }
 18545  
 18546  // String returns the string representation.
 18547  //
 18548  // API parameter values that are decorated as "sensitive" in the API will not
 18549  // be included in the string output. The member name will be present, but the
 18550  // value will be replaced with "sensitive".
 18551  func (s DeleteEmailChannelInput) String() string {
 18552  	return awsutil.Prettify(s)
 18553  }
 18554  
 18555  // GoString returns the string representation.
 18556  //
 18557  // API parameter values that are decorated as "sensitive" in the API will not
 18558  // be included in the string output. The member name will be present, but the
 18559  // value will be replaced with "sensitive".
 18560  func (s DeleteEmailChannelInput) GoString() string {
 18561  	return s.String()
 18562  }
 18563  
 18564  // Validate inspects the fields of the type to determine if they are valid.
 18565  func (s *DeleteEmailChannelInput) Validate() error {
 18566  	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
 18567  	if s.ApplicationId == nil {
 18568  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18569  	}
 18570  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18571  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18572  	}
 18573  
 18574  	if invalidParams.Len() > 0 {
 18575  		return invalidParams
 18576  	}
 18577  	return nil
 18578  }
 18579  
 18580  // SetApplicationId sets the ApplicationId field's value.
 18581  func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
 18582  	s.ApplicationId = &v
 18583  	return s
 18584  }
 18585  
 18586  type DeleteEmailChannelOutput struct {
 18587  	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
 18588  
 18589  	// Provides information about the status and settings of the email channel for
 18590  	// an application.
 18591  	//
 18592  	// EmailChannelResponse is a required field
 18593  	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
 18594  }
 18595  
 18596  // String returns the string representation.
 18597  //
 18598  // API parameter values that are decorated as "sensitive" in the API will not
 18599  // be included in the string output. The member name will be present, but the
 18600  // value will be replaced with "sensitive".
 18601  func (s DeleteEmailChannelOutput) String() string {
 18602  	return awsutil.Prettify(s)
 18603  }
 18604  
 18605  // GoString returns the string representation.
 18606  //
 18607  // API parameter values that are decorated as "sensitive" in the API will not
 18608  // be included in the string output. The member name will be present, but the
 18609  // value will be replaced with "sensitive".
 18610  func (s DeleteEmailChannelOutput) GoString() string {
 18611  	return s.String()
 18612  }
 18613  
 18614  // SetEmailChannelResponse sets the EmailChannelResponse field's value.
 18615  func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
 18616  	s.EmailChannelResponse = v
 18617  	return s
 18618  }
 18619  
 18620  type DeleteEmailTemplateInput struct {
 18621  	_ struct{} `type:"structure" nopayload:"true"`
 18622  
 18623  	// TemplateName is a required field
 18624  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 18625  
 18626  	Version *string `location:"querystring" locationName:"version" type:"string"`
 18627  }
 18628  
 18629  // String returns the string representation.
 18630  //
 18631  // API parameter values that are decorated as "sensitive" in the API will not
 18632  // be included in the string output. The member name will be present, but the
 18633  // value will be replaced with "sensitive".
 18634  func (s DeleteEmailTemplateInput) String() string {
 18635  	return awsutil.Prettify(s)
 18636  }
 18637  
 18638  // GoString returns the string representation.
 18639  //
 18640  // API parameter values that are decorated as "sensitive" in the API will not
 18641  // be included in the string output. The member name will be present, but the
 18642  // value will be replaced with "sensitive".
 18643  func (s DeleteEmailTemplateInput) GoString() string {
 18644  	return s.String()
 18645  }
 18646  
 18647  // Validate inspects the fields of the type to determine if they are valid.
 18648  func (s *DeleteEmailTemplateInput) Validate() error {
 18649  	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
 18650  	if s.TemplateName == nil {
 18651  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 18652  	}
 18653  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 18654  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 18655  	}
 18656  
 18657  	if invalidParams.Len() > 0 {
 18658  		return invalidParams
 18659  	}
 18660  	return nil
 18661  }
 18662  
 18663  // SetTemplateName sets the TemplateName field's value.
 18664  func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
 18665  	s.TemplateName = &v
 18666  	return s
 18667  }
 18668  
 18669  // SetVersion sets the Version field's value.
 18670  func (s *DeleteEmailTemplateInput) SetVersion(v string) *DeleteEmailTemplateInput {
 18671  	s.Version = &v
 18672  	return s
 18673  }
 18674  
 18675  type DeleteEmailTemplateOutput struct {
 18676  	_ struct{} `type:"structure" payload:"MessageBody"`
 18677  
 18678  	// Provides information about an API request or response.
 18679  	//
 18680  	// MessageBody is a required field
 18681  	MessageBody *MessageBody `type:"structure" required:"true"`
 18682  }
 18683  
 18684  // String returns the string representation.
 18685  //
 18686  // API parameter values that are decorated as "sensitive" in the API will not
 18687  // be included in the string output. The member name will be present, but the
 18688  // value will be replaced with "sensitive".
 18689  func (s DeleteEmailTemplateOutput) String() string {
 18690  	return awsutil.Prettify(s)
 18691  }
 18692  
 18693  // GoString returns the string representation.
 18694  //
 18695  // API parameter values that are decorated as "sensitive" in the API will not
 18696  // be included in the string output. The member name will be present, but the
 18697  // value will be replaced with "sensitive".
 18698  func (s DeleteEmailTemplateOutput) GoString() string {
 18699  	return s.String()
 18700  }
 18701  
 18702  // SetMessageBody sets the MessageBody field's value.
 18703  func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput {
 18704  	s.MessageBody = v
 18705  	return s
 18706  }
 18707  
 18708  type DeleteEndpointInput struct {
 18709  	_ struct{} `type:"structure" nopayload:"true"`
 18710  
 18711  	// ApplicationId is a required field
 18712  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18713  
 18714  	// EndpointId is a required field
 18715  	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"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 DeleteEndpointInput) 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 DeleteEndpointInput) GoString() string {
 18733  	return s.String()
 18734  }
 18735  
 18736  // Validate inspects the fields of the type to determine if they are valid.
 18737  func (s *DeleteEndpointInput) Validate() error {
 18738  	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
 18739  	if s.ApplicationId == nil {
 18740  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18741  	}
 18742  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18743  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18744  	}
 18745  	if s.EndpointId == nil {
 18746  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
 18747  	}
 18748  	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
 18749  		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
 18750  	}
 18751  
 18752  	if invalidParams.Len() > 0 {
 18753  		return invalidParams
 18754  	}
 18755  	return nil
 18756  }
 18757  
 18758  // SetApplicationId sets the ApplicationId field's value.
 18759  func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
 18760  	s.ApplicationId = &v
 18761  	return s
 18762  }
 18763  
 18764  // SetEndpointId sets the EndpointId field's value.
 18765  func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
 18766  	s.EndpointId = &v
 18767  	return s
 18768  }
 18769  
 18770  type DeleteEndpointOutput struct {
 18771  	_ struct{} `type:"structure" payload:"EndpointResponse"`
 18772  
 18773  	// Provides information about the channel type and other settings for an endpoint.
 18774  	//
 18775  	// EndpointResponse is a required field
 18776  	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
 18777  }
 18778  
 18779  // String returns the string representation.
 18780  //
 18781  // API parameter values that are decorated as "sensitive" in the API will not
 18782  // be included in the string output. The member name will be present, but the
 18783  // value will be replaced with "sensitive".
 18784  func (s DeleteEndpointOutput) String() string {
 18785  	return awsutil.Prettify(s)
 18786  }
 18787  
 18788  // GoString returns the string representation.
 18789  //
 18790  // API parameter values that are decorated as "sensitive" in the API will not
 18791  // be included in the string output. The member name will be present, but the
 18792  // value will be replaced with "sensitive".
 18793  func (s DeleteEndpointOutput) GoString() string {
 18794  	return s.String()
 18795  }
 18796  
 18797  // SetEndpointResponse sets the EndpointResponse field's value.
 18798  func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
 18799  	s.EndpointResponse = v
 18800  	return s
 18801  }
 18802  
 18803  type DeleteEventStreamInput struct {
 18804  	_ struct{} `type:"structure" nopayload:"true"`
 18805  
 18806  	// ApplicationId is a required field
 18807  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18808  }
 18809  
 18810  // String returns the string representation.
 18811  //
 18812  // API parameter values that are decorated as "sensitive" in the API will not
 18813  // be included in the string output. The member name will be present, but the
 18814  // value will be replaced with "sensitive".
 18815  func (s DeleteEventStreamInput) String() string {
 18816  	return awsutil.Prettify(s)
 18817  }
 18818  
 18819  // GoString returns the string representation.
 18820  //
 18821  // API parameter values that are decorated as "sensitive" in the API will not
 18822  // be included in the string output. The member name will be present, but the
 18823  // value will be replaced with "sensitive".
 18824  func (s DeleteEventStreamInput) GoString() string {
 18825  	return s.String()
 18826  }
 18827  
 18828  // Validate inspects the fields of the type to determine if they are valid.
 18829  func (s *DeleteEventStreamInput) Validate() error {
 18830  	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
 18831  	if s.ApplicationId == nil {
 18832  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18833  	}
 18834  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18835  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18836  	}
 18837  
 18838  	if invalidParams.Len() > 0 {
 18839  		return invalidParams
 18840  	}
 18841  	return nil
 18842  }
 18843  
 18844  // SetApplicationId sets the ApplicationId field's value.
 18845  func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
 18846  	s.ApplicationId = &v
 18847  	return s
 18848  }
 18849  
 18850  type DeleteEventStreamOutput struct {
 18851  	_ struct{} `type:"structure" payload:"EventStream"`
 18852  
 18853  	// Specifies settings for publishing event data to an Amazon Kinesis data stream
 18854  	// or an Amazon Kinesis Data Firehose delivery stream.
 18855  	//
 18856  	// EventStream is a required field
 18857  	EventStream *EventStream `type:"structure" required:"true"`
 18858  }
 18859  
 18860  // String returns the string representation.
 18861  //
 18862  // API parameter values that are decorated as "sensitive" in the API will not
 18863  // be included in the string output. The member name will be present, but the
 18864  // value will be replaced with "sensitive".
 18865  func (s DeleteEventStreamOutput) String() string {
 18866  	return awsutil.Prettify(s)
 18867  }
 18868  
 18869  // GoString returns the string representation.
 18870  //
 18871  // API parameter values that are decorated as "sensitive" in the API will not
 18872  // be included in the string output. The member name will be present, but the
 18873  // value will be replaced with "sensitive".
 18874  func (s DeleteEventStreamOutput) GoString() string {
 18875  	return s.String()
 18876  }
 18877  
 18878  // SetEventStream sets the EventStream field's value.
 18879  func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
 18880  	s.EventStream = v
 18881  	return s
 18882  }
 18883  
 18884  type DeleteGcmChannelInput struct {
 18885  	_ struct{} `type:"structure" nopayload:"true"`
 18886  
 18887  	// ApplicationId is a required field
 18888  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 18889  }
 18890  
 18891  // String returns the string representation.
 18892  //
 18893  // API parameter values that are decorated as "sensitive" in the API will not
 18894  // be included in the string output. The member name will be present, but the
 18895  // value will be replaced with "sensitive".
 18896  func (s DeleteGcmChannelInput) String() string {
 18897  	return awsutil.Prettify(s)
 18898  }
 18899  
 18900  // GoString returns the string representation.
 18901  //
 18902  // API parameter values that are decorated as "sensitive" in the API will not
 18903  // be included in the string output. The member name will be present, but the
 18904  // value will be replaced with "sensitive".
 18905  func (s DeleteGcmChannelInput) GoString() string {
 18906  	return s.String()
 18907  }
 18908  
 18909  // Validate inspects the fields of the type to determine if they are valid.
 18910  func (s *DeleteGcmChannelInput) Validate() error {
 18911  	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
 18912  	if s.ApplicationId == nil {
 18913  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 18914  	}
 18915  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 18916  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 18917  	}
 18918  
 18919  	if invalidParams.Len() > 0 {
 18920  		return invalidParams
 18921  	}
 18922  	return nil
 18923  }
 18924  
 18925  // SetApplicationId sets the ApplicationId field's value.
 18926  func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
 18927  	s.ApplicationId = &v
 18928  	return s
 18929  }
 18930  
 18931  type DeleteGcmChannelOutput struct {
 18932  	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
 18933  
 18934  	// Provides information about the status and settings of the GCM channel for
 18935  	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
 18936  	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
 18937  	// (GCM), service.
 18938  	//
 18939  	// GCMChannelResponse is a required field
 18940  	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
 18941  }
 18942  
 18943  // String returns the string representation.
 18944  //
 18945  // API parameter values that are decorated as "sensitive" in the API will not
 18946  // be included in the string output. The member name will be present, but the
 18947  // value will be replaced with "sensitive".
 18948  func (s DeleteGcmChannelOutput) String() string {
 18949  	return awsutil.Prettify(s)
 18950  }
 18951  
 18952  // GoString returns the string representation.
 18953  //
 18954  // API parameter values that are decorated as "sensitive" in the API will not
 18955  // be included in the string output. The member name will be present, but the
 18956  // value will be replaced with "sensitive".
 18957  func (s DeleteGcmChannelOutput) GoString() string {
 18958  	return s.String()
 18959  }
 18960  
 18961  // SetGCMChannelResponse sets the GCMChannelResponse field's value.
 18962  func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
 18963  	s.GCMChannelResponse = v
 18964  	return s
 18965  }
 18966  
 18967  type DeleteInAppTemplateInput struct {
 18968  	_ struct{} `type:"structure" nopayload:"true"`
 18969  
 18970  	// TemplateName is a required field
 18971  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 18972  
 18973  	Version *string `location:"querystring" locationName:"version" type:"string"`
 18974  }
 18975  
 18976  // String returns the string representation.
 18977  //
 18978  // API parameter values that are decorated as "sensitive" in the API will not
 18979  // be included in the string output. The member name will be present, but the
 18980  // value will be replaced with "sensitive".
 18981  func (s DeleteInAppTemplateInput) String() string {
 18982  	return awsutil.Prettify(s)
 18983  }
 18984  
 18985  // GoString returns the string representation.
 18986  //
 18987  // API parameter values that are decorated as "sensitive" in the API will not
 18988  // be included in the string output. The member name will be present, but the
 18989  // value will be replaced with "sensitive".
 18990  func (s DeleteInAppTemplateInput) GoString() string {
 18991  	return s.String()
 18992  }
 18993  
 18994  // Validate inspects the fields of the type to determine if they are valid.
 18995  func (s *DeleteInAppTemplateInput) Validate() error {
 18996  	invalidParams := request.ErrInvalidParams{Context: "DeleteInAppTemplateInput"}
 18997  	if s.TemplateName == nil {
 18998  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 18999  	}
 19000  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 19001  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 19002  	}
 19003  
 19004  	if invalidParams.Len() > 0 {
 19005  		return invalidParams
 19006  	}
 19007  	return nil
 19008  }
 19009  
 19010  // SetTemplateName sets the TemplateName field's value.
 19011  func (s *DeleteInAppTemplateInput) SetTemplateName(v string) *DeleteInAppTemplateInput {
 19012  	s.TemplateName = &v
 19013  	return s
 19014  }
 19015  
 19016  // SetVersion sets the Version field's value.
 19017  func (s *DeleteInAppTemplateInput) SetVersion(v string) *DeleteInAppTemplateInput {
 19018  	s.Version = &v
 19019  	return s
 19020  }
 19021  
 19022  type DeleteInAppTemplateOutput struct {
 19023  	_ struct{} `type:"structure" payload:"MessageBody"`
 19024  
 19025  	// Provides information about an API request or response.
 19026  	//
 19027  	// MessageBody is a required field
 19028  	MessageBody *MessageBody `type:"structure" required:"true"`
 19029  }
 19030  
 19031  // String returns the string representation.
 19032  //
 19033  // API parameter values that are decorated as "sensitive" in the API will not
 19034  // be included in the string output. The member name will be present, but the
 19035  // value will be replaced with "sensitive".
 19036  func (s DeleteInAppTemplateOutput) String() string {
 19037  	return awsutil.Prettify(s)
 19038  }
 19039  
 19040  // GoString returns the string representation.
 19041  //
 19042  // API parameter values that are decorated as "sensitive" in the API will not
 19043  // be included in the string output. The member name will be present, but the
 19044  // value will be replaced with "sensitive".
 19045  func (s DeleteInAppTemplateOutput) GoString() string {
 19046  	return s.String()
 19047  }
 19048  
 19049  // SetMessageBody sets the MessageBody field's value.
 19050  func (s *DeleteInAppTemplateOutput) SetMessageBody(v *MessageBody) *DeleteInAppTemplateOutput {
 19051  	s.MessageBody = v
 19052  	return s
 19053  }
 19054  
 19055  type DeleteJourneyInput struct {
 19056  	_ struct{} `type:"structure" nopayload:"true"`
 19057  
 19058  	// ApplicationId is a required field
 19059  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 19060  
 19061  	// JourneyId is a required field
 19062  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 19063  }
 19064  
 19065  // String returns the string representation.
 19066  //
 19067  // API parameter values that are decorated as "sensitive" in the API will not
 19068  // be included in the string output. The member name will be present, but the
 19069  // value will be replaced with "sensitive".
 19070  func (s DeleteJourneyInput) String() string {
 19071  	return awsutil.Prettify(s)
 19072  }
 19073  
 19074  // GoString returns the string representation.
 19075  //
 19076  // API parameter values that are decorated as "sensitive" in the API will not
 19077  // be included in the string output. The member name will be present, but the
 19078  // value will be replaced with "sensitive".
 19079  func (s DeleteJourneyInput) GoString() string {
 19080  	return s.String()
 19081  }
 19082  
 19083  // Validate inspects the fields of the type to determine if they are valid.
 19084  func (s *DeleteJourneyInput) Validate() error {
 19085  	invalidParams := request.ErrInvalidParams{Context: "DeleteJourneyInput"}
 19086  	if s.ApplicationId == nil {
 19087  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 19088  	}
 19089  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 19090  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 19091  	}
 19092  	if s.JourneyId == nil {
 19093  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 19094  	}
 19095  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 19096  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 19097  	}
 19098  
 19099  	if invalidParams.Len() > 0 {
 19100  		return invalidParams
 19101  	}
 19102  	return nil
 19103  }
 19104  
 19105  // SetApplicationId sets the ApplicationId field's value.
 19106  func (s *DeleteJourneyInput) SetApplicationId(v string) *DeleteJourneyInput {
 19107  	s.ApplicationId = &v
 19108  	return s
 19109  }
 19110  
 19111  // SetJourneyId sets the JourneyId field's value.
 19112  func (s *DeleteJourneyInput) SetJourneyId(v string) *DeleteJourneyInput {
 19113  	s.JourneyId = &v
 19114  	return s
 19115  }
 19116  
 19117  type DeleteJourneyOutput struct {
 19118  	_ struct{} `type:"structure" payload:"JourneyResponse"`
 19119  
 19120  	// Provides information about the status, configuration, and other settings
 19121  	// for a journey.
 19122  	//
 19123  	// JourneyResponse is a required field
 19124  	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
 19125  }
 19126  
 19127  // String returns the string representation.
 19128  //
 19129  // API parameter values that are decorated as "sensitive" in the API will not
 19130  // be included in the string output. The member name will be present, but the
 19131  // value will be replaced with "sensitive".
 19132  func (s DeleteJourneyOutput) String() string {
 19133  	return awsutil.Prettify(s)
 19134  }
 19135  
 19136  // GoString returns the string representation.
 19137  //
 19138  // API parameter values that are decorated as "sensitive" in the API will not
 19139  // be included in the string output. The member name will be present, but the
 19140  // value will be replaced with "sensitive".
 19141  func (s DeleteJourneyOutput) GoString() string {
 19142  	return s.String()
 19143  }
 19144  
 19145  // SetJourneyResponse sets the JourneyResponse field's value.
 19146  func (s *DeleteJourneyOutput) SetJourneyResponse(v *JourneyResponse) *DeleteJourneyOutput {
 19147  	s.JourneyResponse = v
 19148  	return s
 19149  }
 19150  
 19151  type DeletePushTemplateInput struct {
 19152  	_ struct{} `type:"structure" nopayload:"true"`
 19153  
 19154  	// TemplateName is a required field
 19155  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 19156  
 19157  	Version *string `location:"querystring" locationName:"version" type:"string"`
 19158  }
 19159  
 19160  // String returns the string representation.
 19161  //
 19162  // API parameter values that are decorated as "sensitive" in the API will not
 19163  // be included in the string output. The member name will be present, but the
 19164  // value will be replaced with "sensitive".
 19165  func (s DeletePushTemplateInput) String() string {
 19166  	return awsutil.Prettify(s)
 19167  }
 19168  
 19169  // GoString returns the string representation.
 19170  //
 19171  // API parameter values that are decorated as "sensitive" in the API will not
 19172  // be included in the string output. The member name will be present, but the
 19173  // value will be replaced with "sensitive".
 19174  func (s DeletePushTemplateInput) GoString() string {
 19175  	return s.String()
 19176  }
 19177  
 19178  // Validate inspects the fields of the type to determine if they are valid.
 19179  func (s *DeletePushTemplateInput) Validate() error {
 19180  	invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"}
 19181  	if s.TemplateName == nil {
 19182  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 19183  	}
 19184  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 19185  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 19186  	}
 19187  
 19188  	if invalidParams.Len() > 0 {
 19189  		return invalidParams
 19190  	}
 19191  	return nil
 19192  }
 19193  
 19194  // SetTemplateName sets the TemplateName field's value.
 19195  func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput {
 19196  	s.TemplateName = &v
 19197  	return s
 19198  }
 19199  
 19200  // SetVersion sets the Version field's value.
 19201  func (s *DeletePushTemplateInput) SetVersion(v string) *DeletePushTemplateInput {
 19202  	s.Version = &v
 19203  	return s
 19204  }
 19205  
 19206  type DeletePushTemplateOutput struct {
 19207  	_ struct{} `type:"structure" payload:"MessageBody"`
 19208  
 19209  	// Provides information about an API request or response.
 19210  	//
 19211  	// MessageBody is a required field
 19212  	MessageBody *MessageBody `type:"structure" required:"true"`
 19213  }
 19214  
 19215  // String returns the string representation.
 19216  //
 19217  // API parameter values that are decorated as "sensitive" in the API will not
 19218  // be included in the string output. The member name will be present, but the
 19219  // value will be replaced with "sensitive".
 19220  func (s DeletePushTemplateOutput) String() string {
 19221  	return awsutil.Prettify(s)
 19222  }
 19223  
 19224  // GoString returns the string representation.
 19225  //
 19226  // API parameter values that are decorated as "sensitive" in the API will not
 19227  // be included in the string output. The member name will be present, but the
 19228  // value will be replaced with "sensitive".
 19229  func (s DeletePushTemplateOutput) GoString() string {
 19230  	return s.String()
 19231  }
 19232  
 19233  // SetMessageBody sets the MessageBody field's value.
 19234  func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput {
 19235  	s.MessageBody = v
 19236  	return s
 19237  }
 19238  
 19239  type DeleteRecommenderConfigurationInput struct {
 19240  	_ struct{} `type:"structure" nopayload:"true"`
 19241  
 19242  	// RecommenderId is a required field
 19243  	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
 19244  }
 19245  
 19246  // String returns the string representation.
 19247  //
 19248  // API parameter values that are decorated as "sensitive" in the API will not
 19249  // be included in the string output. The member name will be present, but the
 19250  // value will be replaced with "sensitive".
 19251  func (s DeleteRecommenderConfigurationInput) String() string {
 19252  	return awsutil.Prettify(s)
 19253  }
 19254  
 19255  // GoString returns the string representation.
 19256  //
 19257  // API parameter values that are decorated as "sensitive" in the API will not
 19258  // be included in the string output. The member name will be present, but the
 19259  // value will be replaced with "sensitive".
 19260  func (s DeleteRecommenderConfigurationInput) GoString() string {
 19261  	return s.String()
 19262  }
 19263  
 19264  // Validate inspects the fields of the type to determine if they are valid.
 19265  func (s *DeleteRecommenderConfigurationInput) Validate() error {
 19266  	invalidParams := request.ErrInvalidParams{Context: "DeleteRecommenderConfigurationInput"}
 19267  	if s.RecommenderId == nil {
 19268  		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
 19269  	}
 19270  	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
 19271  		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
 19272  	}
 19273  
 19274  	if invalidParams.Len() > 0 {
 19275  		return invalidParams
 19276  	}
 19277  	return nil
 19278  }
 19279  
 19280  // SetRecommenderId sets the RecommenderId field's value.
 19281  func (s *DeleteRecommenderConfigurationInput) SetRecommenderId(v string) *DeleteRecommenderConfigurationInput {
 19282  	s.RecommenderId = &v
 19283  	return s
 19284  }
 19285  
 19286  type DeleteRecommenderConfigurationOutput struct {
 19287  	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
 19288  
 19289  	// Provides information about Amazon Pinpoint configuration settings for retrieving
 19290  	// and processing data from a recommender model.
 19291  	//
 19292  	// RecommenderConfigurationResponse is a required field
 19293  	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
 19294  }
 19295  
 19296  // String returns the string representation.
 19297  //
 19298  // API parameter values that are decorated as "sensitive" in the API will not
 19299  // be included in the string output. The member name will be present, but the
 19300  // value will be replaced with "sensitive".
 19301  func (s DeleteRecommenderConfigurationOutput) String() string {
 19302  	return awsutil.Prettify(s)
 19303  }
 19304  
 19305  // GoString returns the string representation.
 19306  //
 19307  // API parameter values that are decorated as "sensitive" in the API will not
 19308  // be included in the string output. The member name will be present, but the
 19309  // value will be replaced with "sensitive".
 19310  func (s DeleteRecommenderConfigurationOutput) GoString() string {
 19311  	return s.String()
 19312  }
 19313  
 19314  // SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
 19315  func (s *DeleteRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *DeleteRecommenderConfigurationOutput {
 19316  	s.RecommenderConfigurationResponse = v
 19317  	return s
 19318  }
 19319  
 19320  type DeleteSegmentInput struct {
 19321  	_ struct{} `type:"structure" nopayload:"true"`
 19322  
 19323  	// ApplicationId is a required field
 19324  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 19325  
 19326  	// SegmentId is a required field
 19327  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 19328  }
 19329  
 19330  // String returns the string representation.
 19331  //
 19332  // API parameter values that are decorated as "sensitive" in the API will not
 19333  // be included in the string output. The member name will be present, but the
 19334  // value will be replaced with "sensitive".
 19335  func (s DeleteSegmentInput) String() string {
 19336  	return awsutil.Prettify(s)
 19337  }
 19338  
 19339  // GoString returns the string representation.
 19340  //
 19341  // API parameter values that are decorated as "sensitive" in the API will not
 19342  // be included in the string output. The member name will be present, but the
 19343  // value will be replaced with "sensitive".
 19344  func (s DeleteSegmentInput) GoString() string {
 19345  	return s.String()
 19346  }
 19347  
 19348  // Validate inspects the fields of the type to determine if they are valid.
 19349  func (s *DeleteSegmentInput) Validate() error {
 19350  	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
 19351  	if s.ApplicationId == nil {
 19352  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 19353  	}
 19354  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 19355  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 19356  	}
 19357  	if s.SegmentId == nil {
 19358  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 19359  	}
 19360  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 19361  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 19362  	}
 19363  
 19364  	if invalidParams.Len() > 0 {
 19365  		return invalidParams
 19366  	}
 19367  	return nil
 19368  }
 19369  
 19370  // SetApplicationId sets the ApplicationId field's value.
 19371  func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
 19372  	s.ApplicationId = &v
 19373  	return s
 19374  }
 19375  
 19376  // SetSegmentId sets the SegmentId field's value.
 19377  func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
 19378  	s.SegmentId = &v
 19379  	return s
 19380  }
 19381  
 19382  type DeleteSegmentOutput struct {
 19383  	_ struct{} `type:"structure" payload:"SegmentResponse"`
 19384  
 19385  	// Provides information about the configuration, dimension, and other settings
 19386  	// for a segment.
 19387  	//
 19388  	// SegmentResponse is a required field
 19389  	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
 19390  }
 19391  
 19392  // String returns the string representation.
 19393  //
 19394  // API parameter values that are decorated as "sensitive" in the API will not
 19395  // be included in the string output. The member name will be present, but the
 19396  // value will be replaced with "sensitive".
 19397  func (s DeleteSegmentOutput) String() string {
 19398  	return awsutil.Prettify(s)
 19399  }
 19400  
 19401  // GoString returns the string representation.
 19402  //
 19403  // API parameter values that are decorated as "sensitive" in the API will not
 19404  // be included in the string output. The member name will be present, but the
 19405  // value will be replaced with "sensitive".
 19406  func (s DeleteSegmentOutput) GoString() string {
 19407  	return s.String()
 19408  }
 19409  
 19410  // SetSegmentResponse sets the SegmentResponse field's value.
 19411  func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
 19412  	s.SegmentResponse = v
 19413  	return s
 19414  }
 19415  
 19416  type DeleteSmsChannelInput struct {
 19417  	_ struct{} `type:"structure" nopayload:"true"`
 19418  
 19419  	// ApplicationId is a required field
 19420  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 19421  }
 19422  
 19423  // String returns the string representation.
 19424  //
 19425  // API parameter values that are decorated as "sensitive" in the API will not
 19426  // be included in the string output. The member name will be present, but the
 19427  // value will be replaced with "sensitive".
 19428  func (s DeleteSmsChannelInput) String() string {
 19429  	return awsutil.Prettify(s)
 19430  }
 19431  
 19432  // GoString returns the string representation.
 19433  //
 19434  // API parameter values that are decorated as "sensitive" in the API will not
 19435  // be included in the string output. The member name will be present, but the
 19436  // value will be replaced with "sensitive".
 19437  func (s DeleteSmsChannelInput) GoString() string {
 19438  	return s.String()
 19439  }
 19440  
 19441  // Validate inspects the fields of the type to determine if they are valid.
 19442  func (s *DeleteSmsChannelInput) Validate() error {
 19443  	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
 19444  	if s.ApplicationId == nil {
 19445  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 19446  	}
 19447  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 19448  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 19449  	}
 19450  
 19451  	if invalidParams.Len() > 0 {
 19452  		return invalidParams
 19453  	}
 19454  	return nil
 19455  }
 19456  
 19457  // SetApplicationId sets the ApplicationId field's value.
 19458  func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
 19459  	s.ApplicationId = &v
 19460  	return s
 19461  }
 19462  
 19463  type DeleteSmsChannelOutput struct {
 19464  	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
 19465  
 19466  	// Provides information about the status and settings of the SMS channel for
 19467  	// an application.
 19468  	//
 19469  	// SMSChannelResponse is a required field
 19470  	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
 19471  }
 19472  
 19473  // String returns the string representation.
 19474  //
 19475  // API parameter values that are decorated as "sensitive" in the API will not
 19476  // be included in the string output. The member name will be present, but the
 19477  // value will be replaced with "sensitive".
 19478  func (s DeleteSmsChannelOutput) String() string {
 19479  	return awsutil.Prettify(s)
 19480  }
 19481  
 19482  // GoString returns the string representation.
 19483  //
 19484  // API parameter values that are decorated as "sensitive" in the API will not
 19485  // be included in the string output. The member name will be present, but the
 19486  // value will be replaced with "sensitive".
 19487  func (s DeleteSmsChannelOutput) GoString() string {
 19488  	return s.String()
 19489  }
 19490  
 19491  // SetSMSChannelResponse sets the SMSChannelResponse field's value.
 19492  func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
 19493  	s.SMSChannelResponse = v
 19494  	return s
 19495  }
 19496  
 19497  type DeleteSmsTemplateInput struct {
 19498  	_ struct{} `type:"structure" nopayload:"true"`
 19499  
 19500  	// TemplateName is a required field
 19501  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 19502  
 19503  	Version *string `location:"querystring" locationName:"version" type:"string"`
 19504  }
 19505  
 19506  // String returns the string representation.
 19507  //
 19508  // API parameter values that are decorated as "sensitive" in the API will not
 19509  // be included in the string output. The member name will be present, but the
 19510  // value will be replaced with "sensitive".
 19511  func (s DeleteSmsTemplateInput) String() string {
 19512  	return awsutil.Prettify(s)
 19513  }
 19514  
 19515  // GoString returns the string representation.
 19516  //
 19517  // API parameter values that are decorated as "sensitive" in the API will not
 19518  // be included in the string output. The member name will be present, but the
 19519  // value will be replaced with "sensitive".
 19520  func (s DeleteSmsTemplateInput) GoString() string {
 19521  	return s.String()
 19522  }
 19523  
 19524  // Validate inspects the fields of the type to determine if they are valid.
 19525  func (s *DeleteSmsTemplateInput) Validate() error {
 19526  	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"}
 19527  	if s.TemplateName == nil {
 19528  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 19529  	}
 19530  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 19531  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 19532  	}
 19533  
 19534  	if invalidParams.Len() > 0 {
 19535  		return invalidParams
 19536  	}
 19537  	return nil
 19538  }
 19539  
 19540  // SetTemplateName sets the TemplateName field's value.
 19541  func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput {
 19542  	s.TemplateName = &v
 19543  	return s
 19544  }
 19545  
 19546  // SetVersion sets the Version field's value.
 19547  func (s *DeleteSmsTemplateInput) SetVersion(v string) *DeleteSmsTemplateInput {
 19548  	s.Version = &v
 19549  	return s
 19550  }
 19551  
 19552  type DeleteSmsTemplateOutput struct {
 19553  	_ struct{} `type:"structure" payload:"MessageBody"`
 19554  
 19555  	// Provides information about an API request or response.
 19556  	//
 19557  	// MessageBody is a required field
 19558  	MessageBody *MessageBody `type:"structure" required:"true"`
 19559  }
 19560  
 19561  // String returns the string representation.
 19562  //
 19563  // API parameter values that are decorated as "sensitive" in the API will not
 19564  // be included in the string output. The member name will be present, but the
 19565  // value will be replaced with "sensitive".
 19566  func (s DeleteSmsTemplateOutput) String() string {
 19567  	return awsutil.Prettify(s)
 19568  }
 19569  
 19570  // GoString returns the string representation.
 19571  //
 19572  // API parameter values that are decorated as "sensitive" in the API will not
 19573  // be included in the string output. The member name will be present, but the
 19574  // value will be replaced with "sensitive".
 19575  func (s DeleteSmsTemplateOutput) GoString() string {
 19576  	return s.String()
 19577  }
 19578  
 19579  // SetMessageBody sets the MessageBody field's value.
 19580  func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput {
 19581  	s.MessageBody = v
 19582  	return s
 19583  }
 19584  
 19585  type DeleteUserEndpointsInput struct {
 19586  	_ struct{} `type:"structure" nopayload:"true"`
 19587  
 19588  	// ApplicationId is a required field
 19589  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 19590  
 19591  	// UserId is a required field
 19592  	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
 19593  }
 19594  
 19595  // String returns the string representation.
 19596  //
 19597  // API parameter values that are decorated as "sensitive" in the API will not
 19598  // be included in the string output. The member name will be present, but the
 19599  // value will be replaced with "sensitive".
 19600  func (s DeleteUserEndpointsInput) String() string {
 19601  	return awsutil.Prettify(s)
 19602  }
 19603  
 19604  // GoString returns the string representation.
 19605  //
 19606  // API parameter values that are decorated as "sensitive" in the API will not
 19607  // be included in the string output. The member name will be present, but the
 19608  // value will be replaced with "sensitive".
 19609  func (s DeleteUserEndpointsInput) GoString() string {
 19610  	return s.String()
 19611  }
 19612  
 19613  // Validate inspects the fields of the type to determine if they are valid.
 19614  func (s *DeleteUserEndpointsInput) Validate() error {
 19615  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
 19616  	if s.ApplicationId == nil {
 19617  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 19618  	}
 19619  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 19620  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 19621  	}
 19622  	if s.UserId == nil {
 19623  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 19624  	}
 19625  	if s.UserId != nil && len(*s.UserId) < 1 {
 19626  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 19627  	}
 19628  
 19629  	if invalidParams.Len() > 0 {
 19630  		return invalidParams
 19631  	}
 19632  	return nil
 19633  }
 19634  
 19635  // SetApplicationId sets the ApplicationId field's value.
 19636  func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
 19637  	s.ApplicationId = &v
 19638  	return s
 19639  }
 19640  
 19641  // SetUserId sets the UserId field's value.
 19642  func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
 19643  	s.UserId = &v
 19644  	return s
 19645  }
 19646  
 19647  type DeleteUserEndpointsOutput struct {
 19648  	_ struct{} `type:"structure" payload:"EndpointsResponse"`
 19649  
 19650  	// Provides information about all the endpoints that are associated with a user
 19651  	// ID.
 19652  	//
 19653  	// EndpointsResponse is a required field
 19654  	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
 19655  }
 19656  
 19657  // String returns the string representation.
 19658  //
 19659  // API parameter values that are decorated as "sensitive" in the API will not
 19660  // be included in the string output. The member name will be present, but the
 19661  // value will be replaced with "sensitive".
 19662  func (s DeleteUserEndpointsOutput) String() string {
 19663  	return awsutil.Prettify(s)
 19664  }
 19665  
 19666  // GoString returns the string representation.
 19667  //
 19668  // API parameter values that are decorated as "sensitive" in the API will not
 19669  // be included in the string output. The member name will be present, but the
 19670  // value will be replaced with "sensitive".
 19671  func (s DeleteUserEndpointsOutput) GoString() string {
 19672  	return s.String()
 19673  }
 19674  
 19675  // SetEndpointsResponse sets the EndpointsResponse field's value.
 19676  func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
 19677  	s.EndpointsResponse = v
 19678  	return s
 19679  }
 19680  
 19681  type DeleteVoiceChannelInput struct {
 19682  	_ struct{} `type:"structure" nopayload:"true"`
 19683  
 19684  	// ApplicationId is a required field
 19685  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 19686  }
 19687  
 19688  // String returns the string representation.
 19689  //
 19690  // API parameter values that are decorated as "sensitive" in the API will not
 19691  // be included in the string output. The member name will be present, but the
 19692  // value will be replaced with "sensitive".
 19693  func (s DeleteVoiceChannelInput) String() string {
 19694  	return awsutil.Prettify(s)
 19695  }
 19696  
 19697  // GoString returns the string representation.
 19698  //
 19699  // API parameter values that are decorated as "sensitive" in the API will not
 19700  // be included in the string output. The member name will be present, but the
 19701  // value will be replaced with "sensitive".
 19702  func (s DeleteVoiceChannelInput) GoString() string {
 19703  	return s.String()
 19704  }
 19705  
 19706  // Validate inspects the fields of the type to determine if they are valid.
 19707  func (s *DeleteVoiceChannelInput) Validate() error {
 19708  	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
 19709  	if s.ApplicationId == nil {
 19710  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 19711  	}
 19712  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 19713  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 19714  	}
 19715  
 19716  	if invalidParams.Len() > 0 {
 19717  		return invalidParams
 19718  	}
 19719  	return nil
 19720  }
 19721  
 19722  // SetApplicationId sets the ApplicationId field's value.
 19723  func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
 19724  	s.ApplicationId = &v
 19725  	return s
 19726  }
 19727  
 19728  type DeleteVoiceChannelOutput struct {
 19729  	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
 19730  
 19731  	// Provides information about the status and settings of the voice channel for
 19732  	// an application.
 19733  	//
 19734  	// VoiceChannelResponse is a required field
 19735  	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
 19736  }
 19737  
 19738  // String returns the string representation.
 19739  //
 19740  // API parameter values that are decorated as "sensitive" in the API will not
 19741  // be included in the string output. The member name will be present, but the
 19742  // value will be replaced with "sensitive".
 19743  func (s DeleteVoiceChannelOutput) String() string {
 19744  	return awsutil.Prettify(s)
 19745  }
 19746  
 19747  // GoString returns the string representation.
 19748  //
 19749  // API parameter values that are decorated as "sensitive" in the API will not
 19750  // be included in the string output. The member name will be present, but the
 19751  // value will be replaced with "sensitive".
 19752  func (s DeleteVoiceChannelOutput) GoString() string {
 19753  	return s.String()
 19754  }
 19755  
 19756  // SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
 19757  func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
 19758  	s.VoiceChannelResponse = v
 19759  	return s
 19760  }
 19761  
 19762  type DeleteVoiceTemplateInput struct {
 19763  	_ struct{} `type:"structure" nopayload:"true"`
 19764  
 19765  	// TemplateName is a required field
 19766  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 19767  
 19768  	Version *string `location:"querystring" locationName:"version" type:"string"`
 19769  }
 19770  
 19771  // String returns the string representation.
 19772  //
 19773  // API parameter values that are decorated as "sensitive" in the API will not
 19774  // be included in the string output. The member name will be present, but the
 19775  // value will be replaced with "sensitive".
 19776  func (s DeleteVoiceTemplateInput) String() string {
 19777  	return awsutil.Prettify(s)
 19778  }
 19779  
 19780  // GoString returns the string representation.
 19781  //
 19782  // API parameter values that are decorated as "sensitive" in the API will not
 19783  // be included in the string output. The member name will be present, but the
 19784  // value will be replaced with "sensitive".
 19785  func (s DeleteVoiceTemplateInput) GoString() string {
 19786  	return s.String()
 19787  }
 19788  
 19789  // Validate inspects the fields of the type to determine if they are valid.
 19790  func (s *DeleteVoiceTemplateInput) Validate() error {
 19791  	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceTemplateInput"}
 19792  	if s.TemplateName == nil {
 19793  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 19794  	}
 19795  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 19796  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 19797  	}
 19798  
 19799  	if invalidParams.Len() > 0 {
 19800  		return invalidParams
 19801  	}
 19802  	return nil
 19803  }
 19804  
 19805  // SetTemplateName sets the TemplateName field's value.
 19806  func (s *DeleteVoiceTemplateInput) SetTemplateName(v string) *DeleteVoiceTemplateInput {
 19807  	s.TemplateName = &v
 19808  	return s
 19809  }
 19810  
 19811  // SetVersion sets the Version field's value.
 19812  func (s *DeleteVoiceTemplateInput) SetVersion(v string) *DeleteVoiceTemplateInput {
 19813  	s.Version = &v
 19814  	return s
 19815  }
 19816  
 19817  type DeleteVoiceTemplateOutput struct {
 19818  	_ struct{} `type:"structure" payload:"MessageBody"`
 19819  
 19820  	// Provides information about an API request or response.
 19821  	//
 19822  	// MessageBody is a required field
 19823  	MessageBody *MessageBody `type:"structure" required:"true"`
 19824  }
 19825  
 19826  // String returns the string representation.
 19827  //
 19828  // API parameter values that are decorated as "sensitive" in the API will not
 19829  // be included in the string output. The member name will be present, but the
 19830  // value will be replaced with "sensitive".
 19831  func (s DeleteVoiceTemplateOutput) String() string {
 19832  	return awsutil.Prettify(s)
 19833  }
 19834  
 19835  // GoString returns the string representation.
 19836  //
 19837  // API parameter values that are decorated as "sensitive" in the API will not
 19838  // be included in the string output. The member name will be present, but the
 19839  // value will be replaced with "sensitive".
 19840  func (s DeleteVoiceTemplateOutput) GoString() string {
 19841  	return s.String()
 19842  }
 19843  
 19844  // SetMessageBody sets the MessageBody field's value.
 19845  func (s *DeleteVoiceTemplateOutput) SetMessageBody(v *MessageBody) *DeleteVoiceTemplateOutput {
 19846  	s.MessageBody = v
 19847  	return s
 19848  }
 19849  
 19850  // Specifies the settings and content for the default message and any default
 19851  // messages that you tailored for specific channels.
 19852  type DirectMessageConfiguration struct {
 19853  	_ struct{} `type:"structure"`
 19854  
 19855  	// The default push notification message for the ADM (Amazon Device Messaging)
 19856  	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
 19857  	ADMMessage *ADMMessage `type:"structure"`
 19858  
 19859  	// The default push notification message for the APNs (Apple Push Notification
 19860  	// service) channel. This message overrides the default push notification message
 19861  	// (DefaultPushNotificationMessage).
 19862  	APNSMessage *APNSMessage `type:"structure"`
 19863  
 19864  	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
 19865  	// This message overrides the default push notification message (DefaultPushNotificationMessage).
 19866  	BaiduMessage *BaiduMessage `type:"structure"`
 19867  
 19868  	// The default message for all channels.
 19869  	DefaultMessage *DefaultMessage `type:"structure"`
 19870  
 19871  	// The default push notification message for all push notification channels.
 19872  	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
 19873  
 19874  	// The default message for the email channel. This message overrides the default
 19875  	// message (DefaultMessage).
 19876  	EmailMessage *EmailMessage `type:"structure"`
 19877  
 19878  	// The default push notification message for the GCM channel, which is used
 19879  	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
 19880  	// Google Cloud Messaging (GCM), service. This message overrides the default
 19881  	// push notification message (DefaultPushNotificationMessage).
 19882  	GCMMessage *GCMMessage `type:"structure"`
 19883  
 19884  	// The default message for the SMS channel. This message overrides the default
 19885  	// message (DefaultMessage).
 19886  	SMSMessage *SMSMessage `type:"structure"`
 19887  
 19888  	// The default message for the voice channel. This message overrides the default
 19889  	// message (DefaultMessage).
 19890  	VoiceMessage *VoiceMessage `type:"structure"`
 19891  }
 19892  
 19893  // String returns the string representation.
 19894  //
 19895  // API parameter values that are decorated as "sensitive" in the API will not
 19896  // be included in the string output. The member name will be present, but the
 19897  // value will be replaced with "sensitive".
 19898  func (s DirectMessageConfiguration) String() string {
 19899  	return awsutil.Prettify(s)
 19900  }
 19901  
 19902  // GoString returns the string representation.
 19903  //
 19904  // API parameter values that are decorated as "sensitive" in the API will not
 19905  // be included in the string output. The member name will be present, but the
 19906  // value will be replaced with "sensitive".
 19907  func (s DirectMessageConfiguration) GoString() string {
 19908  	return s.String()
 19909  }
 19910  
 19911  // SetADMMessage sets the ADMMessage field's value.
 19912  func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
 19913  	s.ADMMessage = v
 19914  	return s
 19915  }
 19916  
 19917  // SetAPNSMessage sets the APNSMessage field's value.
 19918  func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
 19919  	s.APNSMessage = v
 19920  	return s
 19921  }
 19922  
 19923  // SetBaiduMessage sets the BaiduMessage field's value.
 19924  func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
 19925  	s.BaiduMessage = v
 19926  	return s
 19927  }
 19928  
 19929  // SetDefaultMessage sets the DefaultMessage field's value.
 19930  func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
 19931  	s.DefaultMessage = v
 19932  	return s
 19933  }
 19934  
 19935  // SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
 19936  func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
 19937  	s.DefaultPushNotificationMessage = v
 19938  	return s
 19939  }
 19940  
 19941  // SetEmailMessage sets the EmailMessage field's value.
 19942  func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
 19943  	s.EmailMessage = v
 19944  	return s
 19945  }
 19946  
 19947  // SetGCMMessage sets the GCMMessage field's value.
 19948  func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
 19949  	s.GCMMessage = v
 19950  	return s
 19951  }
 19952  
 19953  // SetSMSMessage sets the SMSMessage field's value.
 19954  func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
 19955  	s.SMSMessage = v
 19956  	return s
 19957  }
 19958  
 19959  // SetVoiceMessage sets the VoiceMessage field's value.
 19960  func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
 19961  	s.VoiceMessage = v
 19962  	return s
 19963  }
 19964  
 19965  // Specifies the status and settings of the email channel for an application.
 19966  type EmailChannelRequest struct {
 19967  	_ struct{} `type:"structure"`
 19968  
 19969  	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
 19970  	// that you want to apply to messages that you send through the channel.
 19971  	ConfigurationSet *string `type:"string"`
 19972  
 19973  	// Specifies whether to enable the email channel for the application.
 19974  	Enabled *bool `type:"boolean"`
 19975  
 19976  	// The verified email address that you want to send email from when you send
 19977  	// email through the channel.
 19978  	//
 19979  	// FromAddress is a required field
 19980  	FromAddress *string `type:"string" required:"true"`
 19981  
 19982  	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
 19983  	// Email Service (Amazon SES), that you want to use when you send email through
 19984  	// the channel.
 19985  	//
 19986  	// Identity is a required field
 19987  	Identity *string `type:"string" required:"true"`
 19988  
 19989  	// The ARN of the AWS Identity and Access Management (IAM) role that you want
 19990  	// Amazon Pinpoint to use when it submits email-related event data for the channel.
 19991  	RoleArn *string `type:"string"`
 19992  }
 19993  
 19994  // String returns the string representation.
 19995  //
 19996  // API parameter values that are decorated as "sensitive" in the API will not
 19997  // be included in the string output. The member name will be present, but the
 19998  // value will be replaced with "sensitive".
 19999  func (s EmailChannelRequest) String() string {
 20000  	return awsutil.Prettify(s)
 20001  }
 20002  
 20003  // GoString returns the string representation.
 20004  //
 20005  // API parameter values that are decorated as "sensitive" in the API will not
 20006  // be included in the string output. The member name will be present, but the
 20007  // value will be replaced with "sensitive".
 20008  func (s EmailChannelRequest) GoString() string {
 20009  	return s.String()
 20010  }
 20011  
 20012  // Validate inspects the fields of the type to determine if they are valid.
 20013  func (s *EmailChannelRequest) Validate() error {
 20014  	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
 20015  	if s.FromAddress == nil {
 20016  		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
 20017  	}
 20018  	if s.Identity == nil {
 20019  		invalidParams.Add(request.NewErrParamRequired("Identity"))
 20020  	}
 20021  
 20022  	if invalidParams.Len() > 0 {
 20023  		return invalidParams
 20024  	}
 20025  	return nil
 20026  }
 20027  
 20028  // SetConfigurationSet sets the ConfigurationSet field's value.
 20029  func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
 20030  	s.ConfigurationSet = &v
 20031  	return s
 20032  }
 20033  
 20034  // SetEnabled sets the Enabled field's value.
 20035  func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
 20036  	s.Enabled = &v
 20037  	return s
 20038  }
 20039  
 20040  // SetFromAddress sets the FromAddress field's value.
 20041  func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
 20042  	s.FromAddress = &v
 20043  	return s
 20044  }
 20045  
 20046  // SetIdentity sets the Identity field's value.
 20047  func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
 20048  	s.Identity = &v
 20049  	return s
 20050  }
 20051  
 20052  // SetRoleArn sets the RoleArn field's value.
 20053  func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
 20054  	s.RoleArn = &v
 20055  	return s
 20056  }
 20057  
 20058  // Provides information about the status and settings of the email channel for
 20059  // an application.
 20060  type EmailChannelResponse struct {
 20061  	_ struct{} `type:"structure"`
 20062  
 20063  	// The unique identifier for the application that the email channel applies
 20064  	// to.
 20065  	ApplicationId *string `type:"string"`
 20066  
 20067  	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
 20068  	// that's applied to messages that are sent through the channel.
 20069  	ConfigurationSet *string `type:"string"`
 20070  
 20071  	// The date and time, in ISO 8601 format, when the email channel was enabled.
 20072  	CreationDate *string `type:"string"`
 20073  
 20074  	// Specifies whether the email channel is enabled for the application.
 20075  	Enabled *bool `type:"boolean"`
 20076  
 20077  	// The verified email address that email is sent from when you send email through
 20078  	// the channel.
 20079  	FromAddress *string `type:"string"`
 20080  
 20081  	// (Not used) This property is retained only for backward compatibility.
 20082  	HasCredential *bool `type:"boolean"`
 20083  
 20084  	// (Deprecated) An identifier for the email channel. This property is retained
 20085  	// only for backward compatibility.
 20086  	Id *string `type:"string"`
 20087  
 20088  	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
 20089  	// Email Service (Amazon SES), that's used when you send email through the channel.
 20090  	Identity *string `type:"string"`
 20091  
 20092  	// Specifies whether the email channel is archived.
 20093  	IsArchived *bool `type:"boolean"`
 20094  
 20095  	// The user who last modified the email channel.
 20096  	LastModifiedBy *string `type:"string"`
 20097  
 20098  	// The date and time, in ISO 8601 format, when the email channel was last modified.
 20099  	LastModifiedDate *string `type:"string"`
 20100  
 20101  	// The maximum number of emails that can be sent through the channel each second.
 20102  	MessagesPerSecond *int64 `type:"integer"`
 20103  
 20104  	// The type of messaging or notification platform for the channel. For the email
 20105  	// channel, this value is EMAIL.
 20106  	//
 20107  	// Platform is a required field
 20108  	Platform *string `type:"string" required:"true"`
 20109  
 20110  	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
 20111  	// Pinpoint uses to submit email-related event data for the channel.
 20112  	RoleArn *string `type:"string"`
 20113  
 20114  	// The current version of the email channel.
 20115  	Version *int64 `type:"integer"`
 20116  }
 20117  
 20118  // String returns the string representation.
 20119  //
 20120  // API parameter values that are decorated as "sensitive" in the API will not
 20121  // be included in the string output. The member name will be present, but the
 20122  // value will be replaced with "sensitive".
 20123  func (s EmailChannelResponse) String() string {
 20124  	return awsutil.Prettify(s)
 20125  }
 20126  
 20127  // GoString returns the string representation.
 20128  //
 20129  // API parameter values that are decorated as "sensitive" in the API will not
 20130  // be included in the string output. The member name will be present, but the
 20131  // value will be replaced with "sensitive".
 20132  func (s EmailChannelResponse) GoString() string {
 20133  	return s.String()
 20134  }
 20135  
 20136  // SetApplicationId sets the ApplicationId field's value.
 20137  func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
 20138  	s.ApplicationId = &v
 20139  	return s
 20140  }
 20141  
 20142  // SetConfigurationSet sets the ConfigurationSet field's value.
 20143  func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
 20144  	s.ConfigurationSet = &v
 20145  	return s
 20146  }
 20147  
 20148  // SetCreationDate sets the CreationDate field's value.
 20149  func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
 20150  	s.CreationDate = &v
 20151  	return s
 20152  }
 20153  
 20154  // SetEnabled sets the Enabled field's value.
 20155  func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
 20156  	s.Enabled = &v
 20157  	return s
 20158  }
 20159  
 20160  // SetFromAddress sets the FromAddress field's value.
 20161  func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
 20162  	s.FromAddress = &v
 20163  	return s
 20164  }
 20165  
 20166  // SetHasCredential sets the HasCredential field's value.
 20167  func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
 20168  	s.HasCredential = &v
 20169  	return s
 20170  }
 20171  
 20172  // SetId sets the Id field's value.
 20173  func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
 20174  	s.Id = &v
 20175  	return s
 20176  }
 20177  
 20178  // SetIdentity sets the Identity field's value.
 20179  func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
 20180  	s.Identity = &v
 20181  	return s
 20182  }
 20183  
 20184  // SetIsArchived sets the IsArchived field's value.
 20185  func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
 20186  	s.IsArchived = &v
 20187  	return s
 20188  }
 20189  
 20190  // SetLastModifiedBy sets the LastModifiedBy field's value.
 20191  func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
 20192  	s.LastModifiedBy = &v
 20193  	return s
 20194  }
 20195  
 20196  // SetLastModifiedDate sets the LastModifiedDate field's value.
 20197  func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
 20198  	s.LastModifiedDate = &v
 20199  	return s
 20200  }
 20201  
 20202  // SetMessagesPerSecond sets the MessagesPerSecond field's value.
 20203  func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
 20204  	s.MessagesPerSecond = &v
 20205  	return s
 20206  }
 20207  
 20208  // SetPlatform sets the Platform field's value.
 20209  func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
 20210  	s.Platform = &v
 20211  	return s
 20212  }
 20213  
 20214  // SetRoleArn sets the RoleArn field's value.
 20215  func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
 20216  	s.RoleArn = &v
 20217  	return s
 20218  }
 20219  
 20220  // SetVersion sets the Version field's value.
 20221  func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
 20222  	s.Version = &v
 20223  	return s
 20224  }
 20225  
 20226  // Specifies the default settings and content for a one-time email message that's
 20227  // sent directly to an endpoint.
 20228  type EmailMessage struct {
 20229  	_ struct{} `type:"structure"`
 20230  
 20231  	// The body of the email message.
 20232  	Body *string `type:"string"`
 20233  
 20234  	// The email address to forward bounces and complaints to, if feedback forwarding
 20235  	// is enabled.
 20236  	FeedbackForwardingAddress *string `type:"string"`
 20237  
 20238  	// The verified email address to send the email message from. The default value
 20239  	// is the FromAddress specified for the email channel.
 20240  	FromAddress *string `type:"string"`
 20241  
 20242  	// The email message, represented as a raw MIME message.
 20243  	RawEmail *RawEmail `type:"structure"`
 20244  
 20245  	// The reply-to email address(es) for the email message. If a recipient replies
 20246  	// to the email, each reply-to address receives the reply.
 20247  	ReplyToAddresses []*string `type:"list"`
 20248  
 20249  	// The email message, composed of a subject, a text part, and an HTML part.
 20250  	SimpleEmail *SimpleEmail `type:"structure"`
 20251  
 20252  	// The default message variables to use in the email message. You can override
 20253  	// the default variables with individual address variables.
 20254  	Substitutions map[string][]*string `type:"map"`
 20255  }
 20256  
 20257  // String returns the string representation.
 20258  //
 20259  // API parameter values that are decorated as "sensitive" in the API will not
 20260  // be included in the string output. The member name will be present, but the
 20261  // value will be replaced with "sensitive".
 20262  func (s EmailMessage) String() string {
 20263  	return awsutil.Prettify(s)
 20264  }
 20265  
 20266  // GoString returns the string representation.
 20267  //
 20268  // API parameter values that are decorated as "sensitive" in the API will not
 20269  // be included in the string output. The member name will be present, but the
 20270  // value will be replaced with "sensitive".
 20271  func (s EmailMessage) GoString() string {
 20272  	return s.String()
 20273  }
 20274  
 20275  // SetBody sets the Body field's value.
 20276  func (s *EmailMessage) SetBody(v string) *EmailMessage {
 20277  	s.Body = &v
 20278  	return s
 20279  }
 20280  
 20281  // SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
 20282  func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
 20283  	s.FeedbackForwardingAddress = &v
 20284  	return s
 20285  }
 20286  
 20287  // SetFromAddress sets the FromAddress field's value.
 20288  func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
 20289  	s.FromAddress = &v
 20290  	return s
 20291  }
 20292  
 20293  // SetRawEmail sets the RawEmail field's value.
 20294  func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
 20295  	s.RawEmail = v
 20296  	return s
 20297  }
 20298  
 20299  // SetReplyToAddresses sets the ReplyToAddresses field's value.
 20300  func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
 20301  	s.ReplyToAddresses = v
 20302  	return s
 20303  }
 20304  
 20305  // SetSimpleEmail sets the SimpleEmail field's value.
 20306  func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
 20307  	s.SimpleEmail = v
 20308  	return s
 20309  }
 20310  
 20311  // SetSubstitutions sets the Substitutions field's value.
 20312  func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
 20313  	s.Substitutions = v
 20314  	return s
 20315  }
 20316  
 20317  // Specifies the settings for an email activity in a journey. This type of activity
 20318  // sends an email message to participants.
 20319  type EmailMessageActivity struct {
 20320  	_ struct{} `type:"structure"`
 20321  
 20322  	// Specifies the sender address for an email message that's sent to participants
 20323  	// in the journey.
 20324  	MessageConfig *JourneyEmailMessage `type:"structure"`
 20325  
 20326  	// The unique identifier for the next activity to perform, after the message
 20327  	// is sent.
 20328  	NextActivity *string `type:"string"`
 20329  
 20330  	// The name of the email message template to use for the message. If specified,
 20331  	// this value must match the name of an existing message template.
 20332  	TemplateName *string `type:"string"`
 20333  
 20334  	// The unique identifier for the version of the email template to use for the
 20335  	// message. If specified, this value must match the identifier for an existing
 20336  	// template version. To retrieve a list of versions and version identifiers
 20337  	// for a template, use the Template Versions resource.
 20338  	//
 20339  	// If you don't specify a value for this property, Amazon Pinpoint uses the
 20340  	// active version of the template. The active version is typically the version
 20341  	// of a template that's been most recently reviewed and approved for use, depending
 20342  	// on your workflow. It isn't necessarily the latest version of a template.
 20343  	TemplateVersion *string `type:"string"`
 20344  }
 20345  
 20346  // String returns the string representation.
 20347  //
 20348  // API parameter values that are decorated as "sensitive" in the API will not
 20349  // be included in the string output. The member name will be present, but the
 20350  // value will be replaced with "sensitive".
 20351  func (s EmailMessageActivity) String() string {
 20352  	return awsutil.Prettify(s)
 20353  }
 20354  
 20355  // GoString returns the string representation.
 20356  //
 20357  // API parameter values that are decorated as "sensitive" in the API will not
 20358  // be included in the string output. The member name will be present, but the
 20359  // value will be replaced with "sensitive".
 20360  func (s EmailMessageActivity) GoString() string {
 20361  	return s.String()
 20362  }
 20363  
 20364  // SetMessageConfig sets the MessageConfig field's value.
 20365  func (s *EmailMessageActivity) SetMessageConfig(v *JourneyEmailMessage) *EmailMessageActivity {
 20366  	s.MessageConfig = v
 20367  	return s
 20368  }
 20369  
 20370  // SetNextActivity sets the NextActivity field's value.
 20371  func (s *EmailMessageActivity) SetNextActivity(v string) *EmailMessageActivity {
 20372  	s.NextActivity = &v
 20373  	return s
 20374  }
 20375  
 20376  // SetTemplateName sets the TemplateName field's value.
 20377  func (s *EmailMessageActivity) SetTemplateName(v string) *EmailMessageActivity {
 20378  	s.TemplateName = &v
 20379  	return s
 20380  }
 20381  
 20382  // SetTemplateVersion sets the TemplateVersion field's value.
 20383  func (s *EmailMessageActivity) SetTemplateVersion(v string) *EmailMessageActivity {
 20384  	s.TemplateVersion = &v
 20385  	return s
 20386  }
 20387  
 20388  // Specifies the content and settings for a message template that can be used
 20389  // in messages that are sent through the email channel.
 20390  type EmailTemplateRequest struct {
 20391  	_ struct{} `type:"structure"`
 20392  
 20393  	// A JSON object that specifies the default values to use for message variables
 20394  	// in the message template. This object is a set of key-value pairs. Each key
 20395  	// defines a message variable in the template. The corresponding value defines
 20396  	// the default value for that variable. When you create a message that's based
 20397  	// on the template, you can override these defaults with message-specific and
 20398  	// address-specific variables and values.
 20399  	DefaultSubstitutions *string `type:"string"`
 20400  
 20401  	// The message body, in HTML format, to use in email messages that are based
 20402  	// on the message template. We recommend using HTML format for email clients
 20403  	// that render HTML content. You can include links, formatted text, and more
 20404  	// in an HTML message.
 20405  	HtmlPart *string `type:"string"`
 20406  
 20407  	// The unique identifier for the recommender model to use for the message template.
 20408  	// Amazon Pinpoint uses this value to determine how to retrieve and process
 20409  	// data from a recommender model when it sends messages that use the template,
 20410  	// if the template contains message variables for recommendation data.
 20411  	RecommenderId *string `type:"string"`
 20412  
 20413  	// The subject line, or title, to use in email messages that are based on the
 20414  	// message template.
 20415  	Subject *string `type:"string"`
 20416  
 20417  	// A string-to-string map of key-value pairs that defines the tags to associate
 20418  	// with the message template. Each tag consists of a required tag key and an
 20419  	// associated tag value.
 20420  	Tags map[string]*string `locationName:"tags" type:"map"`
 20421  
 20422  	// A custom description of the message template.
 20423  	TemplateDescription *string `type:"string"`
 20424  
 20425  	// The message body, in plain text format, to use in email messages that are
 20426  	// based on the message template. We recommend using plain text format for email
 20427  	// clients that don't render HTML content and clients that are connected to
 20428  	// high-latency networks, such as mobile devices.
 20429  	TextPart *string `type:"string"`
 20430  }
 20431  
 20432  // String returns the string representation.
 20433  //
 20434  // API parameter values that are decorated as "sensitive" in the API will not
 20435  // be included in the string output. The member name will be present, but the
 20436  // value will be replaced with "sensitive".
 20437  func (s EmailTemplateRequest) String() string {
 20438  	return awsutil.Prettify(s)
 20439  }
 20440  
 20441  // GoString returns the string representation.
 20442  //
 20443  // API parameter values that are decorated as "sensitive" in the API will not
 20444  // be included in the string output. The member name will be present, but the
 20445  // value will be replaced with "sensitive".
 20446  func (s EmailTemplateRequest) GoString() string {
 20447  	return s.String()
 20448  }
 20449  
 20450  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 20451  func (s *EmailTemplateRequest) SetDefaultSubstitutions(v string) *EmailTemplateRequest {
 20452  	s.DefaultSubstitutions = &v
 20453  	return s
 20454  }
 20455  
 20456  // SetHtmlPart sets the HtmlPart field's value.
 20457  func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest {
 20458  	s.HtmlPart = &v
 20459  	return s
 20460  }
 20461  
 20462  // SetRecommenderId sets the RecommenderId field's value.
 20463  func (s *EmailTemplateRequest) SetRecommenderId(v string) *EmailTemplateRequest {
 20464  	s.RecommenderId = &v
 20465  	return s
 20466  }
 20467  
 20468  // SetSubject sets the Subject field's value.
 20469  func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest {
 20470  	s.Subject = &v
 20471  	return s
 20472  }
 20473  
 20474  // SetTags sets the Tags field's value.
 20475  func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest {
 20476  	s.Tags = v
 20477  	return s
 20478  }
 20479  
 20480  // SetTemplateDescription sets the TemplateDescription field's value.
 20481  func (s *EmailTemplateRequest) SetTemplateDescription(v string) *EmailTemplateRequest {
 20482  	s.TemplateDescription = &v
 20483  	return s
 20484  }
 20485  
 20486  // SetTextPart sets the TextPart field's value.
 20487  func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest {
 20488  	s.TextPart = &v
 20489  	return s
 20490  }
 20491  
 20492  // Provides information about the content and settings for a message template
 20493  // that can be used in messages that are sent through the email channel.
 20494  type EmailTemplateResponse struct {
 20495  	_ struct{} `type:"structure"`
 20496  
 20497  	// The Amazon Resource Name (ARN) of the message template.
 20498  	Arn *string `type:"string"`
 20499  
 20500  	// The date, in ISO 8601 format, when the message template was created.
 20501  	//
 20502  	// CreationDate is a required field
 20503  	CreationDate *string `type:"string" required:"true"`
 20504  
 20505  	// The JSON object that specifies the default values that are used for message
 20506  	// variables in the message template. This object is a set of key-value pairs.
 20507  	// Each key defines a message variable in the template. The corresponding value
 20508  	// defines the default value for that variable.
 20509  	DefaultSubstitutions *string `type:"string"`
 20510  
 20511  	// The message body, in HTML format, that's used in email messages that are
 20512  	// based on the message template.
 20513  	HtmlPart *string `type:"string"`
 20514  
 20515  	// The date, in ISO 8601 format, when the message template was last modified.
 20516  	//
 20517  	// LastModifiedDate is a required field
 20518  	LastModifiedDate *string `type:"string" required:"true"`
 20519  
 20520  	// The unique identifier for the recommender model that's used by the message
 20521  	// template.
 20522  	RecommenderId *string `type:"string"`
 20523  
 20524  	// The subject line, or title, that's used in email messages that are based
 20525  	// on the message template.
 20526  	Subject *string `type:"string"`
 20527  
 20528  	// A string-to-string map of key-value pairs that identifies the tags that are
 20529  	// associated with the message template. Each tag consists of a required tag
 20530  	// key and an associated tag value.
 20531  	Tags map[string]*string `locationName:"tags" type:"map"`
 20532  
 20533  	// The custom description of the message template.
 20534  	TemplateDescription *string `type:"string"`
 20535  
 20536  	// The name of the message template.
 20537  	//
 20538  	// TemplateName is a required field
 20539  	TemplateName *string `type:"string" required:"true"`
 20540  
 20541  	// The type of channel that the message template is designed for. For an email
 20542  	// template, this value is EMAIL.
 20543  	//
 20544  	// TemplateType is a required field
 20545  	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
 20546  
 20547  	// The message body, in plain text format, that's used in email messages that
 20548  	// are based on the message template.
 20549  	TextPart *string `type:"string"`
 20550  
 20551  	// The unique identifier, as an integer, for the active version of the message
 20552  	// template, or the version of the template that you specified by using the
 20553  	// version parameter in your request.
 20554  	Version *string `type:"string"`
 20555  }
 20556  
 20557  // String returns the string representation.
 20558  //
 20559  // API parameter values that are decorated as "sensitive" in the API will not
 20560  // be included in the string output. The member name will be present, but the
 20561  // value will be replaced with "sensitive".
 20562  func (s EmailTemplateResponse) String() string {
 20563  	return awsutil.Prettify(s)
 20564  }
 20565  
 20566  // GoString returns the string representation.
 20567  //
 20568  // API parameter values that are decorated as "sensitive" in the API will not
 20569  // be included in the string output. The member name will be present, but the
 20570  // value will be replaced with "sensitive".
 20571  func (s EmailTemplateResponse) GoString() string {
 20572  	return s.String()
 20573  }
 20574  
 20575  // SetArn sets the Arn field's value.
 20576  func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse {
 20577  	s.Arn = &v
 20578  	return s
 20579  }
 20580  
 20581  // SetCreationDate sets the CreationDate field's value.
 20582  func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse {
 20583  	s.CreationDate = &v
 20584  	return s
 20585  }
 20586  
 20587  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 20588  func (s *EmailTemplateResponse) SetDefaultSubstitutions(v string) *EmailTemplateResponse {
 20589  	s.DefaultSubstitutions = &v
 20590  	return s
 20591  }
 20592  
 20593  // SetHtmlPart sets the HtmlPart field's value.
 20594  func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse {
 20595  	s.HtmlPart = &v
 20596  	return s
 20597  }
 20598  
 20599  // SetLastModifiedDate sets the LastModifiedDate field's value.
 20600  func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse {
 20601  	s.LastModifiedDate = &v
 20602  	return s
 20603  }
 20604  
 20605  // SetRecommenderId sets the RecommenderId field's value.
 20606  func (s *EmailTemplateResponse) SetRecommenderId(v string) *EmailTemplateResponse {
 20607  	s.RecommenderId = &v
 20608  	return s
 20609  }
 20610  
 20611  // SetSubject sets the Subject field's value.
 20612  func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse {
 20613  	s.Subject = &v
 20614  	return s
 20615  }
 20616  
 20617  // SetTags sets the Tags field's value.
 20618  func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse {
 20619  	s.Tags = v
 20620  	return s
 20621  }
 20622  
 20623  // SetTemplateDescription sets the TemplateDescription field's value.
 20624  func (s *EmailTemplateResponse) SetTemplateDescription(v string) *EmailTemplateResponse {
 20625  	s.TemplateDescription = &v
 20626  	return s
 20627  }
 20628  
 20629  // SetTemplateName sets the TemplateName field's value.
 20630  func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse {
 20631  	s.TemplateName = &v
 20632  	return s
 20633  }
 20634  
 20635  // SetTemplateType sets the TemplateType field's value.
 20636  func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse {
 20637  	s.TemplateType = &v
 20638  	return s
 20639  }
 20640  
 20641  // SetTextPart sets the TextPart field's value.
 20642  func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse {
 20643  	s.TextPart = &v
 20644  	return s
 20645  }
 20646  
 20647  // SetVersion sets the Version field's value.
 20648  func (s *EmailTemplateResponse) SetVersion(v string) *EmailTemplateResponse {
 20649  	s.Version = &v
 20650  	return s
 20651  }
 20652  
 20653  // Specifies an endpoint to create or update and the settings and attributes
 20654  // to set or change for the endpoint.
 20655  type EndpointBatchItem struct {
 20656  	_ struct{} `type:"structure"`
 20657  
 20658  	// The destination address for messages or push notifications that you send
 20659  	// to the endpoint. The address varies by channel. For a push-notification channel,
 20660  	// use the token provided by the push notification service, such as an Apple
 20661  	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
 20662  	// (FCM) registration token. For the SMS channel, use a phone number in E.164
 20663  	// format, such as +12065550100. For the email channel, use an email address.
 20664  	Address *string `type:"string"`
 20665  
 20666  	// One or more custom attributes that describe the endpoint by associating a
 20667  	// name with an array of values. For example, the value of a custom attribute
 20668  	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
 20669  	// attributes as filter criteria when you create segments. Attribute names are
 20670  	// case sensitive.
 20671  	//
 20672  	// An attribute name can contain up to 50 characters. An attribute value can
 20673  	// contain up to 100 characters. When you define the name of a custom attribute,
 20674  	// avoid using the following characters: number sign (#), colon (:), question
 20675  	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
 20676  	// display attribute names that contain these characters. This restriction doesn't
 20677  	// apply to attribute values.
 20678  	Attributes map[string][]*string `type:"map"`
 20679  
 20680  	// The channel to use when sending messages or push notifications to the endpoint.
 20681  	ChannelType *string `type:"string" enum:"ChannelType"`
 20682  
 20683  	// The demographic information for the endpoint, such as the time zone and platform.
 20684  	Demographic *EndpointDemographic `type:"structure"`
 20685  
 20686  	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
 20687  	EffectiveDate *string `type:"string"`
 20688  
 20689  	// Specifies whether to send messages or push notifications to the endpoint.
 20690  	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
 20691  	// messages aren’t sent to the endpoint.
 20692  	//
 20693  	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
 20694  	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
 20695  	// this value to INACTIVE if you update another endpoint that has the same address
 20696  	// specified by the Address property.
 20697  	EndpointStatus *string `type:"string"`
 20698  
 20699  	// The unique identifier for the endpoint in the context of the batch.
 20700  	Id *string `type:"string"`
 20701  
 20702  	// The geographic information for the endpoint.
 20703  	Location *EndpointLocation `type:"structure"`
 20704  
 20705  	// One or more custom metrics that your app reports to Amazon Pinpoint for the
 20706  	// endpoint.
 20707  	Metrics map[string]*float64 `type:"map"`
 20708  
 20709  	// Specifies whether the user who's associated with the endpoint has opted out
 20710  	// of receiving messages and push notifications from you. Possible values are:
 20711  	// ALL, the user has opted out and doesn't want to receive any messages or push
 20712  	// notifications; and, NONE, the user hasn't opted out and wants to receive
 20713  	// all messages and push notifications.
 20714  	OptOut *string `type:"string"`
 20715  
 20716  	// The unique identifier for the request to create or update the endpoint.
 20717  	RequestId *string `type:"string"`
 20718  
 20719  	// One or more custom attributes that describe the user who's associated with
 20720  	// the endpoint.
 20721  	User *EndpointUser `type:"structure"`
 20722  }
 20723  
 20724  // String returns the string representation.
 20725  //
 20726  // API parameter values that are decorated as "sensitive" in the API will not
 20727  // be included in the string output. The member name will be present, but the
 20728  // value will be replaced with "sensitive".
 20729  func (s EndpointBatchItem) String() string {
 20730  	return awsutil.Prettify(s)
 20731  }
 20732  
 20733  // GoString returns the string representation.
 20734  //
 20735  // API parameter values that are decorated as "sensitive" in the API will not
 20736  // be included in the string output. The member name will be present, but the
 20737  // value will be replaced with "sensitive".
 20738  func (s EndpointBatchItem) GoString() string {
 20739  	return s.String()
 20740  }
 20741  
 20742  // SetAddress sets the Address field's value.
 20743  func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
 20744  	s.Address = &v
 20745  	return s
 20746  }
 20747  
 20748  // SetAttributes sets the Attributes field's value.
 20749  func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
 20750  	s.Attributes = v
 20751  	return s
 20752  }
 20753  
 20754  // SetChannelType sets the ChannelType field's value.
 20755  func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
 20756  	s.ChannelType = &v
 20757  	return s
 20758  }
 20759  
 20760  // SetDemographic sets the Demographic field's value.
 20761  func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
 20762  	s.Demographic = v
 20763  	return s
 20764  }
 20765  
 20766  // SetEffectiveDate sets the EffectiveDate field's value.
 20767  func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
 20768  	s.EffectiveDate = &v
 20769  	return s
 20770  }
 20771  
 20772  // SetEndpointStatus sets the EndpointStatus field's value.
 20773  func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
 20774  	s.EndpointStatus = &v
 20775  	return s
 20776  }
 20777  
 20778  // SetId sets the Id field's value.
 20779  func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
 20780  	s.Id = &v
 20781  	return s
 20782  }
 20783  
 20784  // SetLocation sets the Location field's value.
 20785  func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
 20786  	s.Location = v
 20787  	return s
 20788  }
 20789  
 20790  // SetMetrics sets the Metrics field's value.
 20791  func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
 20792  	s.Metrics = v
 20793  	return s
 20794  }
 20795  
 20796  // SetOptOut sets the OptOut field's value.
 20797  func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
 20798  	s.OptOut = &v
 20799  	return s
 20800  }
 20801  
 20802  // SetRequestId sets the RequestId field's value.
 20803  func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
 20804  	s.RequestId = &v
 20805  	return s
 20806  }
 20807  
 20808  // SetUser sets the User field's value.
 20809  func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
 20810  	s.User = v
 20811  	return s
 20812  }
 20813  
 20814  // Specifies a batch of endpoints to create or update and the settings and attributes
 20815  // to set or change for each endpoint.
 20816  type EndpointBatchRequest struct {
 20817  	_ struct{} `type:"structure"`
 20818  
 20819  	// An array that defines the endpoints to create or update and, for each endpoint,
 20820  	// the property values to set or change. An array can contain a maximum of 100
 20821  	// items.
 20822  	//
 20823  	// Item is a required field
 20824  	Item []*EndpointBatchItem `type:"list" required:"true"`
 20825  }
 20826  
 20827  // String returns the string representation.
 20828  //
 20829  // API parameter values that are decorated as "sensitive" in the API will not
 20830  // be included in the string output. The member name will be present, but the
 20831  // value will be replaced with "sensitive".
 20832  func (s EndpointBatchRequest) String() string {
 20833  	return awsutil.Prettify(s)
 20834  }
 20835  
 20836  // GoString returns the string representation.
 20837  //
 20838  // API parameter values that are decorated as "sensitive" in the API will not
 20839  // be included in the string output. The member name will be present, but the
 20840  // value will be replaced with "sensitive".
 20841  func (s EndpointBatchRequest) GoString() string {
 20842  	return s.String()
 20843  }
 20844  
 20845  // Validate inspects the fields of the type to determine if they are valid.
 20846  func (s *EndpointBatchRequest) Validate() error {
 20847  	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
 20848  	if s.Item == nil {
 20849  		invalidParams.Add(request.NewErrParamRequired("Item"))
 20850  	}
 20851  
 20852  	if invalidParams.Len() > 0 {
 20853  		return invalidParams
 20854  	}
 20855  	return nil
 20856  }
 20857  
 20858  // SetItem sets the Item field's value.
 20859  func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
 20860  	s.Item = v
 20861  	return s
 20862  }
 20863  
 20864  // Specifies demographic information about an endpoint, such as the applicable
 20865  // time zone and platform.
 20866  type EndpointDemographic struct {
 20867  	_ struct{} `type:"structure"`
 20868  
 20869  	// The version of the app that's associated with the endpoint.
 20870  	AppVersion *string `type:"string"`
 20871  
 20872  	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
 20873  	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
 20874  	Locale *string `type:"string"`
 20875  
 20876  	// The manufacturer of the endpoint device, such as apple or samsung.
 20877  	Make *string `type:"string"`
 20878  
 20879  	// The model name or number of the endpoint device, such as iPhone or SM-G900F.
 20880  	Model *string `type:"string"`
 20881  
 20882  	// The model version of the endpoint device.
 20883  	ModelVersion *string `type:"string"`
 20884  
 20885  	// The platform of the endpoint device, such as ios.
 20886  	Platform *string `type:"string"`
 20887  
 20888  	// The platform version of the endpoint device.
 20889  	PlatformVersion *string `type:"string"`
 20890  
 20891  	// The time zone of the endpoint, specified as a tz database name value, such
 20892  	// as America/Los_Angeles.
 20893  	Timezone *string `type:"string"`
 20894  }
 20895  
 20896  // String returns the string representation.
 20897  //
 20898  // API parameter values that are decorated as "sensitive" in the API will not
 20899  // be included in the string output. The member name will be present, but the
 20900  // value will be replaced with "sensitive".
 20901  func (s EndpointDemographic) String() string {
 20902  	return awsutil.Prettify(s)
 20903  }
 20904  
 20905  // GoString returns the string representation.
 20906  //
 20907  // API parameter values that are decorated as "sensitive" in the API will not
 20908  // be included in the string output. The member name will be present, but the
 20909  // value will be replaced with "sensitive".
 20910  func (s EndpointDemographic) GoString() string {
 20911  	return s.String()
 20912  }
 20913  
 20914  // SetAppVersion sets the AppVersion field's value.
 20915  func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
 20916  	s.AppVersion = &v
 20917  	return s
 20918  }
 20919  
 20920  // SetLocale sets the Locale field's value.
 20921  func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
 20922  	s.Locale = &v
 20923  	return s
 20924  }
 20925  
 20926  // SetMake sets the Make field's value.
 20927  func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
 20928  	s.Make = &v
 20929  	return s
 20930  }
 20931  
 20932  // SetModel sets the Model field's value.
 20933  func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
 20934  	s.Model = &v
 20935  	return s
 20936  }
 20937  
 20938  // SetModelVersion sets the ModelVersion field's value.
 20939  func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
 20940  	s.ModelVersion = &v
 20941  	return s
 20942  }
 20943  
 20944  // SetPlatform sets the Platform field's value.
 20945  func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
 20946  	s.Platform = &v
 20947  	return s
 20948  }
 20949  
 20950  // SetPlatformVersion sets the PlatformVersion field's value.
 20951  func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
 20952  	s.PlatformVersion = &v
 20953  	return s
 20954  }
 20955  
 20956  // SetTimezone sets the Timezone field's value.
 20957  func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
 20958  	s.Timezone = &v
 20959  	return s
 20960  }
 20961  
 20962  // Provides the status code and message that result from processing data for
 20963  // an endpoint.
 20964  type EndpointItemResponse struct {
 20965  	_ struct{} `type:"structure"`
 20966  
 20967  	// The custom message that's returned in the response as a result of processing
 20968  	// the endpoint data.
 20969  	Message *string `type:"string"`
 20970  
 20971  	// The status code that's returned in the response as a result of processing
 20972  	// the endpoint data.
 20973  	StatusCode *int64 `type:"integer"`
 20974  }
 20975  
 20976  // String returns the string representation.
 20977  //
 20978  // API parameter values that are decorated as "sensitive" in the API will not
 20979  // be included in the string output. The member name will be present, but the
 20980  // value will be replaced with "sensitive".
 20981  func (s EndpointItemResponse) String() string {
 20982  	return awsutil.Prettify(s)
 20983  }
 20984  
 20985  // GoString returns the string representation.
 20986  //
 20987  // API parameter values that are decorated as "sensitive" in the API will not
 20988  // be included in the string output. The member name will be present, but the
 20989  // value will be replaced with "sensitive".
 20990  func (s EndpointItemResponse) GoString() string {
 20991  	return s.String()
 20992  }
 20993  
 20994  // SetMessage sets the Message field's value.
 20995  func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
 20996  	s.Message = &v
 20997  	return s
 20998  }
 20999  
 21000  // SetStatusCode sets the StatusCode field's value.
 21001  func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
 21002  	s.StatusCode = &v
 21003  	return s
 21004  }
 21005  
 21006  // Specifies geographic information about an endpoint.
 21007  type EndpointLocation struct {
 21008  	_ struct{} `type:"structure"`
 21009  
 21010  	// The name of the city where the endpoint is located.
 21011  	City *string `type:"string"`
 21012  
 21013  	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
 21014  	// region where the endpoint is located. For example, US for the United States.
 21015  	Country *string `type:"string"`
 21016  
 21017  	// The latitude coordinate of the endpoint location, rounded to one decimal
 21018  	// place.
 21019  	Latitude *float64 `type:"double"`
 21020  
 21021  	// The longitude coordinate of the endpoint location, rounded to one decimal
 21022  	// place.
 21023  	Longitude *float64 `type:"double"`
 21024  
 21025  	// The postal or ZIP code for the area where the endpoint is located.
 21026  	PostalCode *string `type:"string"`
 21027  
 21028  	// The name of the region where the endpoint is located. For locations in the
 21029  	// United States, this value is the name of a state.
 21030  	Region *string `type:"string"`
 21031  }
 21032  
 21033  // String returns the string representation.
 21034  //
 21035  // API parameter values that are decorated as "sensitive" in the API will not
 21036  // be included in the string output. The member name will be present, but the
 21037  // value will be replaced with "sensitive".
 21038  func (s EndpointLocation) String() string {
 21039  	return awsutil.Prettify(s)
 21040  }
 21041  
 21042  // GoString returns the string representation.
 21043  //
 21044  // API parameter values that are decorated as "sensitive" in the API will not
 21045  // be included in the string output. The member name will be present, but the
 21046  // value will be replaced with "sensitive".
 21047  func (s EndpointLocation) GoString() string {
 21048  	return s.String()
 21049  }
 21050  
 21051  // SetCity sets the City field's value.
 21052  func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
 21053  	s.City = &v
 21054  	return s
 21055  }
 21056  
 21057  // SetCountry sets the Country field's value.
 21058  func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
 21059  	s.Country = &v
 21060  	return s
 21061  }
 21062  
 21063  // SetLatitude sets the Latitude field's value.
 21064  func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
 21065  	s.Latitude = &v
 21066  	return s
 21067  }
 21068  
 21069  // SetLongitude sets the Longitude field's value.
 21070  func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
 21071  	s.Longitude = &v
 21072  	return s
 21073  }
 21074  
 21075  // SetPostalCode sets the PostalCode field's value.
 21076  func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
 21077  	s.PostalCode = &v
 21078  	return s
 21079  }
 21080  
 21081  // SetRegion sets the Region field's value.
 21082  func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
 21083  	s.Region = &v
 21084  	return s
 21085  }
 21086  
 21087  // Provides information about the delivery status and results of sending a message
 21088  // directly to an endpoint.
 21089  type EndpointMessageResult struct {
 21090  	_ struct{} `type:"structure"`
 21091  
 21092  	// The endpoint address that the message was delivered to.
 21093  	Address *string `type:"string"`
 21094  
 21095  	// The delivery status of the message. Possible values are:
 21096  	//
 21097  	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
 21098  	//    address. Amazon Pinpoint won't attempt to send the message again.
 21099  	//
 21100  	//    * OPT_OUT - The user who's associated with the endpoint has opted out
 21101  	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
 21102  	//    the message again.
 21103  	//
 21104  	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
 21105  	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
 21106  	//
 21107  	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
 21108  	//
 21109  	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
 21110  	//    attempt to send the message again.
 21111  	//
 21112  	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
 21113  	//    to the endpoint.
 21114  	//
 21115  	//    * TIMEOUT - The message couldn't be sent within the timeout period.
 21116  	//
 21117  	//    * UNKNOWN_FAILURE - An unknown error occurred.
 21118  	//
 21119  	// DeliveryStatus is a required field
 21120  	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
 21121  
 21122  	// The unique identifier for the message that was sent.
 21123  	MessageId *string `type:"string"`
 21124  
 21125  	// The downstream service status code for delivering the message.
 21126  	//
 21127  	// StatusCode is a required field
 21128  	StatusCode *int64 `type:"integer" required:"true"`
 21129  
 21130  	// The status message for delivering the message.
 21131  	StatusMessage *string `type:"string"`
 21132  
 21133  	// For push notifications that are sent through the GCM channel, specifies whether
 21134  	// the endpoint's device registration token was updated as part of delivering
 21135  	// the message.
 21136  	UpdatedToken *string `type:"string"`
 21137  }
 21138  
 21139  // String returns the string representation.
 21140  //
 21141  // API parameter values that are decorated as "sensitive" in the API will not
 21142  // be included in the string output. The member name will be present, but the
 21143  // value will be replaced with "sensitive".
 21144  func (s EndpointMessageResult) String() string {
 21145  	return awsutil.Prettify(s)
 21146  }
 21147  
 21148  // GoString returns the string representation.
 21149  //
 21150  // API parameter values that are decorated as "sensitive" in the API will not
 21151  // be included in the string output. The member name will be present, but the
 21152  // value will be replaced with "sensitive".
 21153  func (s EndpointMessageResult) GoString() string {
 21154  	return s.String()
 21155  }
 21156  
 21157  // SetAddress sets the Address field's value.
 21158  func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
 21159  	s.Address = &v
 21160  	return s
 21161  }
 21162  
 21163  // SetDeliveryStatus sets the DeliveryStatus field's value.
 21164  func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
 21165  	s.DeliveryStatus = &v
 21166  	return s
 21167  }
 21168  
 21169  // SetMessageId sets the MessageId field's value.
 21170  func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
 21171  	s.MessageId = &v
 21172  	return s
 21173  }
 21174  
 21175  // SetStatusCode sets the StatusCode field's value.
 21176  func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
 21177  	s.StatusCode = &v
 21178  	return s
 21179  }
 21180  
 21181  // SetStatusMessage sets the StatusMessage field's value.
 21182  func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
 21183  	s.StatusMessage = &v
 21184  	return s
 21185  }
 21186  
 21187  // SetUpdatedToken sets the UpdatedToken field's value.
 21188  func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
 21189  	s.UpdatedToken = &v
 21190  	return s
 21191  }
 21192  
 21193  // Specifies the channel type and other settings for an endpoint.
 21194  type EndpointRequest struct {
 21195  	_ struct{} `type:"structure"`
 21196  
 21197  	// The destination address for messages or push notifications that you send
 21198  	// to the endpoint. The address varies by channel. For a push-notification channel,
 21199  	// use the token provided by the push notification service, such as an Apple
 21200  	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
 21201  	// (FCM) registration token. For the SMS channel, use a phone number in E.164
 21202  	// format, such as +12065550100. For the email channel, use an email address.
 21203  	Address *string `type:"string"`
 21204  
 21205  	// One or more custom attributes that describe the endpoint by associating a
 21206  	// name with an array of values. For example, the value of a custom attribute
 21207  	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
 21208  	// attributes as filter criteria when you create segments. Attribute names are
 21209  	// case sensitive.
 21210  	//
 21211  	// An attribute name can contain up to 50 characters. An attribute value can
 21212  	// contain up to 100 characters. When you define the name of a custom attribute,
 21213  	// avoid using the following characters: number sign (#), colon (:), question
 21214  	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
 21215  	// display attribute names that contain these characters. This restriction doesn't
 21216  	// apply to attribute values.
 21217  	Attributes map[string][]*string `type:"map"`
 21218  
 21219  	// The channel to use when sending messages or push notifications to the endpoint.
 21220  	ChannelType *string `type:"string" enum:"ChannelType"`
 21221  
 21222  	// The demographic information for the endpoint, such as the time zone and platform.
 21223  	Demographic *EndpointDemographic `type:"structure"`
 21224  
 21225  	// The date and time, in ISO 8601 format, when the endpoint is updated.
 21226  	EffectiveDate *string `type:"string"`
 21227  
 21228  	// Specifies whether to send messages or push notifications to the endpoint.
 21229  	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
 21230  	// messages aren’t sent to the endpoint.
 21231  	//
 21232  	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
 21233  	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
 21234  	// this value to INACTIVE if you update another endpoint that has the same address
 21235  	// specified by the Address property.
 21236  	EndpointStatus *string `type:"string"`
 21237  
 21238  	// The geographic information for the endpoint.
 21239  	Location *EndpointLocation `type:"structure"`
 21240  
 21241  	// One or more custom metrics that your app reports to Amazon Pinpoint for the
 21242  	// endpoint.
 21243  	Metrics map[string]*float64 `type:"map"`
 21244  
 21245  	// Specifies whether the user who's associated with the endpoint has opted out
 21246  	// of receiving messages and push notifications from you. Possible values are:
 21247  	// ALL, the user has opted out and doesn't want to receive any messages or push
 21248  	// notifications; and, NONE, the user hasn't opted out and wants to receive
 21249  	// all messages and push notifications.
 21250  	OptOut *string `type:"string"`
 21251  
 21252  	// The unique identifier for the most recent request to update the endpoint.
 21253  	RequestId *string `type:"string"`
 21254  
 21255  	// One or more custom attributes that describe the user who's associated with
 21256  	// the endpoint.
 21257  	User *EndpointUser `type:"structure"`
 21258  }
 21259  
 21260  // String returns the string representation.
 21261  //
 21262  // API parameter values that are decorated as "sensitive" in the API will not
 21263  // be included in the string output. The member name will be present, but the
 21264  // value will be replaced with "sensitive".
 21265  func (s EndpointRequest) String() string {
 21266  	return awsutil.Prettify(s)
 21267  }
 21268  
 21269  // GoString returns the string representation.
 21270  //
 21271  // API parameter values that are decorated as "sensitive" in the API will not
 21272  // be included in the string output. The member name will be present, but the
 21273  // value will be replaced with "sensitive".
 21274  func (s EndpointRequest) GoString() string {
 21275  	return s.String()
 21276  }
 21277  
 21278  // SetAddress sets the Address field's value.
 21279  func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
 21280  	s.Address = &v
 21281  	return s
 21282  }
 21283  
 21284  // SetAttributes sets the Attributes field's value.
 21285  func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
 21286  	s.Attributes = v
 21287  	return s
 21288  }
 21289  
 21290  // SetChannelType sets the ChannelType field's value.
 21291  func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
 21292  	s.ChannelType = &v
 21293  	return s
 21294  }
 21295  
 21296  // SetDemographic sets the Demographic field's value.
 21297  func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
 21298  	s.Demographic = v
 21299  	return s
 21300  }
 21301  
 21302  // SetEffectiveDate sets the EffectiveDate field's value.
 21303  func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
 21304  	s.EffectiveDate = &v
 21305  	return s
 21306  }
 21307  
 21308  // SetEndpointStatus sets the EndpointStatus field's value.
 21309  func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
 21310  	s.EndpointStatus = &v
 21311  	return s
 21312  }
 21313  
 21314  // SetLocation sets the Location field's value.
 21315  func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
 21316  	s.Location = v
 21317  	return s
 21318  }
 21319  
 21320  // SetMetrics sets the Metrics field's value.
 21321  func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
 21322  	s.Metrics = v
 21323  	return s
 21324  }
 21325  
 21326  // SetOptOut sets the OptOut field's value.
 21327  func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
 21328  	s.OptOut = &v
 21329  	return s
 21330  }
 21331  
 21332  // SetRequestId sets the RequestId field's value.
 21333  func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
 21334  	s.RequestId = &v
 21335  	return s
 21336  }
 21337  
 21338  // SetUser sets the User field's value.
 21339  func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
 21340  	s.User = v
 21341  	return s
 21342  }
 21343  
 21344  // Provides information about the channel type and other settings for an endpoint.
 21345  type EndpointResponse struct {
 21346  	_ struct{} `type:"structure"`
 21347  
 21348  	// The destination address for messages or push notifications that you send
 21349  	// to the endpoint. The address varies by channel. For example, the address
 21350  	// for a push-notification channel is typically the token provided by a push
 21351  	// notification service, such as an Apple Push Notification service (APNs) device
 21352  	// token or a Firebase Cloud Messaging (FCM) registration token. The address
 21353  	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
 21354  	// The address for the email channel is an email address.
 21355  	Address *string `type:"string"`
 21356  
 21357  	// The unique identifier for the application that's associated with the endpoint.
 21358  	ApplicationId *string `type:"string"`
 21359  
 21360  	// One or more custom attributes that describe the endpoint by associating a
 21361  	// name with an array of values. For example, the value of a custom attribute
 21362  	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
 21363  	// attributes as filter criteria when you create segments.
 21364  	Attributes map[string][]*string `type:"map"`
 21365  
 21366  	// The channel that's used when sending messages or push notifications to the
 21367  	// endpoint.
 21368  	ChannelType *string `type:"string" enum:"ChannelType"`
 21369  
 21370  	// A number from 0-99 that represents the cohort that the endpoint is assigned
 21371  	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
 21372  	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
 21373  	// assigns cohorts to the holdout or treatment allocations for campaigns.
 21374  	CohortId *string `type:"string"`
 21375  
 21376  	// The date and time, in ISO 8601 format, when the endpoint was created.
 21377  	CreationDate *string `type:"string"`
 21378  
 21379  	// The demographic information for the endpoint, such as the time zone and platform.
 21380  	Demographic *EndpointDemographic `type:"structure"`
 21381  
 21382  	// The date and time, in ISO 8601 format, when the endpoint was last updated.
 21383  	EffectiveDate *string `type:"string"`
 21384  
 21385  	// Specifies whether messages or push notifications are sent to the endpoint.
 21386  	// Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
 21387  	// messages aren’t sent to the endpoint.
 21388  	//
 21389  	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
 21390  	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
 21391  	// this value to INACTIVE if you update another endpoint that has the same address
 21392  	// specified by the Address property.
 21393  	EndpointStatus *string `type:"string"`
 21394  
 21395  	// The unique identifier that you assigned to the endpoint. The identifier should
 21396  	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
 21397  	// with other endpoint identifiers that are associated with the application.
 21398  	Id *string `type:"string"`
 21399  
 21400  	// The geographic information for the endpoint.
 21401  	Location *EndpointLocation `type:"structure"`
 21402  
 21403  	// One or more custom metrics that your app reports to Amazon Pinpoint for the
 21404  	// endpoint.
 21405  	Metrics map[string]*float64 `type:"map"`
 21406  
 21407  	// Specifies whether the user who's associated with the endpoint has opted out
 21408  	// of receiving messages and push notifications from you. Possible values are:
 21409  	// ALL, the user has opted out and doesn't want to receive any messages or push
 21410  	// notifications; and, NONE, the user hasn't opted out and wants to receive
 21411  	// all messages and push notifications.
 21412  	OptOut *string `type:"string"`
 21413  
 21414  	// The unique identifier for the most recent request to update the endpoint.
 21415  	RequestId *string `type:"string"`
 21416  
 21417  	// One or more custom user attributes that your app reports to Amazon Pinpoint
 21418  	// for the user who's associated with the endpoint.
 21419  	User *EndpointUser `type:"structure"`
 21420  }
 21421  
 21422  // String returns the string representation.
 21423  //
 21424  // API parameter values that are decorated as "sensitive" in the API will not
 21425  // be included in the string output. The member name will be present, but the
 21426  // value will be replaced with "sensitive".
 21427  func (s EndpointResponse) String() string {
 21428  	return awsutil.Prettify(s)
 21429  }
 21430  
 21431  // GoString returns the string representation.
 21432  //
 21433  // API parameter values that are decorated as "sensitive" in the API will not
 21434  // be included in the string output. The member name will be present, but the
 21435  // value will be replaced with "sensitive".
 21436  func (s EndpointResponse) GoString() string {
 21437  	return s.String()
 21438  }
 21439  
 21440  // SetAddress sets the Address field's value.
 21441  func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
 21442  	s.Address = &v
 21443  	return s
 21444  }
 21445  
 21446  // SetApplicationId sets the ApplicationId field's value.
 21447  func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
 21448  	s.ApplicationId = &v
 21449  	return s
 21450  }
 21451  
 21452  // SetAttributes sets the Attributes field's value.
 21453  func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
 21454  	s.Attributes = v
 21455  	return s
 21456  }
 21457  
 21458  // SetChannelType sets the ChannelType field's value.
 21459  func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
 21460  	s.ChannelType = &v
 21461  	return s
 21462  }
 21463  
 21464  // SetCohortId sets the CohortId field's value.
 21465  func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
 21466  	s.CohortId = &v
 21467  	return s
 21468  }
 21469  
 21470  // SetCreationDate sets the CreationDate field's value.
 21471  func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
 21472  	s.CreationDate = &v
 21473  	return s
 21474  }
 21475  
 21476  // SetDemographic sets the Demographic field's value.
 21477  func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
 21478  	s.Demographic = v
 21479  	return s
 21480  }
 21481  
 21482  // SetEffectiveDate sets the EffectiveDate field's value.
 21483  func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
 21484  	s.EffectiveDate = &v
 21485  	return s
 21486  }
 21487  
 21488  // SetEndpointStatus sets the EndpointStatus field's value.
 21489  func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
 21490  	s.EndpointStatus = &v
 21491  	return s
 21492  }
 21493  
 21494  // SetId sets the Id field's value.
 21495  func (s *EndpointResponse) SetId(v string) *EndpointResponse {
 21496  	s.Id = &v
 21497  	return s
 21498  }
 21499  
 21500  // SetLocation sets the Location field's value.
 21501  func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
 21502  	s.Location = v
 21503  	return s
 21504  }
 21505  
 21506  // SetMetrics sets the Metrics field's value.
 21507  func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
 21508  	s.Metrics = v
 21509  	return s
 21510  }
 21511  
 21512  // SetOptOut sets the OptOut field's value.
 21513  func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
 21514  	s.OptOut = &v
 21515  	return s
 21516  }
 21517  
 21518  // SetRequestId sets the RequestId field's value.
 21519  func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
 21520  	s.RequestId = &v
 21521  	return s
 21522  }
 21523  
 21524  // SetUser sets the User field's value.
 21525  func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
 21526  	s.User = v
 21527  	return s
 21528  }
 21529  
 21530  // Specifies the content, including message variables and attributes, to use
 21531  // in a message that's sent directly to an endpoint.
 21532  type EndpointSendConfiguration struct {
 21533  	_ struct{} `type:"structure"`
 21534  
 21535  	// The body of the message. If specified, this value overrides the default message
 21536  	// body.
 21537  	BodyOverride *string `type:"string"`
 21538  
 21539  	// A map of custom attributes to attach to the message for the address. Attribute
 21540  	// names are case sensitive.
 21541  	//
 21542  	// For a push notification, this payload is added to the data.pinpoint object.
 21543  	// For an email or text message, this payload is added to email/SMS delivery
 21544  	// receipt event attributes.
 21545  	Context map[string]*string `type:"map"`
 21546  
 21547  	// The raw, JSON-formatted string to use as the payload for the message. If
 21548  	// specified, this value overrides all other values for the message.
 21549  	RawContent *string `type:"string"`
 21550  
 21551  	// A map of the message variables to merge with the variables specified for
 21552  	// the default message (DefaultMessage.Substitutions). The variables specified
 21553  	// in this map take precedence over all other variables.
 21554  	Substitutions map[string][]*string `type:"map"`
 21555  
 21556  	// The title or subject line of the message. If specified, this value overrides
 21557  	// the default message title or subject line.
 21558  	TitleOverride *string `type:"string"`
 21559  }
 21560  
 21561  // String returns the string representation.
 21562  //
 21563  // API parameter values that are decorated as "sensitive" in the API will not
 21564  // be included in the string output. The member name will be present, but the
 21565  // value will be replaced with "sensitive".
 21566  func (s EndpointSendConfiguration) String() string {
 21567  	return awsutil.Prettify(s)
 21568  }
 21569  
 21570  // GoString returns the string representation.
 21571  //
 21572  // API parameter values that are decorated as "sensitive" in the API will not
 21573  // be included in the string output. The member name will be present, but the
 21574  // value will be replaced with "sensitive".
 21575  func (s EndpointSendConfiguration) GoString() string {
 21576  	return s.String()
 21577  }
 21578  
 21579  // SetBodyOverride sets the BodyOverride field's value.
 21580  func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
 21581  	s.BodyOverride = &v
 21582  	return s
 21583  }
 21584  
 21585  // SetContext sets the Context field's value.
 21586  func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
 21587  	s.Context = v
 21588  	return s
 21589  }
 21590  
 21591  // SetRawContent sets the RawContent field's value.
 21592  func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
 21593  	s.RawContent = &v
 21594  	return s
 21595  }
 21596  
 21597  // SetSubstitutions sets the Substitutions field's value.
 21598  func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
 21599  	s.Substitutions = v
 21600  	return s
 21601  }
 21602  
 21603  // SetTitleOverride sets the TitleOverride field's value.
 21604  func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
 21605  	s.TitleOverride = &v
 21606  	return s
 21607  }
 21608  
 21609  // Specifies data for one or more attributes that describe the user who's associated
 21610  // with an endpoint.
 21611  type EndpointUser struct {
 21612  	_ struct{} `type:"structure"`
 21613  
 21614  	// One or more custom attributes that describe the user by associating a name
 21615  	// with an array of values. For example, the value of an attribute named Interests
 21616  	// might be: ["Science", "Music", "Travel"]. You can use these attributes as
 21617  	// filter criteria when you create segments. Attribute names are case sensitive.
 21618  	//
 21619  	// An attribute name can contain up to 50 characters. An attribute value can
 21620  	// contain up to 100 characters. When you define the name of a custom attribute,
 21621  	// avoid using the following characters: number sign (#), colon (:), question
 21622  	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
 21623  	// display attribute names that contain these characters. This restriction doesn't
 21624  	// apply to attribute values.
 21625  	UserAttributes map[string][]*string `type:"map"`
 21626  
 21627  	// The unique identifier for the user.
 21628  	UserId *string `type:"string"`
 21629  }
 21630  
 21631  // String returns the string representation.
 21632  //
 21633  // API parameter values that are decorated as "sensitive" in the API will not
 21634  // be included in the string output. The member name will be present, but the
 21635  // value will be replaced with "sensitive".
 21636  func (s EndpointUser) String() string {
 21637  	return awsutil.Prettify(s)
 21638  }
 21639  
 21640  // GoString returns the string representation.
 21641  //
 21642  // API parameter values that are decorated as "sensitive" in the API will not
 21643  // be included in the string output. The member name will be present, but the
 21644  // value will be replaced with "sensitive".
 21645  func (s EndpointUser) GoString() string {
 21646  	return s.String()
 21647  }
 21648  
 21649  // SetUserAttributes sets the UserAttributes field's value.
 21650  func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
 21651  	s.UserAttributes = v
 21652  	return s
 21653  }
 21654  
 21655  // SetUserId sets the UserId field's value.
 21656  func (s *EndpointUser) SetUserId(v string) *EndpointUser {
 21657  	s.UserId = &v
 21658  	return s
 21659  }
 21660  
 21661  // Provides information about all the endpoints that are associated with a user
 21662  // ID.
 21663  type EndpointsResponse struct {
 21664  	_ struct{} `type:"structure"`
 21665  
 21666  	// An array of responses, one for each endpoint that's associated with the user
 21667  	// ID.
 21668  	//
 21669  	// Item is a required field
 21670  	Item []*EndpointResponse `type:"list" required:"true"`
 21671  }
 21672  
 21673  // String returns the string representation.
 21674  //
 21675  // API parameter values that are decorated as "sensitive" in the API will not
 21676  // be included in the string output. The member name will be present, but the
 21677  // value will be replaced with "sensitive".
 21678  func (s EndpointsResponse) String() string {
 21679  	return awsutil.Prettify(s)
 21680  }
 21681  
 21682  // GoString returns the string representation.
 21683  //
 21684  // API parameter values that are decorated as "sensitive" in the API will not
 21685  // be included in the string output. The member name will be present, but the
 21686  // value will be replaced with "sensitive".
 21687  func (s EndpointsResponse) GoString() string {
 21688  	return s.String()
 21689  }
 21690  
 21691  // SetItem sets the Item field's value.
 21692  func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
 21693  	s.Item = v
 21694  	return s
 21695  }
 21696  
 21697  // Specifies information about an event that reports data to Amazon Pinpoint.
 21698  type Event struct {
 21699  	_ struct{} `type:"structure"`
 21700  
 21701  	// The package name of the app that's recording the event.
 21702  	AppPackageName *string `type:"string"`
 21703  
 21704  	// The title of the app that's recording the event.
 21705  	AppTitle *string `type:"string"`
 21706  
 21707  	// The version number of the app that's recording the event.
 21708  	AppVersionCode *string `type:"string"`
 21709  
 21710  	// One or more custom attributes that are associated with the event.
 21711  	Attributes map[string]*string `type:"map"`
 21712  
 21713  	// The version of the SDK that's running on the client device.
 21714  	ClientSdkVersion *string `type:"string"`
 21715  
 21716  	// The name of the event.
 21717  	//
 21718  	// EventType is a required field
 21719  	EventType *string `type:"string" required:"true"`
 21720  
 21721  	// One or more custom metrics that are associated with the event.
 21722  	Metrics map[string]*float64 `type:"map"`
 21723  
 21724  	// The name of the SDK that's being used to record the event.
 21725  	SdkName *string `type:"string"`
 21726  
 21727  	// Information about the session in which the event occurred.
 21728  	Session *Session `type:"structure"`
 21729  
 21730  	// The date and time, in ISO 8601 format, when the event occurred.
 21731  	//
 21732  	// Timestamp is a required field
 21733  	Timestamp *string `type:"string" required:"true"`
 21734  }
 21735  
 21736  // String returns the string representation.
 21737  //
 21738  // API parameter values that are decorated as "sensitive" in the API will not
 21739  // be included in the string output. The member name will be present, but the
 21740  // value will be replaced with "sensitive".
 21741  func (s Event) String() string {
 21742  	return awsutil.Prettify(s)
 21743  }
 21744  
 21745  // GoString returns the string representation.
 21746  //
 21747  // API parameter values that are decorated as "sensitive" in the API will not
 21748  // be included in the string output. The member name will be present, but the
 21749  // value will be replaced with "sensitive".
 21750  func (s Event) GoString() string {
 21751  	return s.String()
 21752  }
 21753  
 21754  // Validate inspects the fields of the type to determine if they are valid.
 21755  func (s *Event) Validate() error {
 21756  	invalidParams := request.ErrInvalidParams{Context: "Event"}
 21757  	if s.EventType == nil {
 21758  		invalidParams.Add(request.NewErrParamRequired("EventType"))
 21759  	}
 21760  	if s.Timestamp == nil {
 21761  		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
 21762  	}
 21763  	if s.Session != nil {
 21764  		if err := s.Session.Validate(); err != nil {
 21765  			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
 21766  		}
 21767  	}
 21768  
 21769  	if invalidParams.Len() > 0 {
 21770  		return invalidParams
 21771  	}
 21772  	return nil
 21773  }
 21774  
 21775  // SetAppPackageName sets the AppPackageName field's value.
 21776  func (s *Event) SetAppPackageName(v string) *Event {
 21777  	s.AppPackageName = &v
 21778  	return s
 21779  }
 21780  
 21781  // SetAppTitle sets the AppTitle field's value.
 21782  func (s *Event) SetAppTitle(v string) *Event {
 21783  	s.AppTitle = &v
 21784  	return s
 21785  }
 21786  
 21787  // SetAppVersionCode sets the AppVersionCode field's value.
 21788  func (s *Event) SetAppVersionCode(v string) *Event {
 21789  	s.AppVersionCode = &v
 21790  	return s
 21791  }
 21792  
 21793  // SetAttributes sets the Attributes field's value.
 21794  func (s *Event) SetAttributes(v map[string]*string) *Event {
 21795  	s.Attributes = v
 21796  	return s
 21797  }
 21798  
 21799  // SetClientSdkVersion sets the ClientSdkVersion field's value.
 21800  func (s *Event) SetClientSdkVersion(v string) *Event {
 21801  	s.ClientSdkVersion = &v
 21802  	return s
 21803  }
 21804  
 21805  // SetEventType sets the EventType field's value.
 21806  func (s *Event) SetEventType(v string) *Event {
 21807  	s.EventType = &v
 21808  	return s
 21809  }
 21810  
 21811  // SetMetrics sets the Metrics field's value.
 21812  func (s *Event) SetMetrics(v map[string]*float64) *Event {
 21813  	s.Metrics = v
 21814  	return s
 21815  }
 21816  
 21817  // SetSdkName sets the SdkName field's value.
 21818  func (s *Event) SetSdkName(v string) *Event {
 21819  	s.SdkName = &v
 21820  	return s
 21821  }
 21822  
 21823  // SetSession sets the Session field's value.
 21824  func (s *Event) SetSession(v *Session) *Event {
 21825  	s.Session = v
 21826  	return s
 21827  }
 21828  
 21829  // SetTimestamp sets the Timestamp field's value.
 21830  func (s *Event) SetTimestamp(v string) *Event {
 21831  	s.Timestamp = &v
 21832  	return s
 21833  }
 21834  
 21835  // Specifies the conditions to evaluate for an event that applies to an activity
 21836  // in a journey.
 21837  type EventCondition struct {
 21838  	_ struct{} `type:"structure"`
 21839  
 21840  	// The dimensions for the event filter to use for the activity.
 21841  	Dimensions *EventDimensions `type:"structure"`
 21842  
 21843  	// The message identifier (message_id) for the message to use when determining
 21844  	// whether message events meet the condition.
 21845  	MessageActivity *string `type:"string"`
 21846  }
 21847  
 21848  // String returns the string representation.
 21849  //
 21850  // API parameter values that are decorated as "sensitive" in the API will not
 21851  // be included in the string output. The member name will be present, but the
 21852  // value will be replaced with "sensitive".
 21853  func (s EventCondition) String() string {
 21854  	return awsutil.Prettify(s)
 21855  }
 21856  
 21857  // GoString returns the string representation.
 21858  //
 21859  // API parameter values that are decorated as "sensitive" in the API will not
 21860  // be included in the string output. The member name will be present, but the
 21861  // value will be replaced with "sensitive".
 21862  func (s EventCondition) GoString() string {
 21863  	return s.String()
 21864  }
 21865  
 21866  // Validate inspects the fields of the type to determine if they are valid.
 21867  func (s *EventCondition) Validate() error {
 21868  	invalidParams := request.ErrInvalidParams{Context: "EventCondition"}
 21869  	if s.Dimensions != nil {
 21870  		if err := s.Dimensions.Validate(); err != nil {
 21871  			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
 21872  		}
 21873  	}
 21874  
 21875  	if invalidParams.Len() > 0 {
 21876  		return invalidParams
 21877  	}
 21878  	return nil
 21879  }
 21880  
 21881  // SetDimensions sets the Dimensions field's value.
 21882  func (s *EventCondition) SetDimensions(v *EventDimensions) *EventCondition {
 21883  	s.Dimensions = v
 21884  	return s
 21885  }
 21886  
 21887  // SetMessageActivity sets the MessageActivity field's value.
 21888  func (s *EventCondition) SetMessageActivity(v string) *EventCondition {
 21889  	s.MessageActivity = &v
 21890  	return s
 21891  }
 21892  
 21893  // Specifies the dimensions for an event filter that determines when a campaign
 21894  // is sent or a journey activity is performed.
 21895  type EventDimensions struct {
 21896  	_ struct{} `type:"structure"`
 21897  
 21898  	// One or more custom attributes that your application reports to Amazon Pinpoint.
 21899  	// You can use these attributes as selection criteria when you create an event
 21900  	// filter.
 21901  	Attributes map[string]*AttributeDimension `type:"map"`
 21902  
 21903  	// The name of the event that causes the campaign to be sent or the journey
 21904  	// activity to be performed. This can be a standard event that Amazon Pinpoint
 21905  	// generates, such as _email.delivered. For campaigns, this can also be a custom
 21906  	// event that's specific to your application. For information about standard
 21907  	// events, see Streaming Amazon Pinpoint Events (https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html)
 21908  	// in the Amazon Pinpoint Developer Guide.
 21909  	EventType *SetDimension `type:"structure"`
 21910  
 21911  	// One or more custom metrics that your application reports to Amazon Pinpoint.
 21912  	// You can use these metrics as selection criteria when you create an event
 21913  	// filter.
 21914  	Metrics map[string]*MetricDimension `type:"map"`
 21915  }
 21916  
 21917  // String returns the string representation.
 21918  //
 21919  // API parameter values that are decorated as "sensitive" in the API will not
 21920  // be included in the string output. The member name will be present, but the
 21921  // value will be replaced with "sensitive".
 21922  func (s EventDimensions) String() string {
 21923  	return awsutil.Prettify(s)
 21924  }
 21925  
 21926  // GoString returns the string representation.
 21927  //
 21928  // API parameter values that are decorated as "sensitive" in the API will not
 21929  // be included in the string output. The member name will be present, but the
 21930  // value will be replaced with "sensitive".
 21931  func (s EventDimensions) GoString() string {
 21932  	return s.String()
 21933  }
 21934  
 21935  // Validate inspects the fields of the type to determine if they are valid.
 21936  func (s *EventDimensions) Validate() error {
 21937  	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
 21938  	if s.Attributes != nil {
 21939  		for i, v := range s.Attributes {
 21940  			if v == nil {
 21941  				continue
 21942  			}
 21943  			if err := v.Validate(); err != nil {
 21944  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
 21945  			}
 21946  		}
 21947  	}
 21948  	if s.EventType != nil {
 21949  		if err := s.EventType.Validate(); err != nil {
 21950  			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
 21951  		}
 21952  	}
 21953  	if s.Metrics != nil {
 21954  		for i, v := range s.Metrics {
 21955  			if v == nil {
 21956  				continue
 21957  			}
 21958  			if err := v.Validate(); err != nil {
 21959  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
 21960  			}
 21961  		}
 21962  	}
 21963  
 21964  	if invalidParams.Len() > 0 {
 21965  		return invalidParams
 21966  	}
 21967  	return nil
 21968  }
 21969  
 21970  // SetAttributes sets the Attributes field's value.
 21971  func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
 21972  	s.Attributes = v
 21973  	return s
 21974  }
 21975  
 21976  // SetEventType sets the EventType field's value.
 21977  func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
 21978  	s.EventType = v
 21979  	return s
 21980  }
 21981  
 21982  // SetMetrics sets the Metrics field's value.
 21983  func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
 21984  	s.Metrics = v
 21985  	return s
 21986  }
 21987  
 21988  // Specifies the settings for an event that causes a campaign to be sent or
 21989  // a journey activity to be performed.
 21990  type EventFilter struct {
 21991  	_ struct{} `type:"structure"`
 21992  
 21993  	// The dimensions for the event filter to use for the campaign or the journey
 21994  	// activity.
 21995  	//
 21996  	// Dimensions is a required field
 21997  	Dimensions *EventDimensions `type:"structure" required:"true"`
 21998  
 21999  	// The type of event that causes the campaign to be sent or the journey activity
 22000  	// to be performed. Valid values are: SYSTEM, sends the campaign or performs
 22001  	// the activity when a system event occurs; and, ENDPOINT, sends the campaign
 22002  	// or performs the activity when an endpoint event (Events resource) occurs.
 22003  	//
 22004  	// FilterType is a required field
 22005  	FilterType *string `type:"string" required:"true" enum:"FilterType"`
 22006  }
 22007  
 22008  // String returns the string representation.
 22009  //
 22010  // API parameter values that are decorated as "sensitive" in the API will not
 22011  // be included in the string output. The member name will be present, but the
 22012  // value will be replaced with "sensitive".
 22013  func (s EventFilter) String() string {
 22014  	return awsutil.Prettify(s)
 22015  }
 22016  
 22017  // GoString returns the string representation.
 22018  //
 22019  // API parameter values that are decorated as "sensitive" in the API will not
 22020  // be included in the string output. The member name will be present, but the
 22021  // value will be replaced with "sensitive".
 22022  func (s EventFilter) GoString() string {
 22023  	return s.String()
 22024  }
 22025  
 22026  // Validate inspects the fields of the type to determine if they are valid.
 22027  func (s *EventFilter) Validate() error {
 22028  	invalidParams := request.ErrInvalidParams{Context: "EventFilter"}
 22029  	if s.Dimensions == nil {
 22030  		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
 22031  	}
 22032  	if s.FilterType == nil {
 22033  		invalidParams.Add(request.NewErrParamRequired("FilterType"))
 22034  	}
 22035  	if s.Dimensions != nil {
 22036  		if err := s.Dimensions.Validate(); err != nil {
 22037  			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
 22038  		}
 22039  	}
 22040  
 22041  	if invalidParams.Len() > 0 {
 22042  		return invalidParams
 22043  	}
 22044  	return nil
 22045  }
 22046  
 22047  // SetDimensions sets the Dimensions field's value.
 22048  func (s *EventFilter) SetDimensions(v *EventDimensions) *EventFilter {
 22049  	s.Dimensions = v
 22050  	return s
 22051  }
 22052  
 22053  // SetFilterType sets the FilterType field's value.
 22054  func (s *EventFilter) SetFilterType(v string) *EventFilter {
 22055  	s.FilterType = &v
 22056  	return s
 22057  }
 22058  
 22059  // Provides the status code and message that result from processing an event.
 22060  type EventItemResponse struct {
 22061  	_ struct{} `type:"structure"`
 22062  
 22063  	// A custom message that's returned in the response as a result of processing
 22064  	// the event.
 22065  	Message *string `type:"string"`
 22066  
 22067  	// The status code that's returned in the response as a result of processing
 22068  	// the event. Possible values are: 202, for events that were accepted; and,
 22069  	// 400, for events that weren't valid.
 22070  	StatusCode *int64 `type:"integer"`
 22071  }
 22072  
 22073  // String returns the string representation.
 22074  //
 22075  // API parameter values that are decorated as "sensitive" in the API will not
 22076  // be included in the string output. The member name will be present, but the
 22077  // value will be replaced with "sensitive".
 22078  func (s EventItemResponse) String() string {
 22079  	return awsutil.Prettify(s)
 22080  }
 22081  
 22082  // GoString returns the string representation.
 22083  //
 22084  // API parameter values that are decorated as "sensitive" in the API will not
 22085  // be included in the string output. The member name will be present, but the
 22086  // value will be replaced with "sensitive".
 22087  func (s EventItemResponse) GoString() string {
 22088  	return s.String()
 22089  }
 22090  
 22091  // SetMessage sets the Message field's value.
 22092  func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
 22093  	s.Message = &v
 22094  	return s
 22095  }
 22096  
 22097  // SetStatusCode sets the StatusCode field's value.
 22098  func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
 22099  	s.StatusCode = &v
 22100  	return s
 22101  }
 22102  
 22103  // Specifies the settings for an event that causes a journey activity to start.
 22104  type EventStartCondition struct {
 22105  	_ struct{} `type:"structure"`
 22106  
 22107  	// Specifies the settings for an event that causes a campaign to be sent or
 22108  	// a journey activity to be performed.
 22109  	EventFilter *EventFilter `type:"structure"`
 22110  
 22111  	SegmentId *string `type:"string"`
 22112  }
 22113  
 22114  // String returns the string representation.
 22115  //
 22116  // API parameter values that are decorated as "sensitive" in the API will not
 22117  // be included in the string output. The member name will be present, but the
 22118  // value will be replaced with "sensitive".
 22119  func (s EventStartCondition) String() string {
 22120  	return awsutil.Prettify(s)
 22121  }
 22122  
 22123  // GoString returns the string representation.
 22124  //
 22125  // API parameter values that are decorated as "sensitive" in the API will not
 22126  // be included in the string output. The member name will be present, but the
 22127  // value will be replaced with "sensitive".
 22128  func (s EventStartCondition) GoString() string {
 22129  	return s.String()
 22130  }
 22131  
 22132  // Validate inspects the fields of the type to determine if they are valid.
 22133  func (s *EventStartCondition) Validate() error {
 22134  	invalidParams := request.ErrInvalidParams{Context: "EventStartCondition"}
 22135  	if s.EventFilter != nil {
 22136  		if err := s.EventFilter.Validate(); err != nil {
 22137  			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
 22138  		}
 22139  	}
 22140  
 22141  	if invalidParams.Len() > 0 {
 22142  		return invalidParams
 22143  	}
 22144  	return nil
 22145  }
 22146  
 22147  // SetEventFilter sets the EventFilter field's value.
 22148  func (s *EventStartCondition) SetEventFilter(v *EventFilter) *EventStartCondition {
 22149  	s.EventFilter = v
 22150  	return s
 22151  }
 22152  
 22153  // SetSegmentId sets the SegmentId field's value.
 22154  func (s *EventStartCondition) SetSegmentId(v string) *EventStartCondition {
 22155  	s.SegmentId = &v
 22156  	return s
 22157  }
 22158  
 22159  // Specifies settings for publishing event data to an Amazon Kinesis data stream
 22160  // or an Amazon Kinesis Data Firehose delivery stream.
 22161  type EventStream struct {
 22162  	_ struct{} `type:"structure"`
 22163  
 22164  	// The unique identifier for the application to publish event data for.
 22165  	//
 22166  	// ApplicationId is a required field
 22167  	ApplicationId *string `type:"string" required:"true"`
 22168  
 22169  	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
 22170  	// Kinesis Data Firehose delivery stream to publish event data to.
 22171  	//
 22172  	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
 22173  	//
 22174  	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
 22175  	//
 22176  	// DestinationStreamArn is a required field
 22177  	DestinationStreamArn *string `type:"string" required:"true"`
 22178  
 22179  	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
 22180  	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
 22181  	// an IAM role when publishing event data, but we removed this requirement.
 22182  	// We don't recommend use of external IDs for IAM roles that are assumed by
 22183  	// Amazon Pinpoint.
 22184  	ExternalId *string `type:"string"`
 22185  
 22186  	// The date, in ISO 8601 format, when the event stream was last modified.
 22187  	LastModifiedDate *string `type:"string"`
 22188  
 22189  	// The IAM user who last modified the event stream.
 22190  	LastUpdatedBy *string `type:"string"`
 22191  
 22192  	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
 22193  	// Pinpoint to publish event data to the stream in your AWS account.
 22194  	//
 22195  	// RoleArn is a required field
 22196  	RoleArn *string `type:"string" required:"true"`
 22197  }
 22198  
 22199  // String returns the string representation.
 22200  //
 22201  // API parameter values that are decorated as "sensitive" in the API will not
 22202  // be included in the string output. The member name will be present, but the
 22203  // value will be replaced with "sensitive".
 22204  func (s EventStream) String() string {
 22205  	return awsutil.Prettify(s)
 22206  }
 22207  
 22208  // GoString returns the string representation.
 22209  //
 22210  // API parameter values that are decorated as "sensitive" in the API will not
 22211  // be included in the string output. The member name will be present, but the
 22212  // value will be replaced with "sensitive".
 22213  func (s EventStream) GoString() string {
 22214  	return s.String()
 22215  }
 22216  
 22217  // SetApplicationId sets the ApplicationId field's value.
 22218  func (s *EventStream) SetApplicationId(v string) *EventStream {
 22219  	s.ApplicationId = &v
 22220  	return s
 22221  }
 22222  
 22223  // SetDestinationStreamArn sets the DestinationStreamArn field's value.
 22224  func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
 22225  	s.DestinationStreamArn = &v
 22226  	return s
 22227  }
 22228  
 22229  // SetExternalId sets the ExternalId field's value.
 22230  func (s *EventStream) SetExternalId(v string) *EventStream {
 22231  	s.ExternalId = &v
 22232  	return s
 22233  }
 22234  
 22235  // SetLastModifiedDate sets the LastModifiedDate field's value.
 22236  func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
 22237  	s.LastModifiedDate = &v
 22238  	return s
 22239  }
 22240  
 22241  // SetLastUpdatedBy sets the LastUpdatedBy field's value.
 22242  func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
 22243  	s.LastUpdatedBy = &v
 22244  	return s
 22245  }
 22246  
 22247  // SetRoleArn sets the RoleArn field's value.
 22248  func (s *EventStream) SetRoleArn(v string) *EventStream {
 22249  	s.RoleArn = &v
 22250  	return s
 22251  }
 22252  
 22253  // Specifies a batch of endpoints and events to process.
 22254  type EventsBatch struct {
 22255  	_ struct{} `type:"structure"`
 22256  
 22257  	// A set of properties and attributes that are associated with the endpoint.
 22258  	//
 22259  	// Endpoint is a required field
 22260  	Endpoint *PublicEndpoint `type:"structure" required:"true"`
 22261  
 22262  	// A set of properties that are associated with the event.
 22263  	//
 22264  	// Events is a required field
 22265  	Events map[string]*Event `type:"map" required:"true"`
 22266  }
 22267  
 22268  // String returns the string representation.
 22269  //
 22270  // API parameter values that are decorated as "sensitive" in the API will not
 22271  // be included in the string output. The member name will be present, but the
 22272  // value will be replaced with "sensitive".
 22273  func (s EventsBatch) String() string {
 22274  	return awsutil.Prettify(s)
 22275  }
 22276  
 22277  // GoString returns the string representation.
 22278  //
 22279  // API parameter values that are decorated as "sensitive" in the API will not
 22280  // be included in the string output. The member name will be present, but the
 22281  // value will be replaced with "sensitive".
 22282  func (s EventsBatch) GoString() string {
 22283  	return s.String()
 22284  }
 22285  
 22286  // Validate inspects the fields of the type to determine if they are valid.
 22287  func (s *EventsBatch) Validate() error {
 22288  	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
 22289  	if s.Endpoint == nil {
 22290  		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
 22291  	}
 22292  	if s.Events == nil {
 22293  		invalidParams.Add(request.NewErrParamRequired("Events"))
 22294  	}
 22295  	if s.Events != nil {
 22296  		for i, v := range s.Events {
 22297  			if v == nil {
 22298  				continue
 22299  			}
 22300  			if err := v.Validate(); err != nil {
 22301  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
 22302  			}
 22303  		}
 22304  	}
 22305  
 22306  	if invalidParams.Len() > 0 {
 22307  		return invalidParams
 22308  	}
 22309  	return nil
 22310  }
 22311  
 22312  // SetEndpoint sets the Endpoint field's value.
 22313  func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
 22314  	s.Endpoint = v
 22315  	return s
 22316  }
 22317  
 22318  // SetEvents sets the Events field's value.
 22319  func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
 22320  	s.Events = v
 22321  	return s
 22322  }
 22323  
 22324  // Specifies a batch of events to process.
 22325  type EventsRequest struct {
 22326  	_ struct{} `type:"structure"`
 22327  
 22328  	// The batch of events to process. For each item in a batch, the endpoint ID
 22329  	// acts as a key that has an EventsBatch object as its value.
 22330  	//
 22331  	// BatchItem is a required field
 22332  	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
 22333  }
 22334  
 22335  // String returns the string representation.
 22336  //
 22337  // API parameter values that are decorated as "sensitive" in the API will not
 22338  // be included in the string output. The member name will be present, but the
 22339  // value will be replaced with "sensitive".
 22340  func (s EventsRequest) String() string {
 22341  	return awsutil.Prettify(s)
 22342  }
 22343  
 22344  // GoString returns the string representation.
 22345  //
 22346  // API parameter values that are decorated as "sensitive" in the API will not
 22347  // be included in the string output. The member name will be present, but the
 22348  // value will be replaced with "sensitive".
 22349  func (s EventsRequest) GoString() string {
 22350  	return s.String()
 22351  }
 22352  
 22353  // Validate inspects the fields of the type to determine if they are valid.
 22354  func (s *EventsRequest) Validate() error {
 22355  	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
 22356  	if s.BatchItem == nil {
 22357  		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
 22358  	}
 22359  	if s.BatchItem != nil {
 22360  		for i, v := range s.BatchItem {
 22361  			if v == nil {
 22362  				continue
 22363  			}
 22364  			if err := v.Validate(); err != nil {
 22365  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
 22366  			}
 22367  		}
 22368  	}
 22369  
 22370  	if invalidParams.Len() > 0 {
 22371  		return invalidParams
 22372  	}
 22373  	return nil
 22374  }
 22375  
 22376  // SetBatchItem sets the BatchItem field's value.
 22377  func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
 22378  	s.BatchItem = v
 22379  	return s
 22380  }
 22381  
 22382  // Provides information about endpoints and the events that they're associated
 22383  // with.
 22384  type EventsResponse struct {
 22385  	_ struct{} `type:"structure"`
 22386  
 22387  	// A map that contains a multipart response for each endpoint. For each item
 22388  	// in this object, the endpoint ID is the key and the item response is the value.
 22389  	// If no item response exists, the value can also be one of the following: 202,
 22390  	// the request was processed successfully; or 400, the payload wasn't valid
 22391  	// or required fields were missing.
 22392  	Results map[string]*ItemResponse `type:"map"`
 22393  }
 22394  
 22395  // String returns the string representation.
 22396  //
 22397  // API parameter values that are decorated as "sensitive" in the API will not
 22398  // be included in the string output. The member name will be present, but the
 22399  // value will be replaced with "sensitive".
 22400  func (s EventsResponse) String() string {
 22401  	return awsutil.Prettify(s)
 22402  }
 22403  
 22404  // GoString returns the string representation.
 22405  //
 22406  // API parameter values that are decorated as "sensitive" in the API will not
 22407  // be included in the string output. The member name will be present, but the
 22408  // value will be replaced with "sensitive".
 22409  func (s EventsResponse) GoString() string {
 22410  	return s.String()
 22411  }
 22412  
 22413  // SetResults sets the Results field's value.
 22414  func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
 22415  	s.Results = v
 22416  	return s
 22417  }
 22418  
 22419  // Specifies the settings for a job that exports endpoint definitions to an
 22420  // Amazon Simple Storage Service (Amazon S3) bucket.
 22421  type ExportJobRequest struct {
 22422  	_ struct{} `type:"structure"`
 22423  
 22424  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 22425  	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
 22426  	// where you want to export endpoint definitions to.
 22427  	//
 22428  	// RoleArn is a required field
 22429  	RoleArn *string `type:"string" required:"true"`
 22430  
 22431  	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
 22432  	// where you want to export endpoint definitions to. This location is typically
 22433  	// a folder that contains multiple files. The URL should be in the following
 22434  	// format: s3://bucket-name/folder-name/.
 22435  	//
 22436  	// S3UrlPrefix is a required field
 22437  	S3UrlPrefix *string `type:"string" required:"true"`
 22438  
 22439  	// The identifier for the segment to export endpoint definitions from. If you
 22440  	// don't specify this value, Amazon Pinpoint exports definitions for all the
 22441  	// endpoints that are associated with the application.
 22442  	SegmentId *string `type:"string"`
 22443  
 22444  	// The version of the segment to export endpoint definitions from, if specified.
 22445  	SegmentVersion *int64 `type:"integer"`
 22446  }
 22447  
 22448  // String returns the string representation.
 22449  //
 22450  // API parameter values that are decorated as "sensitive" in the API will not
 22451  // be included in the string output. The member name will be present, but the
 22452  // value will be replaced with "sensitive".
 22453  func (s ExportJobRequest) String() string {
 22454  	return awsutil.Prettify(s)
 22455  }
 22456  
 22457  // GoString returns the string representation.
 22458  //
 22459  // API parameter values that are decorated as "sensitive" in the API will not
 22460  // be included in the string output. The member name will be present, but the
 22461  // value will be replaced with "sensitive".
 22462  func (s ExportJobRequest) GoString() string {
 22463  	return s.String()
 22464  }
 22465  
 22466  // Validate inspects the fields of the type to determine if they are valid.
 22467  func (s *ExportJobRequest) Validate() error {
 22468  	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
 22469  	if s.RoleArn == nil {
 22470  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 22471  	}
 22472  	if s.S3UrlPrefix == nil {
 22473  		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
 22474  	}
 22475  
 22476  	if invalidParams.Len() > 0 {
 22477  		return invalidParams
 22478  	}
 22479  	return nil
 22480  }
 22481  
 22482  // SetRoleArn sets the RoleArn field's value.
 22483  func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
 22484  	s.RoleArn = &v
 22485  	return s
 22486  }
 22487  
 22488  // SetS3UrlPrefix sets the S3UrlPrefix field's value.
 22489  func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
 22490  	s.S3UrlPrefix = &v
 22491  	return s
 22492  }
 22493  
 22494  // SetSegmentId sets the SegmentId field's value.
 22495  func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
 22496  	s.SegmentId = &v
 22497  	return s
 22498  }
 22499  
 22500  // SetSegmentVersion sets the SegmentVersion field's value.
 22501  func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
 22502  	s.SegmentVersion = &v
 22503  	return s
 22504  }
 22505  
 22506  // Provides information about the resource settings for a job that exports endpoint
 22507  // definitions to a file. The file can be added directly to an Amazon Simple
 22508  // Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
 22509  // directly to a computer by using the Amazon Pinpoint console.
 22510  type ExportJobResource struct {
 22511  	_ struct{} `type:"structure"`
 22512  
 22513  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 22514  	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
 22515  	// where the endpoint definitions were exported to.
 22516  	//
 22517  	// RoleArn is a required field
 22518  	RoleArn *string `type:"string" required:"true"`
 22519  
 22520  	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
 22521  	// where the endpoint definitions were exported to. This location is typically
 22522  	// a folder that contains multiple files. The URL should be in the following
 22523  	// format: s3://bucket-name/folder-name/.
 22524  	//
 22525  	// S3UrlPrefix is a required field
 22526  	S3UrlPrefix *string `type:"string" required:"true"`
 22527  
 22528  	// The identifier for the segment that the endpoint definitions were exported
 22529  	// from. If this value isn't present, Amazon Pinpoint exported definitions for
 22530  	// all the endpoints that are associated with the application.
 22531  	SegmentId *string `type:"string"`
 22532  
 22533  	// The version of the segment that the endpoint definitions were exported from.
 22534  	SegmentVersion *int64 `type:"integer"`
 22535  }
 22536  
 22537  // String returns the string representation.
 22538  //
 22539  // API parameter values that are decorated as "sensitive" in the API will not
 22540  // be included in the string output. The member name will be present, but the
 22541  // value will be replaced with "sensitive".
 22542  func (s ExportJobResource) String() string {
 22543  	return awsutil.Prettify(s)
 22544  }
 22545  
 22546  // GoString returns the string representation.
 22547  //
 22548  // API parameter values that are decorated as "sensitive" in the API will not
 22549  // be included in the string output. The member name will be present, but the
 22550  // value will be replaced with "sensitive".
 22551  func (s ExportJobResource) GoString() string {
 22552  	return s.String()
 22553  }
 22554  
 22555  // SetRoleArn sets the RoleArn field's value.
 22556  func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
 22557  	s.RoleArn = &v
 22558  	return s
 22559  }
 22560  
 22561  // SetS3UrlPrefix sets the S3UrlPrefix field's value.
 22562  func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
 22563  	s.S3UrlPrefix = &v
 22564  	return s
 22565  }
 22566  
 22567  // SetSegmentId sets the SegmentId field's value.
 22568  func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
 22569  	s.SegmentId = &v
 22570  	return s
 22571  }
 22572  
 22573  // SetSegmentVersion sets the SegmentVersion field's value.
 22574  func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
 22575  	s.SegmentVersion = &v
 22576  	return s
 22577  }
 22578  
 22579  // Provides information about the status and settings of a job that exports
 22580  // endpoint definitions to a file. The file can be added directly to an Amazon
 22581  // Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
 22582  // or downloaded directly to a computer by using the Amazon Pinpoint console.
 22583  type ExportJobResponse struct {
 22584  	_ struct{} `type:"structure"`
 22585  
 22586  	// The unique identifier for the application that's associated with the export
 22587  	// job.
 22588  	//
 22589  	// ApplicationId is a required field
 22590  	ApplicationId *string `type:"string" required:"true"`
 22591  
 22592  	// The number of pieces that were processed successfully (completed) by the
 22593  	// export job, as of the time of the request.
 22594  	CompletedPieces *int64 `type:"integer"`
 22595  
 22596  	// The date, in ISO 8601 format, when the export job was completed.
 22597  	CompletionDate *string `type:"string"`
 22598  
 22599  	// The date, in ISO 8601 format, when the export job was created.
 22600  	//
 22601  	// CreationDate is a required field
 22602  	CreationDate *string `type:"string" required:"true"`
 22603  
 22604  	// The resource settings that apply to the export job.
 22605  	//
 22606  	// Definition is a required field
 22607  	Definition *ExportJobResource `type:"structure" required:"true"`
 22608  
 22609  	// The number of pieces that weren't processed successfully (failed) by the
 22610  	// export job, as of the time of the request.
 22611  	FailedPieces *int64 `type:"integer"`
 22612  
 22613  	// An array of entries, one for each of the first 100 entries that weren't processed
 22614  	// successfully (failed) by the export job, if any.
 22615  	Failures []*string `type:"list"`
 22616  
 22617  	// The unique identifier for the export job.
 22618  	//
 22619  	// Id is a required field
 22620  	Id *string `type:"string" required:"true"`
 22621  
 22622  	// The status of the export job. The job status is FAILED if Amazon Pinpoint
 22623  	// wasn't able to process one or more pieces in the job.
 22624  	//
 22625  	// JobStatus is a required field
 22626  	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
 22627  
 22628  	// The total number of endpoint definitions that weren't processed successfully
 22629  	// (failed) by the export job, typically because an error, such as a syntax
 22630  	// error, occurred.
 22631  	TotalFailures *int64 `type:"integer"`
 22632  
 22633  	// The total number of pieces that must be processed to complete the export
 22634  	// job. Each piece consists of an approximately equal portion of the endpoint
 22635  	// definitions that are part of the export job.
 22636  	TotalPieces *int64 `type:"integer"`
 22637  
 22638  	// The total number of endpoint definitions that were processed by the export
 22639  	// job.
 22640  	TotalProcessed *int64 `type:"integer"`
 22641  
 22642  	// The job type. This value is EXPORT for export jobs.
 22643  	//
 22644  	// Type is a required field
 22645  	Type *string `type:"string" required:"true"`
 22646  }
 22647  
 22648  // String returns the string representation.
 22649  //
 22650  // API parameter values that are decorated as "sensitive" in the API will not
 22651  // be included in the string output. The member name will be present, but the
 22652  // value will be replaced with "sensitive".
 22653  func (s ExportJobResponse) String() string {
 22654  	return awsutil.Prettify(s)
 22655  }
 22656  
 22657  // GoString returns the string representation.
 22658  //
 22659  // API parameter values that are decorated as "sensitive" in the API will not
 22660  // be included in the string output. The member name will be present, but the
 22661  // value will be replaced with "sensitive".
 22662  func (s ExportJobResponse) GoString() string {
 22663  	return s.String()
 22664  }
 22665  
 22666  // SetApplicationId sets the ApplicationId field's value.
 22667  func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
 22668  	s.ApplicationId = &v
 22669  	return s
 22670  }
 22671  
 22672  // SetCompletedPieces sets the CompletedPieces field's value.
 22673  func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
 22674  	s.CompletedPieces = &v
 22675  	return s
 22676  }
 22677  
 22678  // SetCompletionDate sets the CompletionDate field's value.
 22679  func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
 22680  	s.CompletionDate = &v
 22681  	return s
 22682  }
 22683  
 22684  // SetCreationDate sets the CreationDate field's value.
 22685  func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
 22686  	s.CreationDate = &v
 22687  	return s
 22688  }
 22689  
 22690  // SetDefinition sets the Definition field's value.
 22691  func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
 22692  	s.Definition = v
 22693  	return s
 22694  }
 22695  
 22696  // SetFailedPieces sets the FailedPieces field's value.
 22697  func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
 22698  	s.FailedPieces = &v
 22699  	return s
 22700  }
 22701  
 22702  // SetFailures sets the Failures field's value.
 22703  func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
 22704  	s.Failures = v
 22705  	return s
 22706  }
 22707  
 22708  // SetId sets the Id field's value.
 22709  func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
 22710  	s.Id = &v
 22711  	return s
 22712  }
 22713  
 22714  // SetJobStatus sets the JobStatus field's value.
 22715  func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
 22716  	s.JobStatus = &v
 22717  	return s
 22718  }
 22719  
 22720  // SetTotalFailures sets the TotalFailures field's value.
 22721  func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
 22722  	s.TotalFailures = &v
 22723  	return s
 22724  }
 22725  
 22726  // SetTotalPieces sets the TotalPieces field's value.
 22727  func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
 22728  	s.TotalPieces = &v
 22729  	return s
 22730  }
 22731  
 22732  // SetTotalProcessed sets the TotalProcessed field's value.
 22733  func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
 22734  	s.TotalProcessed = &v
 22735  	return s
 22736  }
 22737  
 22738  // SetType sets the Type field's value.
 22739  func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
 22740  	s.Type = &v
 22741  	return s
 22742  }
 22743  
 22744  // Provides information about all the export jobs that are associated with an
 22745  // application or segment. An export job is a job that exports endpoint definitions
 22746  // to a file.
 22747  type ExportJobsResponse struct {
 22748  	_ struct{} `type:"structure"`
 22749  
 22750  	// An array of responses, one for each export job that's associated with the
 22751  	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
 22752  	//
 22753  	// Item is a required field
 22754  	Item []*ExportJobResponse `type:"list" required:"true"`
 22755  
 22756  	// The string to use in a subsequent request to get the next page of results
 22757  	// in a paginated response. This value is null if there are no additional pages.
 22758  	NextToken *string `type:"string"`
 22759  }
 22760  
 22761  // String returns the string representation.
 22762  //
 22763  // API parameter values that are decorated as "sensitive" in the API will not
 22764  // be included in the string output. The member name will be present, but the
 22765  // value will be replaced with "sensitive".
 22766  func (s ExportJobsResponse) String() string {
 22767  	return awsutil.Prettify(s)
 22768  }
 22769  
 22770  // GoString returns the string representation.
 22771  //
 22772  // API parameter values that are decorated as "sensitive" in the API will not
 22773  // be included in the string output. The member name will be present, but the
 22774  // value will be replaced with "sensitive".
 22775  func (s ExportJobsResponse) GoString() string {
 22776  	return s.String()
 22777  }
 22778  
 22779  // SetItem sets the Item field's value.
 22780  func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
 22781  	s.Item = v
 22782  	return s
 22783  }
 22784  
 22785  // SetNextToken sets the NextToken field's value.
 22786  func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
 22787  	s.NextToken = &v
 22788  	return s
 22789  }
 22790  
 22791  // Provides information about an API request or response.
 22792  type ForbiddenException struct {
 22793  	_            struct{}                  `type:"structure"`
 22794  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22795  
 22796  	Message_ *string `locationName:"Message" type:"string"`
 22797  
 22798  	RequestID_ *string `locationName:"RequestID" type:"string"`
 22799  }
 22800  
 22801  // String returns the string representation.
 22802  //
 22803  // API parameter values that are decorated as "sensitive" in the API will not
 22804  // be included in the string output. The member name will be present, but the
 22805  // value will be replaced with "sensitive".
 22806  func (s ForbiddenException) String() string {
 22807  	return awsutil.Prettify(s)
 22808  }
 22809  
 22810  // GoString returns the string representation.
 22811  //
 22812  // API parameter values that are decorated as "sensitive" in the API will not
 22813  // be included in the string output. The member name will be present, but the
 22814  // value will be replaced with "sensitive".
 22815  func (s ForbiddenException) GoString() string {
 22816  	return s.String()
 22817  }
 22818  
 22819  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
 22820  	return &ForbiddenException{
 22821  		RespMetadata: v,
 22822  	}
 22823  }
 22824  
 22825  // Code returns the exception type name.
 22826  func (s *ForbiddenException) Code() string {
 22827  	return "ForbiddenException"
 22828  }
 22829  
 22830  // Message returns the exception's message.
 22831  func (s *ForbiddenException) Message() string {
 22832  	if s.Message_ != nil {
 22833  		return *s.Message_
 22834  	}
 22835  	return ""
 22836  }
 22837  
 22838  // OrigErr always returns nil, satisfies awserr.Error interface.
 22839  func (s *ForbiddenException) OrigErr() error {
 22840  	return nil
 22841  }
 22842  
 22843  func (s *ForbiddenException) Error() string {
 22844  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 22845  }
 22846  
 22847  // Status code returns the HTTP status code for the request's response error.
 22848  func (s *ForbiddenException) StatusCode() int {
 22849  	return s.RespMetadata.StatusCode
 22850  }
 22851  
 22852  // RequestID returns the service's response RequestID for request.
 22853  func (s *ForbiddenException) RequestID() string {
 22854  	return s.RespMetadata.RequestID
 22855  }
 22856  
 22857  // Specifies the status and settings of the GCM channel for an application.
 22858  // This channel enables Amazon Pinpoint to send push notifications through the
 22859  // Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
 22860  type GCMChannelRequest struct {
 22861  	_ struct{} `type:"structure"`
 22862  
 22863  	// The Web API Key, also referred to as an API_KEY or server key, that you received
 22864  	// from Google to communicate with Google services.
 22865  	//
 22866  	// ApiKey is a required field
 22867  	ApiKey *string `type:"string" required:"true"`
 22868  
 22869  	// Specifies whether to enable the GCM channel for the application.
 22870  	Enabled *bool `type:"boolean"`
 22871  }
 22872  
 22873  // String returns the string representation.
 22874  //
 22875  // API parameter values that are decorated as "sensitive" in the API will not
 22876  // be included in the string output. The member name will be present, but the
 22877  // value will be replaced with "sensitive".
 22878  func (s GCMChannelRequest) String() string {
 22879  	return awsutil.Prettify(s)
 22880  }
 22881  
 22882  // GoString returns the string representation.
 22883  //
 22884  // API parameter values that are decorated as "sensitive" in the API will not
 22885  // be included in the string output. The member name will be present, but the
 22886  // value will be replaced with "sensitive".
 22887  func (s GCMChannelRequest) GoString() string {
 22888  	return s.String()
 22889  }
 22890  
 22891  // Validate inspects the fields of the type to determine if they are valid.
 22892  func (s *GCMChannelRequest) Validate() error {
 22893  	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
 22894  	if s.ApiKey == nil {
 22895  		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
 22896  	}
 22897  
 22898  	if invalidParams.Len() > 0 {
 22899  		return invalidParams
 22900  	}
 22901  	return nil
 22902  }
 22903  
 22904  // SetApiKey sets the ApiKey field's value.
 22905  func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
 22906  	s.ApiKey = &v
 22907  	return s
 22908  }
 22909  
 22910  // SetEnabled sets the Enabled field's value.
 22911  func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
 22912  	s.Enabled = &v
 22913  	return s
 22914  }
 22915  
 22916  // Provides information about the status and settings of the GCM channel for
 22917  // an application. The GCM channel enables Amazon Pinpoint to send push notifications
 22918  // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
 22919  // (GCM), service.
 22920  type GCMChannelResponse struct {
 22921  	_ struct{} `type:"structure"`
 22922  
 22923  	// The unique identifier for the application that the GCM channel applies to.
 22924  	ApplicationId *string `type:"string"`
 22925  
 22926  	// The date and time when the GCM channel was enabled.
 22927  	CreationDate *string `type:"string"`
 22928  
 22929  	// The Web API Key, also referred to as an API_KEY or server key, that you received
 22930  	// from Google to communicate with Google services.
 22931  	//
 22932  	// Credential is a required field
 22933  	Credential *string `type:"string" required:"true"`
 22934  
 22935  	// Specifies whether the GCM channel is enabled for the application.
 22936  	Enabled *bool `type:"boolean"`
 22937  
 22938  	// (Not used) This property is retained only for backward compatibility.
 22939  	HasCredential *bool `type:"boolean"`
 22940  
 22941  	// (Deprecated) An identifier for the GCM channel. This property is retained
 22942  	// only for backward compatibility.
 22943  	Id *string `type:"string"`
 22944  
 22945  	// Specifies whether the GCM channel is archived.
 22946  	IsArchived *bool `type:"boolean"`
 22947  
 22948  	// The user who last modified the GCM channel.
 22949  	LastModifiedBy *string `type:"string"`
 22950  
 22951  	// The date and time when the GCM channel was last modified.
 22952  	LastModifiedDate *string `type:"string"`
 22953  
 22954  	// The type of messaging or notification platform for the channel. For the GCM
 22955  	// channel, this value is GCM.
 22956  	//
 22957  	// Platform is a required field
 22958  	Platform *string `type:"string" required:"true"`
 22959  
 22960  	// The current version of the GCM channel.
 22961  	Version *int64 `type:"integer"`
 22962  }
 22963  
 22964  // String returns the string representation.
 22965  //
 22966  // API parameter values that are decorated as "sensitive" in the API will not
 22967  // be included in the string output. The member name will be present, but the
 22968  // value will be replaced with "sensitive".
 22969  func (s GCMChannelResponse) String() string {
 22970  	return awsutil.Prettify(s)
 22971  }
 22972  
 22973  // GoString returns the string representation.
 22974  //
 22975  // API parameter values that are decorated as "sensitive" in the API will not
 22976  // be included in the string output. The member name will be present, but the
 22977  // value will be replaced with "sensitive".
 22978  func (s GCMChannelResponse) GoString() string {
 22979  	return s.String()
 22980  }
 22981  
 22982  // SetApplicationId sets the ApplicationId field's value.
 22983  func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
 22984  	s.ApplicationId = &v
 22985  	return s
 22986  }
 22987  
 22988  // SetCreationDate sets the CreationDate field's value.
 22989  func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
 22990  	s.CreationDate = &v
 22991  	return s
 22992  }
 22993  
 22994  // SetCredential sets the Credential field's value.
 22995  func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
 22996  	s.Credential = &v
 22997  	return s
 22998  }
 22999  
 23000  // SetEnabled sets the Enabled field's value.
 23001  func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
 23002  	s.Enabled = &v
 23003  	return s
 23004  }
 23005  
 23006  // SetHasCredential sets the HasCredential field's value.
 23007  func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
 23008  	s.HasCredential = &v
 23009  	return s
 23010  }
 23011  
 23012  // SetId sets the Id field's value.
 23013  func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
 23014  	s.Id = &v
 23015  	return s
 23016  }
 23017  
 23018  // SetIsArchived sets the IsArchived field's value.
 23019  func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
 23020  	s.IsArchived = &v
 23021  	return s
 23022  }
 23023  
 23024  // SetLastModifiedBy sets the LastModifiedBy field's value.
 23025  func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
 23026  	s.LastModifiedBy = &v
 23027  	return s
 23028  }
 23029  
 23030  // SetLastModifiedDate sets the LastModifiedDate field's value.
 23031  func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
 23032  	s.LastModifiedDate = &v
 23033  	return s
 23034  }
 23035  
 23036  // SetPlatform sets the Platform field's value.
 23037  func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
 23038  	s.Platform = &v
 23039  	return s
 23040  }
 23041  
 23042  // SetVersion sets the Version field's value.
 23043  func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
 23044  	s.Version = &v
 23045  	return s
 23046  }
 23047  
 23048  // Specifies the settings for a one-time message that's sent directly to an
 23049  // endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
 23050  // to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
 23051  // Messaging (GCM), service.
 23052  type GCMMessage struct {
 23053  	_ struct{} `type:"structure"`
 23054  
 23055  	// The action to occur if the recipient taps the push notification. Valid values
 23056  	// are:
 23057  	//
 23058  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 23059  	//    sent to the background. This is the default action.
 23060  	//
 23061  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 23062  	//    in the app. This action uses the deep-linking features of the Android
 23063  	//    platform.
 23064  	//
 23065  	//    * URL - The default mobile browser on the recipient's device opens and
 23066  	//    loads the web page at a URL that you specify.
 23067  	Action *string `type:"string" enum:"Action"`
 23068  
 23069  	// The body of the notification message.
 23070  	Body *string `type:"string"`
 23071  
 23072  	// An arbitrary string that identifies a group of messages that can be collapsed
 23073  	// to ensure that only the last message is sent when delivery can resume. This
 23074  	// helps avoid sending too many instances of the same messages when the recipient's
 23075  	// device comes online again or becomes active.
 23076  	//
 23077  	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
 23078  	// collapse_key parameter when it sends the notification message to FCM.
 23079  	CollapseKey *string `type:"string"`
 23080  
 23081  	// The JSON data payload to use for the push notification, if the notification
 23082  	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
 23083  	// object of the notification.
 23084  	Data map[string]*string `type:"map"`
 23085  
 23086  	// The icon image name of the asset saved in your app.
 23087  	IconReference *string `type:"string"`
 23088  
 23089  	// The URL of the large icon image to display in the content view of the push
 23090  	// notification.
 23091  	ImageIconUrl *string `type:"string"`
 23092  
 23093  	// The URL of an image to display in the push notification.
 23094  	ImageUrl *string `type:"string"`
 23095  
 23096  	// para>normal - The notification might be delayed. Delivery is optimized for
 23097  	// battery usage on the recipient's device. Use this value unless immediate
 23098  	// delivery is required.
 23099  	// /listitem>
 23100  	// high - The notification is sent immediately and might wake a sleeping device.
 23101  	// /para>
 23102  	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
 23103  	// sends the notification message to FCM.
 23104  	//
 23105  	// The equivalent values for Apple Push Notification service (APNs) are 5, for
 23106  	// normal, and 10, for high. If you specify an APNs value for this property,
 23107  	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
 23108  	Priority *string `type:"string"`
 23109  
 23110  	// The raw, JSON-formatted string to use as the payload for the notification
 23111  	// message. If specified, this value overrides all other content for the message.
 23112  	RawContent *string `type:"string"`
 23113  
 23114  	// The package name of the application where registration tokens must match
 23115  	// in order for the recipient to receive the message.
 23116  	RestrictedPackageName *string `type:"string"`
 23117  
 23118  	// Specifies whether the notification is a silent push notification, which is
 23119  	// a push notification that doesn't display on a recipient's device. Silent
 23120  	// push notifications can be used for cases such as updating an app's configuration
 23121  	// or supporting phone home functionality.
 23122  	SilentPush *bool `type:"boolean"`
 23123  
 23124  	// The URL of the small icon image to display in the status bar and the content
 23125  	// view of the push notification.
 23126  	SmallImageIconUrl *string `type:"string"`
 23127  
 23128  	// The sound to play when the recipient receives the push notification. You
 23129  	// can use the default stream or specify the file name of a sound resource that's
 23130  	// bundled in your app. On an Android platform, the sound file must reside in
 23131  	// /res/raw/.
 23132  	Sound *string `type:"string"`
 23133  
 23134  	// The default message variables to use in the notification message. You can
 23135  	// override the default variables with individual address variables.
 23136  	Substitutions map[string][]*string `type:"map"`
 23137  
 23138  	// The amount of time, in seconds, that FCM should store and attempt to deliver
 23139  	// the push notification, if the service is unable to deliver the notification
 23140  	// the first time. If you don't specify this value, FCM defaults to the maximum
 23141  	// value, which is 2,419,200 seconds (28 days).
 23142  	//
 23143  	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
 23144  	// it sends the notification message to FCM.
 23145  	TimeToLive *int64 `type:"integer"`
 23146  
 23147  	// The title to display above the notification message on the recipient's device.
 23148  	Title *string `type:"string"`
 23149  
 23150  	// The URL to open in the recipient's default mobile browser, if a recipient
 23151  	// taps the push notification and the value of the Action property is URL.
 23152  	Url *string `type:"string"`
 23153  }
 23154  
 23155  // String returns the string representation.
 23156  //
 23157  // API parameter values that are decorated as "sensitive" in the API will not
 23158  // be included in the string output. The member name will be present, but the
 23159  // value will be replaced with "sensitive".
 23160  func (s GCMMessage) String() string {
 23161  	return awsutil.Prettify(s)
 23162  }
 23163  
 23164  // GoString returns the string representation.
 23165  //
 23166  // API parameter values that are decorated as "sensitive" in the API will not
 23167  // be included in the string output. The member name will be present, but the
 23168  // value will be replaced with "sensitive".
 23169  func (s GCMMessage) GoString() string {
 23170  	return s.String()
 23171  }
 23172  
 23173  // SetAction sets the Action field's value.
 23174  func (s *GCMMessage) SetAction(v string) *GCMMessage {
 23175  	s.Action = &v
 23176  	return s
 23177  }
 23178  
 23179  // SetBody sets the Body field's value.
 23180  func (s *GCMMessage) SetBody(v string) *GCMMessage {
 23181  	s.Body = &v
 23182  	return s
 23183  }
 23184  
 23185  // SetCollapseKey sets the CollapseKey field's value.
 23186  func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
 23187  	s.CollapseKey = &v
 23188  	return s
 23189  }
 23190  
 23191  // SetData sets the Data field's value.
 23192  func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
 23193  	s.Data = v
 23194  	return s
 23195  }
 23196  
 23197  // SetIconReference sets the IconReference field's value.
 23198  func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
 23199  	s.IconReference = &v
 23200  	return s
 23201  }
 23202  
 23203  // SetImageIconUrl sets the ImageIconUrl field's value.
 23204  func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
 23205  	s.ImageIconUrl = &v
 23206  	return s
 23207  }
 23208  
 23209  // SetImageUrl sets the ImageUrl field's value.
 23210  func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
 23211  	s.ImageUrl = &v
 23212  	return s
 23213  }
 23214  
 23215  // SetPriority sets the Priority field's value.
 23216  func (s *GCMMessage) SetPriority(v string) *GCMMessage {
 23217  	s.Priority = &v
 23218  	return s
 23219  }
 23220  
 23221  // SetRawContent sets the RawContent field's value.
 23222  func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
 23223  	s.RawContent = &v
 23224  	return s
 23225  }
 23226  
 23227  // SetRestrictedPackageName sets the RestrictedPackageName field's value.
 23228  func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
 23229  	s.RestrictedPackageName = &v
 23230  	return s
 23231  }
 23232  
 23233  // SetSilentPush sets the SilentPush field's value.
 23234  func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
 23235  	s.SilentPush = &v
 23236  	return s
 23237  }
 23238  
 23239  // SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
 23240  func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
 23241  	s.SmallImageIconUrl = &v
 23242  	return s
 23243  }
 23244  
 23245  // SetSound sets the Sound field's value.
 23246  func (s *GCMMessage) SetSound(v string) *GCMMessage {
 23247  	s.Sound = &v
 23248  	return s
 23249  }
 23250  
 23251  // SetSubstitutions sets the Substitutions field's value.
 23252  func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
 23253  	s.Substitutions = v
 23254  	return s
 23255  }
 23256  
 23257  // SetTimeToLive sets the TimeToLive field's value.
 23258  func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
 23259  	s.TimeToLive = &v
 23260  	return s
 23261  }
 23262  
 23263  // SetTitle sets the Title field's value.
 23264  func (s *GCMMessage) SetTitle(v string) *GCMMessage {
 23265  	s.Title = &v
 23266  	return s
 23267  }
 23268  
 23269  // SetUrl sets the Url field's value.
 23270  func (s *GCMMessage) SetUrl(v string) *GCMMessage {
 23271  	s.Url = &v
 23272  	return s
 23273  }
 23274  
 23275  // Specifies the GPS coordinates of a location.
 23276  type GPSCoordinates struct {
 23277  	_ struct{} `type:"structure"`
 23278  
 23279  	// The latitude coordinate of the location.
 23280  	//
 23281  	// Latitude is a required field
 23282  	Latitude *float64 `type:"double" required:"true"`
 23283  
 23284  	// The longitude coordinate of the location.
 23285  	//
 23286  	// Longitude is a required field
 23287  	Longitude *float64 `type:"double" required:"true"`
 23288  }
 23289  
 23290  // String returns the string representation.
 23291  //
 23292  // API parameter values that are decorated as "sensitive" in the API will not
 23293  // be included in the string output. The member name will be present, but the
 23294  // value will be replaced with "sensitive".
 23295  func (s GPSCoordinates) String() string {
 23296  	return awsutil.Prettify(s)
 23297  }
 23298  
 23299  // GoString returns the string representation.
 23300  //
 23301  // API parameter values that are decorated as "sensitive" in the API will not
 23302  // be included in the string output. The member name will be present, but the
 23303  // value will be replaced with "sensitive".
 23304  func (s GPSCoordinates) GoString() string {
 23305  	return s.String()
 23306  }
 23307  
 23308  // Validate inspects the fields of the type to determine if they are valid.
 23309  func (s *GPSCoordinates) Validate() error {
 23310  	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
 23311  	if s.Latitude == nil {
 23312  		invalidParams.Add(request.NewErrParamRequired("Latitude"))
 23313  	}
 23314  	if s.Longitude == nil {
 23315  		invalidParams.Add(request.NewErrParamRequired("Longitude"))
 23316  	}
 23317  
 23318  	if invalidParams.Len() > 0 {
 23319  		return invalidParams
 23320  	}
 23321  	return nil
 23322  }
 23323  
 23324  // SetLatitude sets the Latitude field's value.
 23325  func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
 23326  	s.Latitude = &v
 23327  	return s
 23328  }
 23329  
 23330  // SetLongitude sets the Longitude field's value.
 23331  func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
 23332  	s.Longitude = &v
 23333  	return s
 23334  }
 23335  
 23336  // Specifies GPS-based criteria for including or excluding endpoints from a
 23337  // segment.
 23338  type GPSPointDimension struct {
 23339  	_ struct{} `type:"structure"`
 23340  
 23341  	// The GPS coordinates to measure distance from.
 23342  	//
 23343  	// Coordinates is a required field
 23344  	Coordinates *GPSCoordinates `type:"structure" required:"true"`
 23345  
 23346  	// The range, in kilometers, from the GPS coordinates.
 23347  	RangeInKilometers *float64 `type:"double"`
 23348  }
 23349  
 23350  // String returns the string representation.
 23351  //
 23352  // API parameter values that are decorated as "sensitive" in the API will not
 23353  // be included in the string output. The member name will be present, but the
 23354  // value will be replaced with "sensitive".
 23355  func (s GPSPointDimension) String() string {
 23356  	return awsutil.Prettify(s)
 23357  }
 23358  
 23359  // GoString returns the string representation.
 23360  //
 23361  // API parameter values that are decorated as "sensitive" in the API will not
 23362  // be included in the string output. The member name will be present, but the
 23363  // value will be replaced with "sensitive".
 23364  func (s GPSPointDimension) GoString() string {
 23365  	return s.String()
 23366  }
 23367  
 23368  // Validate inspects the fields of the type to determine if they are valid.
 23369  func (s *GPSPointDimension) Validate() error {
 23370  	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
 23371  	if s.Coordinates == nil {
 23372  		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
 23373  	}
 23374  	if s.Coordinates != nil {
 23375  		if err := s.Coordinates.Validate(); err != nil {
 23376  			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
 23377  		}
 23378  	}
 23379  
 23380  	if invalidParams.Len() > 0 {
 23381  		return invalidParams
 23382  	}
 23383  	return nil
 23384  }
 23385  
 23386  // SetCoordinates sets the Coordinates field's value.
 23387  func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
 23388  	s.Coordinates = v
 23389  	return s
 23390  }
 23391  
 23392  // SetRangeInKilometers sets the RangeInKilometers field's value.
 23393  func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
 23394  	s.RangeInKilometers = &v
 23395  	return s
 23396  }
 23397  
 23398  type GetAdmChannelInput struct {
 23399  	_ struct{} `type:"structure" nopayload:"true"`
 23400  
 23401  	// ApplicationId is a required field
 23402  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23403  }
 23404  
 23405  // String returns the string representation.
 23406  //
 23407  // API parameter values that are decorated as "sensitive" in the API will not
 23408  // be included in the string output. The member name will be present, but the
 23409  // value will be replaced with "sensitive".
 23410  func (s GetAdmChannelInput) String() string {
 23411  	return awsutil.Prettify(s)
 23412  }
 23413  
 23414  // GoString returns the string representation.
 23415  //
 23416  // API parameter values that are decorated as "sensitive" in the API will not
 23417  // be included in the string output. The member name will be present, but the
 23418  // value will be replaced with "sensitive".
 23419  func (s GetAdmChannelInput) GoString() string {
 23420  	return s.String()
 23421  }
 23422  
 23423  // Validate inspects the fields of the type to determine if they are valid.
 23424  func (s *GetAdmChannelInput) Validate() error {
 23425  	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
 23426  	if s.ApplicationId == nil {
 23427  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23428  	}
 23429  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23430  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23431  	}
 23432  
 23433  	if invalidParams.Len() > 0 {
 23434  		return invalidParams
 23435  	}
 23436  	return nil
 23437  }
 23438  
 23439  // SetApplicationId sets the ApplicationId field's value.
 23440  func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
 23441  	s.ApplicationId = &v
 23442  	return s
 23443  }
 23444  
 23445  type GetAdmChannelOutput struct {
 23446  	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
 23447  
 23448  	// Provides information about the status and settings of the ADM (Amazon Device
 23449  	// Messaging) channel for an application.
 23450  	//
 23451  	// ADMChannelResponse is a required field
 23452  	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
 23453  }
 23454  
 23455  // String returns the string representation.
 23456  //
 23457  // API parameter values that are decorated as "sensitive" in the API will not
 23458  // be included in the string output. The member name will be present, but the
 23459  // value will be replaced with "sensitive".
 23460  func (s GetAdmChannelOutput) String() string {
 23461  	return awsutil.Prettify(s)
 23462  }
 23463  
 23464  // GoString returns the string representation.
 23465  //
 23466  // API parameter values that are decorated as "sensitive" in the API will not
 23467  // be included in the string output. The member name will be present, but the
 23468  // value will be replaced with "sensitive".
 23469  func (s GetAdmChannelOutput) GoString() string {
 23470  	return s.String()
 23471  }
 23472  
 23473  // SetADMChannelResponse sets the ADMChannelResponse field's value.
 23474  func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
 23475  	s.ADMChannelResponse = v
 23476  	return s
 23477  }
 23478  
 23479  type GetApnsChannelInput struct {
 23480  	_ struct{} `type:"structure" nopayload:"true"`
 23481  
 23482  	// ApplicationId is a required field
 23483  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23484  }
 23485  
 23486  // String returns the string representation.
 23487  //
 23488  // API parameter values that are decorated as "sensitive" in the API will not
 23489  // be included in the string output. The member name will be present, but the
 23490  // value will be replaced with "sensitive".
 23491  func (s GetApnsChannelInput) String() string {
 23492  	return awsutil.Prettify(s)
 23493  }
 23494  
 23495  // GoString returns the string representation.
 23496  //
 23497  // API parameter values that are decorated as "sensitive" in the API will not
 23498  // be included in the string output. The member name will be present, but the
 23499  // value will be replaced with "sensitive".
 23500  func (s GetApnsChannelInput) GoString() string {
 23501  	return s.String()
 23502  }
 23503  
 23504  // Validate inspects the fields of the type to determine if they are valid.
 23505  func (s *GetApnsChannelInput) Validate() error {
 23506  	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
 23507  	if s.ApplicationId == nil {
 23508  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23509  	}
 23510  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23511  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23512  	}
 23513  
 23514  	if invalidParams.Len() > 0 {
 23515  		return invalidParams
 23516  	}
 23517  	return nil
 23518  }
 23519  
 23520  // SetApplicationId sets the ApplicationId field's value.
 23521  func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
 23522  	s.ApplicationId = &v
 23523  	return s
 23524  }
 23525  
 23526  type GetApnsChannelOutput struct {
 23527  	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
 23528  
 23529  	// Provides information about the status and settings of the APNs (Apple Push
 23530  	// Notification service) channel for an application.
 23531  	//
 23532  	// APNSChannelResponse is a required field
 23533  	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
 23534  }
 23535  
 23536  // String returns the string representation.
 23537  //
 23538  // API parameter values that are decorated as "sensitive" in the API will not
 23539  // be included in the string output. The member name will be present, but the
 23540  // value will be replaced with "sensitive".
 23541  func (s GetApnsChannelOutput) String() string {
 23542  	return awsutil.Prettify(s)
 23543  }
 23544  
 23545  // GoString returns the string representation.
 23546  //
 23547  // API parameter values that are decorated as "sensitive" in the API will not
 23548  // be included in the string output. The member name will be present, but the
 23549  // value will be replaced with "sensitive".
 23550  func (s GetApnsChannelOutput) GoString() string {
 23551  	return s.String()
 23552  }
 23553  
 23554  // SetAPNSChannelResponse sets the APNSChannelResponse field's value.
 23555  func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
 23556  	s.APNSChannelResponse = v
 23557  	return s
 23558  }
 23559  
 23560  type GetApnsSandboxChannelInput struct {
 23561  	_ struct{} `type:"structure" nopayload:"true"`
 23562  
 23563  	// ApplicationId is a required field
 23564  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23565  }
 23566  
 23567  // String returns the string representation.
 23568  //
 23569  // API parameter values that are decorated as "sensitive" in the API will not
 23570  // be included in the string output. The member name will be present, but the
 23571  // value will be replaced with "sensitive".
 23572  func (s GetApnsSandboxChannelInput) String() string {
 23573  	return awsutil.Prettify(s)
 23574  }
 23575  
 23576  // GoString returns the string representation.
 23577  //
 23578  // API parameter values that are decorated as "sensitive" in the API will not
 23579  // be included in the string output. The member name will be present, but the
 23580  // value will be replaced with "sensitive".
 23581  func (s GetApnsSandboxChannelInput) GoString() string {
 23582  	return s.String()
 23583  }
 23584  
 23585  // Validate inspects the fields of the type to determine if they are valid.
 23586  func (s *GetApnsSandboxChannelInput) Validate() error {
 23587  	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
 23588  	if s.ApplicationId == nil {
 23589  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23590  	}
 23591  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23592  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23593  	}
 23594  
 23595  	if invalidParams.Len() > 0 {
 23596  		return invalidParams
 23597  	}
 23598  	return nil
 23599  }
 23600  
 23601  // SetApplicationId sets the ApplicationId field's value.
 23602  func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
 23603  	s.ApplicationId = &v
 23604  	return s
 23605  }
 23606  
 23607  type GetApnsSandboxChannelOutput struct {
 23608  	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
 23609  
 23610  	// Provides information about the status and settings of the APNs (Apple Push
 23611  	// Notification service) sandbox channel for an application.
 23612  	//
 23613  	// APNSSandboxChannelResponse is a required field
 23614  	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
 23615  }
 23616  
 23617  // String returns the string representation.
 23618  //
 23619  // API parameter values that are decorated as "sensitive" in the API will not
 23620  // be included in the string output. The member name will be present, but the
 23621  // value will be replaced with "sensitive".
 23622  func (s GetApnsSandboxChannelOutput) String() string {
 23623  	return awsutil.Prettify(s)
 23624  }
 23625  
 23626  // GoString returns the string representation.
 23627  //
 23628  // API parameter values that are decorated as "sensitive" in the API will not
 23629  // be included in the string output. The member name will be present, but the
 23630  // value will be replaced with "sensitive".
 23631  func (s GetApnsSandboxChannelOutput) GoString() string {
 23632  	return s.String()
 23633  }
 23634  
 23635  // SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
 23636  func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
 23637  	s.APNSSandboxChannelResponse = v
 23638  	return s
 23639  }
 23640  
 23641  type GetApnsVoipChannelInput struct {
 23642  	_ struct{} `type:"structure" nopayload:"true"`
 23643  
 23644  	// ApplicationId is a required field
 23645  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23646  }
 23647  
 23648  // String returns the string representation.
 23649  //
 23650  // API parameter values that are decorated as "sensitive" in the API will not
 23651  // be included in the string output. The member name will be present, but the
 23652  // value will be replaced with "sensitive".
 23653  func (s GetApnsVoipChannelInput) String() string {
 23654  	return awsutil.Prettify(s)
 23655  }
 23656  
 23657  // GoString returns the string representation.
 23658  //
 23659  // API parameter values that are decorated as "sensitive" in the API will not
 23660  // be included in the string output. The member name will be present, but the
 23661  // value will be replaced with "sensitive".
 23662  func (s GetApnsVoipChannelInput) GoString() string {
 23663  	return s.String()
 23664  }
 23665  
 23666  // Validate inspects the fields of the type to determine if they are valid.
 23667  func (s *GetApnsVoipChannelInput) Validate() error {
 23668  	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
 23669  	if s.ApplicationId == nil {
 23670  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23671  	}
 23672  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23673  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23674  	}
 23675  
 23676  	if invalidParams.Len() > 0 {
 23677  		return invalidParams
 23678  	}
 23679  	return nil
 23680  }
 23681  
 23682  // SetApplicationId sets the ApplicationId field's value.
 23683  func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
 23684  	s.ApplicationId = &v
 23685  	return s
 23686  }
 23687  
 23688  type GetApnsVoipChannelOutput struct {
 23689  	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
 23690  
 23691  	// Provides information about the status and settings of the APNs (Apple Push
 23692  	// Notification service) VoIP channel for an application.
 23693  	//
 23694  	// APNSVoipChannelResponse is a required field
 23695  	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
 23696  }
 23697  
 23698  // String returns the string representation.
 23699  //
 23700  // API parameter values that are decorated as "sensitive" in the API will not
 23701  // be included in the string output. The member name will be present, but the
 23702  // value will be replaced with "sensitive".
 23703  func (s GetApnsVoipChannelOutput) String() string {
 23704  	return awsutil.Prettify(s)
 23705  }
 23706  
 23707  // GoString returns the string representation.
 23708  //
 23709  // API parameter values that are decorated as "sensitive" in the API will not
 23710  // be included in the string output. The member name will be present, but the
 23711  // value will be replaced with "sensitive".
 23712  func (s GetApnsVoipChannelOutput) GoString() string {
 23713  	return s.String()
 23714  }
 23715  
 23716  // SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
 23717  func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
 23718  	s.APNSVoipChannelResponse = v
 23719  	return s
 23720  }
 23721  
 23722  type GetApnsVoipSandboxChannelInput struct {
 23723  	_ struct{} `type:"structure" nopayload:"true"`
 23724  
 23725  	// ApplicationId is a required field
 23726  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23727  }
 23728  
 23729  // String returns the string representation.
 23730  //
 23731  // API parameter values that are decorated as "sensitive" in the API will not
 23732  // be included in the string output. The member name will be present, but the
 23733  // value will be replaced with "sensitive".
 23734  func (s GetApnsVoipSandboxChannelInput) String() string {
 23735  	return awsutil.Prettify(s)
 23736  }
 23737  
 23738  // GoString returns the string representation.
 23739  //
 23740  // API parameter values that are decorated as "sensitive" in the API will not
 23741  // be included in the string output. The member name will be present, but the
 23742  // value will be replaced with "sensitive".
 23743  func (s GetApnsVoipSandboxChannelInput) GoString() string {
 23744  	return s.String()
 23745  }
 23746  
 23747  // Validate inspects the fields of the type to determine if they are valid.
 23748  func (s *GetApnsVoipSandboxChannelInput) Validate() error {
 23749  	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
 23750  	if s.ApplicationId == nil {
 23751  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23752  	}
 23753  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23754  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23755  	}
 23756  
 23757  	if invalidParams.Len() > 0 {
 23758  		return invalidParams
 23759  	}
 23760  	return nil
 23761  }
 23762  
 23763  // SetApplicationId sets the ApplicationId field's value.
 23764  func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
 23765  	s.ApplicationId = &v
 23766  	return s
 23767  }
 23768  
 23769  type GetApnsVoipSandboxChannelOutput struct {
 23770  	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
 23771  
 23772  	// Provides information about the status and settings of the APNs (Apple Push
 23773  	// Notification service) VoIP sandbox channel for an application.
 23774  	//
 23775  	// APNSVoipSandboxChannelResponse is a required field
 23776  	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
 23777  }
 23778  
 23779  // String returns the string representation.
 23780  //
 23781  // API parameter values that are decorated as "sensitive" in the API will not
 23782  // be included in the string output. The member name will be present, but the
 23783  // value will be replaced with "sensitive".
 23784  func (s GetApnsVoipSandboxChannelOutput) String() string {
 23785  	return awsutil.Prettify(s)
 23786  }
 23787  
 23788  // GoString returns the string representation.
 23789  //
 23790  // API parameter values that are decorated as "sensitive" in the API will not
 23791  // be included in the string output. The member name will be present, but the
 23792  // value will be replaced with "sensitive".
 23793  func (s GetApnsVoipSandboxChannelOutput) GoString() string {
 23794  	return s.String()
 23795  }
 23796  
 23797  // SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
 23798  func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
 23799  	s.APNSVoipSandboxChannelResponse = v
 23800  	return s
 23801  }
 23802  
 23803  type GetAppInput struct {
 23804  	_ struct{} `type:"structure" nopayload:"true"`
 23805  
 23806  	// ApplicationId is a required field
 23807  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23808  }
 23809  
 23810  // String returns the string representation.
 23811  //
 23812  // API parameter values that are decorated as "sensitive" in the API will not
 23813  // be included in the string output. The member name will be present, but the
 23814  // value will be replaced with "sensitive".
 23815  func (s GetAppInput) String() string {
 23816  	return awsutil.Prettify(s)
 23817  }
 23818  
 23819  // GoString returns the string representation.
 23820  //
 23821  // API parameter values that are decorated as "sensitive" in the API will not
 23822  // be included in the string output. The member name will be present, but the
 23823  // value will be replaced with "sensitive".
 23824  func (s GetAppInput) GoString() string {
 23825  	return s.String()
 23826  }
 23827  
 23828  // Validate inspects the fields of the type to determine if they are valid.
 23829  func (s *GetAppInput) Validate() error {
 23830  	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
 23831  	if s.ApplicationId == nil {
 23832  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23833  	}
 23834  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23835  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23836  	}
 23837  
 23838  	if invalidParams.Len() > 0 {
 23839  		return invalidParams
 23840  	}
 23841  	return nil
 23842  }
 23843  
 23844  // SetApplicationId sets the ApplicationId field's value.
 23845  func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
 23846  	s.ApplicationId = &v
 23847  	return s
 23848  }
 23849  
 23850  type GetAppOutput struct {
 23851  	_ struct{} `type:"structure" payload:"ApplicationResponse"`
 23852  
 23853  	// Provides information about an application.
 23854  	//
 23855  	// ApplicationResponse is a required field
 23856  	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
 23857  }
 23858  
 23859  // String returns the string representation.
 23860  //
 23861  // API parameter values that are decorated as "sensitive" in the API will not
 23862  // be included in the string output. The member name will be present, but the
 23863  // value will be replaced with "sensitive".
 23864  func (s GetAppOutput) String() string {
 23865  	return awsutil.Prettify(s)
 23866  }
 23867  
 23868  // GoString returns the string representation.
 23869  //
 23870  // API parameter values that are decorated as "sensitive" in the API will not
 23871  // be included in the string output. The member name will be present, but the
 23872  // value will be replaced with "sensitive".
 23873  func (s GetAppOutput) GoString() string {
 23874  	return s.String()
 23875  }
 23876  
 23877  // SetApplicationResponse sets the ApplicationResponse field's value.
 23878  func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
 23879  	s.ApplicationResponse = v
 23880  	return s
 23881  }
 23882  
 23883  type GetApplicationDateRangeKpiInput struct {
 23884  	_ struct{} `type:"structure" nopayload:"true"`
 23885  
 23886  	// ApplicationId is a required field
 23887  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 23888  
 23889  	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
 23890  
 23891  	// KpiName is a required field
 23892  	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
 23893  
 23894  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 23895  
 23896  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 23897  
 23898  	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
 23899  }
 23900  
 23901  // String returns the string representation.
 23902  //
 23903  // API parameter values that are decorated as "sensitive" in the API will not
 23904  // be included in the string output. The member name will be present, but the
 23905  // value will be replaced with "sensitive".
 23906  func (s GetApplicationDateRangeKpiInput) String() string {
 23907  	return awsutil.Prettify(s)
 23908  }
 23909  
 23910  // GoString returns the string representation.
 23911  //
 23912  // API parameter values that are decorated as "sensitive" in the API will not
 23913  // be included in the string output. The member name will be present, but the
 23914  // value will be replaced with "sensitive".
 23915  func (s GetApplicationDateRangeKpiInput) GoString() string {
 23916  	return s.String()
 23917  }
 23918  
 23919  // Validate inspects the fields of the type to determine if they are valid.
 23920  func (s *GetApplicationDateRangeKpiInput) Validate() error {
 23921  	invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"}
 23922  	if s.ApplicationId == nil {
 23923  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 23924  	}
 23925  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 23926  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 23927  	}
 23928  	if s.KpiName == nil {
 23929  		invalidParams.Add(request.NewErrParamRequired("KpiName"))
 23930  	}
 23931  	if s.KpiName != nil && len(*s.KpiName) < 1 {
 23932  		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
 23933  	}
 23934  
 23935  	if invalidParams.Len() > 0 {
 23936  		return invalidParams
 23937  	}
 23938  	return nil
 23939  }
 23940  
 23941  // SetApplicationId sets the ApplicationId field's value.
 23942  func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput {
 23943  	s.ApplicationId = &v
 23944  	return s
 23945  }
 23946  
 23947  // SetEndTime sets the EndTime field's value.
 23948  func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput {
 23949  	s.EndTime = &v
 23950  	return s
 23951  }
 23952  
 23953  // SetKpiName sets the KpiName field's value.
 23954  func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput {
 23955  	s.KpiName = &v
 23956  	return s
 23957  }
 23958  
 23959  // SetNextToken sets the NextToken field's value.
 23960  func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput {
 23961  	s.NextToken = &v
 23962  	return s
 23963  }
 23964  
 23965  // SetPageSize sets the PageSize field's value.
 23966  func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput {
 23967  	s.PageSize = &v
 23968  	return s
 23969  }
 23970  
 23971  // SetStartTime sets the StartTime field's value.
 23972  func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput {
 23973  	s.StartTime = &v
 23974  	return s
 23975  }
 23976  
 23977  type GetApplicationDateRangeKpiOutput struct {
 23978  	_ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"`
 23979  
 23980  	// Provides the results of a query that retrieved the data for a standard metric
 23981  	// that applies to an application, and provides information about that query.
 23982  	//
 23983  	// ApplicationDateRangeKpiResponse is a required field
 23984  	ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"`
 23985  }
 23986  
 23987  // String returns the string representation.
 23988  //
 23989  // API parameter values that are decorated as "sensitive" in the API will not
 23990  // be included in the string output. The member name will be present, but the
 23991  // value will be replaced with "sensitive".
 23992  func (s GetApplicationDateRangeKpiOutput) String() string {
 23993  	return awsutil.Prettify(s)
 23994  }
 23995  
 23996  // GoString returns the string representation.
 23997  //
 23998  // API parameter values that are decorated as "sensitive" in the API will not
 23999  // be included in the string output. The member name will be present, but the
 24000  // value will be replaced with "sensitive".
 24001  func (s GetApplicationDateRangeKpiOutput) GoString() string {
 24002  	return s.String()
 24003  }
 24004  
 24005  // SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value.
 24006  func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput {
 24007  	s.ApplicationDateRangeKpiResponse = v
 24008  	return s
 24009  }
 24010  
 24011  type GetApplicationSettingsInput struct {
 24012  	_ struct{} `type:"structure" nopayload:"true"`
 24013  
 24014  	// ApplicationId is a required field
 24015  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24016  }
 24017  
 24018  // String returns the string representation.
 24019  //
 24020  // API parameter values that are decorated as "sensitive" in the API will not
 24021  // be included in the string output. The member name will be present, but the
 24022  // value will be replaced with "sensitive".
 24023  func (s GetApplicationSettingsInput) String() string {
 24024  	return awsutil.Prettify(s)
 24025  }
 24026  
 24027  // GoString returns the string representation.
 24028  //
 24029  // API parameter values that are decorated as "sensitive" in the API will not
 24030  // be included in the string output. The member name will be present, but the
 24031  // value will be replaced with "sensitive".
 24032  func (s GetApplicationSettingsInput) GoString() string {
 24033  	return s.String()
 24034  }
 24035  
 24036  // Validate inspects the fields of the type to determine if they are valid.
 24037  func (s *GetApplicationSettingsInput) Validate() error {
 24038  	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
 24039  	if s.ApplicationId == nil {
 24040  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24041  	}
 24042  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24043  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24044  	}
 24045  
 24046  	if invalidParams.Len() > 0 {
 24047  		return invalidParams
 24048  	}
 24049  	return nil
 24050  }
 24051  
 24052  // SetApplicationId sets the ApplicationId field's value.
 24053  func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
 24054  	s.ApplicationId = &v
 24055  	return s
 24056  }
 24057  
 24058  type GetApplicationSettingsOutput struct {
 24059  	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
 24060  
 24061  	// Provides information about an application, including the default settings
 24062  	// for an application.
 24063  	//
 24064  	// ApplicationSettingsResource is a required field
 24065  	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
 24066  }
 24067  
 24068  // String returns the string representation.
 24069  //
 24070  // API parameter values that are decorated as "sensitive" in the API will not
 24071  // be included in the string output. The member name will be present, but the
 24072  // value will be replaced with "sensitive".
 24073  func (s GetApplicationSettingsOutput) String() string {
 24074  	return awsutil.Prettify(s)
 24075  }
 24076  
 24077  // GoString returns the string representation.
 24078  //
 24079  // API parameter values that are decorated as "sensitive" in the API will not
 24080  // be included in the string output. The member name will be present, but the
 24081  // value will be replaced with "sensitive".
 24082  func (s GetApplicationSettingsOutput) GoString() string {
 24083  	return s.String()
 24084  }
 24085  
 24086  // SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
 24087  func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
 24088  	s.ApplicationSettingsResource = v
 24089  	return s
 24090  }
 24091  
 24092  type GetAppsInput struct {
 24093  	_ struct{} `type:"structure" nopayload:"true"`
 24094  
 24095  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 24096  
 24097  	Token *string `location:"querystring" locationName:"token" type:"string"`
 24098  }
 24099  
 24100  // String returns the string representation.
 24101  //
 24102  // API parameter values that are decorated as "sensitive" in the API will not
 24103  // be included in the string output. The member name will be present, but the
 24104  // value will be replaced with "sensitive".
 24105  func (s GetAppsInput) String() string {
 24106  	return awsutil.Prettify(s)
 24107  }
 24108  
 24109  // GoString returns the string representation.
 24110  //
 24111  // API parameter values that are decorated as "sensitive" in the API will not
 24112  // be included in the string output. The member name will be present, but the
 24113  // value will be replaced with "sensitive".
 24114  func (s GetAppsInput) GoString() string {
 24115  	return s.String()
 24116  }
 24117  
 24118  // SetPageSize sets the PageSize field's value.
 24119  func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
 24120  	s.PageSize = &v
 24121  	return s
 24122  }
 24123  
 24124  // SetToken sets the Token field's value.
 24125  func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
 24126  	s.Token = &v
 24127  	return s
 24128  }
 24129  
 24130  type GetAppsOutput struct {
 24131  	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
 24132  
 24133  	// Provides information about all of your applications.
 24134  	//
 24135  	// ApplicationsResponse is a required field
 24136  	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
 24137  }
 24138  
 24139  // String returns the string representation.
 24140  //
 24141  // API parameter values that are decorated as "sensitive" in the API will not
 24142  // be included in the string output. The member name will be present, but the
 24143  // value will be replaced with "sensitive".
 24144  func (s GetAppsOutput) String() string {
 24145  	return awsutil.Prettify(s)
 24146  }
 24147  
 24148  // GoString returns the string representation.
 24149  //
 24150  // API parameter values that are decorated as "sensitive" in the API will not
 24151  // be included in the string output. The member name will be present, but the
 24152  // value will be replaced with "sensitive".
 24153  func (s GetAppsOutput) GoString() string {
 24154  	return s.String()
 24155  }
 24156  
 24157  // SetApplicationsResponse sets the ApplicationsResponse field's value.
 24158  func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
 24159  	s.ApplicationsResponse = v
 24160  	return s
 24161  }
 24162  
 24163  type GetBaiduChannelInput struct {
 24164  	_ struct{} `type:"structure" nopayload:"true"`
 24165  
 24166  	// ApplicationId is a required field
 24167  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24168  }
 24169  
 24170  // String returns the string representation.
 24171  //
 24172  // API parameter values that are decorated as "sensitive" in the API will not
 24173  // be included in the string output. The member name will be present, but the
 24174  // value will be replaced with "sensitive".
 24175  func (s GetBaiduChannelInput) String() string {
 24176  	return awsutil.Prettify(s)
 24177  }
 24178  
 24179  // GoString returns the string representation.
 24180  //
 24181  // API parameter values that are decorated as "sensitive" in the API will not
 24182  // be included in the string output. The member name will be present, but the
 24183  // value will be replaced with "sensitive".
 24184  func (s GetBaiduChannelInput) GoString() string {
 24185  	return s.String()
 24186  }
 24187  
 24188  // Validate inspects the fields of the type to determine if they are valid.
 24189  func (s *GetBaiduChannelInput) Validate() error {
 24190  	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
 24191  	if s.ApplicationId == nil {
 24192  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24193  	}
 24194  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24195  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24196  	}
 24197  
 24198  	if invalidParams.Len() > 0 {
 24199  		return invalidParams
 24200  	}
 24201  	return nil
 24202  }
 24203  
 24204  // SetApplicationId sets the ApplicationId field's value.
 24205  func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
 24206  	s.ApplicationId = &v
 24207  	return s
 24208  }
 24209  
 24210  type GetBaiduChannelOutput struct {
 24211  	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
 24212  
 24213  	// Provides information about the status and settings of the Baidu (Baidu Cloud
 24214  	// Push) channel for an application.
 24215  	//
 24216  	// BaiduChannelResponse is a required field
 24217  	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
 24218  }
 24219  
 24220  // String returns the string representation.
 24221  //
 24222  // API parameter values that are decorated as "sensitive" in the API will not
 24223  // be included in the string output. The member name will be present, but the
 24224  // value will be replaced with "sensitive".
 24225  func (s GetBaiduChannelOutput) String() string {
 24226  	return awsutil.Prettify(s)
 24227  }
 24228  
 24229  // GoString returns the string representation.
 24230  //
 24231  // API parameter values that are decorated as "sensitive" in the API will not
 24232  // be included in the string output. The member name will be present, but the
 24233  // value will be replaced with "sensitive".
 24234  func (s GetBaiduChannelOutput) GoString() string {
 24235  	return s.String()
 24236  }
 24237  
 24238  // SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
 24239  func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
 24240  	s.BaiduChannelResponse = v
 24241  	return s
 24242  }
 24243  
 24244  type GetCampaignActivitiesInput struct {
 24245  	_ struct{} `type:"structure" nopayload:"true"`
 24246  
 24247  	// ApplicationId is a required field
 24248  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24249  
 24250  	// CampaignId is a required field
 24251  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 24252  
 24253  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 24254  
 24255  	Token *string `location:"querystring" locationName:"token" type:"string"`
 24256  }
 24257  
 24258  // String returns the string representation.
 24259  //
 24260  // API parameter values that are decorated as "sensitive" in the API will not
 24261  // be included in the string output. The member name will be present, but the
 24262  // value will be replaced with "sensitive".
 24263  func (s GetCampaignActivitiesInput) String() string {
 24264  	return awsutil.Prettify(s)
 24265  }
 24266  
 24267  // GoString returns the string representation.
 24268  //
 24269  // API parameter values that are decorated as "sensitive" in the API will not
 24270  // be included in the string output. The member name will be present, but the
 24271  // value will be replaced with "sensitive".
 24272  func (s GetCampaignActivitiesInput) GoString() string {
 24273  	return s.String()
 24274  }
 24275  
 24276  // Validate inspects the fields of the type to determine if they are valid.
 24277  func (s *GetCampaignActivitiesInput) Validate() error {
 24278  	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
 24279  	if s.ApplicationId == nil {
 24280  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24281  	}
 24282  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24283  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24284  	}
 24285  	if s.CampaignId == nil {
 24286  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 24287  	}
 24288  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 24289  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 24290  	}
 24291  
 24292  	if invalidParams.Len() > 0 {
 24293  		return invalidParams
 24294  	}
 24295  	return nil
 24296  }
 24297  
 24298  // SetApplicationId sets the ApplicationId field's value.
 24299  func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
 24300  	s.ApplicationId = &v
 24301  	return s
 24302  }
 24303  
 24304  // SetCampaignId sets the CampaignId field's value.
 24305  func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
 24306  	s.CampaignId = &v
 24307  	return s
 24308  }
 24309  
 24310  // SetPageSize sets the PageSize field's value.
 24311  func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
 24312  	s.PageSize = &v
 24313  	return s
 24314  }
 24315  
 24316  // SetToken sets the Token field's value.
 24317  func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
 24318  	s.Token = &v
 24319  	return s
 24320  }
 24321  
 24322  type GetCampaignActivitiesOutput struct {
 24323  	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
 24324  
 24325  	// Provides information about the activities that were performed by a campaign.
 24326  	//
 24327  	// ActivitiesResponse is a required field
 24328  	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
 24329  }
 24330  
 24331  // String returns the string representation.
 24332  //
 24333  // API parameter values that are decorated as "sensitive" in the API will not
 24334  // be included in the string output. The member name will be present, but the
 24335  // value will be replaced with "sensitive".
 24336  func (s GetCampaignActivitiesOutput) String() string {
 24337  	return awsutil.Prettify(s)
 24338  }
 24339  
 24340  // GoString returns the string representation.
 24341  //
 24342  // API parameter values that are decorated as "sensitive" in the API will not
 24343  // be included in the string output. The member name will be present, but the
 24344  // value will be replaced with "sensitive".
 24345  func (s GetCampaignActivitiesOutput) GoString() string {
 24346  	return s.String()
 24347  }
 24348  
 24349  // SetActivitiesResponse sets the ActivitiesResponse field's value.
 24350  func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
 24351  	s.ActivitiesResponse = v
 24352  	return s
 24353  }
 24354  
 24355  type GetCampaignDateRangeKpiInput struct {
 24356  	_ struct{} `type:"structure" nopayload:"true"`
 24357  
 24358  	// ApplicationId is a required field
 24359  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24360  
 24361  	// CampaignId is a required field
 24362  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 24363  
 24364  	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
 24365  
 24366  	// KpiName is a required field
 24367  	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
 24368  
 24369  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 24370  
 24371  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 24372  
 24373  	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
 24374  }
 24375  
 24376  // String returns the string representation.
 24377  //
 24378  // API parameter values that are decorated as "sensitive" in the API will not
 24379  // be included in the string output. The member name will be present, but the
 24380  // value will be replaced with "sensitive".
 24381  func (s GetCampaignDateRangeKpiInput) String() string {
 24382  	return awsutil.Prettify(s)
 24383  }
 24384  
 24385  // GoString returns the string representation.
 24386  //
 24387  // API parameter values that are decorated as "sensitive" in the API will not
 24388  // be included in the string output. The member name will be present, but the
 24389  // value will be replaced with "sensitive".
 24390  func (s GetCampaignDateRangeKpiInput) GoString() string {
 24391  	return s.String()
 24392  }
 24393  
 24394  // Validate inspects the fields of the type to determine if they are valid.
 24395  func (s *GetCampaignDateRangeKpiInput) Validate() error {
 24396  	invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"}
 24397  	if s.ApplicationId == nil {
 24398  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24399  	}
 24400  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24401  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24402  	}
 24403  	if s.CampaignId == nil {
 24404  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 24405  	}
 24406  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 24407  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 24408  	}
 24409  	if s.KpiName == nil {
 24410  		invalidParams.Add(request.NewErrParamRequired("KpiName"))
 24411  	}
 24412  	if s.KpiName != nil && len(*s.KpiName) < 1 {
 24413  		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
 24414  	}
 24415  
 24416  	if invalidParams.Len() > 0 {
 24417  		return invalidParams
 24418  	}
 24419  	return nil
 24420  }
 24421  
 24422  // SetApplicationId sets the ApplicationId field's value.
 24423  func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput {
 24424  	s.ApplicationId = &v
 24425  	return s
 24426  }
 24427  
 24428  // SetCampaignId sets the CampaignId field's value.
 24429  func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput {
 24430  	s.CampaignId = &v
 24431  	return s
 24432  }
 24433  
 24434  // SetEndTime sets the EndTime field's value.
 24435  func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput {
 24436  	s.EndTime = &v
 24437  	return s
 24438  }
 24439  
 24440  // SetKpiName sets the KpiName field's value.
 24441  func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput {
 24442  	s.KpiName = &v
 24443  	return s
 24444  }
 24445  
 24446  // SetNextToken sets the NextToken field's value.
 24447  func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput {
 24448  	s.NextToken = &v
 24449  	return s
 24450  }
 24451  
 24452  // SetPageSize sets the PageSize field's value.
 24453  func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput {
 24454  	s.PageSize = &v
 24455  	return s
 24456  }
 24457  
 24458  // SetStartTime sets the StartTime field's value.
 24459  func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput {
 24460  	s.StartTime = &v
 24461  	return s
 24462  }
 24463  
 24464  type GetCampaignDateRangeKpiOutput struct {
 24465  	_ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"`
 24466  
 24467  	// Provides the results of a query that retrieved the data for a standard metric
 24468  	// that applies to a campaign, and provides information about that query.
 24469  	//
 24470  	// CampaignDateRangeKpiResponse is a required field
 24471  	CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"`
 24472  }
 24473  
 24474  // String returns the string representation.
 24475  //
 24476  // API parameter values that are decorated as "sensitive" in the API will not
 24477  // be included in the string output. The member name will be present, but the
 24478  // value will be replaced with "sensitive".
 24479  func (s GetCampaignDateRangeKpiOutput) String() string {
 24480  	return awsutil.Prettify(s)
 24481  }
 24482  
 24483  // GoString returns the string representation.
 24484  //
 24485  // API parameter values that are decorated as "sensitive" in the API will not
 24486  // be included in the string output. The member name will be present, but the
 24487  // value will be replaced with "sensitive".
 24488  func (s GetCampaignDateRangeKpiOutput) GoString() string {
 24489  	return s.String()
 24490  }
 24491  
 24492  // SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value.
 24493  func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput {
 24494  	s.CampaignDateRangeKpiResponse = v
 24495  	return s
 24496  }
 24497  
 24498  type GetCampaignInput struct {
 24499  	_ struct{} `type:"structure" nopayload:"true"`
 24500  
 24501  	// ApplicationId is a required field
 24502  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24503  
 24504  	// CampaignId is a required field
 24505  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 24506  }
 24507  
 24508  // String returns the string representation.
 24509  //
 24510  // API parameter values that are decorated as "sensitive" in the API will not
 24511  // be included in the string output. The member name will be present, but the
 24512  // value will be replaced with "sensitive".
 24513  func (s GetCampaignInput) String() string {
 24514  	return awsutil.Prettify(s)
 24515  }
 24516  
 24517  // GoString returns the string representation.
 24518  //
 24519  // API parameter values that are decorated as "sensitive" in the API will not
 24520  // be included in the string output. The member name will be present, but the
 24521  // value will be replaced with "sensitive".
 24522  func (s GetCampaignInput) GoString() string {
 24523  	return s.String()
 24524  }
 24525  
 24526  // Validate inspects the fields of the type to determine if they are valid.
 24527  func (s *GetCampaignInput) Validate() error {
 24528  	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
 24529  	if s.ApplicationId == nil {
 24530  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24531  	}
 24532  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24533  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24534  	}
 24535  	if s.CampaignId == nil {
 24536  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 24537  	}
 24538  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 24539  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 24540  	}
 24541  
 24542  	if invalidParams.Len() > 0 {
 24543  		return invalidParams
 24544  	}
 24545  	return nil
 24546  }
 24547  
 24548  // SetApplicationId sets the ApplicationId field's value.
 24549  func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
 24550  	s.ApplicationId = &v
 24551  	return s
 24552  }
 24553  
 24554  // SetCampaignId sets the CampaignId field's value.
 24555  func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
 24556  	s.CampaignId = &v
 24557  	return s
 24558  }
 24559  
 24560  type GetCampaignOutput struct {
 24561  	_ struct{} `type:"structure" payload:"CampaignResponse"`
 24562  
 24563  	// Provides information about the status, configuration, and other settings
 24564  	// for a campaign.
 24565  	//
 24566  	// CampaignResponse is a required field
 24567  	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
 24568  }
 24569  
 24570  // String returns the string representation.
 24571  //
 24572  // API parameter values that are decorated as "sensitive" in the API will not
 24573  // be included in the string output. The member name will be present, but the
 24574  // value will be replaced with "sensitive".
 24575  func (s GetCampaignOutput) String() string {
 24576  	return awsutil.Prettify(s)
 24577  }
 24578  
 24579  // GoString returns the string representation.
 24580  //
 24581  // API parameter values that are decorated as "sensitive" in the API will not
 24582  // be included in the string output. The member name will be present, but the
 24583  // value will be replaced with "sensitive".
 24584  func (s GetCampaignOutput) GoString() string {
 24585  	return s.String()
 24586  }
 24587  
 24588  // SetCampaignResponse sets the CampaignResponse field's value.
 24589  func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
 24590  	s.CampaignResponse = v
 24591  	return s
 24592  }
 24593  
 24594  type GetCampaignVersionInput struct {
 24595  	_ struct{} `type:"structure" nopayload:"true"`
 24596  
 24597  	// ApplicationId is a required field
 24598  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24599  
 24600  	// CampaignId is a required field
 24601  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 24602  
 24603  	// Version is a required field
 24604  	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
 24605  }
 24606  
 24607  // String returns the string representation.
 24608  //
 24609  // API parameter values that are decorated as "sensitive" in the API will not
 24610  // be included in the string output. The member name will be present, but the
 24611  // value will be replaced with "sensitive".
 24612  func (s GetCampaignVersionInput) String() string {
 24613  	return awsutil.Prettify(s)
 24614  }
 24615  
 24616  // GoString returns the string representation.
 24617  //
 24618  // API parameter values that are decorated as "sensitive" in the API will not
 24619  // be included in the string output. The member name will be present, but the
 24620  // value will be replaced with "sensitive".
 24621  func (s GetCampaignVersionInput) GoString() string {
 24622  	return s.String()
 24623  }
 24624  
 24625  // Validate inspects the fields of the type to determine if they are valid.
 24626  func (s *GetCampaignVersionInput) Validate() error {
 24627  	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
 24628  	if s.ApplicationId == nil {
 24629  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24630  	}
 24631  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24632  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24633  	}
 24634  	if s.CampaignId == nil {
 24635  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 24636  	}
 24637  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 24638  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 24639  	}
 24640  	if s.Version == nil {
 24641  		invalidParams.Add(request.NewErrParamRequired("Version"))
 24642  	}
 24643  	if s.Version != nil && len(*s.Version) < 1 {
 24644  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 24645  	}
 24646  
 24647  	if invalidParams.Len() > 0 {
 24648  		return invalidParams
 24649  	}
 24650  	return nil
 24651  }
 24652  
 24653  // SetApplicationId sets the ApplicationId field's value.
 24654  func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
 24655  	s.ApplicationId = &v
 24656  	return s
 24657  }
 24658  
 24659  // SetCampaignId sets the CampaignId field's value.
 24660  func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
 24661  	s.CampaignId = &v
 24662  	return s
 24663  }
 24664  
 24665  // SetVersion sets the Version field's value.
 24666  func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
 24667  	s.Version = &v
 24668  	return s
 24669  }
 24670  
 24671  type GetCampaignVersionOutput struct {
 24672  	_ struct{} `type:"structure" payload:"CampaignResponse"`
 24673  
 24674  	// Provides information about the status, configuration, and other settings
 24675  	// for a campaign.
 24676  	//
 24677  	// CampaignResponse is a required field
 24678  	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
 24679  }
 24680  
 24681  // String returns the string representation.
 24682  //
 24683  // API parameter values that are decorated as "sensitive" in the API will not
 24684  // be included in the string output. The member name will be present, but the
 24685  // value will be replaced with "sensitive".
 24686  func (s GetCampaignVersionOutput) String() string {
 24687  	return awsutil.Prettify(s)
 24688  }
 24689  
 24690  // GoString returns the string representation.
 24691  //
 24692  // API parameter values that are decorated as "sensitive" in the API will not
 24693  // be included in the string output. The member name will be present, but the
 24694  // value will be replaced with "sensitive".
 24695  func (s GetCampaignVersionOutput) GoString() string {
 24696  	return s.String()
 24697  }
 24698  
 24699  // SetCampaignResponse sets the CampaignResponse field's value.
 24700  func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
 24701  	s.CampaignResponse = v
 24702  	return s
 24703  }
 24704  
 24705  type GetCampaignVersionsInput struct {
 24706  	_ struct{} `type:"structure" nopayload:"true"`
 24707  
 24708  	// ApplicationId is a required field
 24709  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24710  
 24711  	// CampaignId is a required field
 24712  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 24713  
 24714  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 24715  
 24716  	Token *string `location:"querystring" locationName:"token" type:"string"`
 24717  }
 24718  
 24719  // String returns the string representation.
 24720  //
 24721  // API parameter values that are decorated as "sensitive" in the API will not
 24722  // be included in the string output. The member name will be present, but the
 24723  // value will be replaced with "sensitive".
 24724  func (s GetCampaignVersionsInput) String() string {
 24725  	return awsutil.Prettify(s)
 24726  }
 24727  
 24728  // GoString returns the string representation.
 24729  //
 24730  // API parameter values that are decorated as "sensitive" in the API will not
 24731  // be included in the string output. The member name will be present, but the
 24732  // value will be replaced with "sensitive".
 24733  func (s GetCampaignVersionsInput) GoString() string {
 24734  	return s.String()
 24735  }
 24736  
 24737  // Validate inspects the fields of the type to determine if they are valid.
 24738  func (s *GetCampaignVersionsInput) Validate() error {
 24739  	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
 24740  	if s.ApplicationId == nil {
 24741  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24742  	}
 24743  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24744  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24745  	}
 24746  	if s.CampaignId == nil {
 24747  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 24748  	}
 24749  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 24750  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 24751  	}
 24752  
 24753  	if invalidParams.Len() > 0 {
 24754  		return invalidParams
 24755  	}
 24756  	return nil
 24757  }
 24758  
 24759  // SetApplicationId sets the ApplicationId field's value.
 24760  func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
 24761  	s.ApplicationId = &v
 24762  	return s
 24763  }
 24764  
 24765  // SetCampaignId sets the CampaignId field's value.
 24766  func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
 24767  	s.CampaignId = &v
 24768  	return s
 24769  }
 24770  
 24771  // SetPageSize sets the PageSize field's value.
 24772  func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
 24773  	s.PageSize = &v
 24774  	return s
 24775  }
 24776  
 24777  // SetToken sets the Token field's value.
 24778  func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
 24779  	s.Token = &v
 24780  	return s
 24781  }
 24782  
 24783  type GetCampaignVersionsOutput struct {
 24784  	_ struct{} `type:"structure" payload:"CampaignsResponse"`
 24785  
 24786  	// Provides information about the configuration and other settings for all the
 24787  	// campaigns that are associated with an application.
 24788  	//
 24789  	// CampaignsResponse is a required field
 24790  	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
 24791  }
 24792  
 24793  // String returns the string representation.
 24794  //
 24795  // API parameter values that are decorated as "sensitive" in the API will not
 24796  // be included in the string output. The member name will be present, but the
 24797  // value will be replaced with "sensitive".
 24798  func (s GetCampaignVersionsOutput) String() string {
 24799  	return awsutil.Prettify(s)
 24800  }
 24801  
 24802  // GoString returns the string representation.
 24803  //
 24804  // API parameter values that are decorated as "sensitive" in the API will not
 24805  // be included in the string output. The member name will be present, but the
 24806  // value will be replaced with "sensitive".
 24807  func (s GetCampaignVersionsOutput) GoString() string {
 24808  	return s.String()
 24809  }
 24810  
 24811  // SetCampaignsResponse sets the CampaignsResponse field's value.
 24812  func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
 24813  	s.CampaignsResponse = v
 24814  	return s
 24815  }
 24816  
 24817  type GetCampaignsInput struct {
 24818  	_ struct{} `type:"structure" nopayload:"true"`
 24819  
 24820  	// ApplicationId is a required field
 24821  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24822  
 24823  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 24824  
 24825  	Token *string `location:"querystring" locationName:"token" type:"string"`
 24826  }
 24827  
 24828  // String returns the string representation.
 24829  //
 24830  // API parameter values that are decorated as "sensitive" in the API will not
 24831  // be included in the string output. The member name will be present, but the
 24832  // value will be replaced with "sensitive".
 24833  func (s GetCampaignsInput) String() string {
 24834  	return awsutil.Prettify(s)
 24835  }
 24836  
 24837  // GoString returns the string representation.
 24838  //
 24839  // API parameter values that are decorated as "sensitive" in the API will not
 24840  // be included in the string output. The member name will be present, but the
 24841  // value will be replaced with "sensitive".
 24842  func (s GetCampaignsInput) GoString() string {
 24843  	return s.String()
 24844  }
 24845  
 24846  // Validate inspects the fields of the type to determine if they are valid.
 24847  func (s *GetCampaignsInput) Validate() error {
 24848  	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
 24849  	if s.ApplicationId == nil {
 24850  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24851  	}
 24852  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24853  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24854  	}
 24855  
 24856  	if invalidParams.Len() > 0 {
 24857  		return invalidParams
 24858  	}
 24859  	return nil
 24860  }
 24861  
 24862  // SetApplicationId sets the ApplicationId field's value.
 24863  func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
 24864  	s.ApplicationId = &v
 24865  	return s
 24866  }
 24867  
 24868  // SetPageSize sets the PageSize field's value.
 24869  func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
 24870  	s.PageSize = &v
 24871  	return s
 24872  }
 24873  
 24874  // SetToken sets the Token field's value.
 24875  func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
 24876  	s.Token = &v
 24877  	return s
 24878  }
 24879  
 24880  type GetCampaignsOutput struct {
 24881  	_ struct{} `type:"structure" payload:"CampaignsResponse"`
 24882  
 24883  	// Provides information about the configuration and other settings for all the
 24884  	// campaigns that are associated with an application.
 24885  	//
 24886  	// CampaignsResponse is a required field
 24887  	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
 24888  }
 24889  
 24890  // String returns the string representation.
 24891  //
 24892  // API parameter values that are decorated as "sensitive" in the API will not
 24893  // be included in the string output. The member name will be present, but the
 24894  // value will be replaced with "sensitive".
 24895  func (s GetCampaignsOutput) String() string {
 24896  	return awsutil.Prettify(s)
 24897  }
 24898  
 24899  // GoString returns the string representation.
 24900  //
 24901  // API parameter values that are decorated as "sensitive" in the API will not
 24902  // be included in the string output. The member name will be present, but the
 24903  // value will be replaced with "sensitive".
 24904  func (s GetCampaignsOutput) GoString() string {
 24905  	return s.String()
 24906  }
 24907  
 24908  // SetCampaignsResponse sets the CampaignsResponse field's value.
 24909  func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
 24910  	s.CampaignsResponse = v
 24911  	return s
 24912  }
 24913  
 24914  type GetChannelsInput struct {
 24915  	_ struct{} `type:"structure" nopayload:"true"`
 24916  
 24917  	// ApplicationId is a required field
 24918  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 24919  }
 24920  
 24921  // String returns the string representation.
 24922  //
 24923  // API parameter values that are decorated as "sensitive" in the API will not
 24924  // be included in the string output. The member name will be present, but the
 24925  // value will be replaced with "sensitive".
 24926  func (s GetChannelsInput) String() string {
 24927  	return awsutil.Prettify(s)
 24928  }
 24929  
 24930  // GoString returns the string representation.
 24931  //
 24932  // API parameter values that are decorated as "sensitive" in the API will not
 24933  // be included in the string output. The member name will be present, but the
 24934  // value will be replaced with "sensitive".
 24935  func (s GetChannelsInput) GoString() string {
 24936  	return s.String()
 24937  }
 24938  
 24939  // Validate inspects the fields of the type to determine if they are valid.
 24940  func (s *GetChannelsInput) Validate() error {
 24941  	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
 24942  	if s.ApplicationId == nil {
 24943  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 24944  	}
 24945  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 24946  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 24947  	}
 24948  
 24949  	if invalidParams.Len() > 0 {
 24950  		return invalidParams
 24951  	}
 24952  	return nil
 24953  }
 24954  
 24955  // SetApplicationId sets the ApplicationId field's value.
 24956  func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
 24957  	s.ApplicationId = &v
 24958  	return s
 24959  }
 24960  
 24961  type GetChannelsOutput struct {
 24962  	_ struct{} `type:"structure" payload:"ChannelsResponse"`
 24963  
 24964  	// Provides information about the general settings and status of all channels
 24965  	// for an application, including channels that aren't enabled for the application.
 24966  	//
 24967  	// ChannelsResponse is a required field
 24968  	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
 24969  }
 24970  
 24971  // String returns the string representation.
 24972  //
 24973  // API parameter values that are decorated as "sensitive" in the API will not
 24974  // be included in the string output. The member name will be present, but the
 24975  // value will be replaced with "sensitive".
 24976  func (s GetChannelsOutput) String() string {
 24977  	return awsutil.Prettify(s)
 24978  }
 24979  
 24980  // GoString returns the string representation.
 24981  //
 24982  // API parameter values that are decorated as "sensitive" in the API will not
 24983  // be included in the string output. The member name will be present, but the
 24984  // value will be replaced with "sensitive".
 24985  func (s GetChannelsOutput) GoString() string {
 24986  	return s.String()
 24987  }
 24988  
 24989  // SetChannelsResponse sets the ChannelsResponse field's value.
 24990  func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
 24991  	s.ChannelsResponse = v
 24992  	return s
 24993  }
 24994  
 24995  type GetEmailChannelInput struct {
 24996  	_ struct{} `type:"structure" nopayload:"true"`
 24997  
 24998  	// ApplicationId is a required field
 24999  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25000  }
 25001  
 25002  // String returns the string representation.
 25003  //
 25004  // API parameter values that are decorated as "sensitive" in the API will not
 25005  // be included in the string output. The member name will be present, but the
 25006  // value will be replaced with "sensitive".
 25007  func (s GetEmailChannelInput) String() string {
 25008  	return awsutil.Prettify(s)
 25009  }
 25010  
 25011  // GoString returns the string representation.
 25012  //
 25013  // API parameter values that are decorated as "sensitive" in the API will not
 25014  // be included in the string output. The member name will be present, but the
 25015  // value will be replaced with "sensitive".
 25016  func (s GetEmailChannelInput) GoString() string {
 25017  	return s.String()
 25018  }
 25019  
 25020  // Validate inspects the fields of the type to determine if they are valid.
 25021  func (s *GetEmailChannelInput) Validate() error {
 25022  	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
 25023  	if s.ApplicationId == nil {
 25024  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25025  	}
 25026  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25027  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25028  	}
 25029  
 25030  	if invalidParams.Len() > 0 {
 25031  		return invalidParams
 25032  	}
 25033  	return nil
 25034  }
 25035  
 25036  // SetApplicationId sets the ApplicationId field's value.
 25037  func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
 25038  	s.ApplicationId = &v
 25039  	return s
 25040  }
 25041  
 25042  type GetEmailChannelOutput struct {
 25043  	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
 25044  
 25045  	// Provides information about the status and settings of the email channel for
 25046  	// an application.
 25047  	//
 25048  	// EmailChannelResponse is a required field
 25049  	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
 25050  }
 25051  
 25052  // String returns the string representation.
 25053  //
 25054  // API parameter values that are decorated as "sensitive" in the API will not
 25055  // be included in the string output. The member name will be present, but the
 25056  // value will be replaced with "sensitive".
 25057  func (s GetEmailChannelOutput) String() string {
 25058  	return awsutil.Prettify(s)
 25059  }
 25060  
 25061  // GoString returns the string representation.
 25062  //
 25063  // API parameter values that are decorated as "sensitive" in the API will not
 25064  // be included in the string output. The member name will be present, but the
 25065  // value will be replaced with "sensitive".
 25066  func (s GetEmailChannelOutput) GoString() string {
 25067  	return s.String()
 25068  }
 25069  
 25070  // SetEmailChannelResponse sets the EmailChannelResponse field's value.
 25071  func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
 25072  	s.EmailChannelResponse = v
 25073  	return s
 25074  }
 25075  
 25076  type GetEmailTemplateInput struct {
 25077  	_ struct{} `type:"structure" nopayload:"true"`
 25078  
 25079  	// TemplateName is a required field
 25080  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 25081  
 25082  	Version *string `location:"querystring" locationName:"version" type:"string"`
 25083  }
 25084  
 25085  // String returns the string representation.
 25086  //
 25087  // API parameter values that are decorated as "sensitive" in the API will not
 25088  // be included in the string output. The member name will be present, but the
 25089  // value will be replaced with "sensitive".
 25090  func (s GetEmailTemplateInput) String() string {
 25091  	return awsutil.Prettify(s)
 25092  }
 25093  
 25094  // GoString returns the string representation.
 25095  //
 25096  // API parameter values that are decorated as "sensitive" in the API will not
 25097  // be included in the string output. The member name will be present, but the
 25098  // value will be replaced with "sensitive".
 25099  func (s GetEmailTemplateInput) GoString() string {
 25100  	return s.String()
 25101  }
 25102  
 25103  // Validate inspects the fields of the type to determine if they are valid.
 25104  func (s *GetEmailTemplateInput) Validate() error {
 25105  	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
 25106  	if s.TemplateName == nil {
 25107  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 25108  	}
 25109  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 25110  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 25111  	}
 25112  
 25113  	if invalidParams.Len() > 0 {
 25114  		return invalidParams
 25115  	}
 25116  	return nil
 25117  }
 25118  
 25119  // SetTemplateName sets the TemplateName field's value.
 25120  func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
 25121  	s.TemplateName = &v
 25122  	return s
 25123  }
 25124  
 25125  // SetVersion sets the Version field's value.
 25126  func (s *GetEmailTemplateInput) SetVersion(v string) *GetEmailTemplateInput {
 25127  	s.Version = &v
 25128  	return s
 25129  }
 25130  
 25131  type GetEmailTemplateOutput struct {
 25132  	_ struct{} `type:"structure" payload:"EmailTemplateResponse"`
 25133  
 25134  	// Provides information about the content and settings for a message template
 25135  	// that can be used in messages that are sent through the email channel.
 25136  	//
 25137  	// EmailTemplateResponse is a required field
 25138  	EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"`
 25139  }
 25140  
 25141  // String returns the string representation.
 25142  //
 25143  // API parameter values that are decorated as "sensitive" in the API will not
 25144  // be included in the string output. The member name will be present, but the
 25145  // value will be replaced with "sensitive".
 25146  func (s GetEmailTemplateOutput) String() string {
 25147  	return awsutil.Prettify(s)
 25148  }
 25149  
 25150  // GoString returns the string representation.
 25151  //
 25152  // API parameter values that are decorated as "sensitive" in the API will not
 25153  // be included in the string output. The member name will be present, but the
 25154  // value will be replaced with "sensitive".
 25155  func (s GetEmailTemplateOutput) GoString() string {
 25156  	return s.String()
 25157  }
 25158  
 25159  // SetEmailTemplateResponse sets the EmailTemplateResponse field's value.
 25160  func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput {
 25161  	s.EmailTemplateResponse = v
 25162  	return s
 25163  }
 25164  
 25165  type GetEndpointInput struct {
 25166  	_ struct{} `type:"structure" nopayload:"true"`
 25167  
 25168  	// ApplicationId is a required field
 25169  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25170  
 25171  	// EndpointId is a required field
 25172  	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
 25173  }
 25174  
 25175  // String returns the string representation.
 25176  //
 25177  // API parameter values that are decorated as "sensitive" in the API will not
 25178  // be included in the string output. The member name will be present, but the
 25179  // value will be replaced with "sensitive".
 25180  func (s GetEndpointInput) String() string {
 25181  	return awsutil.Prettify(s)
 25182  }
 25183  
 25184  // GoString returns the string representation.
 25185  //
 25186  // API parameter values that are decorated as "sensitive" in the API will not
 25187  // be included in the string output. The member name will be present, but the
 25188  // value will be replaced with "sensitive".
 25189  func (s GetEndpointInput) GoString() string {
 25190  	return s.String()
 25191  }
 25192  
 25193  // Validate inspects the fields of the type to determine if they are valid.
 25194  func (s *GetEndpointInput) Validate() error {
 25195  	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
 25196  	if s.ApplicationId == nil {
 25197  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25198  	}
 25199  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25200  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25201  	}
 25202  	if s.EndpointId == nil {
 25203  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
 25204  	}
 25205  	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
 25206  		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
 25207  	}
 25208  
 25209  	if invalidParams.Len() > 0 {
 25210  		return invalidParams
 25211  	}
 25212  	return nil
 25213  }
 25214  
 25215  // SetApplicationId sets the ApplicationId field's value.
 25216  func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
 25217  	s.ApplicationId = &v
 25218  	return s
 25219  }
 25220  
 25221  // SetEndpointId sets the EndpointId field's value.
 25222  func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
 25223  	s.EndpointId = &v
 25224  	return s
 25225  }
 25226  
 25227  type GetEndpointOutput struct {
 25228  	_ struct{} `type:"structure" payload:"EndpointResponse"`
 25229  
 25230  	// Provides information about the channel type and other settings for an endpoint.
 25231  	//
 25232  	// EndpointResponse is a required field
 25233  	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
 25234  }
 25235  
 25236  // String returns the string representation.
 25237  //
 25238  // API parameter values that are decorated as "sensitive" in the API will not
 25239  // be included in the string output. The member name will be present, but the
 25240  // value will be replaced with "sensitive".
 25241  func (s GetEndpointOutput) String() string {
 25242  	return awsutil.Prettify(s)
 25243  }
 25244  
 25245  // GoString returns the string representation.
 25246  //
 25247  // API parameter values that are decorated as "sensitive" in the API will not
 25248  // be included in the string output. The member name will be present, but the
 25249  // value will be replaced with "sensitive".
 25250  func (s GetEndpointOutput) GoString() string {
 25251  	return s.String()
 25252  }
 25253  
 25254  // SetEndpointResponse sets the EndpointResponse field's value.
 25255  func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
 25256  	s.EndpointResponse = v
 25257  	return s
 25258  }
 25259  
 25260  type GetEventStreamInput struct {
 25261  	_ struct{} `type:"structure" nopayload:"true"`
 25262  
 25263  	// ApplicationId is a required field
 25264  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25265  }
 25266  
 25267  // String returns the string representation.
 25268  //
 25269  // API parameter values that are decorated as "sensitive" in the API will not
 25270  // be included in the string output. The member name will be present, but the
 25271  // value will be replaced with "sensitive".
 25272  func (s GetEventStreamInput) String() string {
 25273  	return awsutil.Prettify(s)
 25274  }
 25275  
 25276  // GoString returns the string representation.
 25277  //
 25278  // API parameter values that are decorated as "sensitive" in the API will not
 25279  // be included in the string output. The member name will be present, but the
 25280  // value will be replaced with "sensitive".
 25281  func (s GetEventStreamInput) GoString() string {
 25282  	return s.String()
 25283  }
 25284  
 25285  // Validate inspects the fields of the type to determine if they are valid.
 25286  func (s *GetEventStreamInput) Validate() error {
 25287  	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
 25288  	if s.ApplicationId == nil {
 25289  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25290  	}
 25291  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25292  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25293  	}
 25294  
 25295  	if invalidParams.Len() > 0 {
 25296  		return invalidParams
 25297  	}
 25298  	return nil
 25299  }
 25300  
 25301  // SetApplicationId sets the ApplicationId field's value.
 25302  func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
 25303  	s.ApplicationId = &v
 25304  	return s
 25305  }
 25306  
 25307  type GetEventStreamOutput struct {
 25308  	_ struct{} `type:"structure" payload:"EventStream"`
 25309  
 25310  	// Specifies settings for publishing event data to an Amazon Kinesis data stream
 25311  	// or an Amazon Kinesis Data Firehose delivery stream.
 25312  	//
 25313  	// EventStream is a required field
 25314  	EventStream *EventStream `type:"structure" required:"true"`
 25315  }
 25316  
 25317  // String returns the string representation.
 25318  //
 25319  // API parameter values that are decorated as "sensitive" in the API will not
 25320  // be included in the string output. The member name will be present, but the
 25321  // value will be replaced with "sensitive".
 25322  func (s GetEventStreamOutput) String() string {
 25323  	return awsutil.Prettify(s)
 25324  }
 25325  
 25326  // GoString returns the string representation.
 25327  //
 25328  // API parameter values that are decorated as "sensitive" in the API will not
 25329  // be included in the string output. The member name will be present, but the
 25330  // value will be replaced with "sensitive".
 25331  func (s GetEventStreamOutput) GoString() string {
 25332  	return s.String()
 25333  }
 25334  
 25335  // SetEventStream sets the EventStream field's value.
 25336  func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
 25337  	s.EventStream = v
 25338  	return s
 25339  }
 25340  
 25341  type GetExportJobInput struct {
 25342  	_ struct{} `type:"structure" nopayload:"true"`
 25343  
 25344  	// ApplicationId is a required field
 25345  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25346  
 25347  	// JobId is a required field
 25348  	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
 25349  }
 25350  
 25351  // String returns the string representation.
 25352  //
 25353  // API parameter values that are decorated as "sensitive" in the API will not
 25354  // be included in the string output. The member name will be present, but the
 25355  // value will be replaced with "sensitive".
 25356  func (s GetExportJobInput) String() string {
 25357  	return awsutil.Prettify(s)
 25358  }
 25359  
 25360  // GoString returns the string representation.
 25361  //
 25362  // API parameter values that are decorated as "sensitive" in the API will not
 25363  // be included in the string output. The member name will be present, but the
 25364  // value will be replaced with "sensitive".
 25365  func (s GetExportJobInput) GoString() string {
 25366  	return s.String()
 25367  }
 25368  
 25369  // Validate inspects the fields of the type to determine if they are valid.
 25370  func (s *GetExportJobInput) Validate() error {
 25371  	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
 25372  	if s.ApplicationId == nil {
 25373  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25374  	}
 25375  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25376  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25377  	}
 25378  	if s.JobId == nil {
 25379  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 25380  	}
 25381  	if s.JobId != nil && len(*s.JobId) < 1 {
 25382  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 25383  	}
 25384  
 25385  	if invalidParams.Len() > 0 {
 25386  		return invalidParams
 25387  	}
 25388  	return nil
 25389  }
 25390  
 25391  // SetApplicationId sets the ApplicationId field's value.
 25392  func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
 25393  	s.ApplicationId = &v
 25394  	return s
 25395  }
 25396  
 25397  // SetJobId sets the JobId field's value.
 25398  func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
 25399  	s.JobId = &v
 25400  	return s
 25401  }
 25402  
 25403  type GetExportJobOutput struct {
 25404  	_ struct{} `type:"structure" payload:"ExportJobResponse"`
 25405  
 25406  	// Provides information about the status and settings of a job that exports
 25407  	// endpoint definitions to a file. The file can be added directly to an Amazon
 25408  	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
 25409  	// or downloaded directly to a computer by using the Amazon Pinpoint console.
 25410  	//
 25411  	// ExportJobResponse is a required field
 25412  	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
 25413  }
 25414  
 25415  // String returns the string representation.
 25416  //
 25417  // API parameter values that are decorated as "sensitive" in the API will not
 25418  // be included in the string output. The member name will be present, but the
 25419  // value will be replaced with "sensitive".
 25420  func (s GetExportJobOutput) String() string {
 25421  	return awsutil.Prettify(s)
 25422  }
 25423  
 25424  // GoString returns the string representation.
 25425  //
 25426  // API parameter values that are decorated as "sensitive" in the API will not
 25427  // be included in the string output. The member name will be present, but the
 25428  // value will be replaced with "sensitive".
 25429  func (s GetExportJobOutput) GoString() string {
 25430  	return s.String()
 25431  }
 25432  
 25433  // SetExportJobResponse sets the ExportJobResponse field's value.
 25434  func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
 25435  	s.ExportJobResponse = v
 25436  	return s
 25437  }
 25438  
 25439  type GetExportJobsInput struct {
 25440  	_ struct{} `type:"structure" nopayload:"true"`
 25441  
 25442  	// ApplicationId is a required field
 25443  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25444  
 25445  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 25446  
 25447  	Token *string `location:"querystring" locationName:"token" type:"string"`
 25448  }
 25449  
 25450  // String returns the string representation.
 25451  //
 25452  // API parameter values that are decorated as "sensitive" in the API will not
 25453  // be included in the string output. The member name will be present, but the
 25454  // value will be replaced with "sensitive".
 25455  func (s GetExportJobsInput) String() string {
 25456  	return awsutil.Prettify(s)
 25457  }
 25458  
 25459  // GoString returns the string representation.
 25460  //
 25461  // API parameter values that are decorated as "sensitive" in the API will not
 25462  // be included in the string output. The member name will be present, but the
 25463  // value will be replaced with "sensitive".
 25464  func (s GetExportJobsInput) GoString() string {
 25465  	return s.String()
 25466  }
 25467  
 25468  // Validate inspects the fields of the type to determine if they are valid.
 25469  func (s *GetExportJobsInput) Validate() error {
 25470  	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
 25471  	if s.ApplicationId == nil {
 25472  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25473  	}
 25474  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25475  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25476  	}
 25477  
 25478  	if invalidParams.Len() > 0 {
 25479  		return invalidParams
 25480  	}
 25481  	return nil
 25482  }
 25483  
 25484  // SetApplicationId sets the ApplicationId field's value.
 25485  func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
 25486  	s.ApplicationId = &v
 25487  	return s
 25488  }
 25489  
 25490  // SetPageSize sets the PageSize field's value.
 25491  func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
 25492  	s.PageSize = &v
 25493  	return s
 25494  }
 25495  
 25496  // SetToken sets the Token field's value.
 25497  func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
 25498  	s.Token = &v
 25499  	return s
 25500  }
 25501  
 25502  type GetExportJobsOutput struct {
 25503  	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
 25504  
 25505  	// Provides information about all the export jobs that are associated with an
 25506  	// application or segment. An export job is a job that exports endpoint definitions
 25507  	// to a file.
 25508  	//
 25509  	// ExportJobsResponse is a required field
 25510  	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
 25511  }
 25512  
 25513  // String returns the string representation.
 25514  //
 25515  // API parameter values that are decorated as "sensitive" in the API will not
 25516  // be included in the string output. The member name will be present, but the
 25517  // value will be replaced with "sensitive".
 25518  func (s GetExportJobsOutput) String() string {
 25519  	return awsutil.Prettify(s)
 25520  }
 25521  
 25522  // GoString returns the string representation.
 25523  //
 25524  // API parameter values that are decorated as "sensitive" in the API will not
 25525  // be included in the string output. The member name will be present, but the
 25526  // value will be replaced with "sensitive".
 25527  func (s GetExportJobsOutput) GoString() string {
 25528  	return s.String()
 25529  }
 25530  
 25531  // SetExportJobsResponse sets the ExportJobsResponse field's value.
 25532  func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
 25533  	s.ExportJobsResponse = v
 25534  	return s
 25535  }
 25536  
 25537  type GetGcmChannelInput struct {
 25538  	_ struct{} `type:"structure" nopayload:"true"`
 25539  
 25540  	// ApplicationId is a required field
 25541  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25542  }
 25543  
 25544  // String returns the string representation.
 25545  //
 25546  // API parameter values that are decorated as "sensitive" in the API will not
 25547  // be included in the string output. The member name will be present, but the
 25548  // value will be replaced with "sensitive".
 25549  func (s GetGcmChannelInput) String() string {
 25550  	return awsutil.Prettify(s)
 25551  }
 25552  
 25553  // GoString returns the string representation.
 25554  //
 25555  // API parameter values that are decorated as "sensitive" in the API will not
 25556  // be included in the string output. The member name will be present, but the
 25557  // value will be replaced with "sensitive".
 25558  func (s GetGcmChannelInput) GoString() string {
 25559  	return s.String()
 25560  }
 25561  
 25562  // Validate inspects the fields of the type to determine if they are valid.
 25563  func (s *GetGcmChannelInput) Validate() error {
 25564  	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
 25565  	if s.ApplicationId == nil {
 25566  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25567  	}
 25568  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25569  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25570  	}
 25571  
 25572  	if invalidParams.Len() > 0 {
 25573  		return invalidParams
 25574  	}
 25575  	return nil
 25576  }
 25577  
 25578  // SetApplicationId sets the ApplicationId field's value.
 25579  func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
 25580  	s.ApplicationId = &v
 25581  	return s
 25582  }
 25583  
 25584  type GetGcmChannelOutput struct {
 25585  	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
 25586  
 25587  	// Provides information about the status and settings of the GCM channel for
 25588  	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
 25589  	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
 25590  	// (GCM), service.
 25591  	//
 25592  	// GCMChannelResponse is a required field
 25593  	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
 25594  }
 25595  
 25596  // String returns the string representation.
 25597  //
 25598  // API parameter values that are decorated as "sensitive" in the API will not
 25599  // be included in the string output. The member name will be present, but the
 25600  // value will be replaced with "sensitive".
 25601  func (s GetGcmChannelOutput) String() string {
 25602  	return awsutil.Prettify(s)
 25603  }
 25604  
 25605  // GoString returns the string representation.
 25606  //
 25607  // API parameter values that are decorated as "sensitive" in the API will not
 25608  // be included in the string output. The member name will be present, but the
 25609  // value will be replaced with "sensitive".
 25610  func (s GetGcmChannelOutput) GoString() string {
 25611  	return s.String()
 25612  }
 25613  
 25614  // SetGCMChannelResponse sets the GCMChannelResponse field's value.
 25615  func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
 25616  	s.GCMChannelResponse = v
 25617  	return s
 25618  }
 25619  
 25620  type GetImportJobInput struct {
 25621  	_ struct{} `type:"structure" nopayload:"true"`
 25622  
 25623  	// ApplicationId is a required field
 25624  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25625  
 25626  	// JobId is a required field
 25627  	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
 25628  }
 25629  
 25630  // String returns the string representation.
 25631  //
 25632  // API parameter values that are decorated as "sensitive" in the API will not
 25633  // be included in the string output. The member name will be present, but the
 25634  // value will be replaced with "sensitive".
 25635  func (s GetImportJobInput) String() string {
 25636  	return awsutil.Prettify(s)
 25637  }
 25638  
 25639  // GoString returns the string representation.
 25640  //
 25641  // API parameter values that are decorated as "sensitive" in the API will not
 25642  // be included in the string output. The member name will be present, but the
 25643  // value will be replaced with "sensitive".
 25644  func (s GetImportJobInput) GoString() string {
 25645  	return s.String()
 25646  }
 25647  
 25648  // Validate inspects the fields of the type to determine if they are valid.
 25649  func (s *GetImportJobInput) Validate() error {
 25650  	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
 25651  	if s.ApplicationId == nil {
 25652  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25653  	}
 25654  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25655  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25656  	}
 25657  	if s.JobId == nil {
 25658  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 25659  	}
 25660  	if s.JobId != nil && len(*s.JobId) < 1 {
 25661  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 25662  	}
 25663  
 25664  	if invalidParams.Len() > 0 {
 25665  		return invalidParams
 25666  	}
 25667  	return nil
 25668  }
 25669  
 25670  // SetApplicationId sets the ApplicationId field's value.
 25671  func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
 25672  	s.ApplicationId = &v
 25673  	return s
 25674  }
 25675  
 25676  // SetJobId sets the JobId field's value.
 25677  func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
 25678  	s.JobId = &v
 25679  	return s
 25680  }
 25681  
 25682  type GetImportJobOutput struct {
 25683  	_ struct{} `type:"structure" payload:"ImportJobResponse"`
 25684  
 25685  	// Provides information about the status and settings of a job that imports
 25686  	// endpoint definitions from one or more files. The files can be stored in an
 25687  	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
 25688  	// a computer by using the Amazon Pinpoint console.
 25689  	//
 25690  	// ImportJobResponse is a required field
 25691  	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
 25692  }
 25693  
 25694  // String returns the string representation.
 25695  //
 25696  // API parameter values that are decorated as "sensitive" in the API will not
 25697  // be included in the string output. The member name will be present, but the
 25698  // value will be replaced with "sensitive".
 25699  func (s GetImportJobOutput) String() string {
 25700  	return awsutil.Prettify(s)
 25701  }
 25702  
 25703  // GoString returns the string representation.
 25704  //
 25705  // API parameter values that are decorated as "sensitive" in the API will not
 25706  // be included in the string output. The member name will be present, but the
 25707  // value will be replaced with "sensitive".
 25708  func (s GetImportJobOutput) GoString() string {
 25709  	return s.String()
 25710  }
 25711  
 25712  // SetImportJobResponse sets the ImportJobResponse field's value.
 25713  func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
 25714  	s.ImportJobResponse = v
 25715  	return s
 25716  }
 25717  
 25718  type GetImportJobsInput struct {
 25719  	_ struct{} `type:"structure" nopayload:"true"`
 25720  
 25721  	// ApplicationId is a required field
 25722  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25723  
 25724  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 25725  
 25726  	Token *string `location:"querystring" locationName:"token" type:"string"`
 25727  }
 25728  
 25729  // String returns the string representation.
 25730  //
 25731  // API parameter values that are decorated as "sensitive" in the API will not
 25732  // be included in the string output. The member name will be present, but the
 25733  // value will be replaced with "sensitive".
 25734  func (s GetImportJobsInput) String() string {
 25735  	return awsutil.Prettify(s)
 25736  }
 25737  
 25738  // GoString returns the string representation.
 25739  //
 25740  // API parameter values that are decorated as "sensitive" in the API will not
 25741  // be included in the string output. The member name will be present, but the
 25742  // value will be replaced with "sensitive".
 25743  func (s GetImportJobsInput) GoString() string {
 25744  	return s.String()
 25745  }
 25746  
 25747  // Validate inspects the fields of the type to determine if they are valid.
 25748  func (s *GetImportJobsInput) Validate() error {
 25749  	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
 25750  	if s.ApplicationId == nil {
 25751  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25752  	}
 25753  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25754  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25755  	}
 25756  
 25757  	if invalidParams.Len() > 0 {
 25758  		return invalidParams
 25759  	}
 25760  	return nil
 25761  }
 25762  
 25763  // SetApplicationId sets the ApplicationId field's value.
 25764  func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
 25765  	s.ApplicationId = &v
 25766  	return s
 25767  }
 25768  
 25769  // SetPageSize sets the PageSize field's value.
 25770  func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
 25771  	s.PageSize = &v
 25772  	return s
 25773  }
 25774  
 25775  // SetToken sets the Token field's value.
 25776  func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
 25777  	s.Token = &v
 25778  	return s
 25779  }
 25780  
 25781  type GetImportJobsOutput struct {
 25782  	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
 25783  
 25784  	// Provides information about the status and settings of all the import jobs
 25785  	// that are associated with an application or segment. An import job is a job
 25786  	// that imports endpoint definitions from one or more files.
 25787  	//
 25788  	// ImportJobsResponse is a required field
 25789  	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
 25790  }
 25791  
 25792  // String returns the string representation.
 25793  //
 25794  // API parameter values that are decorated as "sensitive" in the API will not
 25795  // be included in the string output. The member name will be present, but the
 25796  // value will be replaced with "sensitive".
 25797  func (s GetImportJobsOutput) String() string {
 25798  	return awsutil.Prettify(s)
 25799  }
 25800  
 25801  // GoString returns the string representation.
 25802  //
 25803  // API parameter values that are decorated as "sensitive" in the API will not
 25804  // be included in the string output. The member name will be present, but the
 25805  // value will be replaced with "sensitive".
 25806  func (s GetImportJobsOutput) GoString() string {
 25807  	return s.String()
 25808  }
 25809  
 25810  // SetImportJobsResponse sets the ImportJobsResponse field's value.
 25811  func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
 25812  	s.ImportJobsResponse = v
 25813  	return s
 25814  }
 25815  
 25816  type GetInAppMessagesInput struct {
 25817  	_ struct{} `type:"structure" nopayload:"true"`
 25818  
 25819  	// ApplicationId is a required field
 25820  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 25821  
 25822  	// EndpointId is a required field
 25823  	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
 25824  }
 25825  
 25826  // String returns the string representation.
 25827  //
 25828  // API parameter values that are decorated as "sensitive" in the API will not
 25829  // be included in the string output. The member name will be present, but the
 25830  // value will be replaced with "sensitive".
 25831  func (s GetInAppMessagesInput) String() string {
 25832  	return awsutil.Prettify(s)
 25833  }
 25834  
 25835  // GoString returns the string representation.
 25836  //
 25837  // API parameter values that are decorated as "sensitive" in the API will not
 25838  // be included in the string output. The member name will be present, but the
 25839  // value will be replaced with "sensitive".
 25840  func (s GetInAppMessagesInput) GoString() string {
 25841  	return s.String()
 25842  }
 25843  
 25844  // Validate inspects the fields of the type to determine if they are valid.
 25845  func (s *GetInAppMessagesInput) Validate() error {
 25846  	invalidParams := request.ErrInvalidParams{Context: "GetInAppMessagesInput"}
 25847  	if s.ApplicationId == nil {
 25848  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 25849  	}
 25850  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 25851  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 25852  	}
 25853  	if s.EndpointId == nil {
 25854  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
 25855  	}
 25856  	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
 25857  		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
 25858  	}
 25859  
 25860  	if invalidParams.Len() > 0 {
 25861  		return invalidParams
 25862  	}
 25863  	return nil
 25864  }
 25865  
 25866  // SetApplicationId sets the ApplicationId field's value.
 25867  func (s *GetInAppMessagesInput) SetApplicationId(v string) *GetInAppMessagesInput {
 25868  	s.ApplicationId = &v
 25869  	return s
 25870  }
 25871  
 25872  // SetEndpointId sets the EndpointId field's value.
 25873  func (s *GetInAppMessagesInput) SetEndpointId(v string) *GetInAppMessagesInput {
 25874  	s.EndpointId = &v
 25875  	return s
 25876  }
 25877  
 25878  type GetInAppMessagesOutput struct {
 25879  	_ struct{} `type:"structure" payload:"InAppMessagesResponse"`
 25880  
 25881  	// Get in-app messages response object.
 25882  	//
 25883  	// InAppMessagesResponse is a required field
 25884  	InAppMessagesResponse *InAppMessagesResponse `type:"structure" required:"true"`
 25885  }
 25886  
 25887  // String returns the string representation.
 25888  //
 25889  // API parameter values that are decorated as "sensitive" in the API will not
 25890  // be included in the string output. The member name will be present, but the
 25891  // value will be replaced with "sensitive".
 25892  func (s GetInAppMessagesOutput) String() string {
 25893  	return awsutil.Prettify(s)
 25894  }
 25895  
 25896  // GoString returns the string representation.
 25897  //
 25898  // API parameter values that are decorated as "sensitive" in the API will not
 25899  // be included in the string output. The member name will be present, but the
 25900  // value will be replaced with "sensitive".
 25901  func (s GetInAppMessagesOutput) GoString() string {
 25902  	return s.String()
 25903  }
 25904  
 25905  // SetInAppMessagesResponse sets the InAppMessagesResponse field's value.
 25906  func (s *GetInAppMessagesOutput) SetInAppMessagesResponse(v *InAppMessagesResponse) *GetInAppMessagesOutput {
 25907  	s.InAppMessagesResponse = v
 25908  	return s
 25909  }
 25910  
 25911  type GetInAppTemplateInput struct {
 25912  	_ struct{} `type:"structure" nopayload:"true"`
 25913  
 25914  	// TemplateName is a required field
 25915  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 25916  
 25917  	Version *string `location:"querystring" locationName:"version" type:"string"`
 25918  }
 25919  
 25920  // String returns the string representation.
 25921  //
 25922  // API parameter values that are decorated as "sensitive" in the API will not
 25923  // be included in the string output. The member name will be present, but the
 25924  // value will be replaced with "sensitive".
 25925  func (s GetInAppTemplateInput) String() string {
 25926  	return awsutil.Prettify(s)
 25927  }
 25928  
 25929  // GoString returns the string representation.
 25930  //
 25931  // API parameter values that are decorated as "sensitive" in the API will not
 25932  // be included in the string output. The member name will be present, but the
 25933  // value will be replaced with "sensitive".
 25934  func (s GetInAppTemplateInput) GoString() string {
 25935  	return s.String()
 25936  }
 25937  
 25938  // Validate inspects the fields of the type to determine if they are valid.
 25939  func (s *GetInAppTemplateInput) Validate() error {
 25940  	invalidParams := request.ErrInvalidParams{Context: "GetInAppTemplateInput"}
 25941  	if s.TemplateName == nil {
 25942  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 25943  	}
 25944  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 25945  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 25946  	}
 25947  
 25948  	if invalidParams.Len() > 0 {
 25949  		return invalidParams
 25950  	}
 25951  	return nil
 25952  }
 25953  
 25954  // SetTemplateName sets the TemplateName field's value.
 25955  func (s *GetInAppTemplateInput) SetTemplateName(v string) *GetInAppTemplateInput {
 25956  	s.TemplateName = &v
 25957  	return s
 25958  }
 25959  
 25960  // SetVersion sets the Version field's value.
 25961  func (s *GetInAppTemplateInput) SetVersion(v string) *GetInAppTemplateInput {
 25962  	s.Version = &v
 25963  	return s
 25964  }
 25965  
 25966  type GetInAppTemplateOutput struct {
 25967  	_ struct{} `type:"structure" payload:"InAppTemplateResponse"`
 25968  
 25969  	// In-App Template Response.
 25970  	//
 25971  	// InAppTemplateResponse is a required field
 25972  	InAppTemplateResponse *InAppTemplateResponse `type:"structure" required:"true"`
 25973  }
 25974  
 25975  // String returns the string representation.
 25976  //
 25977  // API parameter values that are decorated as "sensitive" in the API will not
 25978  // be included in the string output. The member name will be present, but the
 25979  // value will be replaced with "sensitive".
 25980  func (s GetInAppTemplateOutput) String() string {
 25981  	return awsutil.Prettify(s)
 25982  }
 25983  
 25984  // GoString returns the string representation.
 25985  //
 25986  // API parameter values that are decorated as "sensitive" in the API will not
 25987  // be included in the string output. The member name will be present, but the
 25988  // value will be replaced with "sensitive".
 25989  func (s GetInAppTemplateOutput) GoString() string {
 25990  	return s.String()
 25991  }
 25992  
 25993  // SetInAppTemplateResponse sets the InAppTemplateResponse field's value.
 25994  func (s *GetInAppTemplateOutput) SetInAppTemplateResponse(v *InAppTemplateResponse) *GetInAppTemplateOutput {
 25995  	s.InAppTemplateResponse = v
 25996  	return s
 25997  }
 25998  
 25999  type GetJourneyDateRangeKpiInput struct {
 26000  	_ struct{} `type:"structure" nopayload:"true"`
 26001  
 26002  	// ApplicationId is a required field
 26003  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26004  
 26005  	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
 26006  
 26007  	// JourneyId is a required field
 26008  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 26009  
 26010  	// KpiName is a required field
 26011  	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
 26012  
 26013  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 26014  
 26015  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 26016  
 26017  	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
 26018  }
 26019  
 26020  // String returns the string representation.
 26021  //
 26022  // API parameter values that are decorated as "sensitive" in the API will not
 26023  // be included in the string output. The member name will be present, but the
 26024  // value will be replaced with "sensitive".
 26025  func (s GetJourneyDateRangeKpiInput) String() string {
 26026  	return awsutil.Prettify(s)
 26027  }
 26028  
 26029  // GoString returns the string representation.
 26030  //
 26031  // API parameter values that are decorated as "sensitive" in the API will not
 26032  // be included in the string output. The member name will be present, but the
 26033  // value will be replaced with "sensitive".
 26034  func (s GetJourneyDateRangeKpiInput) GoString() string {
 26035  	return s.String()
 26036  }
 26037  
 26038  // Validate inspects the fields of the type to determine if they are valid.
 26039  func (s *GetJourneyDateRangeKpiInput) Validate() error {
 26040  	invalidParams := request.ErrInvalidParams{Context: "GetJourneyDateRangeKpiInput"}
 26041  	if s.ApplicationId == nil {
 26042  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26043  	}
 26044  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26045  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26046  	}
 26047  	if s.JourneyId == nil {
 26048  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 26049  	}
 26050  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 26051  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 26052  	}
 26053  	if s.KpiName == nil {
 26054  		invalidParams.Add(request.NewErrParamRequired("KpiName"))
 26055  	}
 26056  	if s.KpiName != nil && len(*s.KpiName) < 1 {
 26057  		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
 26058  	}
 26059  
 26060  	if invalidParams.Len() > 0 {
 26061  		return invalidParams
 26062  	}
 26063  	return nil
 26064  }
 26065  
 26066  // SetApplicationId sets the ApplicationId field's value.
 26067  func (s *GetJourneyDateRangeKpiInput) SetApplicationId(v string) *GetJourneyDateRangeKpiInput {
 26068  	s.ApplicationId = &v
 26069  	return s
 26070  }
 26071  
 26072  // SetEndTime sets the EndTime field's value.
 26073  func (s *GetJourneyDateRangeKpiInput) SetEndTime(v time.Time) *GetJourneyDateRangeKpiInput {
 26074  	s.EndTime = &v
 26075  	return s
 26076  }
 26077  
 26078  // SetJourneyId sets the JourneyId field's value.
 26079  func (s *GetJourneyDateRangeKpiInput) SetJourneyId(v string) *GetJourneyDateRangeKpiInput {
 26080  	s.JourneyId = &v
 26081  	return s
 26082  }
 26083  
 26084  // SetKpiName sets the KpiName field's value.
 26085  func (s *GetJourneyDateRangeKpiInput) SetKpiName(v string) *GetJourneyDateRangeKpiInput {
 26086  	s.KpiName = &v
 26087  	return s
 26088  }
 26089  
 26090  // SetNextToken sets the NextToken field's value.
 26091  func (s *GetJourneyDateRangeKpiInput) SetNextToken(v string) *GetJourneyDateRangeKpiInput {
 26092  	s.NextToken = &v
 26093  	return s
 26094  }
 26095  
 26096  // SetPageSize sets the PageSize field's value.
 26097  func (s *GetJourneyDateRangeKpiInput) SetPageSize(v string) *GetJourneyDateRangeKpiInput {
 26098  	s.PageSize = &v
 26099  	return s
 26100  }
 26101  
 26102  // SetStartTime sets the StartTime field's value.
 26103  func (s *GetJourneyDateRangeKpiInput) SetStartTime(v time.Time) *GetJourneyDateRangeKpiInput {
 26104  	s.StartTime = &v
 26105  	return s
 26106  }
 26107  
 26108  type GetJourneyDateRangeKpiOutput struct {
 26109  	_ struct{} `type:"structure" payload:"JourneyDateRangeKpiResponse"`
 26110  
 26111  	// Provides the results of a query that retrieved the data for a standard engagement
 26112  	// metric that applies to a journey, and provides information about that query.
 26113  	//
 26114  	// JourneyDateRangeKpiResponse is a required field
 26115  	JourneyDateRangeKpiResponse *JourneyDateRangeKpiResponse `type:"structure" required:"true"`
 26116  }
 26117  
 26118  // String returns the string representation.
 26119  //
 26120  // API parameter values that are decorated as "sensitive" in the API will not
 26121  // be included in the string output. The member name will be present, but the
 26122  // value will be replaced with "sensitive".
 26123  func (s GetJourneyDateRangeKpiOutput) String() string {
 26124  	return awsutil.Prettify(s)
 26125  }
 26126  
 26127  // GoString returns the string representation.
 26128  //
 26129  // API parameter values that are decorated as "sensitive" in the API will not
 26130  // be included in the string output. The member name will be present, but the
 26131  // value will be replaced with "sensitive".
 26132  func (s GetJourneyDateRangeKpiOutput) GoString() string {
 26133  	return s.String()
 26134  }
 26135  
 26136  // SetJourneyDateRangeKpiResponse sets the JourneyDateRangeKpiResponse field's value.
 26137  func (s *GetJourneyDateRangeKpiOutput) SetJourneyDateRangeKpiResponse(v *JourneyDateRangeKpiResponse) *GetJourneyDateRangeKpiOutput {
 26138  	s.JourneyDateRangeKpiResponse = v
 26139  	return s
 26140  }
 26141  
 26142  type GetJourneyExecutionActivityMetricsInput struct {
 26143  	_ struct{} `type:"structure" nopayload:"true"`
 26144  
 26145  	// ApplicationId is a required field
 26146  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26147  
 26148  	// JourneyActivityId is a required field
 26149  	JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"`
 26150  
 26151  	// JourneyId is a required field
 26152  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 26153  
 26154  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 26155  
 26156  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 26157  }
 26158  
 26159  // String returns the string representation.
 26160  //
 26161  // API parameter values that are decorated as "sensitive" in the API will not
 26162  // be included in the string output. The member name will be present, but the
 26163  // value will be replaced with "sensitive".
 26164  func (s GetJourneyExecutionActivityMetricsInput) String() string {
 26165  	return awsutil.Prettify(s)
 26166  }
 26167  
 26168  // GoString returns the string representation.
 26169  //
 26170  // API parameter values that are decorated as "sensitive" in the API will not
 26171  // be included in the string output. The member name will be present, but the
 26172  // value will be replaced with "sensitive".
 26173  func (s GetJourneyExecutionActivityMetricsInput) GoString() string {
 26174  	return s.String()
 26175  }
 26176  
 26177  // Validate inspects the fields of the type to determine if they are valid.
 26178  func (s *GetJourneyExecutionActivityMetricsInput) Validate() error {
 26179  	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionActivityMetricsInput"}
 26180  	if s.ApplicationId == nil {
 26181  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26182  	}
 26183  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26184  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26185  	}
 26186  	if s.JourneyActivityId == nil {
 26187  		invalidParams.Add(request.NewErrParamRequired("JourneyActivityId"))
 26188  	}
 26189  	if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 {
 26190  		invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1))
 26191  	}
 26192  	if s.JourneyId == nil {
 26193  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 26194  	}
 26195  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 26196  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 26197  	}
 26198  
 26199  	if invalidParams.Len() > 0 {
 26200  		return invalidParams
 26201  	}
 26202  	return nil
 26203  }
 26204  
 26205  // SetApplicationId sets the ApplicationId field's value.
 26206  func (s *GetJourneyExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyExecutionActivityMetricsInput {
 26207  	s.ApplicationId = &v
 26208  	return s
 26209  }
 26210  
 26211  // SetJourneyActivityId sets the JourneyActivityId field's value.
 26212  func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyExecutionActivityMetricsInput {
 26213  	s.JourneyActivityId = &v
 26214  	return s
 26215  }
 26216  
 26217  // SetJourneyId sets the JourneyId field's value.
 26218  func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyExecutionActivityMetricsInput {
 26219  	s.JourneyId = &v
 26220  	return s
 26221  }
 26222  
 26223  // SetNextToken sets the NextToken field's value.
 26224  func (s *GetJourneyExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyExecutionActivityMetricsInput {
 26225  	s.NextToken = &v
 26226  	return s
 26227  }
 26228  
 26229  // SetPageSize sets the PageSize field's value.
 26230  func (s *GetJourneyExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyExecutionActivityMetricsInput {
 26231  	s.PageSize = &v
 26232  	return s
 26233  }
 26234  
 26235  type GetJourneyExecutionActivityMetricsOutput struct {
 26236  	_ struct{} `type:"structure" payload:"JourneyExecutionActivityMetricsResponse"`
 26237  
 26238  	// Provides the results of a query that retrieved the data for a standard execution
 26239  	// metric that applies to a journey activity, and provides information about
 26240  	// that query.
 26241  	//
 26242  	// JourneyExecutionActivityMetricsResponse is a required field
 26243  	JourneyExecutionActivityMetricsResponse *JourneyExecutionActivityMetricsResponse `type:"structure" required:"true"`
 26244  }
 26245  
 26246  // String returns the string representation.
 26247  //
 26248  // API parameter values that are decorated as "sensitive" in the API will not
 26249  // be included in the string output. The member name will be present, but the
 26250  // value will be replaced with "sensitive".
 26251  func (s GetJourneyExecutionActivityMetricsOutput) String() string {
 26252  	return awsutil.Prettify(s)
 26253  }
 26254  
 26255  // GoString returns the string representation.
 26256  //
 26257  // API parameter values that are decorated as "sensitive" in the API will not
 26258  // be included in the string output. The member name will be present, but the
 26259  // value will be replaced with "sensitive".
 26260  func (s GetJourneyExecutionActivityMetricsOutput) GoString() string {
 26261  	return s.String()
 26262  }
 26263  
 26264  // SetJourneyExecutionActivityMetricsResponse sets the JourneyExecutionActivityMetricsResponse field's value.
 26265  func (s *GetJourneyExecutionActivityMetricsOutput) SetJourneyExecutionActivityMetricsResponse(v *JourneyExecutionActivityMetricsResponse) *GetJourneyExecutionActivityMetricsOutput {
 26266  	s.JourneyExecutionActivityMetricsResponse = v
 26267  	return s
 26268  }
 26269  
 26270  type GetJourneyExecutionMetricsInput struct {
 26271  	_ struct{} `type:"structure" nopayload:"true"`
 26272  
 26273  	// ApplicationId is a required field
 26274  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26275  
 26276  	// JourneyId is a required field
 26277  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 26278  
 26279  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 26280  
 26281  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 26282  }
 26283  
 26284  // String returns the string representation.
 26285  //
 26286  // API parameter values that are decorated as "sensitive" in the API will not
 26287  // be included in the string output. The member name will be present, but the
 26288  // value will be replaced with "sensitive".
 26289  func (s GetJourneyExecutionMetricsInput) String() string {
 26290  	return awsutil.Prettify(s)
 26291  }
 26292  
 26293  // GoString returns the string representation.
 26294  //
 26295  // API parameter values that are decorated as "sensitive" in the API will not
 26296  // be included in the string output. The member name will be present, but the
 26297  // value will be replaced with "sensitive".
 26298  func (s GetJourneyExecutionMetricsInput) GoString() string {
 26299  	return s.String()
 26300  }
 26301  
 26302  // Validate inspects the fields of the type to determine if they are valid.
 26303  func (s *GetJourneyExecutionMetricsInput) Validate() error {
 26304  	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionMetricsInput"}
 26305  	if s.ApplicationId == nil {
 26306  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26307  	}
 26308  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26309  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26310  	}
 26311  	if s.JourneyId == nil {
 26312  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 26313  	}
 26314  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 26315  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 26316  	}
 26317  
 26318  	if invalidParams.Len() > 0 {
 26319  		return invalidParams
 26320  	}
 26321  	return nil
 26322  }
 26323  
 26324  // SetApplicationId sets the ApplicationId field's value.
 26325  func (s *GetJourneyExecutionMetricsInput) SetApplicationId(v string) *GetJourneyExecutionMetricsInput {
 26326  	s.ApplicationId = &v
 26327  	return s
 26328  }
 26329  
 26330  // SetJourneyId sets the JourneyId field's value.
 26331  func (s *GetJourneyExecutionMetricsInput) SetJourneyId(v string) *GetJourneyExecutionMetricsInput {
 26332  	s.JourneyId = &v
 26333  	return s
 26334  }
 26335  
 26336  // SetNextToken sets the NextToken field's value.
 26337  func (s *GetJourneyExecutionMetricsInput) SetNextToken(v string) *GetJourneyExecutionMetricsInput {
 26338  	s.NextToken = &v
 26339  	return s
 26340  }
 26341  
 26342  // SetPageSize sets the PageSize field's value.
 26343  func (s *GetJourneyExecutionMetricsInput) SetPageSize(v string) *GetJourneyExecutionMetricsInput {
 26344  	s.PageSize = &v
 26345  	return s
 26346  }
 26347  
 26348  type GetJourneyExecutionMetricsOutput struct {
 26349  	_ struct{} `type:"structure" payload:"JourneyExecutionMetricsResponse"`
 26350  
 26351  	// Provides the results of a query that retrieved the data for a standard execution
 26352  	// metric that applies to a journey, and provides information about that query.
 26353  	//
 26354  	// JourneyExecutionMetricsResponse is a required field
 26355  	JourneyExecutionMetricsResponse *JourneyExecutionMetricsResponse `type:"structure" required:"true"`
 26356  }
 26357  
 26358  // String returns the string representation.
 26359  //
 26360  // API parameter values that are decorated as "sensitive" in the API will not
 26361  // be included in the string output. The member name will be present, but the
 26362  // value will be replaced with "sensitive".
 26363  func (s GetJourneyExecutionMetricsOutput) String() string {
 26364  	return awsutil.Prettify(s)
 26365  }
 26366  
 26367  // GoString returns the string representation.
 26368  //
 26369  // API parameter values that are decorated as "sensitive" in the API will not
 26370  // be included in the string output. The member name will be present, but the
 26371  // value will be replaced with "sensitive".
 26372  func (s GetJourneyExecutionMetricsOutput) GoString() string {
 26373  	return s.String()
 26374  }
 26375  
 26376  // SetJourneyExecutionMetricsResponse sets the JourneyExecutionMetricsResponse field's value.
 26377  func (s *GetJourneyExecutionMetricsOutput) SetJourneyExecutionMetricsResponse(v *JourneyExecutionMetricsResponse) *GetJourneyExecutionMetricsOutput {
 26378  	s.JourneyExecutionMetricsResponse = v
 26379  	return s
 26380  }
 26381  
 26382  type GetJourneyInput struct {
 26383  	_ struct{} `type:"structure" nopayload:"true"`
 26384  
 26385  	// ApplicationId is a required field
 26386  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26387  
 26388  	// JourneyId is a required field
 26389  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 26390  }
 26391  
 26392  // String returns the string representation.
 26393  //
 26394  // API parameter values that are decorated as "sensitive" in the API will not
 26395  // be included in the string output. The member name will be present, but the
 26396  // value will be replaced with "sensitive".
 26397  func (s GetJourneyInput) String() string {
 26398  	return awsutil.Prettify(s)
 26399  }
 26400  
 26401  // GoString returns the string representation.
 26402  //
 26403  // API parameter values that are decorated as "sensitive" in the API will not
 26404  // be included in the string output. The member name will be present, but the
 26405  // value will be replaced with "sensitive".
 26406  func (s GetJourneyInput) GoString() string {
 26407  	return s.String()
 26408  }
 26409  
 26410  // Validate inspects the fields of the type to determine if they are valid.
 26411  func (s *GetJourneyInput) Validate() error {
 26412  	invalidParams := request.ErrInvalidParams{Context: "GetJourneyInput"}
 26413  	if s.ApplicationId == nil {
 26414  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26415  	}
 26416  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26417  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26418  	}
 26419  	if s.JourneyId == nil {
 26420  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 26421  	}
 26422  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 26423  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 26424  	}
 26425  
 26426  	if invalidParams.Len() > 0 {
 26427  		return invalidParams
 26428  	}
 26429  	return nil
 26430  }
 26431  
 26432  // SetApplicationId sets the ApplicationId field's value.
 26433  func (s *GetJourneyInput) SetApplicationId(v string) *GetJourneyInput {
 26434  	s.ApplicationId = &v
 26435  	return s
 26436  }
 26437  
 26438  // SetJourneyId sets the JourneyId field's value.
 26439  func (s *GetJourneyInput) SetJourneyId(v string) *GetJourneyInput {
 26440  	s.JourneyId = &v
 26441  	return s
 26442  }
 26443  
 26444  type GetJourneyOutput struct {
 26445  	_ struct{} `type:"structure" payload:"JourneyResponse"`
 26446  
 26447  	// Provides information about the status, configuration, and other settings
 26448  	// for a journey.
 26449  	//
 26450  	// JourneyResponse is a required field
 26451  	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
 26452  }
 26453  
 26454  // String returns the string representation.
 26455  //
 26456  // API parameter values that are decorated as "sensitive" in the API will not
 26457  // be included in the string output. The member name will be present, but the
 26458  // value will be replaced with "sensitive".
 26459  func (s GetJourneyOutput) String() string {
 26460  	return awsutil.Prettify(s)
 26461  }
 26462  
 26463  // GoString returns the string representation.
 26464  //
 26465  // API parameter values that are decorated as "sensitive" in the API will not
 26466  // be included in the string output. The member name will be present, but the
 26467  // value will be replaced with "sensitive".
 26468  func (s GetJourneyOutput) GoString() string {
 26469  	return s.String()
 26470  }
 26471  
 26472  // SetJourneyResponse sets the JourneyResponse field's value.
 26473  func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOutput {
 26474  	s.JourneyResponse = v
 26475  	return s
 26476  }
 26477  
 26478  type GetPushTemplateInput struct {
 26479  	_ struct{} `type:"structure" nopayload:"true"`
 26480  
 26481  	// TemplateName is a required field
 26482  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 26483  
 26484  	Version *string `location:"querystring" locationName:"version" type:"string"`
 26485  }
 26486  
 26487  // String returns the string representation.
 26488  //
 26489  // API parameter values that are decorated as "sensitive" in the API will not
 26490  // be included in the string output. The member name will be present, but the
 26491  // value will be replaced with "sensitive".
 26492  func (s GetPushTemplateInput) String() string {
 26493  	return awsutil.Prettify(s)
 26494  }
 26495  
 26496  // GoString returns the string representation.
 26497  //
 26498  // API parameter values that are decorated as "sensitive" in the API will not
 26499  // be included in the string output. The member name will be present, but the
 26500  // value will be replaced with "sensitive".
 26501  func (s GetPushTemplateInput) GoString() string {
 26502  	return s.String()
 26503  }
 26504  
 26505  // Validate inspects the fields of the type to determine if they are valid.
 26506  func (s *GetPushTemplateInput) Validate() error {
 26507  	invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"}
 26508  	if s.TemplateName == nil {
 26509  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 26510  	}
 26511  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 26512  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 26513  	}
 26514  
 26515  	if invalidParams.Len() > 0 {
 26516  		return invalidParams
 26517  	}
 26518  	return nil
 26519  }
 26520  
 26521  // SetTemplateName sets the TemplateName field's value.
 26522  func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput {
 26523  	s.TemplateName = &v
 26524  	return s
 26525  }
 26526  
 26527  // SetVersion sets the Version field's value.
 26528  func (s *GetPushTemplateInput) SetVersion(v string) *GetPushTemplateInput {
 26529  	s.Version = &v
 26530  	return s
 26531  }
 26532  
 26533  type GetPushTemplateOutput struct {
 26534  	_ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"`
 26535  
 26536  	// Provides information about the content and settings for a message template
 26537  	// that can be used in messages that are sent through a push notification channel.
 26538  	//
 26539  	// PushNotificationTemplateResponse is a required field
 26540  	PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"`
 26541  }
 26542  
 26543  // String returns the string representation.
 26544  //
 26545  // API parameter values that are decorated as "sensitive" in the API will not
 26546  // be included in the string output. The member name will be present, but the
 26547  // value will be replaced with "sensitive".
 26548  func (s GetPushTemplateOutput) String() string {
 26549  	return awsutil.Prettify(s)
 26550  }
 26551  
 26552  // GoString returns the string representation.
 26553  //
 26554  // API parameter values that are decorated as "sensitive" in the API will not
 26555  // be included in the string output. The member name will be present, but the
 26556  // value will be replaced with "sensitive".
 26557  func (s GetPushTemplateOutput) GoString() string {
 26558  	return s.String()
 26559  }
 26560  
 26561  // SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value.
 26562  func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput {
 26563  	s.PushNotificationTemplateResponse = v
 26564  	return s
 26565  }
 26566  
 26567  type GetRecommenderConfigurationInput struct {
 26568  	_ struct{} `type:"structure" nopayload:"true"`
 26569  
 26570  	// RecommenderId is a required field
 26571  	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
 26572  }
 26573  
 26574  // String returns the string representation.
 26575  //
 26576  // API parameter values that are decorated as "sensitive" in the API will not
 26577  // be included in the string output. The member name will be present, but the
 26578  // value will be replaced with "sensitive".
 26579  func (s GetRecommenderConfigurationInput) String() string {
 26580  	return awsutil.Prettify(s)
 26581  }
 26582  
 26583  // GoString returns the string representation.
 26584  //
 26585  // API parameter values that are decorated as "sensitive" in the API will not
 26586  // be included in the string output. The member name will be present, but the
 26587  // value will be replaced with "sensitive".
 26588  func (s GetRecommenderConfigurationInput) GoString() string {
 26589  	return s.String()
 26590  }
 26591  
 26592  // Validate inspects the fields of the type to determine if they are valid.
 26593  func (s *GetRecommenderConfigurationInput) Validate() error {
 26594  	invalidParams := request.ErrInvalidParams{Context: "GetRecommenderConfigurationInput"}
 26595  	if s.RecommenderId == nil {
 26596  		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
 26597  	}
 26598  	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
 26599  		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
 26600  	}
 26601  
 26602  	if invalidParams.Len() > 0 {
 26603  		return invalidParams
 26604  	}
 26605  	return nil
 26606  }
 26607  
 26608  // SetRecommenderId sets the RecommenderId field's value.
 26609  func (s *GetRecommenderConfigurationInput) SetRecommenderId(v string) *GetRecommenderConfigurationInput {
 26610  	s.RecommenderId = &v
 26611  	return s
 26612  }
 26613  
 26614  type GetRecommenderConfigurationOutput struct {
 26615  	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
 26616  
 26617  	// Provides information about Amazon Pinpoint configuration settings for retrieving
 26618  	// and processing data from a recommender model.
 26619  	//
 26620  	// RecommenderConfigurationResponse is a required field
 26621  	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
 26622  }
 26623  
 26624  // String returns the string representation.
 26625  //
 26626  // API parameter values that are decorated as "sensitive" in the API will not
 26627  // be included in the string output. The member name will be present, but the
 26628  // value will be replaced with "sensitive".
 26629  func (s GetRecommenderConfigurationOutput) String() string {
 26630  	return awsutil.Prettify(s)
 26631  }
 26632  
 26633  // GoString returns the string representation.
 26634  //
 26635  // API parameter values that are decorated as "sensitive" in the API will not
 26636  // be included in the string output. The member name will be present, but the
 26637  // value will be replaced with "sensitive".
 26638  func (s GetRecommenderConfigurationOutput) GoString() string {
 26639  	return s.String()
 26640  }
 26641  
 26642  // SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
 26643  func (s *GetRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *GetRecommenderConfigurationOutput {
 26644  	s.RecommenderConfigurationResponse = v
 26645  	return s
 26646  }
 26647  
 26648  type GetRecommenderConfigurationsInput struct {
 26649  	_ struct{} `type:"structure" nopayload:"true"`
 26650  
 26651  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 26652  
 26653  	Token *string `location:"querystring" locationName:"token" type:"string"`
 26654  }
 26655  
 26656  // String returns the string representation.
 26657  //
 26658  // API parameter values that are decorated as "sensitive" in the API will not
 26659  // be included in the string output. The member name will be present, but the
 26660  // value will be replaced with "sensitive".
 26661  func (s GetRecommenderConfigurationsInput) String() string {
 26662  	return awsutil.Prettify(s)
 26663  }
 26664  
 26665  // GoString returns the string representation.
 26666  //
 26667  // API parameter values that are decorated as "sensitive" in the API will not
 26668  // be included in the string output. The member name will be present, but the
 26669  // value will be replaced with "sensitive".
 26670  func (s GetRecommenderConfigurationsInput) GoString() string {
 26671  	return s.String()
 26672  }
 26673  
 26674  // SetPageSize sets the PageSize field's value.
 26675  func (s *GetRecommenderConfigurationsInput) SetPageSize(v string) *GetRecommenderConfigurationsInput {
 26676  	s.PageSize = &v
 26677  	return s
 26678  }
 26679  
 26680  // SetToken sets the Token field's value.
 26681  func (s *GetRecommenderConfigurationsInput) SetToken(v string) *GetRecommenderConfigurationsInput {
 26682  	s.Token = &v
 26683  	return s
 26684  }
 26685  
 26686  type GetRecommenderConfigurationsOutput struct {
 26687  	_ struct{} `type:"structure" payload:"ListRecommenderConfigurationsResponse"`
 26688  
 26689  	// Provides information about all the recommender model configurations that
 26690  	// are associated with your Amazon Pinpoint account.
 26691  	//
 26692  	// ListRecommenderConfigurationsResponse is a required field
 26693  	ListRecommenderConfigurationsResponse *ListRecommenderConfigurationsResponse `type:"structure" required:"true"`
 26694  }
 26695  
 26696  // String returns the string representation.
 26697  //
 26698  // API parameter values that are decorated as "sensitive" in the API will not
 26699  // be included in the string output. The member name will be present, but the
 26700  // value will be replaced with "sensitive".
 26701  func (s GetRecommenderConfigurationsOutput) String() string {
 26702  	return awsutil.Prettify(s)
 26703  }
 26704  
 26705  // GoString returns the string representation.
 26706  //
 26707  // API parameter values that are decorated as "sensitive" in the API will not
 26708  // be included in the string output. The member name will be present, but the
 26709  // value will be replaced with "sensitive".
 26710  func (s GetRecommenderConfigurationsOutput) GoString() string {
 26711  	return s.String()
 26712  }
 26713  
 26714  // SetListRecommenderConfigurationsResponse sets the ListRecommenderConfigurationsResponse field's value.
 26715  func (s *GetRecommenderConfigurationsOutput) SetListRecommenderConfigurationsResponse(v *ListRecommenderConfigurationsResponse) *GetRecommenderConfigurationsOutput {
 26716  	s.ListRecommenderConfigurationsResponse = v
 26717  	return s
 26718  }
 26719  
 26720  type GetSegmentExportJobsInput struct {
 26721  	_ struct{} `type:"structure" nopayload:"true"`
 26722  
 26723  	// ApplicationId is a required field
 26724  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26725  
 26726  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 26727  
 26728  	// SegmentId is a required field
 26729  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 26730  
 26731  	Token *string `location:"querystring" locationName:"token" type:"string"`
 26732  }
 26733  
 26734  // String returns the string representation.
 26735  //
 26736  // API parameter values that are decorated as "sensitive" in the API will not
 26737  // be included in the string output. The member name will be present, but the
 26738  // value will be replaced with "sensitive".
 26739  func (s GetSegmentExportJobsInput) String() string {
 26740  	return awsutil.Prettify(s)
 26741  }
 26742  
 26743  // GoString returns the string representation.
 26744  //
 26745  // API parameter values that are decorated as "sensitive" in the API will not
 26746  // be included in the string output. The member name will be present, but the
 26747  // value will be replaced with "sensitive".
 26748  func (s GetSegmentExportJobsInput) GoString() string {
 26749  	return s.String()
 26750  }
 26751  
 26752  // Validate inspects the fields of the type to determine if they are valid.
 26753  func (s *GetSegmentExportJobsInput) Validate() error {
 26754  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
 26755  	if s.ApplicationId == nil {
 26756  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26757  	}
 26758  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26759  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26760  	}
 26761  	if s.SegmentId == nil {
 26762  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 26763  	}
 26764  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 26765  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 26766  	}
 26767  
 26768  	if invalidParams.Len() > 0 {
 26769  		return invalidParams
 26770  	}
 26771  	return nil
 26772  }
 26773  
 26774  // SetApplicationId sets the ApplicationId field's value.
 26775  func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
 26776  	s.ApplicationId = &v
 26777  	return s
 26778  }
 26779  
 26780  // SetPageSize sets the PageSize field's value.
 26781  func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
 26782  	s.PageSize = &v
 26783  	return s
 26784  }
 26785  
 26786  // SetSegmentId sets the SegmentId field's value.
 26787  func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
 26788  	s.SegmentId = &v
 26789  	return s
 26790  }
 26791  
 26792  // SetToken sets the Token field's value.
 26793  func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
 26794  	s.Token = &v
 26795  	return s
 26796  }
 26797  
 26798  type GetSegmentExportJobsOutput struct {
 26799  	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
 26800  
 26801  	// Provides information about all the export jobs that are associated with an
 26802  	// application or segment. An export job is a job that exports endpoint definitions
 26803  	// to a file.
 26804  	//
 26805  	// ExportJobsResponse is a required field
 26806  	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
 26807  }
 26808  
 26809  // String returns the string representation.
 26810  //
 26811  // API parameter values that are decorated as "sensitive" in the API will not
 26812  // be included in the string output. The member name will be present, but the
 26813  // value will be replaced with "sensitive".
 26814  func (s GetSegmentExportJobsOutput) String() string {
 26815  	return awsutil.Prettify(s)
 26816  }
 26817  
 26818  // GoString returns the string representation.
 26819  //
 26820  // API parameter values that are decorated as "sensitive" in the API will not
 26821  // be included in the string output. The member name will be present, but the
 26822  // value will be replaced with "sensitive".
 26823  func (s GetSegmentExportJobsOutput) GoString() string {
 26824  	return s.String()
 26825  }
 26826  
 26827  // SetExportJobsResponse sets the ExportJobsResponse field's value.
 26828  func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
 26829  	s.ExportJobsResponse = v
 26830  	return s
 26831  }
 26832  
 26833  type GetSegmentImportJobsInput struct {
 26834  	_ struct{} `type:"structure" nopayload:"true"`
 26835  
 26836  	// ApplicationId is a required field
 26837  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26838  
 26839  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 26840  
 26841  	// SegmentId is a required field
 26842  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 26843  
 26844  	Token *string `location:"querystring" locationName:"token" type:"string"`
 26845  }
 26846  
 26847  // String returns the string representation.
 26848  //
 26849  // API parameter values that are decorated as "sensitive" in the API will not
 26850  // be included in the string output. The member name will be present, but the
 26851  // value will be replaced with "sensitive".
 26852  func (s GetSegmentImportJobsInput) String() string {
 26853  	return awsutil.Prettify(s)
 26854  }
 26855  
 26856  // GoString returns the string representation.
 26857  //
 26858  // API parameter values that are decorated as "sensitive" in the API will not
 26859  // be included in the string output. The member name will be present, but the
 26860  // value will be replaced with "sensitive".
 26861  func (s GetSegmentImportJobsInput) GoString() string {
 26862  	return s.String()
 26863  }
 26864  
 26865  // Validate inspects the fields of the type to determine if they are valid.
 26866  func (s *GetSegmentImportJobsInput) Validate() error {
 26867  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
 26868  	if s.ApplicationId == nil {
 26869  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26870  	}
 26871  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26872  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26873  	}
 26874  	if s.SegmentId == nil {
 26875  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 26876  	}
 26877  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 26878  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 26879  	}
 26880  
 26881  	if invalidParams.Len() > 0 {
 26882  		return invalidParams
 26883  	}
 26884  	return nil
 26885  }
 26886  
 26887  // SetApplicationId sets the ApplicationId field's value.
 26888  func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
 26889  	s.ApplicationId = &v
 26890  	return s
 26891  }
 26892  
 26893  // SetPageSize sets the PageSize field's value.
 26894  func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
 26895  	s.PageSize = &v
 26896  	return s
 26897  }
 26898  
 26899  // SetSegmentId sets the SegmentId field's value.
 26900  func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
 26901  	s.SegmentId = &v
 26902  	return s
 26903  }
 26904  
 26905  // SetToken sets the Token field's value.
 26906  func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
 26907  	s.Token = &v
 26908  	return s
 26909  }
 26910  
 26911  type GetSegmentImportJobsOutput struct {
 26912  	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
 26913  
 26914  	// Provides information about the status and settings of all the import jobs
 26915  	// that are associated with an application or segment. An import job is a job
 26916  	// that imports endpoint definitions from one or more files.
 26917  	//
 26918  	// ImportJobsResponse is a required field
 26919  	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
 26920  }
 26921  
 26922  // String returns the string representation.
 26923  //
 26924  // API parameter values that are decorated as "sensitive" in the API will not
 26925  // be included in the string output. The member name will be present, but the
 26926  // value will be replaced with "sensitive".
 26927  func (s GetSegmentImportJobsOutput) String() string {
 26928  	return awsutil.Prettify(s)
 26929  }
 26930  
 26931  // GoString returns the string representation.
 26932  //
 26933  // API parameter values that are decorated as "sensitive" in the API will not
 26934  // be included in the string output. The member name will be present, but the
 26935  // value will be replaced with "sensitive".
 26936  func (s GetSegmentImportJobsOutput) GoString() string {
 26937  	return s.String()
 26938  }
 26939  
 26940  // SetImportJobsResponse sets the ImportJobsResponse field's value.
 26941  func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
 26942  	s.ImportJobsResponse = v
 26943  	return s
 26944  }
 26945  
 26946  type GetSegmentInput struct {
 26947  	_ struct{} `type:"structure" nopayload:"true"`
 26948  
 26949  	// ApplicationId is a required field
 26950  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 26951  
 26952  	// SegmentId is a required field
 26953  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 26954  }
 26955  
 26956  // String returns the string representation.
 26957  //
 26958  // API parameter values that are decorated as "sensitive" in the API will not
 26959  // be included in the string output. The member name will be present, but the
 26960  // value will be replaced with "sensitive".
 26961  func (s GetSegmentInput) String() string {
 26962  	return awsutil.Prettify(s)
 26963  }
 26964  
 26965  // GoString returns the string representation.
 26966  //
 26967  // API parameter values that are decorated as "sensitive" in the API will not
 26968  // be included in the string output. The member name will be present, but the
 26969  // value will be replaced with "sensitive".
 26970  func (s GetSegmentInput) GoString() string {
 26971  	return s.String()
 26972  }
 26973  
 26974  // Validate inspects the fields of the type to determine if they are valid.
 26975  func (s *GetSegmentInput) Validate() error {
 26976  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
 26977  	if s.ApplicationId == nil {
 26978  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 26979  	}
 26980  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 26981  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 26982  	}
 26983  	if s.SegmentId == nil {
 26984  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 26985  	}
 26986  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 26987  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 26988  	}
 26989  
 26990  	if invalidParams.Len() > 0 {
 26991  		return invalidParams
 26992  	}
 26993  	return nil
 26994  }
 26995  
 26996  // SetApplicationId sets the ApplicationId field's value.
 26997  func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
 26998  	s.ApplicationId = &v
 26999  	return s
 27000  }
 27001  
 27002  // SetSegmentId sets the SegmentId field's value.
 27003  func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
 27004  	s.SegmentId = &v
 27005  	return s
 27006  }
 27007  
 27008  type GetSegmentOutput struct {
 27009  	_ struct{} `type:"structure" payload:"SegmentResponse"`
 27010  
 27011  	// Provides information about the configuration, dimension, and other settings
 27012  	// for a segment.
 27013  	//
 27014  	// SegmentResponse is a required field
 27015  	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
 27016  }
 27017  
 27018  // String returns the string representation.
 27019  //
 27020  // API parameter values that are decorated as "sensitive" in the API will not
 27021  // be included in the string output. The member name will be present, but the
 27022  // value will be replaced with "sensitive".
 27023  func (s GetSegmentOutput) String() string {
 27024  	return awsutil.Prettify(s)
 27025  }
 27026  
 27027  // GoString returns the string representation.
 27028  //
 27029  // API parameter values that are decorated as "sensitive" in the API will not
 27030  // be included in the string output. The member name will be present, but the
 27031  // value will be replaced with "sensitive".
 27032  func (s GetSegmentOutput) GoString() string {
 27033  	return s.String()
 27034  }
 27035  
 27036  // SetSegmentResponse sets the SegmentResponse field's value.
 27037  func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
 27038  	s.SegmentResponse = v
 27039  	return s
 27040  }
 27041  
 27042  type GetSegmentVersionInput struct {
 27043  	_ struct{} `type:"structure" nopayload:"true"`
 27044  
 27045  	// ApplicationId is a required field
 27046  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 27047  
 27048  	// SegmentId is a required field
 27049  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 27050  
 27051  	// Version is a required field
 27052  	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
 27053  }
 27054  
 27055  // String returns the string representation.
 27056  //
 27057  // API parameter values that are decorated as "sensitive" in the API will not
 27058  // be included in the string output. The member name will be present, but the
 27059  // value will be replaced with "sensitive".
 27060  func (s GetSegmentVersionInput) String() string {
 27061  	return awsutil.Prettify(s)
 27062  }
 27063  
 27064  // GoString returns the string representation.
 27065  //
 27066  // API parameter values that are decorated as "sensitive" in the API will not
 27067  // be included in the string output. The member name will be present, but the
 27068  // value will be replaced with "sensitive".
 27069  func (s GetSegmentVersionInput) GoString() string {
 27070  	return s.String()
 27071  }
 27072  
 27073  // Validate inspects the fields of the type to determine if they are valid.
 27074  func (s *GetSegmentVersionInput) Validate() error {
 27075  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
 27076  	if s.ApplicationId == nil {
 27077  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 27078  	}
 27079  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 27080  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 27081  	}
 27082  	if s.SegmentId == nil {
 27083  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 27084  	}
 27085  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 27086  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 27087  	}
 27088  	if s.Version == nil {
 27089  		invalidParams.Add(request.NewErrParamRequired("Version"))
 27090  	}
 27091  	if s.Version != nil && len(*s.Version) < 1 {
 27092  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 27093  	}
 27094  
 27095  	if invalidParams.Len() > 0 {
 27096  		return invalidParams
 27097  	}
 27098  	return nil
 27099  }
 27100  
 27101  // SetApplicationId sets the ApplicationId field's value.
 27102  func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
 27103  	s.ApplicationId = &v
 27104  	return s
 27105  }
 27106  
 27107  // SetSegmentId sets the SegmentId field's value.
 27108  func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
 27109  	s.SegmentId = &v
 27110  	return s
 27111  }
 27112  
 27113  // SetVersion sets the Version field's value.
 27114  func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
 27115  	s.Version = &v
 27116  	return s
 27117  }
 27118  
 27119  type GetSegmentVersionOutput struct {
 27120  	_ struct{} `type:"structure" payload:"SegmentResponse"`
 27121  
 27122  	// Provides information about the configuration, dimension, and other settings
 27123  	// for a segment.
 27124  	//
 27125  	// SegmentResponse is a required field
 27126  	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
 27127  }
 27128  
 27129  // String returns the string representation.
 27130  //
 27131  // API parameter values that are decorated as "sensitive" in the API will not
 27132  // be included in the string output. The member name will be present, but the
 27133  // value will be replaced with "sensitive".
 27134  func (s GetSegmentVersionOutput) String() string {
 27135  	return awsutil.Prettify(s)
 27136  }
 27137  
 27138  // GoString returns the string representation.
 27139  //
 27140  // API parameter values that are decorated as "sensitive" in the API will not
 27141  // be included in the string output. The member name will be present, but the
 27142  // value will be replaced with "sensitive".
 27143  func (s GetSegmentVersionOutput) GoString() string {
 27144  	return s.String()
 27145  }
 27146  
 27147  // SetSegmentResponse sets the SegmentResponse field's value.
 27148  func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
 27149  	s.SegmentResponse = v
 27150  	return s
 27151  }
 27152  
 27153  type GetSegmentVersionsInput struct {
 27154  	_ struct{} `type:"structure" nopayload:"true"`
 27155  
 27156  	// ApplicationId is a required field
 27157  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 27158  
 27159  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 27160  
 27161  	// SegmentId is a required field
 27162  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 27163  
 27164  	Token *string `location:"querystring" locationName:"token" type:"string"`
 27165  }
 27166  
 27167  // String returns the string representation.
 27168  //
 27169  // API parameter values that are decorated as "sensitive" in the API will not
 27170  // be included in the string output. The member name will be present, but the
 27171  // value will be replaced with "sensitive".
 27172  func (s GetSegmentVersionsInput) String() string {
 27173  	return awsutil.Prettify(s)
 27174  }
 27175  
 27176  // GoString returns the string representation.
 27177  //
 27178  // API parameter values that are decorated as "sensitive" in the API will not
 27179  // be included in the string output. The member name will be present, but the
 27180  // value will be replaced with "sensitive".
 27181  func (s GetSegmentVersionsInput) GoString() string {
 27182  	return s.String()
 27183  }
 27184  
 27185  // Validate inspects the fields of the type to determine if they are valid.
 27186  func (s *GetSegmentVersionsInput) Validate() error {
 27187  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
 27188  	if s.ApplicationId == nil {
 27189  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 27190  	}
 27191  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 27192  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 27193  	}
 27194  	if s.SegmentId == nil {
 27195  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 27196  	}
 27197  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 27198  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 27199  	}
 27200  
 27201  	if invalidParams.Len() > 0 {
 27202  		return invalidParams
 27203  	}
 27204  	return nil
 27205  }
 27206  
 27207  // SetApplicationId sets the ApplicationId field's value.
 27208  func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
 27209  	s.ApplicationId = &v
 27210  	return s
 27211  }
 27212  
 27213  // SetPageSize sets the PageSize field's value.
 27214  func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
 27215  	s.PageSize = &v
 27216  	return s
 27217  }
 27218  
 27219  // SetSegmentId sets the SegmentId field's value.
 27220  func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
 27221  	s.SegmentId = &v
 27222  	return s
 27223  }
 27224  
 27225  // SetToken sets the Token field's value.
 27226  func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
 27227  	s.Token = &v
 27228  	return s
 27229  }
 27230  
 27231  type GetSegmentVersionsOutput struct {
 27232  	_ struct{} `type:"structure" payload:"SegmentsResponse"`
 27233  
 27234  	// Provides information about all the segments that are associated with an application.
 27235  	//
 27236  	// SegmentsResponse is a required field
 27237  	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
 27238  }
 27239  
 27240  // String returns the string representation.
 27241  //
 27242  // API parameter values that are decorated as "sensitive" in the API will not
 27243  // be included in the string output. The member name will be present, but the
 27244  // value will be replaced with "sensitive".
 27245  func (s GetSegmentVersionsOutput) String() string {
 27246  	return awsutil.Prettify(s)
 27247  }
 27248  
 27249  // GoString returns the string representation.
 27250  //
 27251  // API parameter values that are decorated as "sensitive" in the API will not
 27252  // be included in the string output. The member name will be present, but the
 27253  // value will be replaced with "sensitive".
 27254  func (s GetSegmentVersionsOutput) GoString() string {
 27255  	return s.String()
 27256  }
 27257  
 27258  // SetSegmentsResponse sets the SegmentsResponse field's value.
 27259  func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
 27260  	s.SegmentsResponse = v
 27261  	return s
 27262  }
 27263  
 27264  type GetSegmentsInput struct {
 27265  	_ struct{} `type:"structure" nopayload:"true"`
 27266  
 27267  	// ApplicationId is a required field
 27268  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 27269  
 27270  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 27271  
 27272  	Token *string `location:"querystring" locationName:"token" type:"string"`
 27273  }
 27274  
 27275  // String returns the string representation.
 27276  //
 27277  // API parameter values that are decorated as "sensitive" in the API will not
 27278  // be included in the string output. The member name will be present, but the
 27279  // value will be replaced with "sensitive".
 27280  func (s GetSegmentsInput) String() string {
 27281  	return awsutil.Prettify(s)
 27282  }
 27283  
 27284  // GoString returns the string representation.
 27285  //
 27286  // API parameter values that are decorated as "sensitive" in the API will not
 27287  // be included in the string output. The member name will be present, but the
 27288  // value will be replaced with "sensitive".
 27289  func (s GetSegmentsInput) GoString() string {
 27290  	return s.String()
 27291  }
 27292  
 27293  // Validate inspects the fields of the type to determine if they are valid.
 27294  func (s *GetSegmentsInput) Validate() error {
 27295  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
 27296  	if s.ApplicationId == nil {
 27297  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 27298  	}
 27299  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 27300  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 27301  	}
 27302  
 27303  	if invalidParams.Len() > 0 {
 27304  		return invalidParams
 27305  	}
 27306  	return nil
 27307  }
 27308  
 27309  // SetApplicationId sets the ApplicationId field's value.
 27310  func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
 27311  	s.ApplicationId = &v
 27312  	return s
 27313  }
 27314  
 27315  // SetPageSize sets the PageSize field's value.
 27316  func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
 27317  	s.PageSize = &v
 27318  	return s
 27319  }
 27320  
 27321  // SetToken sets the Token field's value.
 27322  func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
 27323  	s.Token = &v
 27324  	return s
 27325  }
 27326  
 27327  type GetSegmentsOutput struct {
 27328  	_ struct{} `type:"structure" payload:"SegmentsResponse"`
 27329  
 27330  	// Provides information about all the segments that are associated with an application.
 27331  	//
 27332  	// SegmentsResponse is a required field
 27333  	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
 27334  }
 27335  
 27336  // String returns the string representation.
 27337  //
 27338  // API parameter values that are decorated as "sensitive" in the API will not
 27339  // be included in the string output. The member name will be present, but the
 27340  // value will be replaced with "sensitive".
 27341  func (s GetSegmentsOutput) String() string {
 27342  	return awsutil.Prettify(s)
 27343  }
 27344  
 27345  // GoString returns the string representation.
 27346  //
 27347  // API parameter values that are decorated as "sensitive" in the API will not
 27348  // be included in the string output. The member name will be present, but the
 27349  // value will be replaced with "sensitive".
 27350  func (s GetSegmentsOutput) GoString() string {
 27351  	return s.String()
 27352  }
 27353  
 27354  // SetSegmentsResponse sets the SegmentsResponse field's value.
 27355  func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
 27356  	s.SegmentsResponse = v
 27357  	return s
 27358  }
 27359  
 27360  type GetSmsChannelInput struct {
 27361  	_ struct{} `type:"structure" nopayload:"true"`
 27362  
 27363  	// ApplicationId is a required field
 27364  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 27365  }
 27366  
 27367  // String returns the string representation.
 27368  //
 27369  // API parameter values that are decorated as "sensitive" in the API will not
 27370  // be included in the string output. The member name will be present, but the
 27371  // value will be replaced with "sensitive".
 27372  func (s GetSmsChannelInput) String() string {
 27373  	return awsutil.Prettify(s)
 27374  }
 27375  
 27376  // GoString returns the string representation.
 27377  //
 27378  // API parameter values that are decorated as "sensitive" in the API will not
 27379  // be included in the string output. The member name will be present, but the
 27380  // value will be replaced with "sensitive".
 27381  func (s GetSmsChannelInput) GoString() string {
 27382  	return s.String()
 27383  }
 27384  
 27385  // Validate inspects the fields of the type to determine if they are valid.
 27386  func (s *GetSmsChannelInput) Validate() error {
 27387  	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
 27388  	if s.ApplicationId == nil {
 27389  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 27390  	}
 27391  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 27392  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 27393  	}
 27394  
 27395  	if invalidParams.Len() > 0 {
 27396  		return invalidParams
 27397  	}
 27398  	return nil
 27399  }
 27400  
 27401  // SetApplicationId sets the ApplicationId field's value.
 27402  func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
 27403  	s.ApplicationId = &v
 27404  	return s
 27405  }
 27406  
 27407  type GetSmsChannelOutput struct {
 27408  	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
 27409  
 27410  	// Provides information about the status and settings of the SMS channel for
 27411  	// an application.
 27412  	//
 27413  	// SMSChannelResponse is a required field
 27414  	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
 27415  }
 27416  
 27417  // String returns the string representation.
 27418  //
 27419  // API parameter values that are decorated as "sensitive" in the API will not
 27420  // be included in the string output. The member name will be present, but the
 27421  // value will be replaced with "sensitive".
 27422  func (s GetSmsChannelOutput) String() string {
 27423  	return awsutil.Prettify(s)
 27424  }
 27425  
 27426  // GoString returns the string representation.
 27427  //
 27428  // API parameter values that are decorated as "sensitive" in the API will not
 27429  // be included in the string output. The member name will be present, but the
 27430  // value will be replaced with "sensitive".
 27431  func (s GetSmsChannelOutput) GoString() string {
 27432  	return s.String()
 27433  }
 27434  
 27435  // SetSMSChannelResponse sets the SMSChannelResponse field's value.
 27436  func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
 27437  	s.SMSChannelResponse = v
 27438  	return s
 27439  }
 27440  
 27441  type GetSmsTemplateInput struct {
 27442  	_ struct{} `type:"structure" nopayload:"true"`
 27443  
 27444  	// TemplateName is a required field
 27445  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 27446  
 27447  	Version *string `location:"querystring" locationName:"version" type:"string"`
 27448  }
 27449  
 27450  // String returns the string representation.
 27451  //
 27452  // API parameter values that are decorated as "sensitive" in the API will not
 27453  // be included in the string output. The member name will be present, but the
 27454  // value will be replaced with "sensitive".
 27455  func (s GetSmsTemplateInput) String() string {
 27456  	return awsutil.Prettify(s)
 27457  }
 27458  
 27459  // GoString returns the string representation.
 27460  //
 27461  // API parameter values that are decorated as "sensitive" in the API will not
 27462  // be included in the string output. The member name will be present, but the
 27463  // value will be replaced with "sensitive".
 27464  func (s GetSmsTemplateInput) GoString() string {
 27465  	return s.String()
 27466  }
 27467  
 27468  // Validate inspects the fields of the type to determine if they are valid.
 27469  func (s *GetSmsTemplateInput) Validate() error {
 27470  	invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"}
 27471  	if s.TemplateName == nil {
 27472  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 27473  	}
 27474  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 27475  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 27476  	}
 27477  
 27478  	if invalidParams.Len() > 0 {
 27479  		return invalidParams
 27480  	}
 27481  	return nil
 27482  }
 27483  
 27484  // SetTemplateName sets the TemplateName field's value.
 27485  func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput {
 27486  	s.TemplateName = &v
 27487  	return s
 27488  }
 27489  
 27490  // SetVersion sets the Version field's value.
 27491  func (s *GetSmsTemplateInput) SetVersion(v string) *GetSmsTemplateInput {
 27492  	s.Version = &v
 27493  	return s
 27494  }
 27495  
 27496  type GetSmsTemplateOutput struct {
 27497  	_ struct{} `type:"structure" payload:"SMSTemplateResponse"`
 27498  
 27499  	// Provides information about the content and settings for a message template
 27500  	// that can be used in text messages that are sent through the SMS channel.
 27501  	//
 27502  	// SMSTemplateResponse is a required field
 27503  	SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"`
 27504  }
 27505  
 27506  // String returns the string representation.
 27507  //
 27508  // API parameter values that are decorated as "sensitive" in the API will not
 27509  // be included in the string output. The member name will be present, but the
 27510  // value will be replaced with "sensitive".
 27511  func (s GetSmsTemplateOutput) String() string {
 27512  	return awsutil.Prettify(s)
 27513  }
 27514  
 27515  // GoString returns the string representation.
 27516  //
 27517  // API parameter values that are decorated as "sensitive" in the API will not
 27518  // be included in the string output. The member name will be present, but the
 27519  // value will be replaced with "sensitive".
 27520  func (s GetSmsTemplateOutput) GoString() string {
 27521  	return s.String()
 27522  }
 27523  
 27524  // SetSMSTemplateResponse sets the SMSTemplateResponse field's value.
 27525  func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput {
 27526  	s.SMSTemplateResponse = v
 27527  	return s
 27528  }
 27529  
 27530  type GetUserEndpointsInput struct {
 27531  	_ struct{} `type:"structure" nopayload:"true"`
 27532  
 27533  	// ApplicationId is a required field
 27534  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 27535  
 27536  	// UserId is a required field
 27537  	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
 27538  }
 27539  
 27540  // String returns the string representation.
 27541  //
 27542  // API parameter values that are decorated as "sensitive" in the API will not
 27543  // be included in the string output. The member name will be present, but the
 27544  // value will be replaced with "sensitive".
 27545  func (s GetUserEndpointsInput) String() string {
 27546  	return awsutil.Prettify(s)
 27547  }
 27548  
 27549  // GoString returns the string representation.
 27550  //
 27551  // API parameter values that are decorated as "sensitive" in the API will not
 27552  // be included in the string output. The member name will be present, but the
 27553  // value will be replaced with "sensitive".
 27554  func (s GetUserEndpointsInput) GoString() string {
 27555  	return s.String()
 27556  }
 27557  
 27558  // Validate inspects the fields of the type to determine if they are valid.
 27559  func (s *GetUserEndpointsInput) Validate() error {
 27560  	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
 27561  	if s.ApplicationId == nil {
 27562  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 27563  	}
 27564  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 27565  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 27566  	}
 27567  	if s.UserId == nil {
 27568  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 27569  	}
 27570  	if s.UserId != nil && len(*s.UserId) < 1 {
 27571  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 27572  	}
 27573  
 27574  	if invalidParams.Len() > 0 {
 27575  		return invalidParams
 27576  	}
 27577  	return nil
 27578  }
 27579  
 27580  // SetApplicationId sets the ApplicationId field's value.
 27581  func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
 27582  	s.ApplicationId = &v
 27583  	return s
 27584  }
 27585  
 27586  // SetUserId sets the UserId field's value.
 27587  func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
 27588  	s.UserId = &v
 27589  	return s
 27590  }
 27591  
 27592  type GetUserEndpointsOutput struct {
 27593  	_ struct{} `type:"structure" payload:"EndpointsResponse"`
 27594  
 27595  	// Provides information about all the endpoints that are associated with a user
 27596  	// ID.
 27597  	//
 27598  	// EndpointsResponse is a required field
 27599  	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
 27600  }
 27601  
 27602  // String returns the string representation.
 27603  //
 27604  // API parameter values that are decorated as "sensitive" in the API will not
 27605  // be included in the string output. The member name will be present, but the
 27606  // value will be replaced with "sensitive".
 27607  func (s GetUserEndpointsOutput) String() string {
 27608  	return awsutil.Prettify(s)
 27609  }
 27610  
 27611  // GoString returns the string representation.
 27612  //
 27613  // API parameter values that are decorated as "sensitive" in the API will not
 27614  // be included in the string output. The member name will be present, but the
 27615  // value will be replaced with "sensitive".
 27616  func (s GetUserEndpointsOutput) GoString() string {
 27617  	return s.String()
 27618  }
 27619  
 27620  // SetEndpointsResponse sets the EndpointsResponse field's value.
 27621  func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
 27622  	s.EndpointsResponse = v
 27623  	return s
 27624  }
 27625  
 27626  type GetVoiceChannelInput struct {
 27627  	_ struct{} `type:"structure" nopayload:"true"`
 27628  
 27629  	// ApplicationId is a required field
 27630  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 27631  }
 27632  
 27633  // String returns the string representation.
 27634  //
 27635  // API parameter values that are decorated as "sensitive" in the API will not
 27636  // be included in the string output. The member name will be present, but the
 27637  // value will be replaced with "sensitive".
 27638  func (s GetVoiceChannelInput) String() string {
 27639  	return awsutil.Prettify(s)
 27640  }
 27641  
 27642  // GoString returns the string representation.
 27643  //
 27644  // API parameter values that are decorated as "sensitive" in the API will not
 27645  // be included in the string output. The member name will be present, but the
 27646  // value will be replaced with "sensitive".
 27647  func (s GetVoiceChannelInput) GoString() string {
 27648  	return s.String()
 27649  }
 27650  
 27651  // Validate inspects the fields of the type to determine if they are valid.
 27652  func (s *GetVoiceChannelInput) Validate() error {
 27653  	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
 27654  	if s.ApplicationId == nil {
 27655  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 27656  	}
 27657  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 27658  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 27659  	}
 27660  
 27661  	if invalidParams.Len() > 0 {
 27662  		return invalidParams
 27663  	}
 27664  	return nil
 27665  }
 27666  
 27667  // SetApplicationId sets the ApplicationId field's value.
 27668  func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
 27669  	s.ApplicationId = &v
 27670  	return s
 27671  }
 27672  
 27673  type GetVoiceChannelOutput struct {
 27674  	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
 27675  
 27676  	// Provides information about the status and settings of the voice channel for
 27677  	// an application.
 27678  	//
 27679  	// VoiceChannelResponse is a required field
 27680  	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
 27681  }
 27682  
 27683  // String returns the string representation.
 27684  //
 27685  // API parameter values that are decorated as "sensitive" in the API will not
 27686  // be included in the string output. The member name will be present, but the
 27687  // value will be replaced with "sensitive".
 27688  func (s GetVoiceChannelOutput) String() string {
 27689  	return awsutil.Prettify(s)
 27690  }
 27691  
 27692  // GoString returns the string representation.
 27693  //
 27694  // API parameter values that are decorated as "sensitive" in the API will not
 27695  // be included in the string output. The member name will be present, but the
 27696  // value will be replaced with "sensitive".
 27697  func (s GetVoiceChannelOutput) GoString() string {
 27698  	return s.String()
 27699  }
 27700  
 27701  // SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
 27702  func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
 27703  	s.VoiceChannelResponse = v
 27704  	return s
 27705  }
 27706  
 27707  type GetVoiceTemplateInput struct {
 27708  	_ struct{} `type:"structure" nopayload:"true"`
 27709  
 27710  	// TemplateName is a required field
 27711  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 27712  
 27713  	Version *string `location:"querystring" locationName:"version" type:"string"`
 27714  }
 27715  
 27716  // String returns the string representation.
 27717  //
 27718  // API parameter values that are decorated as "sensitive" in the API will not
 27719  // be included in the string output. The member name will be present, but the
 27720  // value will be replaced with "sensitive".
 27721  func (s GetVoiceTemplateInput) String() string {
 27722  	return awsutil.Prettify(s)
 27723  }
 27724  
 27725  // GoString returns the string representation.
 27726  //
 27727  // API parameter values that are decorated as "sensitive" in the API will not
 27728  // be included in the string output. The member name will be present, but the
 27729  // value will be replaced with "sensitive".
 27730  func (s GetVoiceTemplateInput) GoString() string {
 27731  	return s.String()
 27732  }
 27733  
 27734  // Validate inspects the fields of the type to determine if they are valid.
 27735  func (s *GetVoiceTemplateInput) Validate() error {
 27736  	invalidParams := request.ErrInvalidParams{Context: "GetVoiceTemplateInput"}
 27737  	if s.TemplateName == nil {
 27738  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 27739  	}
 27740  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 27741  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 27742  	}
 27743  
 27744  	if invalidParams.Len() > 0 {
 27745  		return invalidParams
 27746  	}
 27747  	return nil
 27748  }
 27749  
 27750  // SetTemplateName sets the TemplateName field's value.
 27751  func (s *GetVoiceTemplateInput) SetTemplateName(v string) *GetVoiceTemplateInput {
 27752  	s.TemplateName = &v
 27753  	return s
 27754  }
 27755  
 27756  // SetVersion sets the Version field's value.
 27757  func (s *GetVoiceTemplateInput) SetVersion(v string) *GetVoiceTemplateInput {
 27758  	s.Version = &v
 27759  	return s
 27760  }
 27761  
 27762  type GetVoiceTemplateOutput struct {
 27763  	_ struct{} `type:"structure" payload:"VoiceTemplateResponse"`
 27764  
 27765  	// Provides information about the content and settings for a message template
 27766  	// that can be used in messages that are sent through the voice channel.
 27767  	//
 27768  	// VoiceTemplateResponse is a required field
 27769  	VoiceTemplateResponse *VoiceTemplateResponse `type:"structure" required:"true"`
 27770  }
 27771  
 27772  // String returns the string representation.
 27773  //
 27774  // API parameter values that are decorated as "sensitive" in the API will not
 27775  // be included in the string output. The member name will be present, but the
 27776  // value will be replaced with "sensitive".
 27777  func (s GetVoiceTemplateOutput) String() string {
 27778  	return awsutil.Prettify(s)
 27779  }
 27780  
 27781  // GoString returns the string representation.
 27782  //
 27783  // API parameter values that are decorated as "sensitive" in the API will not
 27784  // be included in the string output. The member name will be present, but the
 27785  // value will be replaced with "sensitive".
 27786  func (s GetVoiceTemplateOutput) GoString() string {
 27787  	return s.String()
 27788  }
 27789  
 27790  // SetVoiceTemplateResponse sets the VoiceTemplateResponse field's value.
 27791  func (s *GetVoiceTemplateOutput) SetVoiceTemplateResponse(v *VoiceTemplateResponse) *GetVoiceTemplateOutput {
 27792  	s.VoiceTemplateResponse = v
 27793  	return s
 27794  }
 27795  
 27796  // Specifies the settings for a holdout activity in a journey. This type of
 27797  // activity stops a journey for a specified percentage of participants.
 27798  type HoldoutActivity struct {
 27799  	_ struct{} `type:"structure"`
 27800  
 27801  	// The unique identifier for the next activity to perform, after performing
 27802  	// the holdout activity.
 27803  	NextActivity *string `type:"string"`
 27804  
 27805  	// The percentage of participants who shouldn't continue the journey.
 27806  	//
 27807  	// To determine which participants are held out, Amazon Pinpoint applies a probability-based
 27808  	// algorithm to the percentage that you specify. Therefore, the actual percentage
 27809  	// of participants who are held out may not be equal to the percentage that
 27810  	// you specify.
 27811  	//
 27812  	// Percentage is a required field
 27813  	Percentage *int64 `type:"integer" required:"true"`
 27814  }
 27815  
 27816  // String returns the string representation.
 27817  //
 27818  // API parameter values that are decorated as "sensitive" in the API will not
 27819  // be included in the string output. The member name will be present, but the
 27820  // value will be replaced with "sensitive".
 27821  func (s HoldoutActivity) String() string {
 27822  	return awsutil.Prettify(s)
 27823  }
 27824  
 27825  // GoString returns the string representation.
 27826  //
 27827  // API parameter values that are decorated as "sensitive" in the API will not
 27828  // be included in the string output. The member name will be present, but the
 27829  // value will be replaced with "sensitive".
 27830  func (s HoldoutActivity) GoString() string {
 27831  	return s.String()
 27832  }
 27833  
 27834  // Validate inspects the fields of the type to determine if they are valid.
 27835  func (s *HoldoutActivity) Validate() error {
 27836  	invalidParams := request.ErrInvalidParams{Context: "HoldoutActivity"}
 27837  	if s.Percentage == nil {
 27838  		invalidParams.Add(request.NewErrParamRequired("Percentage"))
 27839  	}
 27840  
 27841  	if invalidParams.Len() > 0 {
 27842  		return invalidParams
 27843  	}
 27844  	return nil
 27845  }
 27846  
 27847  // SetNextActivity sets the NextActivity field's value.
 27848  func (s *HoldoutActivity) SetNextActivity(v string) *HoldoutActivity {
 27849  	s.NextActivity = &v
 27850  	return s
 27851  }
 27852  
 27853  // SetPercentage sets the Percentage field's value.
 27854  func (s *HoldoutActivity) SetPercentage(v int64) *HoldoutActivity {
 27855  	s.Percentage = &v
 27856  	return s
 27857  }
 27858  
 27859  // Specifies the settings for a job that imports endpoint definitions from an
 27860  // Amazon Simple Storage Service (Amazon S3) bucket.
 27861  type ImportJobRequest struct {
 27862  	_ struct{} `type:"structure"`
 27863  
 27864  	// Specifies whether to create a segment that contains the endpoints, when the
 27865  	// endpoint definitions are imported.
 27866  	DefineSegment *bool `type:"boolean"`
 27867  
 27868  	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
 27869  	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
 27870  	// an IAM role when importing endpoint definitions, but we removed this requirement.
 27871  	// We don't recommend use of external IDs for IAM roles that are assumed by
 27872  	// Amazon Pinpoint.
 27873  	ExternalId *string `type:"string"`
 27874  
 27875  	// The format of the files that contain the endpoint definitions to import.
 27876  	// Valid values are: CSV, for comma-separated values format; and, JSON, for
 27877  	// newline-delimited JSON format. If the Amazon S3 location stores multiple
 27878  	// files that use different formats, Amazon Pinpoint imports data only from
 27879  	// the files that use the specified format.
 27880  	//
 27881  	// Format is a required field
 27882  	Format *string `type:"string" required:"true" enum:"Format"`
 27883  
 27884  	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
 27885  	// endpoint definitions are imported.
 27886  	RegisterEndpoints *bool `type:"boolean"`
 27887  
 27888  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 27889  	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
 27890  	// to import endpoint definitions from.
 27891  	//
 27892  	// RoleArn is a required field
 27893  	RoleArn *string `type:"string" required:"true"`
 27894  
 27895  	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
 27896  	// the endpoint definitions to import. This location can be a folder or a single
 27897  	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
 27898  	// from the files in this location, including any subfolders that the folder
 27899  	// contains.
 27900  	//
 27901  	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
 27902  	// The location can end with the key for an individual object or a prefix that
 27903  	// qualifies multiple objects.
 27904  	//
 27905  	// S3Url is a required field
 27906  	S3Url *string `type:"string" required:"true"`
 27907  
 27908  	// The identifier for the segment to update or add the imported endpoint definitions
 27909  	// to, if the import job is meant to update an existing segment.
 27910  	SegmentId *string `type:"string"`
 27911  
 27912  	// A custom name for the segment that's created by the import job, if the value
 27913  	// of the DefineSegment property is true.
 27914  	SegmentName *string `type:"string"`
 27915  }
 27916  
 27917  // String returns the string representation.
 27918  //
 27919  // API parameter values that are decorated as "sensitive" in the API will not
 27920  // be included in the string output. The member name will be present, but the
 27921  // value will be replaced with "sensitive".
 27922  func (s ImportJobRequest) String() string {
 27923  	return awsutil.Prettify(s)
 27924  }
 27925  
 27926  // GoString returns the string representation.
 27927  //
 27928  // API parameter values that are decorated as "sensitive" in the API will not
 27929  // be included in the string output. The member name will be present, but the
 27930  // value will be replaced with "sensitive".
 27931  func (s ImportJobRequest) GoString() string {
 27932  	return s.String()
 27933  }
 27934  
 27935  // Validate inspects the fields of the type to determine if they are valid.
 27936  func (s *ImportJobRequest) Validate() error {
 27937  	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
 27938  	if s.Format == nil {
 27939  		invalidParams.Add(request.NewErrParamRequired("Format"))
 27940  	}
 27941  	if s.RoleArn == nil {
 27942  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 27943  	}
 27944  	if s.S3Url == nil {
 27945  		invalidParams.Add(request.NewErrParamRequired("S3Url"))
 27946  	}
 27947  
 27948  	if invalidParams.Len() > 0 {
 27949  		return invalidParams
 27950  	}
 27951  	return nil
 27952  }
 27953  
 27954  // SetDefineSegment sets the DefineSegment field's value.
 27955  func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
 27956  	s.DefineSegment = &v
 27957  	return s
 27958  }
 27959  
 27960  // SetExternalId sets the ExternalId field's value.
 27961  func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
 27962  	s.ExternalId = &v
 27963  	return s
 27964  }
 27965  
 27966  // SetFormat sets the Format field's value.
 27967  func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
 27968  	s.Format = &v
 27969  	return s
 27970  }
 27971  
 27972  // SetRegisterEndpoints sets the RegisterEndpoints field's value.
 27973  func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
 27974  	s.RegisterEndpoints = &v
 27975  	return s
 27976  }
 27977  
 27978  // SetRoleArn sets the RoleArn field's value.
 27979  func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
 27980  	s.RoleArn = &v
 27981  	return s
 27982  }
 27983  
 27984  // SetS3Url sets the S3Url field's value.
 27985  func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
 27986  	s.S3Url = &v
 27987  	return s
 27988  }
 27989  
 27990  // SetSegmentId sets the SegmentId field's value.
 27991  func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
 27992  	s.SegmentId = &v
 27993  	return s
 27994  }
 27995  
 27996  // SetSegmentName sets the SegmentName field's value.
 27997  func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
 27998  	s.SegmentName = &v
 27999  	return s
 28000  }
 28001  
 28002  // Provides information about the resource settings for a job that imports endpoint
 28003  // definitions from one or more files. The files can be stored in an Amazon
 28004  // Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
 28005  // by using the Amazon Pinpoint console.
 28006  type ImportJobResource struct {
 28007  	_ struct{} `type:"structure"`
 28008  
 28009  	// Specifies whether the import job creates a segment that contains the endpoints,
 28010  	// when the endpoint definitions are imported.
 28011  	DefineSegment *bool `type:"boolean"`
 28012  
 28013  	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
 28014  	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
 28015  	// an IAM role when importing endpoint definitions, but we removed this requirement.
 28016  	// We don't recommend use of external IDs for IAM roles that are assumed by
 28017  	// Amazon Pinpoint.
 28018  	ExternalId *string `type:"string"`
 28019  
 28020  	// The format of the files that contain the endpoint definitions to import.
 28021  	// Valid values are: CSV, for comma-separated values format; and, JSON, for
 28022  	// newline-delimited JSON format.
 28023  	//
 28024  	// If the files are stored in an Amazon S3 location and that location contains
 28025  	// multiple files that use different formats, Amazon Pinpoint imports data only
 28026  	// from the files that use the specified format.
 28027  	//
 28028  	// Format is a required field
 28029  	Format *string `type:"string" required:"true" enum:"Format"`
 28030  
 28031  	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
 28032  	// when the endpoint definitions are imported.
 28033  	RegisterEndpoints *bool `type:"boolean"`
 28034  
 28035  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 28036  	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
 28037  	// to import endpoint definitions from.
 28038  	//
 28039  	// RoleArn is a required field
 28040  	RoleArn *string `type:"string" required:"true"`
 28041  
 28042  	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
 28043  	// the endpoint definitions to import. This location can be a folder or a single
 28044  	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
 28045  	// from the files in this location, including any subfolders that the folder
 28046  	// contains.
 28047  	//
 28048  	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
 28049  	// The location can end with the key for an individual object or a prefix that
 28050  	// qualifies multiple objects.
 28051  	//
 28052  	// S3Url is a required field
 28053  	S3Url *string `type:"string" required:"true"`
 28054  
 28055  	// The identifier for the segment that the import job updates or adds endpoint
 28056  	// definitions to, if the import job updates an existing segment.
 28057  	SegmentId *string `type:"string"`
 28058  
 28059  	// The custom name for the segment that's created by the import job, if the
 28060  	// value of the DefineSegment property is true.
 28061  	SegmentName *string `type:"string"`
 28062  }
 28063  
 28064  // String returns the string representation.
 28065  //
 28066  // API parameter values that are decorated as "sensitive" in the API will not
 28067  // be included in the string output. The member name will be present, but the
 28068  // value will be replaced with "sensitive".
 28069  func (s ImportJobResource) String() string {
 28070  	return awsutil.Prettify(s)
 28071  }
 28072  
 28073  // GoString returns the string representation.
 28074  //
 28075  // API parameter values that are decorated as "sensitive" in the API will not
 28076  // be included in the string output. The member name will be present, but the
 28077  // value will be replaced with "sensitive".
 28078  func (s ImportJobResource) GoString() string {
 28079  	return s.String()
 28080  }
 28081  
 28082  // SetDefineSegment sets the DefineSegment field's value.
 28083  func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
 28084  	s.DefineSegment = &v
 28085  	return s
 28086  }
 28087  
 28088  // SetExternalId sets the ExternalId field's value.
 28089  func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
 28090  	s.ExternalId = &v
 28091  	return s
 28092  }
 28093  
 28094  // SetFormat sets the Format field's value.
 28095  func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
 28096  	s.Format = &v
 28097  	return s
 28098  }
 28099  
 28100  // SetRegisterEndpoints sets the RegisterEndpoints field's value.
 28101  func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
 28102  	s.RegisterEndpoints = &v
 28103  	return s
 28104  }
 28105  
 28106  // SetRoleArn sets the RoleArn field's value.
 28107  func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
 28108  	s.RoleArn = &v
 28109  	return s
 28110  }
 28111  
 28112  // SetS3Url sets the S3Url field's value.
 28113  func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
 28114  	s.S3Url = &v
 28115  	return s
 28116  }
 28117  
 28118  // SetSegmentId sets the SegmentId field's value.
 28119  func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
 28120  	s.SegmentId = &v
 28121  	return s
 28122  }
 28123  
 28124  // SetSegmentName sets the SegmentName field's value.
 28125  func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
 28126  	s.SegmentName = &v
 28127  	return s
 28128  }
 28129  
 28130  // Provides information about the status and settings of a job that imports
 28131  // endpoint definitions from one or more files. The files can be stored in an
 28132  // Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
 28133  // a computer by using the Amazon Pinpoint console.
 28134  type ImportJobResponse struct {
 28135  	_ struct{} `type:"structure"`
 28136  
 28137  	// The unique identifier for the application that's associated with the import
 28138  	// job.
 28139  	//
 28140  	// ApplicationId is a required field
 28141  	ApplicationId *string `type:"string" required:"true"`
 28142  
 28143  	// The number of pieces that were processed successfully (completed) by the
 28144  	// import job, as of the time of the request.
 28145  	CompletedPieces *int64 `type:"integer"`
 28146  
 28147  	// The date, in ISO 8601 format, when the import job was completed.
 28148  	CompletionDate *string `type:"string"`
 28149  
 28150  	// The date, in ISO 8601 format, when the import job was created.
 28151  	//
 28152  	// CreationDate is a required field
 28153  	CreationDate *string `type:"string" required:"true"`
 28154  
 28155  	// The resource settings that apply to the import job.
 28156  	//
 28157  	// Definition is a required field
 28158  	Definition *ImportJobResource `type:"structure" required:"true"`
 28159  
 28160  	// The number of pieces that weren't processed successfully (failed) by the
 28161  	// import job, as of the time of the request.
 28162  	FailedPieces *int64 `type:"integer"`
 28163  
 28164  	// An array of entries, one for each of the first 100 entries that weren't processed
 28165  	// successfully (failed) by the import job, if any.
 28166  	Failures []*string `type:"list"`
 28167  
 28168  	// The unique identifier for the import job.
 28169  	//
 28170  	// Id is a required field
 28171  	Id *string `type:"string" required:"true"`
 28172  
 28173  	// The status of the import job. The job status is FAILED if Amazon Pinpoint
 28174  	// wasn't able to process one or more pieces in the job.
 28175  	//
 28176  	// JobStatus is a required field
 28177  	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
 28178  
 28179  	// The total number of endpoint definitions that weren't processed successfully
 28180  	// (failed) by the import job, typically because an error, such as a syntax
 28181  	// error, occurred.
 28182  	TotalFailures *int64 `type:"integer"`
 28183  
 28184  	// The total number of pieces that must be processed to complete the import
 28185  	// job. Each piece consists of an approximately equal portion of the endpoint
 28186  	// definitions that are part of the import job.
 28187  	TotalPieces *int64 `type:"integer"`
 28188  
 28189  	// The total number of endpoint definitions that were processed by the import
 28190  	// job.
 28191  	TotalProcessed *int64 `type:"integer"`
 28192  
 28193  	// The job type. This value is IMPORT for import jobs.
 28194  	//
 28195  	// Type is a required field
 28196  	Type *string `type:"string" required:"true"`
 28197  }
 28198  
 28199  // String returns the string representation.
 28200  //
 28201  // API parameter values that are decorated as "sensitive" in the API will not
 28202  // be included in the string output. The member name will be present, but the
 28203  // value will be replaced with "sensitive".
 28204  func (s ImportJobResponse) String() string {
 28205  	return awsutil.Prettify(s)
 28206  }
 28207  
 28208  // GoString returns the string representation.
 28209  //
 28210  // API parameter values that are decorated as "sensitive" in the API will not
 28211  // be included in the string output. The member name will be present, but the
 28212  // value will be replaced with "sensitive".
 28213  func (s ImportJobResponse) GoString() string {
 28214  	return s.String()
 28215  }
 28216  
 28217  // SetApplicationId sets the ApplicationId field's value.
 28218  func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
 28219  	s.ApplicationId = &v
 28220  	return s
 28221  }
 28222  
 28223  // SetCompletedPieces sets the CompletedPieces field's value.
 28224  func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
 28225  	s.CompletedPieces = &v
 28226  	return s
 28227  }
 28228  
 28229  // SetCompletionDate sets the CompletionDate field's value.
 28230  func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
 28231  	s.CompletionDate = &v
 28232  	return s
 28233  }
 28234  
 28235  // SetCreationDate sets the CreationDate field's value.
 28236  func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
 28237  	s.CreationDate = &v
 28238  	return s
 28239  }
 28240  
 28241  // SetDefinition sets the Definition field's value.
 28242  func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
 28243  	s.Definition = v
 28244  	return s
 28245  }
 28246  
 28247  // SetFailedPieces sets the FailedPieces field's value.
 28248  func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
 28249  	s.FailedPieces = &v
 28250  	return s
 28251  }
 28252  
 28253  // SetFailures sets the Failures field's value.
 28254  func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
 28255  	s.Failures = v
 28256  	return s
 28257  }
 28258  
 28259  // SetId sets the Id field's value.
 28260  func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
 28261  	s.Id = &v
 28262  	return s
 28263  }
 28264  
 28265  // SetJobStatus sets the JobStatus field's value.
 28266  func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
 28267  	s.JobStatus = &v
 28268  	return s
 28269  }
 28270  
 28271  // SetTotalFailures sets the TotalFailures field's value.
 28272  func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
 28273  	s.TotalFailures = &v
 28274  	return s
 28275  }
 28276  
 28277  // SetTotalPieces sets the TotalPieces field's value.
 28278  func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
 28279  	s.TotalPieces = &v
 28280  	return s
 28281  }
 28282  
 28283  // SetTotalProcessed sets the TotalProcessed field's value.
 28284  func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
 28285  	s.TotalProcessed = &v
 28286  	return s
 28287  }
 28288  
 28289  // SetType sets the Type field's value.
 28290  func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
 28291  	s.Type = &v
 28292  	return s
 28293  }
 28294  
 28295  // Provides information about the status and settings of all the import jobs
 28296  // that are associated with an application or segment. An import job is a job
 28297  // that imports endpoint definitions from one or more files.
 28298  type ImportJobsResponse struct {
 28299  	_ struct{} `type:"structure"`
 28300  
 28301  	// An array of responses, one for each import job that's associated with the
 28302  	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
 28303  	//
 28304  	// Item is a required field
 28305  	Item []*ImportJobResponse `type:"list" required:"true"`
 28306  
 28307  	// The string to use in a subsequent request to get the next page of results
 28308  	// in a paginated response. This value is null if there are no additional pages.
 28309  	NextToken *string `type:"string"`
 28310  }
 28311  
 28312  // String returns the string representation.
 28313  //
 28314  // API parameter values that are decorated as "sensitive" in the API will not
 28315  // be included in the string output. The member name will be present, but the
 28316  // value will be replaced with "sensitive".
 28317  func (s ImportJobsResponse) String() string {
 28318  	return awsutil.Prettify(s)
 28319  }
 28320  
 28321  // GoString returns the string representation.
 28322  //
 28323  // API parameter values that are decorated as "sensitive" in the API will not
 28324  // be included in the string output. The member name will be present, but the
 28325  // value will be replaced with "sensitive".
 28326  func (s ImportJobsResponse) GoString() string {
 28327  	return s.String()
 28328  }
 28329  
 28330  // SetItem sets the Item field's value.
 28331  func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
 28332  	s.Item = v
 28333  	return s
 28334  }
 28335  
 28336  // SetNextToken sets the NextToken field's value.
 28337  func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
 28338  	s.NextToken = &v
 28339  	return s
 28340  }
 28341  
 28342  type InAppCampaignSchedule struct {
 28343  	_ struct{} `type:"structure"`
 28344  
 28345  	// The scheduled time after which the in-app message should not be shown. Timestamp
 28346  	// is in ISO 8601 format.
 28347  	EndDate *string `type:"string"`
 28348  
 28349  	// The event filter the SDK has to use to show the in-app message in the application.
 28350  	EventFilter *CampaignEventFilter `type:"structure"`
 28351  
 28352  	// Time during which the in-app message should not be shown to the user.
 28353  	QuietTime *QuietTime `type:"structure"`
 28354  }
 28355  
 28356  // String returns the string representation.
 28357  //
 28358  // API parameter values that are decorated as "sensitive" in the API will not
 28359  // be included in the string output. The member name will be present, but the
 28360  // value will be replaced with "sensitive".
 28361  func (s InAppCampaignSchedule) String() string {
 28362  	return awsutil.Prettify(s)
 28363  }
 28364  
 28365  // GoString returns the string representation.
 28366  //
 28367  // API parameter values that are decorated as "sensitive" in the API will not
 28368  // be included in the string output. The member name will be present, but the
 28369  // value will be replaced with "sensitive".
 28370  func (s InAppCampaignSchedule) GoString() string {
 28371  	return s.String()
 28372  }
 28373  
 28374  // SetEndDate sets the EndDate field's value.
 28375  func (s *InAppCampaignSchedule) SetEndDate(v string) *InAppCampaignSchedule {
 28376  	s.EndDate = &v
 28377  	return s
 28378  }
 28379  
 28380  // SetEventFilter sets the EventFilter field's value.
 28381  func (s *InAppCampaignSchedule) SetEventFilter(v *CampaignEventFilter) *InAppCampaignSchedule {
 28382  	s.EventFilter = v
 28383  	return s
 28384  }
 28385  
 28386  // SetQuietTime sets the QuietTime field's value.
 28387  func (s *InAppCampaignSchedule) SetQuietTime(v *QuietTime) *InAppCampaignSchedule {
 28388  	s.QuietTime = v
 28389  	return s
 28390  }
 28391  
 28392  // Provides all fields required for building an in-app message.
 28393  type InAppMessage struct {
 28394  	_ struct{} `type:"structure"`
 28395  
 28396  	// In-app message content.
 28397  	Content []*InAppMessageContent `type:"list"`
 28398  
 28399  	// Custom config to be sent to SDK.
 28400  	CustomConfig map[string]*string `type:"map"`
 28401  
 28402  	// The layout of the message.
 28403  	Layout *string `type:"string" enum:"Layout"`
 28404  }
 28405  
 28406  // String returns the string representation.
 28407  //
 28408  // API parameter values that are decorated as "sensitive" in the API will not
 28409  // be included in the string output. The member name will be present, but the
 28410  // value will be replaced with "sensitive".
 28411  func (s InAppMessage) String() string {
 28412  	return awsutil.Prettify(s)
 28413  }
 28414  
 28415  // GoString returns the string representation.
 28416  //
 28417  // API parameter values that are decorated as "sensitive" in the API will not
 28418  // be included in the string output. The member name will be present, but the
 28419  // value will be replaced with "sensitive".
 28420  func (s InAppMessage) GoString() string {
 28421  	return s.String()
 28422  }
 28423  
 28424  // SetContent sets the Content field's value.
 28425  func (s *InAppMessage) SetContent(v []*InAppMessageContent) *InAppMessage {
 28426  	s.Content = v
 28427  	return s
 28428  }
 28429  
 28430  // SetCustomConfig sets the CustomConfig field's value.
 28431  func (s *InAppMessage) SetCustomConfig(v map[string]*string) *InAppMessage {
 28432  	s.CustomConfig = v
 28433  	return s
 28434  }
 28435  
 28436  // SetLayout sets the Layout field's value.
 28437  func (s *InAppMessage) SetLayout(v string) *InAppMessage {
 28438  	s.Layout = &v
 28439  	return s
 28440  }
 28441  
 28442  // Text config for Message Body.
 28443  type InAppMessageBodyConfig struct {
 28444  	_ struct{} `type:"structure"`
 28445  
 28446  	// The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
 28447  	//
 28448  	// Alignment is a required field
 28449  	Alignment *string `type:"string" required:"true" enum:"Alignment"`
 28450  
 28451  	// Message Body.
 28452  	//
 28453  	// Body is a required field
 28454  	Body *string `type:"string" required:"true"`
 28455  
 28456  	// The text color.
 28457  	//
 28458  	// TextColor is a required field
 28459  	TextColor *string `type:"string" required:"true"`
 28460  }
 28461  
 28462  // String returns the string representation.
 28463  //
 28464  // API parameter values that are decorated as "sensitive" in the API will not
 28465  // be included in the string output. The member name will be present, but the
 28466  // value will be replaced with "sensitive".
 28467  func (s InAppMessageBodyConfig) String() string {
 28468  	return awsutil.Prettify(s)
 28469  }
 28470  
 28471  // GoString returns the string representation.
 28472  //
 28473  // API parameter values that are decorated as "sensitive" in the API will not
 28474  // be included in the string output. The member name will be present, but the
 28475  // value will be replaced with "sensitive".
 28476  func (s InAppMessageBodyConfig) GoString() string {
 28477  	return s.String()
 28478  }
 28479  
 28480  // Validate inspects the fields of the type to determine if they are valid.
 28481  func (s *InAppMessageBodyConfig) Validate() error {
 28482  	invalidParams := request.ErrInvalidParams{Context: "InAppMessageBodyConfig"}
 28483  	if s.Alignment == nil {
 28484  		invalidParams.Add(request.NewErrParamRequired("Alignment"))
 28485  	}
 28486  	if s.Body == nil {
 28487  		invalidParams.Add(request.NewErrParamRequired("Body"))
 28488  	}
 28489  	if s.TextColor == nil {
 28490  		invalidParams.Add(request.NewErrParamRequired("TextColor"))
 28491  	}
 28492  
 28493  	if invalidParams.Len() > 0 {
 28494  		return invalidParams
 28495  	}
 28496  	return nil
 28497  }
 28498  
 28499  // SetAlignment sets the Alignment field's value.
 28500  func (s *InAppMessageBodyConfig) SetAlignment(v string) *InAppMessageBodyConfig {
 28501  	s.Alignment = &v
 28502  	return s
 28503  }
 28504  
 28505  // SetBody sets the Body field's value.
 28506  func (s *InAppMessageBodyConfig) SetBody(v string) *InAppMessageBodyConfig {
 28507  	s.Body = &v
 28508  	return s
 28509  }
 28510  
 28511  // SetTextColor sets the TextColor field's value.
 28512  func (s *InAppMessageBodyConfig) SetTextColor(v string) *InAppMessageBodyConfig {
 28513  	s.TextColor = &v
 28514  	return s
 28515  }
 28516  
 28517  // Button Config for an in-app message.
 28518  type InAppMessageButton struct {
 28519  	_ struct{} `type:"structure"`
 28520  
 28521  	// Default button content.
 28522  	Android *OverrideButtonConfiguration `type:"structure"`
 28523  
 28524  	// Default button content.
 28525  	DefaultConfig *DefaultButtonConfiguration `type:"structure"`
 28526  
 28527  	// Default button content.
 28528  	IOS *OverrideButtonConfiguration `type:"structure"`
 28529  
 28530  	// Default button content.
 28531  	Web *OverrideButtonConfiguration `type:"structure"`
 28532  }
 28533  
 28534  // String returns the string representation.
 28535  //
 28536  // API parameter values that are decorated as "sensitive" in the API will not
 28537  // be included in the string output. The member name will be present, but the
 28538  // value will be replaced with "sensitive".
 28539  func (s InAppMessageButton) String() string {
 28540  	return awsutil.Prettify(s)
 28541  }
 28542  
 28543  // GoString returns the string representation.
 28544  //
 28545  // API parameter values that are decorated as "sensitive" in the API will not
 28546  // be included in the string output. The member name will be present, but the
 28547  // value will be replaced with "sensitive".
 28548  func (s InAppMessageButton) GoString() string {
 28549  	return s.String()
 28550  }
 28551  
 28552  // Validate inspects the fields of the type to determine if they are valid.
 28553  func (s *InAppMessageButton) Validate() error {
 28554  	invalidParams := request.ErrInvalidParams{Context: "InAppMessageButton"}
 28555  	if s.Android != nil {
 28556  		if err := s.Android.Validate(); err != nil {
 28557  			invalidParams.AddNested("Android", err.(request.ErrInvalidParams))
 28558  		}
 28559  	}
 28560  	if s.DefaultConfig != nil {
 28561  		if err := s.DefaultConfig.Validate(); err != nil {
 28562  			invalidParams.AddNested("DefaultConfig", err.(request.ErrInvalidParams))
 28563  		}
 28564  	}
 28565  	if s.IOS != nil {
 28566  		if err := s.IOS.Validate(); err != nil {
 28567  			invalidParams.AddNested("IOS", err.(request.ErrInvalidParams))
 28568  		}
 28569  	}
 28570  	if s.Web != nil {
 28571  		if err := s.Web.Validate(); err != nil {
 28572  			invalidParams.AddNested("Web", err.(request.ErrInvalidParams))
 28573  		}
 28574  	}
 28575  
 28576  	if invalidParams.Len() > 0 {
 28577  		return invalidParams
 28578  	}
 28579  	return nil
 28580  }
 28581  
 28582  // SetAndroid sets the Android field's value.
 28583  func (s *InAppMessageButton) SetAndroid(v *OverrideButtonConfiguration) *InAppMessageButton {
 28584  	s.Android = v
 28585  	return s
 28586  }
 28587  
 28588  // SetDefaultConfig sets the DefaultConfig field's value.
 28589  func (s *InAppMessageButton) SetDefaultConfig(v *DefaultButtonConfiguration) *InAppMessageButton {
 28590  	s.DefaultConfig = v
 28591  	return s
 28592  }
 28593  
 28594  // SetIOS sets the IOS field's value.
 28595  func (s *InAppMessageButton) SetIOS(v *OverrideButtonConfiguration) *InAppMessageButton {
 28596  	s.IOS = v
 28597  	return s
 28598  }
 28599  
 28600  // SetWeb sets the Web field's value.
 28601  func (s *InAppMessageButton) SetWeb(v *OverrideButtonConfiguration) *InAppMessageButton {
 28602  	s.Web = v
 28603  	return s
 28604  }
 28605  
 28606  type InAppMessageCampaign struct {
 28607  	_ struct{} `type:"structure"`
 28608  
 28609  	// Campaign id of the corresponding campaign.
 28610  	CampaignId *string `type:"string"`
 28611  
 28612  	// Daily cap which controls the number of times any in-app messages can be shown
 28613  	// to the endpoint during a day.
 28614  	DailyCap *int64 `type:"integer"`
 28615  
 28616  	// In-app message content with all fields required for rendering an in-app message.
 28617  	InAppMessage *InAppMessage `type:"structure"`
 28618  
 28619  	// Priority of the in-app message.
 28620  	Priority *int64 `type:"integer"`
 28621  
 28622  	// Schedule of the campaign.
 28623  	Schedule *InAppCampaignSchedule `type:"structure"`
 28624  
 28625  	// Session cap which controls the number of times an in-app message can be shown
 28626  	// to the endpoint during an application session.
 28627  	SessionCap *int64 `type:"integer"`
 28628  
 28629  	// Total cap which controls the number of times an in-app message can be shown
 28630  	// to the endpoint.
 28631  	TotalCap *int64 `type:"integer"`
 28632  
 28633  	// Treatment id of the campaign.
 28634  	TreatmentId *string `type:"string"`
 28635  }
 28636  
 28637  // String returns the string representation.
 28638  //
 28639  // API parameter values that are decorated as "sensitive" in the API will not
 28640  // be included in the string output. The member name will be present, but the
 28641  // value will be replaced with "sensitive".
 28642  func (s InAppMessageCampaign) String() string {
 28643  	return awsutil.Prettify(s)
 28644  }
 28645  
 28646  // GoString returns the string representation.
 28647  //
 28648  // API parameter values that are decorated as "sensitive" in the API will not
 28649  // be included in the string output. The member name will be present, but the
 28650  // value will be replaced with "sensitive".
 28651  func (s InAppMessageCampaign) GoString() string {
 28652  	return s.String()
 28653  }
 28654  
 28655  // SetCampaignId sets the CampaignId field's value.
 28656  func (s *InAppMessageCampaign) SetCampaignId(v string) *InAppMessageCampaign {
 28657  	s.CampaignId = &v
 28658  	return s
 28659  }
 28660  
 28661  // SetDailyCap sets the DailyCap field's value.
 28662  func (s *InAppMessageCampaign) SetDailyCap(v int64) *InAppMessageCampaign {
 28663  	s.DailyCap = &v
 28664  	return s
 28665  }
 28666  
 28667  // SetInAppMessage sets the InAppMessage field's value.
 28668  func (s *InAppMessageCampaign) SetInAppMessage(v *InAppMessage) *InAppMessageCampaign {
 28669  	s.InAppMessage = v
 28670  	return s
 28671  }
 28672  
 28673  // SetPriority sets the Priority field's value.
 28674  func (s *InAppMessageCampaign) SetPriority(v int64) *InAppMessageCampaign {
 28675  	s.Priority = &v
 28676  	return s
 28677  }
 28678  
 28679  // SetSchedule sets the Schedule field's value.
 28680  func (s *InAppMessageCampaign) SetSchedule(v *InAppCampaignSchedule) *InAppMessageCampaign {
 28681  	s.Schedule = v
 28682  	return s
 28683  }
 28684  
 28685  // SetSessionCap sets the SessionCap field's value.
 28686  func (s *InAppMessageCampaign) SetSessionCap(v int64) *InAppMessageCampaign {
 28687  	s.SessionCap = &v
 28688  	return s
 28689  }
 28690  
 28691  // SetTotalCap sets the TotalCap field's value.
 28692  func (s *InAppMessageCampaign) SetTotalCap(v int64) *InAppMessageCampaign {
 28693  	s.TotalCap = &v
 28694  	return s
 28695  }
 28696  
 28697  // SetTreatmentId sets the TreatmentId field's value.
 28698  func (s *InAppMessageCampaign) SetTreatmentId(v string) *InAppMessageCampaign {
 28699  	s.TreatmentId = &v
 28700  	return s
 28701  }
 28702  
 28703  // The configuration for the message content.
 28704  type InAppMessageContent struct {
 28705  	_ struct{} `type:"structure"`
 28706  
 28707  	// The background color for the message.
 28708  	BackgroundColor *string `type:"string"`
 28709  
 28710  	// The configuration for the message body.
 28711  	BodyConfig *InAppMessageBodyConfig `type:"structure"`
 28712  
 28713  	// The configuration for the message header.
 28714  	HeaderConfig *InAppMessageHeaderConfig `type:"structure"`
 28715  
 28716  	// The image url for the background of message.
 28717  	ImageUrl *string `type:"string"`
 28718  
 28719  	// The first button inside the message.
 28720  	PrimaryBtn *InAppMessageButton `type:"structure"`
 28721  
 28722  	// The second button inside message.
 28723  	SecondaryBtn *InAppMessageButton `type:"structure"`
 28724  }
 28725  
 28726  // String returns the string representation.
 28727  //
 28728  // API parameter values that are decorated as "sensitive" in the API will not
 28729  // be included in the string output. The member name will be present, but the
 28730  // value will be replaced with "sensitive".
 28731  func (s InAppMessageContent) String() string {
 28732  	return awsutil.Prettify(s)
 28733  }
 28734  
 28735  // GoString returns the string representation.
 28736  //
 28737  // API parameter values that are decorated as "sensitive" in the API will not
 28738  // be included in the string output. The member name will be present, but the
 28739  // value will be replaced with "sensitive".
 28740  func (s InAppMessageContent) GoString() string {
 28741  	return s.String()
 28742  }
 28743  
 28744  // Validate inspects the fields of the type to determine if they are valid.
 28745  func (s *InAppMessageContent) Validate() error {
 28746  	invalidParams := request.ErrInvalidParams{Context: "InAppMessageContent"}
 28747  	if s.BodyConfig != nil {
 28748  		if err := s.BodyConfig.Validate(); err != nil {
 28749  			invalidParams.AddNested("BodyConfig", err.(request.ErrInvalidParams))
 28750  		}
 28751  	}
 28752  	if s.HeaderConfig != nil {
 28753  		if err := s.HeaderConfig.Validate(); err != nil {
 28754  			invalidParams.AddNested("HeaderConfig", err.(request.ErrInvalidParams))
 28755  		}
 28756  	}
 28757  	if s.PrimaryBtn != nil {
 28758  		if err := s.PrimaryBtn.Validate(); err != nil {
 28759  			invalidParams.AddNested("PrimaryBtn", err.(request.ErrInvalidParams))
 28760  		}
 28761  	}
 28762  	if s.SecondaryBtn != nil {
 28763  		if err := s.SecondaryBtn.Validate(); err != nil {
 28764  			invalidParams.AddNested("SecondaryBtn", err.(request.ErrInvalidParams))
 28765  		}
 28766  	}
 28767  
 28768  	if invalidParams.Len() > 0 {
 28769  		return invalidParams
 28770  	}
 28771  	return nil
 28772  }
 28773  
 28774  // SetBackgroundColor sets the BackgroundColor field's value.
 28775  func (s *InAppMessageContent) SetBackgroundColor(v string) *InAppMessageContent {
 28776  	s.BackgroundColor = &v
 28777  	return s
 28778  }
 28779  
 28780  // SetBodyConfig sets the BodyConfig field's value.
 28781  func (s *InAppMessageContent) SetBodyConfig(v *InAppMessageBodyConfig) *InAppMessageContent {
 28782  	s.BodyConfig = v
 28783  	return s
 28784  }
 28785  
 28786  // SetHeaderConfig sets the HeaderConfig field's value.
 28787  func (s *InAppMessageContent) SetHeaderConfig(v *InAppMessageHeaderConfig) *InAppMessageContent {
 28788  	s.HeaderConfig = v
 28789  	return s
 28790  }
 28791  
 28792  // SetImageUrl sets the ImageUrl field's value.
 28793  func (s *InAppMessageContent) SetImageUrl(v string) *InAppMessageContent {
 28794  	s.ImageUrl = &v
 28795  	return s
 28796  }
 28797  
 28798  // SetPrimaryBtn sets the PrimaryBtn field's value.
 28799  func (s *InAppMessageContent) SetPrimaryBtn(v *InAppMessageButton) *InAppMessageContent {
 28800  	s.PrimaryBtn = v
 28801  	return s
 28802  }
 28803  
 28804  // SetSecondaryBtn sets the SecondaryBtn field's value.
 28805  func (s *InAppMessageContent) SetSecondaryBtn(v *InAppMessageButton) *InAppMessageContent {
 28806  	s.SecondaryBtn = v
 28807  	return s
 28808  }
 28809  
 28810  // Text config for Message Header.
 28811  type InAppMessageHeaderConfig struct {
 28812  	_ struct{} `type:"structure"`
 28813  
 28814  	// The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
 28815  	//
 28816  	// Alignment is a required field
 28817  	Alignment *string `type:"string" required:"true" enum:"Alignment"`
 28818  
 28819  	// Message Header.
 28820  	//
 28821  	// Header is a required field
 28822  	Header *string `type:"string" required:"true"`
 28823  
 28824  	// The text color.
 28825  	//
 28826  	// TextColor is a required field
 28827  	TextColor *string `type:"string" required:"true"`
 28828  }
 28829  
 28830  // String returns the string representation.
 28831  //
 28832  // API parameter values that are decorated as "sensitive" in the API will not
 28833  // be included in the string output. The member name will be present, but the
 28834  // value will be replaced with "sensitive".
 28835  func (s InAppMessageHeaderConfig) String() string {
 28836  	return awsutil.Prettify(s)
 28837  }
 28838  
 28839  // GoString returns the string representation.
 28840  //
 28841  // API parameter values that are decorated as "sensitive" in the API will not
 28842  // be included in the string output. The member name will be present, but the
 28843  // value will be replaced with "sensitive".
 28844  func (s InAppMessageHeaderConfig) GoString() string {
 28845  	return s.String()
 28846  }
 28847  
 28848  // Validate inspects the fields of the type to determine if they are valid.
 28849  func (s *InAppMessageHeaderConfig) Validate() error {
 28850  	invalidParams := request.ErrInvalidParams{Context: "InAppMessageHeaderConfig"}
 28851  	if s.Alignment == nil {
 28852  		invalidParams.Add(request.NewErrParamRequired("Alignment"))
 28853  	}
 28854  	if s.Header == nil {
 28855  		invalidParams.Add(request.NewErrParamRequired("Header"))
 28856  	}
 28857  	if s.TextColor == nil {
 28858  		invalidParams.Add(request.NewErrParamRequired("TextColor"))
 28859  	}
 28860  
 28861  	if invalidParams.Len() > 0 {
 28862  		return invalidParams
 28863  	}
 28864  	return nil
 28865  }
 28866  
 28867  // SetAlignment sets the Alignment field's value.
 28868  func (s *InAppMessageHeaderConfig) SetAlignment(v string) *InAppMessageHeaderConfig {
 28869  	s.Alignment = &v
 28870  	return s
 28871  }
 28872  
 28873  // SetHeader sets the Header field's value.
 28874  func (s *InAppMessageHeaderConfig) SetHeader(v string) *InAppMessageHeaderConfig {
 28875  	s.Header = &v
 28876  	return s
 28877  }
 28878  
 28879  // SetTextColor sets the TextColor field's value.
 28880  func (s *InAppMessageHeaderConfig) SetTextColor(v string) *InAppMessageHeaderConfig {
 28881  	s.TextColor = &v
 28882  	return s
 28883  }
 28884  
 28885  // Get in-app messages response object.
 28886  type InAppMessagesResponse struct {
 28887  	_ struct{} `type:"structure"`
 28888  
 28889  	// List of targeted in-app message campaigns.
 28890  	InAppMessageCampaigns []*InAppMessageCampaign `type:"list"`
 28891  }
 28892  
 28893  // String returns the string representation.
 28894  //
 28895  // API parameter values that are decorated as "sensitive" in the API will not
 28896  // be included in the string output. The member name will be present, but the
 28897  // value will be replaced with "sensitive".
 28898  func (s InAppMessagesResponse) String() string {
 28899  	return awsutil.Prettify(s)
 28900  }
 28901  
 28902  // GoString returns the string representation.
 28903  //
 28904  // API parameter values that are decorated as "sensitive" in the API will not
 28905  // be included in the string output. The member name will be present, but the
 28906  // value will be replaced with "sensitive".
 28907  func (s InAppMessagesResponse) GoString() string {
 28908  	return s.String()
 28909  }
 28910  
 28911  // SetInAppMessageCampaigns sets the InAppMessageCampaigns field's value.
 28912  func (s *InAppMessagesResponse) SetInAppMessageCampaigns(v []*InAppMessageCampaign) *InAppMessagesResponse {
 28913  	s.InAppMessageCampaigns = v
 28914  	return s
 28915  }
 28916  
 28917  // In-App Template Request.
 28918  type InAppTemplateRequest struct {
 28919  	_ struct{} `type:"structure"`
 28920  
 28921  	// The content of the message, can include up to 5 modals. Each modal must contain
 28922  	// a message, a header, and background color. ImageUrl and buttons are optional.
 28923  	Content []*InAppMessageContent `type:"list"`
 28924  
 28925  	// Custom config to be sent to client.
 28926  	CustomConfig map[string]*string `type:"map"`
 28927  
 28928  	// The layout of the message.
 28929  	Layout *string `type:"string" enum:"Layout"`
 28930  
 28931  	// A string-to-string map of key-value pairs that defines the tags to associate
 28932  	// with the message template. Each tag consists of a required tag key and an
 28933  	// associated tag value.
 28934  	Tags map[string]*string `locationName:"tags" type:"map"`
 28935  
 28936  	// The description of the template.
 28937  	TemplateDescription *string `type:"string"`
 28938  }
 28939  
 28940  // String returns the string representation.
 28941  //
 28942  // API parameter values that are decorated as "sensitive" in the API will not
 28943  // be included in the string output. The member name will be present, but the
 28944  // value will be replaced with "sensitive".
 28945  func (s InAppTemplateRequest) String() string {
 28946  	return awsutil.Prettify(s)
 28947  }
 28948  
 28949  // GoString returns the string representation.
 28950  //
 28951  // API parameter values that are decorated as "sensitive" in the API will not
 28952  // be included in the string output. The member name will be present, but the
 28953  // value will be replaced with "sensitive".
 28954  func (s InAppTemplateRequest) GoString() string {
 28955  	return s.String()
 28956  }
 28957  
 28958  // Validate inspects the fields of the type to determine if they are valid.
 28959  func (s *InAppTemplateRequest) Validate() error {
 28960  	invalidParams := request.ErrInvalidParams{Context: "InAppTemplateRequest"}
 28961  	if s.Content != nil {
 28962  		for i, v := range s.Content {
 28963  			if v == nil {
 28964  				continue
 28965  			}
 28966  			if err := v.Validate(); err != nil {
 28967  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Content", i), err.(request.ErrInvalidParams))
 28968  			}
 28969  		}
 28970  	}
 28971  
 28972  	if invalidParams.Len() > 0 {
 28973  		return invalidParams
 28974  	}
 28975  	return nil
 28976  }
 28977  
 28978  // SetContent sets the Content field's value.
 28979  func (s *InAppTemplateRequest) SetContent(v []*InAppMessageContent) *InAppTemplateRequest {
 28980  	s.Content = v
 28981  	return s
 28982  }
 28983  
 28984  // SetCustomConfig sets the CustomConfig field's value.
 28985  func (s *InAppTemplateRequest) SetCustomConfig(v map[string]*string) *InAppTemplateRequest {
 28986  	s.CustomConfig = v
 28987  	return s
 28988  }
 28989  
 28990  // SetLayout sets the Layout field's value.
 28991  func (s *InAppTemplateRequest) SetLayout(v string) *InAppTemplateRequest {
 28992  	s.Layout = &v
 28993  	return s
 28994  }
 28995  
 28996  // SetTags sets the Tags field's value.
 28997  func (s *InAppTemplateRequest) SetTags(v map[string]*string) *InAppTemplateRequest {
 28998  	s.Tags = v
 28999  	return s
 29000  }
 29001  
 29002  // SetTemplateDescription sets the TemplateDescription field's value.
 29003  func (s *InAppTemplateRequest) SetTemplateDescription(v string) *InAppTemplateRequest {
 29004  	s.TemplateDescription = &v
 29005  	return s
 29006  }
 29007  
 29008  // In-App Template Response.
 29009  type InAppTemplateResponse struct {
 29010  	_ struct{} `type:"structure"`
 29011  
 29012  	// The resource arn of the template.
 29013  	Arn *string `type:"string"`
 29014  
 29015  	// The content of the message, can include up to 5 modals. Each modal must contain
 29016  	// a message, a header, and background color. ImageUrl and buttons are optional.
 29017  	Content []*InAppMessageContent `type:"list"`
 29018  
 29019  	// The creation date of the template.
 29020  	//
 29021  	// CreationDate is a required field
 29022  	CreationDate *string `type:"string" required:"true"`
 29023  
 29024  	// Custom config to be sent to client.
 29025  	CustomConfig map[string]*string `type:"map"`
 29026  
 29027  	// The last modified date of the template.
 29028  	//
 29029  	// LastModifiedDate is a required field
 29030  	LastModifiedDate *string `type:"string" required:"true"`
 29031  
 29032  	// The layout of the message.
 29033  	Layout *string `type:"string" enum:"Layout"`
 29034  
 29035  	// Tags map that contains arn and InternalId for API GW.
 29036  	Tags map[string]*string `locationName:"tags" type:"map"`
 29037  
 29038  	// The description of the template.
 29039  	TemplateDescription *string `type:"string"`
 29040  
 29041  	// The name of the template.
 29042  	//
 29043  	// TemplateName is a required field
 29044  	TemplateName *string `type:"string" required:"true"`
 29045  
 29046  	// The type of the template.
 29047  	//
 29048  	// TemplateType is a required field
 29049  	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
 29050  
 29051  	// The version id of the template.
 29052  	Version *string `type:"string"`
 29053  }
 29054  
 29055  // String returns the string representation.
 29056  //
 29057  // API parameter values that are decorated as "sensitive" in the API will not
 29058  // be included in the string output. The member name will be present, but the
 29059  // value will be replaced with "sensitive".
 29060  func (s InAppTemplateResponse) String() string {
 29061  	return awsutil.Prettify(s)
 29062  }
 29063  
 29064  // GoString returns the string representation.
 29065  //
 29066  // API parameter values that are decorated as "sensitive" in the API will not
 29067  // be included in the string output. The member name will be present, but the
 29068  // value will be replaced with "sensitive".
 29069  func (s InAppTemplateResponse) GoString() string {
 29070  	return s.String()
 29071  }
 29072  
 29073  // SetArn sets the Arn field's value.
 29074  func (s *InAppTemplateResponse) SetArn(v string) *InAppTemplateResponse {
 29075  	s.Arn = &v
 29076  	return s
 29077  }
 29078  
 29079  // SetContent sets the Content field's value.
 29080  func (s *InAppTemplateResponse) SetContent(v []*InAppMessageContent) *InAppTemplateResponse {
 29081  	s.Content = v
 29082  	return s
 29083  }
 29084  
 29085  // SetCreationDate sets the CreationDate field's value.
 29086  func (s *InAppTemplateResponse) SetCreationDate(v string) *InAppTemplateResponse {
 29087  	s.CreationDate = &v
 29088  	return s
 29089  }
 29090  
 29091  // SetCustomConfig sets the CustomConfig field's value.
 29092  func (s *InAppTemplateResponse) SetCustomConfig(v map[string]*string) *InAppTemplateResponse {
 29093  	s.CustomConfig = v
 29094  	return s
 29095  }
 29096  
 29097  // SetLastModifiedDate sets the LastModifiedDate field's value.
 29098  func (s *InAppTemplateResponse) SetLastModifiedDate(v string) *InAppTemplateResponse {
 29099  	s.LastModifiedDate = &v
 29100  	return s
 29101  }
 29102  
 29103  // SetLayout sets the Layout field's value.
 29104  func (s *InAppTemplateResponse) SetLayout(v string) *InAppTemplateResponse {
 29105  	s.Layout = &v
 29106  	return s
 29107  }
 29108  
 29109  // SetTags sets the Tags field's value.
 29110  func (s *InAppTemplateResponse) SetTags(v map[string]*string) *InAppTemplateResponse {
 29111  	s.Tags = v
 29112  	return s
 29113  }
 29114  
 29115  // SetTemplateDescription sets the TemplateDescription field's value.
 29116  func (s *InAppTemplateResponse) SetTemplateDescription(v string) *InAppTemplateResponse {
 29117  	s.TemplateDescription = &v
 29118  	return s
 29119  }
 29120  
 29121  // SetTemplateName sets the TemplateName field's value.
 29122  func (s *InAppTemplateResponse) SetTemplateName(v string) *InAppTemplateResponse {
 29123  	s.TemplateName = &v
 29124  	return s
 29125  }
 29126  
 29127  // SetTemplateType sets the TemplateType field's value.
 29128  func (s *InAppTemplateResponse) SetTemplateType(v string) *InAppTemplateResponse {
 29129  	s.TemplateType = &v
 29130  	return s
 29131  }
 29132  
 29133  // SetVersion sets the Version field's value.
 29134  func (s *InAppTemplateResponse) SetVersion(v string) *InAppTemplateResponse {
 29135  	s.Version = &v
 29136  	return s
 29137  }
 29138  
 29139  // Provides information about an API request or response.
 29140  type InternalServerErrorException struct {
 29141  	_            struct{}                  `type:"structure"`
 29142  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29143  
 29144  	Message_ *string `locationName:"Message" type:"string"`
 29145  
 29146  	RequestID_ *string `locationName:"RequestID" type:"string"`
 29147  }
 29148  
 29149  // String returns the string representation.
 29150  //
 29151  // API parameter values that are decorated as "sensitive" in the API will not
 29152  // be included in the string output. The member name will be present, but the
 29153  // value will be replaced with "sensitive".
 29154  func (s InternalServerErrorException) String() string {
 29155  	return awsutil.Prettify(s)
 29156  }
 29157  
 29158  // GoString returns the string representation.
 29159  //
 29160  // API parameter values that are decorated as "sensitive" in the API will not
 29161  // be included in the string output. The member name will be present, but the
 29162  // value will be replaced with "sensitive".
 29163  func (s InternalServerErrorException) GoString() string {
 29164  	return s.String()
 29165  }
 29166  
 29167  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
 29168  	return &InternalServerErrorException{
 29169  		RespMetadata: v,
 29170  	}
 29171  }
 29172  
 29173  // Code returns the exception type name.
 29174  func (s *InternalServerErrorException) Code() string {
 29175  	return "InternalServerErrorException"
 29176  }
 29177  
 29178  // Message returns the exception's message.
 29179  func (s *InternalServerErrorException) Message() string {
 29180  	if s.Message_ != nil {
 29181  		return *s.Message_
 29182  	}
 29183  	return ""
 29184  }
 29185  
 29186  // OrigErr always returns nil, satisfies awserr.Error interface.
 29187  func (s *InternalServerErrorException) OrigErr() error {
 29188  	return nil
 29189  }
 29190  
 29191  func (s *InternalServerErrorException) Error() string {
 29192  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 29193  }
 29194  
 29195  // Status code returns the HTTP status code for the request's response error.
 29196  func (s *InternalServerErrorException) StatusCode() int {
 29197  	return s.RespMetadata.StatusCode
 29198  }
 29199  
 29200  // RequestID returns the service's response RequestID for request.
 29201  func (s *InternalServerErrorException) RequestID() string {
 29202  	return s.RespMetadata.RequestID
 29203  }
 29204  
 29205  // Provides information about the results of a request to create or update an
 29206  // endpoint that's associated with an event.
 29207  type ItemResponse struct {
 29208  	_ struct{} `type:"structure"`
 29209  
 29210  	// The response that was received after the endpoint data was accepted.
 29211  	EndpointItemResponse *EndpointItemResponse `type:"structure"`
 29212  
 29213  	// A multipart response object that contains a key and a value for each event
 29214  	// in the request. In each object, the event ID is the key and an EventItemResponse
 29215  	// object is the value.
 29216  	EventsItemResponse map[string]*EventItemResponse `type:"map"`
 29217  }
 29218  
 29219  // String returns the string representation.
 29220  //
 29221  // API parameter values that are decorated as "sensitive" in the API will not
 29222  // be included in the string output. The member name will be present, but the
 29223  // value will be replaced with "sensitive".
 29224  func (s ItemResponse) String() string {
 29225  	return awsutil.Prettify(s)
 29226  }
 29227  
 29228  // GoString returns the string representation.
 29229  //
 29230  // API parameter values that are decorated as "sensitive" in the API will not
 29231  // be included in the string output. The member name will be present, but the
 29232  // value will be replaced with "sensitive".
 29233  func (s ItemResponse) GoString() string {
 29234  	return s.String()
 29235  }
 29236  
 29237  // SetEndpointItemResponse sets the EndpointItemResponse field's value.
 29238  func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
 29239  	s.EndpointItemResponse = v
 29240  	return s
 29241  }
 29242  
 29243  // SetEventsItemResponse sets the EventsItemResponse field's value.
 29244  func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
 29245  	s.EventsItemResponse = v
 29246  	return s
 29247  }
 29248  
 29249  // The channel-specific configurations for the journey.
 29250  type JourneyChannelSettings struct {
 29251  	_ struct{} `type:"structure"`
 29252  
 29253  	// Amazon Resource Name (ARN) of the Connect Campaign.
 29254  	ConnectCampaignArn *string `type:"string"`
 29255  
 29256  	// IAM role ARN to be assumed when invoking Connect campaign execution APIs
 29257  	// for dialing.
 29258  	ConnectCampaignExecutionRoleArn *string `type:"string"`
 29259  }
 29260  
 29261  // String returns the string representation.
 29262  //
 29263  // API parameter values that are decorated as "sensitive" in the API will not
 29264  // be included in the string output. The member name will be present, but the
 29265  // value will be replaced with "sensitive".
 29266  func (s JourneyChannelSettings) String() string {
 29267  	return awsutil.Prettify(s)
 29268  }
 29269  
 29270  // GoString returns the string representation.
 29271  //
 29272  // API parameter values that are decorated as "sensitive" in the API will not
 29273  // be included in the string output. The member name will be present, but the
 29274  // value will be replaced with "sensitive".
 29275  func (s JourneyChannelSettings) GoString() string {
 29276  	return s.String()
 29277  }
 29278  
 29279  // SetConnectCampaignArn sets the ConnectCampaignArn field's value.
 29280  func (s *JourneyChannelSettings) SetConnectCampaignArn(v string) *JourneyChannelSettings {
 29281  	s.ConnectCampaignArn = &v
 29282  	return s
 29283  }
 29284  
 29285  // SetConnectCampaignExecutionRoleArn sets the ConnectCampaignExecutionRoleArn field's value.
 29286  func (s *JourneyChannelSettings) SetConnectCampaignExecutionRoleArn(v string) *JourneyChannelSettings {
 29287  	s.ConnectCampaignExecutionRoleArn = &v
 29288  	return s
 29289  }
 29290  
 29291  // Specifies the message content for a custom channel message that's sent to
 29292  // participants in a journey.
 29293  type JourneyCustomMessage struct {
 29294  	_ struct{} `type:"structure"`
 29295  
 29296  	// The message content that's passed to an AWS Lambda function or to a web hook.
 29297  	Data *string `type:"string"`
 29298  }
 29299  
 29300  // String returns the string representation.
 29301  //
 29302  // API parameter values that are decorated as "sensitive" in the API will not
 29303  // be included in the string output. The member name will be present, but the
 29304  // value will be replaced with "sensitive".
 29305  func (s JourneyCustomMessage) String() string {
 29306  	return awsutil.Prettify(s)
 29307  }
 29308  
 29309  // GoString returns the string representation.
 29310  //
 29311  // API parameter values that are decorated as "sensitive" in the API will not
 29312  // be included in the string output. The member name will be present, but the
 29313  // value will be replaced with "sensitive".
 29314  func (s JourneyCustomMessage) GoString() string {
 29315  	return s.String()
 29316  }
 29317  
 29318  // SetData sets the Data field's value.
 29319  func (s *JourneyCustomMessage) SetData(v string) *JourneyCustomMessage {
 29320  	s.Data = &v
 29321  	return s
 29322  }
 29323  
 29324  // Provides the results of a query that retrieved the data for a standard engagement
 29325  // metric that applies to a journey, and provides information about that query.
 29326  type JourneyDateRangeKpiResponse struct {
 29327  	_ struct{} `type:"structure"`
 29328  
 29329  	// The unique identifier for the application that the metric applies to.
 29330  	//
 29331  	// ApplicationId is a required field
 29332  	ApplicationId *string `type:"string" required:"true"`
 29333  
 29334  	// EndTime is a required field
 29335  	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 29336  
 29337  	// The unique identifier for the journey that the metric applies to.
 29338  	//
 29339  	// JourneyId is a required field
 29340  	JourneyId *string `type:"string" required:"true"`
 29341  
 29342  	// The name of the metric, also referred to as a key performance indicator (KPI),
 29343  	// that the data was retrieved for. This value describes the associated metric
 29344  	// and consists of two or more terms, which are comprised of lowercase alphanumeric
 29345  	// characters, separated by a hyphen. For a list of possible values, see the
 29346  	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
 29347  	//
 29348  	// KpiName is a required field
 29349  	KpiName *string `type:"string" required:"true"`
 29350  
 29351  	// An array of objects that contains the results of the query. Each object contains
 29352  	// the value for the metric and metadata about that value.
 29353  	//
 29354  	// KpiResult is a required field
 29355  	KpiResult *BaseKpiResult `type:"structure" required:"true"`
 29356  
 29357  	// The string to use in a subsequent request to get the next page of results
 29358  	// in a paginated response. This value is null for the Journey Engagement Metrics
 29359  	// resource because the resource returns all results in a single page.
 29360  	NextToken *string `type:"string"`
 29361  
 29362  	// StartTime is a required field
 29363  	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 29364  }
 29365  
 29366  // String returns the string representation.
 29367  //
 29368  // API parameter values that are decorated as "sensitive" in the API will not
 29369  // be included in the string output. The member name will be present, but the
 29370  // value will be replaced with "sensitive".
 29371  func (s JourneyDateRangeKpiResponse) String() string {
 29372  	return awsutil.Prettify(s)
 29373  }
 29374  
 29375  // GoString returns the string representation.
 29376  //
 29377  // API parameter values that are decorated as "sensitive" in the API will not
 29378  // be included in the string output. The member name will be present, but the
 29379  // value will be replaced with "sensitive".
 29380  func (s JourneyDateRangeKpiResponse) GoString() string {
 29381  	return s.String()
 29382  }
 29383  
 29384  // SetApplicationId sets the ApplicationId field's value.
 29385  func (s *JourneyDateRangeKpiResponse) SetApplicationId(v string) *JourneyDateRangeKpiResponse {
 29386  	s.ApplicationId = &v
 29387  	return s
 29388  }
 29389  
 29390  // SetEndTime sets the EndTime field's value.
 29391  func (s *JourneyDateRangeKpiResponse) SetEndTime(v time.Time) *JourneyDateRangeKpiResponse {
 29392  	s.EndTime = &v
 29393  	return s
 29394  }
 29395  
 29396  // SetJourneyId sets the JourneyId field's value.
 29397  func (s *JourneyDateRangeKpiResponse) SetJourneyId(v string) *JourneyDateRangeKpiResponse {
 29398  	s.JourneyId = &v
 29399  	return s
 29400  }
 29401  
 29402  // SetKpiName sets the KpiName field's value.
 29403  func (s *JourneyDateRangeKpiResponse) SetKpiName(v string) *JourneyDateRangeKpiResponse {
 29404  	s.KpiName = &v
 29405  	return s
 29406  }
 29407  
 29408  // SetKpiResult sets the KpiResult field's value.
 29409  func (s *JourneyDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *JourneyDateRangeKpiResponse {
 29410  	s.KpiResult = v
 29411  	return s
 29412  }
 29413  
 29414  // SetNextToken sets the NextToken field's value.
 29415  func (s *JourneyDateRangeKpiResponse) SetNextToken(v string) *JourneyDateRangeKpiResponse {
 29416  	s.NextToken = &v
 29417  	return s
 29418  }
 29419  
 29420  // SetStartTime sets the StartTime field's value.
 29421  func (s *JourneyDateRangeKpiResponse) SetStartTime(v time.Time) *JourneyDateRangeKpiResponse {
 29422  	s.StartTime = &v
 29423  	return s
 29424  }
 29425  
 29426  // Specifies the "From" address for an email message that's sent to participants
 29427  // in a journey.
 29428  type JourneyEmailMessage struct {
 29429  	_ struct{} `type:"structure"`
 29430  
 29431  	// The verified email address to send the email message from. The default address
 29432  	// is the FromAddress specified for the email channel for the application.
 29433  	FromAddress *string `type:"string"`
 29434  }
 29435  
 29436  // String returns the string representation.
 29437  //
 29438  // API parameter values that are decorated as "sensitive" in the API will not
 29439  // be included in the string output. The member name will be present, but the
 29440  // value will be replaced with "sensitive".
 29441  func (s JourneyEmailMessage) String() string {
 29442  	return awsutil.Prettify(s)
 29443  }
 29444  
 29445  // GoString returns the string representation.
 29446  //
 29447  // API parameter values that are decorated as "sensitive" in the API will not
 29448  // be included in the string output. The member name will be present, but the
 29449  // value will be replaced with "sensitive".
 29450  func (s JourneyEmailMessage) GoString() string {
 29451  	return s.String()
 29452  }
 29453  
 29454  // SetFromAddress sets the FromAddress field's value.
 29455  func (s *JourneyEmailMessage) SetFromAddress(v string) *JourneyEmailMessage {
 29456  	s.FromAddress = &v
 29457  	return s
 29458  }
 29459  
 29460  // Provides the results of a query that retrieved the data for a standard execution
 29461  // metric that applies to a journey activity, and provides information about
 29462  // that query.
 29463  type JourneyExecutionActivityMetricsResponse struct {
 29464  	_ struct{} `type:"structure"`
 29465  
 29466  	// The type of activity that the metric applies to. Possible values are:
 29467  	//
 29468  	//    * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity
 29469  	//    that sends participants down one of two paths in a journey.
 29470  	//
 29471  	//    * HOLDOUT - For a holdout activity, which is an activity that stops a
 29472  	//    journey for a specified percentage of participants.
 29473  	//
 29474  	//    * MESSAGE - For an email activity, which is an activity that sends an
 29475  	//    email message to participants.
 29476  	//
 29477  	//    * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is
 29478  	//    an activity that sends participants down one of as many as five paths
 29479  	//    in a journey.
 29480  	//
 29481  	//    * RANDOM_SPLIT - For a random split activity, which is an activity that
 29482  	//    sends specified percentages of participants down one of as many as five
 29483  	//    paths in a journey.
 29484  	//
 29485  	//    * WAIT - For a wait activity, which is an activity that waits for a certain
 29486  	//    amount of time or until a specific date and time before moving participants
 29487  	//    to the next activity in a journey.
 29488  	//
 29489  	// ActivityType is a required field
 29490  	ActivityType *string `type:"string" required:"true"`
 29491  
 29492  	// The unique identifier for the application that the metric applies to.
 29493  	//
 29494  	// ApplicationId is a required field
 29495  	ApplicationId *string `type:"string" required:"true"`
 29496  
 29497  	// The unique identifier for the activity that the metric applies to.
 29498  	//
 29499  	// JourneyActivityId is a required field
 29500  	JourneyActivityId *string `type:"string" required:"true"`
 29501  
 29502  	// The unique identifier for the journey that the metric applies to.
 29503  	//
 29504  	// JourneyId is a required field
 29505  	JourneyId *string `type:"string" required:"true"`
 29506  
 29507  	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
 29508  	// the execution status of the activity and updated the data for the metric.
 29509  	//
 29510  	// LastEvaluatedTime is a required field
 29511  	LastEvaluatedTime *string `type:"string" required:"true"`
 29512  
 29513  	// A JSON object that contains the results of the query. The results vary depending
 29514  	// on the type of activity (ActivityType). For information about the structure
 29515  	// and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
 29516  	//
 29517  	// Metrics is a required field
 29518  	Metrics map[string]*string `type:"map" required:"true"`
 29519  }
 29520  
 29521  // String returns the string representation.
 29522  //
 29523  // API parameter values that are decorated as "sensitive" in the API will not
 29524  // be included in the string output. The member name will be present, but the
 29525  // value will be replaced with "sensitive".
 29526  func (s JourneyExecutionActivityMetricsResponse) String() string {
 29527  	return awsutil.Prettify(s)
 29528  }
 29529  
 29530  // GoString returns the string representation.
 29531  //
 29532  // API parameter values that are decorated as "sensitive" in the API will not
 29533  // be included in the string output. The member name will be present, but the
 29534  // value will be replaced with "sensitive".
 29535  func (s JourneyExecutionActivityMetricsResponse) GoString() string {
 29536  	return s.String()
 29537  }
 29538  
 29539  // SetActivityType sets the ActivityType field's value.
 29540  func (s *JourneyExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyExecutionActivityMetricsResponse {
 29541  	s.ActivityType = &v
 29542  	return s
 29543  }
 29544  
 29545  // SetApplicationId sets the ApplicationId field's value.
 29546  func (s *JourneyExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyExecutionActivityMetricsResponse {
 29547  	s.ApplicationId = &v
 29548  	return s
 29549  }
 29550  
 29551  // SetJourneyActivityId sets the JourneyActivityId field's value.
 29552  func (s *JourneyExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyExecutionActivityMetricsResponse {
 29553  	s.JourneyActivityId = &v
 29554  	return s
 29555  }
 29556  
 29557  // SetJourneyId sets the JourneyId field's value.
 29558  func (s *JourneyExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyExecutionActivityMetricsResponse {
 29559  	s.JourneyId = &v
 29560  	return s
 29561  }
 29562  
 29563  // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
 29564  func (s *JourneyExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionActivityMetricsResponse {
 29565  	s.LastEvaluatedTime = &v
 29566  	return s
 29567  }
 29568  
 29569  // SetMetrics sets the Metrics field's value.
 29570  func (s *JourneyExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionActivityMetricsResponse {
 29571  	s.Metrics = v
 29572  	return s
 29573  }
 29574  
 29575  // Provides the results of a query that retrieved the data for a standard execution
 29576  // metric that applies to a journey, and provides information about that query.
 29577  type JourneyExecutionMetricsResponse struct {
 29578  	_ struct{} `type:"structure"`
 29579  
 29580  	// The unique identifier for the application that the metric applies to.
 29581  	//
 29582  	// ApplicationId is a required field
 29583  	ApplicationId *string `type:"string" required:"true"`
 29584  
 29585  	// The unique identifier for the journey that the metric applies to.
 29586  	//
 29587  	// JourneyId is a required field
 29588  	JourneyId *string `type:"string" required:"true"`
 29589  
 29590  	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
 29591  	// the journey and updated the data for the metric.
 29592  	//
 29593  	// LastEvaluatedTime is a required field
 29594  	LastEvaluatedTime *string `type:"string" required:"true"`
 29595  
 29596  	// A JSON object that contains the results of the query. For information about
 29597  	// the structure and contents of the results, see the Amazon Pinpoint Developer
 29598  	// Guide (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html).
 29599  	//
 29600  	// Metrics is a required field
 29601  	Metrics map[string]*string `type:"map" required:"true"`
 29602  }
 29603  
 29604  // String returns the string representation.
 29605  //
 29606  // API parameter values that are decorated as "sensitive" in the API will not
 29607  // be included in the string output. The member name will be present, but the
 29608  // value will be replaced with "sensitive".
 29609  func (s JourneyExecutionMetricsResponse) String() string {
 29610  	return awsutil.Prettify(s)
 29611  }
 29612  
 29613  // GoString returns the string representation.
 29614  //
 29615  // API parameter values that are decorated as "sensitive" in the API will not
 29616  // be included in the string output. The member name will be present, but the
 29617  // value will be replaced with "sensitive".
 29618  func (s JourneyExecutionMetricsResponse) GoString() string {
 29619  	return s.String()
 29620  }
 29621  
 29622  // SetApplicationId sets the ApplicationId field's value.
 29623  func (s *JourneyExecutionMetricsResponse) SetApplicationId(v string) *JourneyExecutionMetricsResponse {
 29624  	s.ApplicationId = &v
 29625  	return s
 29626  }
 29627  
 29628  // SetJourneyId sets the JourneyId field's value.
 29629  func (s *JourneyExecutionMetricsResponse) SetJourneyId(v string) *JourneyExecutionMetricsResponse {
 29630  	s.JourneyId = &v
 29631  	return s
 29632  }
 29633  
 29634  // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
 29635  func (s *JourneyExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionMetricsResponse {
 29636  	s.LastEvaluatedTime = &v
 29637  	return s
 29638  }
 29639  
 29640  // SetMetrics sets the Metrics field's value.
 29641  func (s *JourneyExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionMetricsResponse {
 29642  	s.Metrics = v
 29643  	return s
 29644  }
 29645  
 29646  // Specifies limits on the messages that a journey can send and the number of
 29647  // times participants can enter a journey.
 29648  type JourneyLimits struct {
 29649  	_ struct{} `type:"structure"`
 29650  
 29651  	// The maximum number of messages that the journey can send to a single participant
 29652  	// during a 24-hour period. The maximum value is 100.
 29653  	DailyCap *int64 `type:"integer"`
 29654  
 29655  	// The maximum number of times that a participant can enter the journey. The
 29656  	// maximum value is 100. To allow participants to enter the journey an unlimited
 29657  	// number of times, set this value to 0.
 29658  	EndpointReentryCap *int64 `type:"integer"`
 29659  
 29660  	EndpointReentryInterval *string `type:"string"`
 29661  
 29662  	// The maximum number of messages that the journey can send each second.
 29663  	MessagesPerSecond *int64 `type:"integer"`
 29664  }
 29665  
 29666  // String returns the string representation.
 29667  //
 29668  // API parameter values that are decorated as "sensitive" in the API will not
 29669  // be included in the string output. The member name will be present, but the
 29670  // value will be replaced with "sensitive".
 29671  func (s JourneyLimits) String() string {
 29672  	return awsutil.Prettify(s)
 29673  }
 29674  
 29675  // GoString returns the string representation.
 29676  //
 29677  // API parameter values that are decorated as "sensitive" in the API will not
 29678  // be included in the string output. The member name will be present, but the
 29679  // value will be replaced with "sensitive".
 29680  func (s JourneyLimits) GoString() string {
 29681  	return s.String()
 29682  }
 29683  
 29684  // SetDailyCap sets the DailyCap field's value.
 29685  func (s *JourneyLimits) SetDailyCap(v int64) *JourneyLimits {
 29686  	s.DailyCap = &v
 29687  	return s
 29688  }
 29689  
 29690  // SetEndpointReentryCap sets the EndpointReentryCap field's value.
 29691  func (s *JourneyLimits) SetEndpointReentryCap(v int64) *JourneyLimits {
 29692  	s.EndpointReentryCap = &v
 29693  	return s
 29694  }
 29695  
 29696  // SetEndpointReentryInterval sets the EndpointReentryInterval field's value.
 29697  func (s *JourneyLimits) SetEndpointReentryInterval(v string) *JourneyLimits {
 29698  	s.EndpointReentryInterval = &v
 29699  	return s
 29700  }
 29701  
 29702  // SetMessagesPerSecond sets the MessagesPerSecond field's value.
 29703  func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits {
 29704  	s.MessagesPerSecond = &v
 29705  	return s
 29706  }
 29707  
 29708  // Specifies the message configuration for a push notification that's sent to
 29709  // participants in a journey.
 29710  type JourneyPushMessage struct {
 29711  	_ struct{} `type:"structure"`
 29712  
 29713  	// The number of seconds that the push notification service should keep the
 29714  	// message, if the service is unable to deliver the notification the first time.
 29715  	// This value is converted to an expiration value when it's sent to a push-notification
 29716  	// service. If this value is 0, the service treats the notification as if it
 29717  	// expires immediately and the service doesn't store or try to deliver the notification
 29718  	// again.
 29719  	//
 29720  	// This value doesn't apply to messages that are sent through the Amazon Device
 29721  	// Messaging (ADM) service.
 29722  	TimeToLive *string `type:"string"`
 29723  }
 29724  
 29725  // String returns the string representation.
 29726  //
 29727  // API parameter values that are decorated as "sensitive" in the API will not
 29728  // be included in the string output. The member name will be present, but the
 29729  // value will be replaced with "sensitive".
 29730  func (s JourneyPushMessage) String() string {
 29731  	return awsutil.Prettify(s)
 29732  }
 29733  
 29734  // GoString returns the string representation.
 29735  //
 29736  // API parameter values that are decorated as "sensitive" in the API will not
 29737  // be included in the string output. The member name will be present, but the
 29738  // value will be replaced with "sensitive".
 29739  func (s JourneyPushMessage) GoString() string {
 29740  	return s.String()
 29741  }
 29742  
 29743  // SetTimeToLive sets the TimeToLive field's value.
 29744  func (s *JourneyPushMessage) SetTimeToLive(v string) *JourneyPushMessage {
 29745  	s.TimeToLive = &v
 29746  	return s
 29747  }
 29748  
 29749  // Provides information about the status, configuration, and other settings
 29750  // for a journey.
 29751  type JourneyResponse struct {
 29752  	_ struct{} `type:"structure"`
 29753  
 29754  	// A map that contains a set of Activity objects, one object for each activity
 29755  	// in the journey. For each Activity object, the key is the unique identifier
 29756  	// (string) for an activity and the value is the settings for the activity.
 29757  	Activities map[string]*Activity `type:"map"`
 29758  
 29759  	// The unique identifier for the application that the journey applies to.
 29760  	//
 29761  	// ApplicationId is a required field
 29762  	ApplicationId *string `type:"string" required:"true"`
 29763  
 29764  	// The date, in ISO 8601 format, when the journey was created.
 29765  	CreationDate *string `type:"string"`
 29766  
 29767  	// The unique identifier for the journey.
 29768  	//
 29769  	// Id is a required field
 29770  	Id *string `type:"string" required:"true"`
 29771  
 29772  	// Amazon Resource Name (ARN) of the Connect Campaign.
 29773  	JourneyChannelSettings *JourneyChannelSettings `type:"structure"`
 29774  
 29775  	// The date, in ISO 8601 format, when the journey was last modified.
 29776  	LastModifiedDate *string `type:"string"`
 29777  
 29778  	// The messaging and entry limits for the journey.
 29779  	Limits *JourneyLimits `type:"structure"`
 29780  
 29781  	// Specifies whether the journey's scheduled start and end times use each participant's
 29782  	// local time. If this value is true, the schedule uses each participant's local
 29783  	// time.
 29784  	LocalTime *bool `type:"boolean"`
 29785  
 29786  	// The name of the journey.
 29787  	//
 29788  	// Name is a required field
 29789  	Name *string `type:"string" required:"true"`
 29790  
 29791  	// The quiet time settings for the journey. Quiet time is a specific time range
 29792  	// when a journey doesn't send messages to participants, if all the following
 29793  	// conditions are met:
 29794  	//
 29795  	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
 29796  	//    is set to a valid value.
 29797  	//
 29798  	//    * The current time in the participant's time zone is later than or equal
 29799  	//    to the time specified by the QuietTime.Start property for the journey.
 29800  	//
 29801  	//    * The current time in the participant's time zone is earlier than or equal
 29802  	//    to the time specified by the QuietTime.End property for the journey.
 29803  	//
 29804  	// If any of the preceding conditions isn't met, the participant will receive
 29805  	// messages from the journey, even if quiet time is enabled.
 29806  	QuietTime *QuietTime `type:"structure"`
 29807  
 29808  	// The frequency with which Amazon Pinpoint evaluates segment and event data
 29809  	// for the journey, as a duration in ISO 8601 format.
 29810  	RefreshFrequency *string `type:"string"`
 29811  
 29812  	// The schedule settings for the journey.
 29813  	Schedule *JourneySchedule `type:"structure"`
 29814  
 29815  	// The unique identifier for the first activity in the journey.
 29816  	StartActivity *string `type:"string"`
 29817  
 29818  	// The segment that defines which users are participants in the journey.
 29819  	StartCondition *StartCondition `type:"structure"`
 29820  
 29821  	// The current status of the journey. Possible values are:
 29822  	//
 29823  	//    * DRAFT - The journey is being developed and hasn't been published yet.
 29824  	//
 29825  	//    * ACTIVE - The journey has been developed and published. Depending on
 29826  	//    the journey's schedule, the journey may currently be running or scheduled
 29827  	//    to start running at a later time. If a journey's status is ACTIVE, you
 29828  	//    can't add, change, or remove activities from it.
 29829  	//
 29830  	//    * PAUSED - The journey has been paused. Amazon Pinpoint continues to perform
 29831  	//    activities that are currently in progress, until those activities are
 29832  	//    complete.
 29833  	//
 29834  	//    * COMPLETED - The journey has been published and has finished running.
 29835  	//    All participants have entered the journey and no participants are waiting
 29836  	//    to complete the journey or any activities in the journey.
 29837  	//
 29838  	//    * CANCELLED - The journey has been stopped. If a journey's status is CANCELLED,
 29839  	//    you can't add, change, or remove activities or segment settings from the
 29840  	//    journey.
 29841  	//
 29842  	//    * CLOSED - The journey has been published and has started running. It
 29843  	//    may have also passed its scheduled end time, or passed its scheduled start
 29844  	//    time and a refresh frequency hasn't been specified for it. If a journey's
 29845  	//    status is CLOSED, you can't add participants to it, and no existing participants
 29846  	//    can enter the journey for the first time. However, any existing participants
 29847  	//    who are currently waiting to start an activity may continue the journey.
 29848  	State *string `type:"string" enum:"State"`
 29849  
 29850  	// This object is not used or supported.
 29851  	Tags map[string]*string `locationName:"tags" type:"map"`
 29852  }
 29853  
 29854  // String returns the string representation.
 29855  //
 29856  // API parameter values that are decorated as "sensitive" in the API will not
 29857  // be included in the string output. The member name will be present, but the
 29858  // value will be replaced with "sensitive".
 29859  func (s JourneyResponse) String() string {
 29860  	return awsutil.Prettify(s)
 29861  }
 29862  
 29863  // GoString returns the string representation.
 29864  //
 29865  // API parameter values that are decorated as "sensitive" in the API will not
 29866  // be included in the string output. The member name will be present, but the
 29867  // value will be replaced with "sensitive".
 29868  func (s JourneyResponse) GoString() string {
 29869  	return s.String()
 29870  }
 29871  
 29872  // SetActivities sets the Activities field's value.
 29873  func (s *JourneyResponse) SetActivities(v map[string]*Activity) *JourneyResponse {
 29874  	s.Activities = v
 29875  	return s
 29876  }
 29877  
 29878  // SetApplicationId sets the ApplicationId field's value.
 29879  func (s *JourneyResponse) SetApplicationId(v string) *JourneyResponse {
 29880  	s.ApplicationId = &v
 29881  	return s
 29882  }
 29883  
 29884  // SetCreationDate sets the CreationDate field's value.
 29885  func (s *JourneyResponse) SetCreationDate(v string) *JourneyResponse {
 29886  	s.CreationDate = &v
 29887  	return s
 29888  }
 29889  
 29890  // SetId sets the Id field's value.
 29891  func (s *JourneyResponse) SetId(v string) *JourneyResponse {
 29892  	s.Id = &v
 29893  	return s
 29894  }
 29895  
 29896  // SetJourneyChannelSettings sets the JourneyChannelSettings field's value.
 29897  func (s *JourneyResponse) SetJourneyChannelSettings(v *JourneyChannelSettings) *JourneyResponse {
 29898  	s.JourneyChannelSettings = v
 29899  	return s
 29900  }
 29901  
 29902  // SetLastModifiedDate sets the LastModifiedDate field's value.
 29903  func (s *JourneyResponse) SetLastModifiedDate(v string) *JourneyResponse {
 29904  	s.LastModifiedDate = &v
 29905  	return s
 29906  }
 29907  
 29908  // SetLimits sets the Limits field's value.
 29909  func (s *JourneyResponse) SetLimits(v *JourneyLimits) *JourneyResponse {
 29910  	s.Limits = v
 29911  	return s
 29912  }
 29913  
 29914  // SetLocalTime sets the LocalTime field's value.
 29915  func (s *JourneyResponse) SetLocalTime(v bool) *JourneyResponse {
 29916  	s.LocalTime = &v
 29917  	return s
 29918  }
 29919  
 29920  // SetName sets the Name field's value.
 29921  func (s *JourneyResponse) SetName(v string) *JourneyResponse {
 29922  	s.Name = &v
 29923  	return s
 29924  }
 29925  
 29926  // SetQuietTime sets the QuietTime field's value.
 29927  func (s *JourneyResponse) SetQuietTime(v *QuietTime) *JourneyResponse {
 29928  	s.QuietTime = v
 29929  	return s
 29930  }
 29931  
 29932  // SetRefreshFrequency sets the RefreshFrequency field's value.
 29933  func (s *JourneyResponse) SetRefreshFrequency(v string) *JourneyResponse {
 29934  	s.RefreshFrequency = &v
 29935  	return s
 29936  }
 29937  
 29938  // SetSchedule sets the Schedule field's value.
 29939  func (s *JourneyResponse) SetSchedule(v *JourneySchedule) *JourneyResponse {
 29940  	s.Schedule = v
 29941  	return s
 29942  }
 29943  
 29944  // SetStartActivity sets the StartActivity field's value.
 29945  func (s *JourneyResponse) SetStartActivity(v string) *JourneyResponse {
 29946  	s.StartActivity = &v
 29947  	return s
 29948  }
 29949  
 29950  // SetStartCondition sets the StartCondition field's value.
 29951  func (s *JourneyResponse) SetStartCondition(v *StartCondition) *JourneyResponse {
 29952  	s.StartCondition = v
 29953  	return s
 29954  }
 29955  
 29956  // SetState sets the State field's value.
 29957  func (s *JourneyResponse) SetState(v string) *JourneyResponse {
 29958  	s.State = &v
 29959  	return s
 29960  }
 29961  
 29962  // SetTags sets the Tags field's value.
 29963  func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse {
 29964  	s.Tags = v
 29965  	return s
 29966  }
 29967  
 29968  // Specifies the sender ID and message type for an SMS message that's sent to
 29969  // participants in a journey.
 29970  type JourneySMSMessage struct {
 29971  	_ struct{} `type:"structure"`
 29972  
 29973  	// The entity ID or Principal Entity (PE) id received from the regulatory body
 29974  	// for sending SMS in your country.
 29975  	EntityId *string `type:"string"`
 29976  
 29977  	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
 29978  	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
 29979  	// (for messsages that aren't critical or time-sensitive, such as marketing
 29980  	// messages).
 29981  	MessageType *string `type:"string" enum:"MessageType"`
 29982  
 29983  	// The long code to send the SMS message from. This value should be one of the
 29984  	// dedicated long codes that's assigned to your AWS account. Although it isn't
 29985  	// required, we recommend that you specify the long code using an E.164 format
 29986  	// to ensure prompt and accurate delivery of the message. For example, +12065550100.
 29987  	OriginationNumber *string `type:"string"`
 29988  
 29989  	// The sender ID to display as the sender of the message on a recipient's device.
 29990  	// Support for sender IDs varies by country or region. For more information,
 29991  	// see Supported Countries and Regions (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html)
 29992  	// in the Amazon Pinpoint User Guide.
 29993  	SenderId *string `type:"string"`
 29994  
 29995  	// The template ID received from the regulatory body for sending SMS in your
 29996  	// country.
 29997  	TemplateId *string `type:"string"`
 29998  }
 29999  
 30000  // String returns the string representation.
 30001  //
 30002  // API parameter values that are decorated as "sensitive" in the API will not
 30003  // be included in the string output. The member name will be present, but the
 30004  // value will be replaced with "sensitive".
 30005  func (s JourneySMSMessage) String() string {
 30006  	return awsutil.Prettify(s)
 30007  }
 30008  
 30009  // GoString returns the string representation.
 30010  //
 30011  // API parameter values that are decorated as "sensitive" in the API will not
 30012  // be included in the string output. The member name will be present, but the
 30013  // value will be replaced with "sensitive".
 30014  func (s JourneySMSMessage) GoString() string {
 30015  	return s.String()
 30016  }
 30017  
 30018  // SetEntityId sets the EntityId field's value.
 30019  func (s *JourneySMSMessage) SetEntityId(v string) *JourneySMSMessage {
 30020  	s.EntityId = &v
 30021  	return s
 30022  }
 30023  
 30024  // SetMessageType sets the MessageType field's value.
 30025  func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage {
 30026  	s.MessageType = &v
 30027  	return s
 30028  }
 30029  
 30030  // SetOriginationNumber sets the OriginationNumber field's value.
 30031  func (s *JourneySMSMessage) SetOriginationNumber(v string) *JourneySMSMessage {
 30032  	s.OriginationNumber = &v
 30033  	return s
 30034  }
 30035  
 30036  // SetSenderId sets the SenderId field's value.
 30037  func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage {
 30038  	s.SenderId = &v
 30039  	return s
 30040  }
 30041  
 30042  // SetTemplateId sets the TemplateId field's value.
 30043  func (s *JourneySMSMessage) SetTemplateId(v string) *JourneySMSMessage {
 30044  	s.TemplateId = &v
 30045  	return s
 30046  }
 30047  
 30048  // Specifies the schedule settings for a journey.
 30049  type JourneySchedule struct {
 30050  	_ struct{} `type:"structure"`
 30051  
 30052  	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
 30053  
 30054  	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
 30055  
 30056  	// The starting UTC offset for the journey schedule, if the value of the journey's
 30057  	// LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03,
 30058  	// UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30,
 30059  	// UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11,
 30060  	// UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30,
 30061  	// UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11.
 30062  	Timezone *string `type:"string"`
 30063  }
 30064  
 30065  // String returns the string representation.
 30066  //
 30067  // API parameter values that are decorated as "sensitive" in the API will not
 30068  // be included in the string output. The member name will be present, but the
 30069  // value will be replaced with "sensitive".
 30070  func (s JourneySchedule) String() string {
 30071  	return awsutil.Prettify(s)
 30072  }
 30073  
 30074  // GoString returns the string representation.
 30075  //
 30076  // API parameter values that are decorated as "sensitive" in the API will not
 30077  // be included in the string output. The member name will be present, but the
 30078  // value will be replaced with "sensitive".
 30079  func (s JourneySchedule) GoString() string {
 30080  	return s.String()
 30081  }
 30082  
 30083  // SetEndTime sets the EndTime field's value.
 30084  func (s *JourneySchedule) SetEndTime(v time.Time) *JourneySchedule {
 30085  	s.EndTime = &v
 30086  	return s
 30087  }
 30088  
 30089  // SetStartTime sets the StartTime field's value.
 30090  func (s *JourneySchedule) SetStartTime(v time.Time) *JourneySchedule {
 30091  	s.StartTime = &v
 30092  	return s
 30093  }
 30094  
 30095  // SetTimezone sets the Timezone field's value.
 30096  func (s *JourneySchedule) SetTimezone(v string) *JourneySchedule {
 30097  	s.Timezone = &v
 30098  	return s
 30099  }
 30100  
 30101  // Changes the status of a journey.
 30102  type JourneyStateRequest struct {
 30103  	_ struct{} `type:"structure"`
 30104  
 30105  	// The status of the journey. Currently, Supported values are ACTIVE, PAUSED,
 30106  	// and CANCELLED
 30107  	//
 30108  	// If you cancel a journey, Amazon Pinpoint continues to perform activities
 30109  	// that are currently in progress, until those activities are complete. Amazon
 30110  	// Pinpoint also continues to collect and aggregate analytics data for those
 30111  	// activities, until they are complete, and any activities that were complete
 30112  	// when you cancelled the journey.
 30113  	//
 30114  	// After you cancel a journey, you can't add, change, or remove any activities
 30115  	// from the journey. In addition, Amazon Pinpoint stops evaluating the journey
 30116  	// and doesn't perform any activities that haven't started.
 30117  	//
 30118  	// When the journey is paused, Amazon Pinpoint continues to perform activities
 30119  	// that are currently in progress, until those activities are complete. Endpoints
 30120  	// will stop entering journeys when the journey is paused and will resume entering
 30121  	// the journey after the journey is resumed. For wait activities, wait time
 30122  	// is paused when the journey is paused. Currently, PAUSED only supports journeys
 30123  	// with a segment refresh interval.
 30124  	State *string `type:"string" enum:"State"`
 30125  }
 30126  
 30127  // String returns the string representation.
 30128  //
 30129  // API parameter values that are decorated as "sensitive" in the API will not
 30130  // be included in the string output. The member name will be present, but the
 30131  // value will be replaced with "sensitive".
 30132  func (s JourneyStateRequest) String() string {
 30133  	return awsutil.Prettify(s)
 30134  }
 30135  
 30136  // GoString returns the string representation.
 30137  //
 30138  // API parameter values that are decorated as "sensitive" in the API will not
 30139  // be included in the string output. The member name will be present, but the
 30140  // value will be replaced with "sensitive".
 30141  func (s JourneyStateRequest) GoString() string {
 30142  	return s.String()
 30143  }
 30144  
 30145  // SetState sets the State field's value.
 30146  func (s *JourneyStateRequest) SetState(v string) *JourneyStateRequest {
 30147  	s.State = &v
 30148  	return s
 30149  }
 30150  
 30151  // Provides information about the status, configuration, and other settings
 30152  // for all the journeys that are associated with an application.
 30153  type JourneysResponse struct {
 30154  	_ struct{} `type:"structure"`
 30155  
 30156  	// An array of responses, one for each journey that's associated with the application.
 30157  	//
 30158  	// Item is a required field
 30159  	Item []*JourneyResponse `type:"list" required:"true"`
 30160  
 30161  	// The string to use in a subsequent request to get the next page of results
 30162  	// in a paginated response. This value is null if there are no additional pages.
 30163  	NextToken *string `type:"string"`
 30164  }
 30165  
 30166  // String returns the string representation.
 30167  //
 30168  // API parameter values that are decorated as "sensitive" in the API will not
 30169  // be included in the string output. The member name will be present, but the
 30170  // value will be replaced with "sensitive".
 30171  func (s JourneysResponse) String() string {
 30172  	return awsutil.Prettify(s)
 30173  }
 30174  
 30175  // GoString returns the string representation.
 30176  //
 30177  // API parameter values that are decorated as "sensitive" in the API will not
 30178  // be included in the string output. The member name will be present, but the
 30179  // value will be replaced with "sensitive".
 30180  func (s JourneysResponse) GoString() string {
 30181  	return s.String()
 30182  }
 30183  
 30184  // SetItem sets the Item field's value.
 30185  func (s *JourneysResponse) SetItem(v []*JourneyResponse) *JourneysResponse {
 30186  	s.Item = v
 30187  	return s
 30188  }
 30189  
 30190  // SetNextToken sets the NextToken field's value.
 30191  func (s *JourneysResponse) SetNextToken(v string) *JourneysResponse {
 30192  	s.NextToken = &v
 30193  	return s
 30194  }
 30195  
 30196  type ListJourneysInput struct {
 30197  	_ struct{} `type:"structure" nopayload:"true"`
 30198  
 30199  	// ApplicationId is a required field
 30200  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 30201  
 30202  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 30203  
 30204  	Token *string `location:"querystring" locationName:"token" type:"string"`
 30205  }
 30206  
 30207  // String returns the string representation.
 30208  //
 30209  // API parameter values that are decorated as "sensitive" in the API will not
 30210  // be included in the string output. The member name will be present, but the
 30211  // value will be replaced with "sensitive".
 30212  func (s ListJourneysInput) String() string {
 30213  	return awsutil.Prettify(s)
 30214  }
 30215  
 30216  // GoString returns the string representation.
 30217  //
 30218  // API parameter values that are decorated as "sensitive" in the API will not
 30219  // be included in the string output. The member name will be present, but the
 30220  // value will be replaced with "sensitive".
 30221  func (s ListJourneysInput) GoString() string {
 30222  	return s.String()
 30223  }
 30224  
 30225  // Validate inspects the fields of the type to determine if they are valid.
 30226  func (s *ListJourneysInput) Validate() error {
 30227  	invalidParams := request.ErrInvalidParams{Context: "ListJourneysInput"}
 30228  	if s.ApplicationId == nil {
 30229  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 30230  	}
 30231  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 30232  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 30233  	}
 30234  
 30235  	if invalidParams.Len() > 0 {
 30236  		return invalidParams
 30237  	}
 30238  	return nil
 30239  }
 30240  
 30241  // SetApplicationId sets the ApplicationId field's value.
 30242  func (s *ListJourneysInput) SetApplicationId(v string) *ListJourneysInput {
 30243  	s.ApplicationId = &v
 30244  	return s
 30245  }
 30246  
 30247  // SetPageSize sets the PageSize field's value.
 30248  func (s *ListJourneysInput) SetPageSize(v string) *ListJourneysInput {
 30249  	s.PageSize = &v
 30250  	return s
 30251  }
 30252  
 30253  // SetToken sets the Token field's value.
 30254  func (s *ListJourneysInput) SetToken(v string) *ListJourneysInput {
 30255  	s.Token = &v
 30256  	return s
 30257  }
 30258  
 30259  type ListJourneysOutput struct {
 30260  	_ struct{} `type:"structure" payload:"JourneysResponse"`
 30261  
 30262  	// Provides information about the status, configuration, and other settings
 30263  	// for all the journeys that are associated with an application.
 30264  	//
 30265  	// JourneysResponse is a required field
 30266  	JourneysResponse *JourneysResponse `type:"structure" required:"true"`
 30267  }
 30268  
 30269  // String returns the string representation.
 30270  //
 30271  // API parameter values that are decorated as "sensitive" in the API will not
 30272  // be included in the string output. The member name will be present, but the
 30273  // value will be replaced with "sensitive".
 30274  func (s ListJourneysOutput) String() string {
 30275  	return awsutil.Prettify(s)
 30276  }
 30277  
 30278  // GoString returns the string representation.
 30279  //
 30280  // API parameter values that are decorated as "sensitive" in the API will not
 30281  // be included in the string output. The member name will be present, but the
 30282  // value will be replaced with "sensitive".
 30283  func (s ListJourneysOutput) GoString() string {
 30284  	return s.String()
 30285  }
 30286  
 30287  // SetJourneysResponse sets the JourneysResponse field's value.
 30288  func (s *ListJourneysOutput) SetJourneysResponse(v *JourneysResponse) *ListJourneysOutput {
 30289  	s.JourneysResponse = v
 30290  	return s
 30291  }
 30292  
 30293  // Provides information about all the recommender model configurations that
 30294  // are associated with your Amazon Pinpoint account.
 30295  type ListRecommenderConfigurationsResponse struct {
 30296  	_ struct{} `type:"structure"`
 30297  
 30298  	// An array of responses, one for each recommender model configuration that's
 30299  	// associated with your Amazon Pinpoint account.
 30300  	//
 30301  	// Item is a required field
 30302  	Item []*RecommenderConfigurationResponse `type:"list" required:"true"`
 30303  
 30304  	// The string to use in a subsequent request to get the next page of results
 30305  	// in a paginated response. This value is null if there are no additional pages.
 30306  	NextToken *string `type:"string"`
 30307  }
 30308  
 30309  // String returns the string representation.
 30310  //
 30311  // API parameter values that are decorated as "sensitive" in the API will not
 30312  // be included in the string output. The member name will be present, but the
 30313  // value will be replaced with "sensitive".
 30314  func (s ListRecommenderConfigurationsResponse) String() string {
 30315  	return awsutil.Prettify(s)
 30316  }
 30317  
 30318  // GoString returns the string representation.
 30319  //
 30320  // API parameter values that are decorated as "sensitive" in the API will not
 30321  // be included in the string output. The member name will be present, but the
 30322  // value will be replaced with "sensitive".
 30323  func (s ListRecommenderConfigurationsResponse) GoString() string {
 30324  	return s.String()
 30325  }
 30326  
 30327  // SetItem sets the Item field's value.
 30328  func (s *ListRecommenderConfigurationsResponse) SetItem(v []*RecommenderConfigurationResponse) *ListRecommenderConfigurationsResponse {
 30329  	s.Item = v
 30330  	return s
 30331  }
 30332  
 30333  // SetNextToken sets the NextToken field's value.
 30334  func (s *ListRecommenderConfigurationsResponse) SetNextToken(v string) *ListRecommenderConfigurationsResponse {
 30335  	s.NextToken = &v
 30336  	return s
 30337  }
 30338  
 30339  type ListTagsForResourceInput struct {
 30340  	_ struct{} `type:"structure" nopayload:"true"`
 30341  
 30342  	// ResourceArn is a required field
 30343  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 30344  }
 30345  
 30346  // String returns the string representation.
 30347  //
 30348  // API parameter values that are decorated as "sensitive" in the API will not
 30349  // be included in the string output. The member name will be present, but the
 30350  // value will be replaced with "sensitive".
 30351  func (s ListTagsForResourceInput) String() string {
 30352  	return awsutil.Prettify(s)
 30353  }
 30354  
 30355  // GoString returns the string representation.
 30356  //
 30357  // API parameter values that are decorated as "sensitive" in the API will not
 30358  // be included in the string output. The member name will be present, but the
 30359  // value will be replaced with "sensitive".
 30360  func (s ListTagsForResourceInput) GoString() string {
 30361  	return s.String()
 30362  }
 30363  
 30364  // Validate inspects the fields of the type to determine if they are valid.
 30365  func (s *ListTagsForResourceInput) Validate() error {
 30366  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 30367  	if s.ResourceArn == nil {
 30368  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 30369  	}
 30370  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 30371  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 30372  	}
 30373  
 30374  	if invalidParams.Len() > 0 {
 30375  		return invalidParams
 30376  	}
 30377  	return nil
 30378  }
 30379  
 30380  // SetResourceArn sets the ResourceArn field's value.
 30381  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 30382  	s.ResourceArn = &v
 30383  	return s
 30384  }
 30385  
 30386  type ListTagsForResourceOutput struct {
 30387  	_ struct{} `type:"structure" payload:"TagsModel"`
 30388  
 30389  	// Specifies the tags (keys and values) for an application, campaign, message
 30390  	// template, or segment.
 30391  	//
 30392  	// TagsModel is a required field
 30393  	TagsModel *TagsModel `type:"structure" required:"true"`
 30394  }
 30395  
 30396  // String returns the string representation.
 30397  //
 30398  // API parameter values that are decorated as "sensitive" in the API will not
 30399  // be included in the string output. The member name will be present, but the
 30400  // value will be replaced with "sensitive".
 30401  func (s ListTagsForResourceOutput) String() string {
 30402  	return awsutil.Prettify(s)
 30403  }
 30404  
 30405  // GoString returns the string representation.
 30406  //
 30407  // API parameter values that are decorated as "sensitive" in the API will not
 30408  // be included in the string output. The member name will be present, but the
 30409  // value will be replaced with "sensitive".
 30410  func (s ListTagsForResourceOutput) GoString() string {
 30411  	return s.String()
 30412  }
 30413  
 30414  // SetTagsModel sets the TagsModel field's value.
 30415  func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
 30416  	s.TagsModel = v
 30417  	return s
 30418  }
 30419  
 30420  type ListTemplateVersionsInput struct {
 30421  	_ struct{} `type:"structure" nopayload:"true"`
 30422  
 30423  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 30424  
 30425  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 30426  
 30427  	// TemplateName is a required field
 30428  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 30429  
 30430  	// TemplateType is a required field
 30431  	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
 30432  }
 30433  
 30434  // String returns the string representation.
 30435  //
 30436  // API parameter values that are decorated as "sensitive" in the API will not
 30437  // be included in the string output. The member name will be present, but the
 30438  // value will be replaced with "sensitive".
 30439  func (s ListTemplateVersionsInput) String() string {
 30440  	return awsutil.Prettify(s)
 30441  }
 30442  
 30443  // GoString returns the string representation.
 30444  //
 30445  // API parameter values that are decorated as "sensitive" in the API will not
 30446  // be included in the string output. The member name will be present, but the
 30447  // value will be replaced with "sensitive".
 30448  func (s ListTemplateVersionsInput) GoString() string {
 30449  	return s.String()
 30450  }
 30451  
 30452  // Validate inspects the fields of the type to determine if they are valid.
 30453  func (s *ListTemplateVersionsInput) Validate() error {
 30454  	invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"}
 30455  	if s.TemplateName == nil {
 30456  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 30457  	}
 30458  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 30459  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 30460  	}
 30461  	if s.TemplateType == nil {
 30462  		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
 30463  	}
 30464  	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
 30465  		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
 30466  	}
 30467  
 30468  	if invalidParams.Len() > 0 {
 30469  		return invalidParams
 30470  	}
 30471  	return nil
 30472  }
 30473  
 30474  // SetNextToken sets the NextToken field's value.
 30475  func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput {
 30476  	s.NextToken = &v
 30477  	return s
 30478  }
 30479  
 30480  // SetPageSize sets the PageSize field's value.
 30481  func (s *ListTemplateVersionsInput) SetPageSize(v string) *ListTemplateVersionsInput {
 30482  	s.PageSize = &v
 30483  	return s
 30484  }
 30485  
 30486  // SetTemplateName sets the TemplateName field's value.
 30487  func (s *ListTemplateVersionsInput) SetTemplateName(v string) *ListTemplateVersionsInput {
 30488  	s.TemplateName = &v
 30489  	return s
 30490  }
 30491  
 30492  // SetTemplateType sets the TemplateType field's value.
 30493  func (s *ListTemplateVersionsInput) SetTemplateType(v string) *ListTemplateVersionsInput {
 30494  	s.TemplateType = &v
 30495  	return s
 30496  }
 30497  
 30498  type ListTemplateVersionsOutput struct {
 30499  	_ struct{} `type:"structure" payload:"TemplateVersionsResponse"`
 30500  
 30501  	// Provides information about all the versions of a specific message template.
 30502  	//
 30503  	// TemplateVersionsResponse is a required field
 30504  	TemplateVersionsResponse *TemplateVersionsResponse `type:"structure" required:"true"`
 30505  }
 30506  
 30507  // String returns the string representation.
 30508  //
 30509  // API parameter values that are decorated as "sensitive" in the API will not
 30510  // be included in the string output. The member name will be present, but the
 30511  // value will be replaced with "sensitive".
 30512  func (s ListTemplateVersionsOutput) String() string {
 30513  	return awsutil.Prettify(s)
 30514  }
 30515  
 30516  // GoString returns the string representation.
 30517  //
 30518  // API parameter values that are decorated as "sensitive" in the API will not
 30519  // be included in the string output. The member name will be present, but the
 30520  // value will be replaced with "sensitive".
 30521  func (s ListTemplateVersionsOutput) GoString() string {
 30522  	return s.String()
 30523  }
 30524  
 30525  // SetTemplateVersionsResponse sets the TemplateVersionsResponse field's value.
 30526  func (s *ListTemplateVersionsOutput) SetTemplateVersionsResponse(v *TemplateVersionsResponse) *ListTemplateVersionsOutput {
 30527  	s.TemplateVersionsResponse = v
 30528  	return s
 30529  }
 30530  
 30531  type ListTemplatesInput struct {
 30532  	_ struct{} `type:"structure" nopayload:"true"`
 30533  
 30534  	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
 30535  
 30536  	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
 30537  
 30538  	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
 30539  
 30540  	TemplateType *string `location:"querystring" locationName:"template-type" type:"string"`
 30541  }
 30542  
 30543  // String returns the string representation.
 30544  //
 30545  // API parameter values that are decorated as "sensitive" in the API will not
 30546  // be included in the string output. The member name will be present, but the
 30547  // value will be replaced with "sensitive".
 30548  func (s ListTemplatesInput) String() string {
 30549  	return awsutil.Prettify(s)
 30550  }
 30551  
 30552  // GoString returns the string representation.
 30553  //
 30554  // API parameter values that are decorated as "sensitive" in the API will not
 30555  // be included in the string output. The member name will be present, but the
 30556  // value will be replaced with "sensitive".
 30557  func (s ListTemplatesInput) GoString() string {
 30558  	return s.String()
 30559  }
 30560  
 30561  // SetNextToken sets the NextToken field's value.
 30562  func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
 30563  	s.NextToken = &v
 30564  	return s
 30565  }
 30566  
 30567  // SetPageSize sets the PageSize field's value.
 30568  func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput {
 30569  	s.PageSize = &v
 30570  	return s
 30571  }
 30572  
 30573  // SetPrefix sets the Prefix field's value.
 30574  func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput {
 30575  	s.Prefix = &v
 30576  	return s
 30577  }
 30578  
 30579  // SetTemplateType sets the TemplateType field's value.
 30580  func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput {
 30581  	s.TemplateType = &v
 30582  	return s
 30583  }
 30584  
 30585  type ListTemplatesOutput struct {
 30586  	_ struct{} `type:"structure" payload:"TemplatesResponse"`
 30587  
 30588  	// Provides information about all the message templates that are associated
 30589  	// with your Amazon Pinpoint account.
 30590  	//
 30591  	// TemplatesResponse is a required field
 30592  	TemplatesResponse *TemplatesResponse `type:"structure" required:"true"`
 30593  }
 30594  
 30595  // String returns the string representation.
 30596  //
 30597  // API parameter values that are decorated as "sensitive" in the API will not
 30598  // be included in the string output. The member name will be present, but the
 30599  // value will be replaced with "sensitive".
 30600  func (s ListTemplatesOutput) String() string {
 30601  	return awsutil.Prettify(s)
 30602  }
 30603  
 30604  // GoString returns the string representation.
 30605  //
 30606  // API parameter values that are decorated as "sensitive" in the API will not
 30607  // be included in the string output. The member name will be present, but the
 30608  // value will be replaced with "sensitive".
 30609  func (s ListTemplatesOutput) GoString() string {
 30610  	return s.String()
 30611  }
 30612  
 30613  // SetTemplatesResponse sets the TemplatesResponse field's value.
 30614  func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput {
 30615  	s.TemplatesResponse = v
 30616  	return s
 30617  }
 30618  
 30619  // Specifies the content and settings for a push notification that's sent to
 30620  // recipients of a campaign.
 30621  type Message struct {
 30622  	_ struct{} `type:"structure"`
 30623  
 30624  	// The action to occur if a recipient taps the push notification. Valid values
 30625  	// are:
 30626  	//
 30627  	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
 30628  	//    sent to the background. This is the default action.
 30629  	//
 30630  	//    * DEEP_LINK - Your app opens and displays a designated user interface
 30631  	//    in the app. This setting uses the deep-linking features of iOS and Android.
 30632  	//
 30633  	//    * URL - The default mobile browser on the recipient's device opens and
 30634  	//    loads the web page at a URL that you specify.
 30635  	Action *string `type:"string" enum:"Action"`
 30636  
 30637  	// The body of the notification message. The maximum number of characters is
 30638  	// 200.
 30639  	Body *string `type:"string"`
 30640  
 30641  	// The URL of the image to display as the push-notification icon, such as the
 30642  	// icon for the app.
 30643  	ImageIconUrl *string `type:"string"`
 30644  
 30645  	// The URL of the image to display as the small, push-notification icon, such
 30646  	// as a small version of the icon for the app.
 30647  	ImageSmallIconUrl *string `type:"string"`
 30648  
 30649  	// The URL of an image to display in the push notification.
 30650  	ImageUrl *string `type:"string"`
 30651  
 30652  	// The JSON payload to use for a silent push notification.
 30653  	JsonBody *string `type:"string"`
 30654  
 30655  	// The URL of the image or video to display in the push notification.
 30656  	MediaUrl *string `type:"string"`
 30657  
 30658  	// The raw, JSON-formatted string to use as the payload for the notification
 30659  	// message. If specified, this value overrides all other content for the message.
 30660  	RawContent *string `type:"string"`
 30661  
 30662  	// Specifies whether the notification is a silent push notification, which is
 30663  	// a push notification that doesn't display on a recipient's device. Silent
 30664  	// push notifications can be used for cases such as updating an app's configuration,
 30665  	// displaying messages in an in-app message center, or supporting phone home
 30666  	// functionality.
 30667  	SilentPush *bool `type:"boolean"`
 30668  
 30669  	// The number of seconds that the push-notification service should keep the
 30670  	// message, if the service is unable to deliver the notification the first time.
 30671  	// This value is converted to an expiration value when it's sent to a push-notification
 30672  	// service. If this value is 0, the service treats the notification as if it
 30673  	// expires immediately and the service doesn't store or try to deliver the notification
 30674  	// again.
 30675  	//
 30676  	// This value doesn't apply to messages that are sent through the Amazon Device
 30677  	// Messaging (ADM) service.
 30678  	TimeToLive *int64 `type:"integer"`
 30679  
 30680  	// The title to display above the notification message on a recipient's device.
 30681  	Title *string `type:"string"`
 30682  
 30683  	// The URL to open in a recipient's default mobile browser, if a recipient taps
 30684  	// the push notification and the value of the Action property is URL.
 30685  	Url *string `type:"string"`
 30686  }
 30687  
 30688  // String returns the string representation.
 30689  //
 30690  // API parameter values that are decorated as "sensitive" in the API will not
 30691  // be included in the string output. The member name will be present, but the
 30692  // value will be replaced with "sensitive".
 30693  func (s Message) String() string {
 30694  	return awsutil.Prettify(s)
 30695  }
 30696  
 30697  // GoString returns the string representation.
 30698  //
 30699  // API parameter values that are decorated as "sensitive" in the API will not
 30700  // be included in the string output. The member name will be present, but the
 30701  // value will be replaced with "sensitive".
 30702  func (s Message) GoString() string {
 30703  	return s.String()
 30704  }
 30705  
 30706  // SetAction sets the Action field's value.
 30707  func (s *Message) SetAction(v string) *Message {
 30708  	s.Action = &v
 30709  	return s
 30710  }
 30711  
 30712  // SetBody sets the Body field's value.
 30713  func (s *Message) SetBody(v string) *Message {
 30714  	s.Body = &v
 30715  	return s
 30716  }
 30717  
 30718  // SetImageIconUrl sets the ImageIconUrl field's value.
 30719  func (s *Message) SetImageIconUrl(v string) *Message {
 30720  	s.ImageIconUrl = &v
 30721  	return s
 30722  }
 30723  
 30724  // SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
 30725  func (s *Message) SetImageSmallIconUrl(v string) *Message {
 30726  	s.ImageSmallIconUrl = &v
 30727  	return s
 30728  }
 30729  
 30730  // SetImageUrl sets the ImageUrl field's value.
 30731  func (s *Message) SetImageUrl(v string) *Message {
 30732  	s.ImageUrl = &v
 30733  	return s
 30734  }
 30735  
 30736  // SetJsonBody sets the JsonBody field's value.
 30737  func (s *Message) SetJsonBody(v string) *Message {
 30738  	s.JsonBody = &v
 30739  	return s
 30740  }
 30741  
 30742  // SetMediaUrl sets the MediaUrl field's value.
 30743  func (s *Message) SetMediaUrl(v string) *Message {
 30744  	s.MediaUrl = &v
 30745  	return s
 30746  }
 30747  
 30748  // SetRawContent sets the RawContent field's value.
 30749  func (s *Message) SetRawContent(v string) *Message {
 30750  	s.RawContent = &v
 30751  	return s
 30752  }
 30753  
 30754  // SetSilentPush sets the SilentPush field's value.
 30755  func (s *Message) SetSilentPush(v bool) *Message {
 30756  	s.SilentPush = &v
 30757  	return s
 30758  }
 30759  
 30760  // SetTimeToLive sets the TimeToLive field's value.
 30761  func (s *Message) SetTimeToLive(v int64) *Message {
 30762  	s.TimeToLive = &v
 30763  	return s
 30764  }
 30765  
 30766  // SetTitle sets the Title field's value.
 30767  func (s *Message) SetTitle(v string) *Message {
 30768  	s.Title = &v
 30769  	return s
 30770  }
 30771  
 30772  // SetUrl sets the Url field's value.
 30773  func (s *Message) SetUrl(v string) *Message {
 30774  	s.Url = &v
 30775  	return s
 30776  }
 30777  
 30778  // Provides information about an API request or response.
 30779  type MessageBody struct {
 30780  	_ struct{} `type:"structure"`
 30781  
 30782  	// The message that's returned from the API.
 30783  	Message *string `type:"string"`
 30784  
 30785  	// The unique identifier for the request or response.
 30786  	RequestID *string `type:"string"`
 30787  }
 30788  
 30789  // String returns the string representation.
 30790  //
 30791  // API parameter values that are decorated as "sensitive" in the API will not
 30792  // be included in the string output. The member name will be present, but the
 30793  // value will be replaced with "sensitive".
 30794  func (s MessageBody) String() string {
 30795  	return awsutil.Prettify(s)
 30796  }
 30797  
 30798  // GoString returns the string representation.
 30799  //
 30800  // API parameter values that are decorated as "sensitive" in the API will not
 30801  // be included in the string output. The member name will be present, but the
 30802  // value will be replaced with "sensitive".
 30803  func (s MessageBody) GoString() string {
 30804  	return s.String()
 30805  }
 30806  
 30807  // SetMessage sets the Message field's value.
 30808  func (s *MessageBody) SetMessage(v string) *MessageBody {
 30809  	s.Message = &v
 30810  	return s
 30811  }
 30812  
 30813  // SetRequestID sets the RequestID field's value.
 30814  func (s *MessageBody) SetRequestID(v string) *MessageBody {
 30815  	s.RequestID = &v
 30816  	return s
 30817  }
 30818  
 30819  // Specifies the message configuration settings for a campaign.
 30820  type MessageConfiguration struct {
 30821  	_ struct{} `type:"structure"`
 30822  
 30823  	// The message that the campaign sends through the ADM (Amazon Device Messaging)
 30824  	// channel. If specified, this message overrides the default message.
 30825  	ADMMessage *Message `type:"structure"`
 30826  
 30827  	// The message that the campaign sends through the APNs (Apple Push Notification
 30828  	// service) channel. If specified, this message overrides the default message.
 30829  	APNSMessage *Message `type:"structure"`
 30830  
 30831  	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
 30832  	// channel. If specified, this message overrides the default message.
 30833  	BaiduMessage *Message `type:"structure"`
 30834  
 30835  	// The message that the campaign sends through a custom channel, as specified
 30836  	// by the delivery configuration (CustomDeliveryConfiguration) settings for
 30837  	// the campaign. If specified, this message overrides the default message.
 30838  	CustomMessage *CampaignCustomMessage `type:"structure"`
 30839  
 30840  	// The default message that the campaign sends through all the channels that
 30841  	// are configured for the campaign.
 30842  	DefaultMessage *Message `type:"structure"`
 30843  
 30844  	// The message that the campaign sends through the email channel. If specified,
 30845  	// this message overrides the default message.
 30846  	EmailMessage *CampaignEmailMessage `type:"structure"`
 30847  
 30848  	// The message that the campaign sends through the GCM channel, which enables
 30849  	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
 30850  	// (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this
 30851  	// message overrides the default message.
 30852  	GCMMessage *Message `type:"structure"`
 30853  
 30854  	// The in-app message configuration.
 30855  	InAppMessage *CampaignInAppMessage `type:"structure"`
 30856  
 30857  	// The message that the campaign sends through the SMS channel. If specified,
 30858  	// this message overrides the default message.
 30859  	SMSMessage *CampaignSmsMessage `type:"structure"`
 30860  }
 30861  
 30862  // String returns the string representation.
 30863  //
 30864  // API parameter values that are decorated as "sensitive" in the API will not
 30865  // be included in the string output. The member name will be present, but the
 30866  // value will be replaced with "sensitive".
 30867  func (s MessageConfiguration) String() string {
 30868  	return awsutil.Prettify(s)
 30869  }
 30870  
 30871  // GoString returns the string representation.
 30872  //
 30873  // API parameter values that are decorated as "sensitive" in the API will not
 30874  // be included in the string output. The member name will be present, but the
 30875  // value will be replaced with "sensitive".
 30876  func (s MessageConfiguration) GoString() string {
 30877  	return s.String()
 30878  }
 30879  
 30880  // Validate inspects the fields of the type to determine if they are valid.
 30881  func (s *MessageConfiguration) Validate() error {
 30882  	invalidParams := request.ErrInvalidParams{Context: "MessageConfiguration"}
 30883  	if s.InAppMessage != nil {
 30884  		if err := s.InAppMessage.Validate(); err != nil {
 30885  			invalidParams.AddNested("InAppMessage", err.(request.ErrInvalidParams))
 30886  		}
 30887  	}
 30888  
 30889  	if invalidParams.Len() > 0 {
 30890  		return invalidParams
 30891  	}
 30892  	return nil
 30893  }
 30894  
 30895  // SetADMMessage sets the ADMMessage field's value.
 30896  func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
 30897  	s.ADMMessage = v
 30898  	return s
 30899  }
 30900  
 30901  // SetAPNSMessage sets the APNSMessage field's value.
 30902  func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
 30903  	s.APNSMessage = v
 30904  	return s
 30905  }
 30906  
 30907  // SetBaiduMessage sets the BaiduMessage field's value.
 30908  func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
 30909  	s.BaiduMessage = v
 30910  	return s
 30911  }
 30912  
 30913  // SetCustomMessage sets the CustomMessage field's value.
 30914  func (s *MessageConfiguration) SetCustomMessage(v *CampaignCustomMessage) *MessageConfiguration {
 30915  	s.CustomMessage = v
 30916  	return s
 30917  }
 30918  
 30919  // SetDefaultMessage sets the DefaultMessage field's value.
 30920  func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
 30921  	s.DefaultMessage = v
 30922  	return s
 30923  }
 30924  
 30925  // SetEmailMessage sets the EmailMessage field's value.
 30926  func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
 30927  	s.EmailMessage = v
 30928  	return s
 30929  }
 30930  
 30931  // SetGCMMessage sets the GCMMessage field's value.
 30932  func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
 30933  	s.GCMMessage = v
 30934  	return s
 30935  }
 30936  
 30937  // SetInAppMessage sets the InAppMessage field's value.
 30938  func (s *MessageConfiguration) SetInAppMessage(v *CampaignInAppMessage) *MessageConfiguration {
 30939  	s.InAppMessage = v
 30940  	return s
 30941  }
 30942  
 30943  // SetSMSMessage sets the SMSMessage field's value.
 30944  func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
 30945  	s.SMSMessage = v
 30946  	return s
 30947  }
 30948  
 30949  // Specifies the configuration and other settings for a message.
 30950  type MessageRequest struct {
 30951  	_ struct{} `type:"structure"`
 30952  
 30953  	// A map of key-value pairs, where each key is an address and each value is
 30954  	// an AddressConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration)
 30955  	// object. An address can be a push notification token, a phone number, or an
 30956  	// email address. You can use an AddressConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration)
 30957  	// object to tailor the message for an address by specifying settings such as
 30958  	// content overrides and message variables.
 30959  	Addresses map[string]*AddressConfiguration `type:"map"`
 30960  
 30961  	// A map of custom attributes to attach to the message. For a push notification,
 30962  	// this payload is added to the data.pinpoint object. For an email or text message,
 30963  	// this payload is added to email/SMS delivery receipt event attributes.
 30964  	Context map[string]*string `type:"map"`
 30965  
 30966  	// A map of key-value pairs, where each key is an endpoint ID and each value
 30967  	// is an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
 30968  	// object. You can use an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
 30969  	// object to tailor the message for an endpoint by specifying settings such
 30970  	// as content overrides and message variables.
 30971  	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
 30972  
 30973  	// The settings and content for the default message and any default messages
 30974  	// that you defined for specific channels.
 30975  	//
 30976  	// MessageConfiguration is a required field
 30977  	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
 30978  
 30979  	// The message template to use for the message.
 30980  	TemplateConfiguration *TemplateConfiguration `type:"structure"`
 30981  
 30982  	// The unique identifier for tracing the message. This identifier is visible
 30983  	// to message recipients.
 30984  	TraceId *string `type:"string"`
 30985  }
 30986  
 30987  // String returns the string representation.
 30988  //
 30989  // API parameter values that are decorated as "sensitive" in the API will not
 30990  // be included in the string output. The member name will be present, but the
 30991  // value will be replaced with "sensitive".
 30992  func (s MessageRequest) String() string {
 30993  	return awsutil.Prettify(s)
 30994  }
 30995  
 30996  // GoString returns the string representation.
 30997  //
 30998  // API parameter values that are decorated as "sensitive" in the API will not
 30999  // be included in the string output. The member name will be present, but the
 31000  // value will be replaced with "sensitive".
 31001  func (s MessageRequest) GoString() string {
 31002  	return s.String()
 31003  }
 31004  
 31005  // Validate inspects the fields of the type to determine if they are valid.
 31006  func (s *MessageRequest) Validate() error {
 31007  	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
 31008  	if s.MessageConfiguration == nil {
 31009  		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
 31010  	}
 31011  
 31012  	if invalidParams.Len() > 0 {
 31013  		return invalidParams
 31014  	}
 31015  	return nil
 31016  }
 31017  
 31018  // SetAddresses sets the Addresses field's value.
 31019  func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
 31020  	s.Addresses = v
 31021  	return s
 31022  }
 31023  
 31024  // SetContext sets the Context field's value.
 31025  func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
 31026  	s.Context = v
 31027  	return s
 31028  }
 31029  
 31030  // SetEndpoints sets the Endpoints field's value.
 31031  func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
 31032  	s.Endpoints = v
 31033  	return s
 31034  }
 31035  
 31036  // SetMessageConfiguration sets the MessageConfiguration field's value.
 31037  func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
 31038  	s.MessageConfiguration = v
 31039  	return s
 31040  }
 31041  
 31042  // SetTemplateConfiguration sets the TemplateConfiguration field's value.
 31043  func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest {
 31044  	s.TemplateConfiguration = v
 31045  	return s
 31046  }
 31047  
 31048  // SetTraceId sets the TraceId field's value.
 31049  func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
 31050  	s.TraceId = &v
 31051  	return s
 31052  }
 31053  
 31054  // Provides information about the results of a request to send a message to
 31055  // an endpoint address.
 31056  type MessageResponse struct {
 31057  	_ struct{} `type:"structure"`
 31058  
 31059  	// The unique identifier for the application that was used to send the message.
 31060  	//
 31061  	// ApplicationId is a required field
 31062  	ApplicationId *string `type:"string" required:"true"`
 31063  
 31064  	// A map that contains a multipart response for each address that the message
 31065  	// was sent to. In the map, the endpoint ID is the key and the result is the
 31066  	// value.
 31067  	EndpointResult map[string]*EndpointMessageResult `type:"map"`
 31068  
 31069  	// The identifier for the original request that the message was delivered for.
 31070  	RequestId *string `type:"string"`
 31071  
 31072  	// A map that contains a multipart response for each address (email address,
 31073  	// phone number, or push notification token) that the message was sent to. In
 31074  	// the map, the address is the key and the result is the value.
 31075  	Result map[string]*MessageResult `type:"map"`
 31076  }
 31077  
 31078  // String returns the string representation.
 31079  //
 31080  // API parameter values that are decorated as "sensitive" in the API will not
 31081  // be included in the string output. The member name will be present, but the
 31082  // value will be replaced with "sensitive".
 31083  func (s MessageResponse) String() string {
 31084  	return awsutil.Prettify(s)
 31085  }
 31086  
 31087  // GoString returns the string representation.
 31088  //
 31089  // API parameter values that are decorated as "sensitive" in the API will not
 31090  // be included in the string output. The member name will be present, but the
 31091  // value will be replaced with "sensitive".
 31092  func (s MessageResponse) GoString() string {
 31093  	return s.String()
 31094  }
 31095  
 31096  // SetApplicationId sets the ApplicationId field's value.
 31097  func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
 31098  	s.ApplicationId = &v
 31099  	return s
 31100  }
 31101  
 31102  // SetEndpointResult sets the EndpointResult field's value.
 31103  func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
 31104  	s.EndpointResult = v
 31105  	return s
 31106  }
 31107  
 31108  // SetRequestId sets the RequestId field's value.
 31109  func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
 31110  	s.RequestId = &v
 31111  	return s
 31112  }
 31113  
 31114  // SetResult sets the Result field's value.
 31115  func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
 31116  	s.Result = v
 31117  	return s
 31118  }
 31119  
 31120  // Provides information about the results of sending a message directly to an
 31121  // endpoint address.
 31122  type MessageResult struct {
 31123  	_ struct{} `type:"structure"`
 31124  
 31125  	// The delivery status of the message. Possible values are:
 31126  	//
 31127  	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
 31128  	//    address. Amazon Pinpoint won't attempt to send the message again.
 31129  	//
 31130  	//    * OPT_OUT - The user who's associated with the endpoint address has opted
 31131  	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
 31132  	//    the message again.
 31133  	//
 31134  	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
 31135  	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
 31136  	//    again.
 31137  	//
 31138  	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
 31139  	//    address.
 31140  	//
 31141  	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
 31142  	//    attempt to send the message again.
 31143  	//
 31144  	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
 31145  	//    to the endpoint address.
 31146  	//
 31147  	//    * TIMEOUT - The message couldn't be sent within the timeout period.
 31148  	//
 31149  	//    * UNKNOWN_FAILURE - An unknown error occurred.
 31150  	//
 31151  	// DeliveryStatus is a required field
 31152  	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
 31153  
 31154  	// The unique identifier for the message that was sent.
 31155  	MessageId *string `type:"string"`
 31156  
 31157  	// The downstream service status code for delivering the message.
 31158  	//
 31159  	// StatusCode is a required field
 31160  	StatusCode *int64 `type:"integer" required:"true"`
 31161  
 31162  	// The status message for delivering the message.
 31163  	StatusMessage *string `type:"string"`
 31164  
 31165  	// For push notifications that are sent through the GCM channel, specifies whether
 31166  	// the endpoint's device registration token was updated as part of delivering
 31167  	// the message.
 31168  	UpdatedToken *string `type:"string"`
 31169  }
 31170  
 31171  // String returns the string representation.
 31172  //
 31173  // API parameter values that are decorated as "sensitive" in the API will not
 31174  // be included in the string output. The member name will be present, but the
 31175  // value will be replaced with "sensitive".
 31176  func (s MessageResult) String() string {
 31177  	return awsutil.Prettify(s)
 31178  }
 31179  
 31180  // GoString returns the string representation.
 31181  //
 31182  // API parameter values that are decorated as "sensitive" in the API will not
 31183  // be included in the string output. The member name will be present, but the
 31184  // value will be replaced with "sensitive".
 31185  func (s MessageResult) GoString() string {
 31186  	return s.String()
 31187  }
 31188  
 31189  // SetDeliveryStatus sets the DeliveryStatus field's value.
 31190  func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
 31191  	s.DeliveryStatus = &v
 31192  	return s
 31193  }
 31194  
 31195  // SetMessageId sets the MessageId field's value.
 31196  func (s *MessageResult) SetMessageId(v string) *MessageResult {
 31197  	s.MessageId = &v
 31198  	return s
 31199  }
 31200  
 31201  // SetStatusCode sets the StatusCode field's value.
 31202  func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
 31203  	s.StatusCode = &v
 31204  	return s
 31205  }
 31206  
 31207  // SetStatusMessage sets the StatusMessage field's value.
 31208  func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
 31209  	s.StatusMessage = &v
 31210  	return s
 31211  }
 31212  
 31213  // SetUpdatedToken sets the UpdatedToken field's value.
 31214  func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
 31215  	s.UpdatedToken = &v
 31216  	return s
 31217  }
 31218  
 31219  // Provides information about an API request or response.
 31220  type MethodNotAllowedException struct {
 31221  	_            struct{}                  `type:"structure"`
 31222  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31223  
 31224  	Message_ *string `locationName:"Message" type:"string"`
 31225  
 31226  	RequestID_ *string `locationName:"RequestID" type:"string"`
 31227  }
 31228  
 31229  // String returns the string representation.
 31230  //
 31231  // API parameter values that are decorated as "sensitive" in the API will not
 31232  // be included in the string output. The member name will be present, but the
 31233  // value will be replaced with "sensitive".
 31234  func (s MethodNotAllowedException) String() string {
 31235  	return awsutil.Prettify(s)
 31236  }
 31237  
 31238  // GoString returns the string representation.
 31239  //
 31240  // API parameter values that are decorated as "sensitive" in the API will not
 31241  // be included in the string output. The member name will be present, but the
 31242  // value will be replaced with "sensitive".
 31243  func (s MethodNotAllowedException) GoString() string {
 31244  	return s.String()
 31245  }
 31246  
 31247  func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error {
 31248  	return &MethodNotAllowedException{
 31249  		RespMetadata: v,
 31250  	}
 31251  }
 31252  
 31253  // Code returns the exception type name.
 31254  func (s *MethodNotAllowedException) Code() string {
 31255  	return "MethodNotAllowedException"
 31256  }
 31257  
 31258  // Message returns the exception's message.
 31259  func (s *MethodNotAllowedException) Message() string {
 31260  	if s.Message_ != nil {
 31261  		return *s.Message_
 31262  	}
 31263  	return ""
 31264  }
 31265  
 31266  // OrigErr always returns nil, satisfies awserr.Error interface.
 31267  func (s *MethodNotAllowedException) OrigErr() error {
 31268  	return nil
 31269  }
 31270  
 31271  func (s *MethodNotAllowedException) Error() string {
 31272  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 31273  }
 31274  
 31275  // Status code returns the HTTP status code for the request's response error.
 31276  func (s *MethodNotAllowedException) StatusCode() int {
 31277  	return s.RespMetadata.StatusCode
 31278  }
 31279  
 31280  // RequestID returns the service's response RequestID for request.
 31281  func (s *MethodNotAllowedException) RequestID() string {
 31282  	return s.RespMetadata.RequestID
 31283  }
 31284  
 31285  // Specifies metric-based criteria for including or excluding endpoints from
 31286  // a segment. These criteria derive from custom metrics that you define for
 31287  // endpoints.
 31288  type MetricDimension struct {
 31289  	_ struct{} `type:"structure"`
 31290  
 31291  	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
 31292  	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
 31293  	//
 31294  	// ComparisonOperator is a required field
 31295  	ComparisonOperator *string `type:"string" required:"true"`
 31296  
 31297  	// The value to compare.
 31298  	//
 31299  	// Value is a required field
 31300  	Value *float64 `type:"double" required:"true"`
 31301  }
 31302  
 31303  // String returns the string representation.
 31304  //
 31305  // API parameter values that are decorated as "sensitive" in the API will not
 31306  // be included in the string output. The member name will be present, but the
 31307  // value will be replaced with "sensitive".
 31308  func (s MetricDimension) String() string {
 31309  	return awsutil.Prettify(s)
 31310  }
 31311  
 31312  // GoString returns the string representation.
 31313  //
 31314  // API parameter values that are decorated as "sensitive" in the API will not
 31315  // be included in the string output. The member name will be present, but the
 31316  // value will be replaced with "sensitive".
 31317  func (s MetricDimension) GoString() string {
 31318  	return s.String()
 31319  }
 31320  
 31321  // Validate inspects the fields of the type to determine if they are valid.
 31322  func (s *MetricDimension) Validate() error {
 31323  	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
 31324  	if s.ComparisonOperator == nil {
 31325  		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
 31326  	}
 31327  	if s.Value == nil {
 31328  		invalidParams.Add(request.NewErrParamRequired("Value"))
 31329  	}
 31330  
 31331  	if invalidParams.Len() > 0 {
 31332  		return invalidParams
 31333  	}
 31334  	return nil
 31335  }
 31336  
 31337  // SetComparisonOperator sets the ComparisonOperator field's value.
 31338  func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
 31339  	s.ComparisonOperator = &v
 31340  	return s
 31341  }
 31342  
 31343  // SetValue sets the Value field's value.
 31344  func (s *MetricDimension) SetValue(v float64) *MetricDimension {
 31345  	s.Value = &v
 31346  	return s
 31347  }
 31348  
 31349  // Specifies a condition to evaluate for an activity path in a journey.
 31350  type MultiConditionalBranch struct {
 31351  	_ struct{} `type:"structure"`
 31352  
 31353  	// The condition to evaluate for the activity path.
 31354  	Condition *SimpleCondition `type:"structure"`
 31355  
 31356  	// The unique identifier for the next activity to perform, after completing
 31357  	// the activity for the path.
 31358  	NextActivity *string `type:"string"`
 31359  }
 31360  
 31361  // String returns the string representation.
 31362  //
 31363  // API parameter values that are decorated as "sensitive" in the API will not
 31364  // be included in the string output. The member name will be present, but the
 31365  // value will be replaced with "sensitive".
 31366  func (s MultiConditionalBranch) String() string {
 31367  	return awsutil.Prettify(s)
 31368  }
 31369  
 31370  // GoString returns the string representation.
 31371  //
 31372  // API parameter values that are decorated as "sensitive" in the API will not
 31373  // be included in the string output. The member name will be present, but the
 31374  // value will be replaced with "sensitive".
 31375  func (s MultiConditionalBranch) GoString() string {
 31376  	return s.String()
 31377  }
 31378  
 31379  // Validate inspects the fields of the type to determine if they are valid.
 31380  func (s *MultiConditionalBranch) Validate() error {
 31381  	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalBranch"}
 31382  	if s.Condition != nil {
 31383  		if err := s.Condition.Validate(); err != nil {
 31384  			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
 31385  		}
 31386  	}
 31387  
 31388  	if invalidParams.Len() > 0 {
 31389  		return invalidParams
 31390  	}
 31391  	return nil
 31392  }
 31393  
 31394  // SetCondition sets the Condition field's value.
 31395  func (s *MultiConditionalBranch) SetCondition(v *SimpleCondition) *MultiConditionalBranch {
 31396  	s.Condition = v
 31397  	return s
 31398  }
 31399  
 31400  // SetNextActivity sets the NextActivity field's value.
 31401  func (s *MultiConditionalBranch) SetNextActivity(v string) *MultiConditionalBranch {
 31402  	s.NextActivity = &v
 31403  	return s
 31404  }
 31405  
 31406  // Specifies the settings for a multivariate split activity in a journey. This
 31407  // type of activity sends participants down one of as many as five paths (including
 31408  // a default Else path) in a journey, based on conditions that you specify.
 31409  //
 31410  // To create multivariate split activities that send participants down different
 31411  // paths based on push notification events (such as Open or Received events),
 31412  // your mobile app has to specify the User ID and Endpoint ID values. For more
 31413  // information, see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
 31414  // in the Amazon Pinpoint Developer Guide.
 31415  type MultiConditionalSplitActivity struct {
 31416  	_ struct{} `type:"structure"`
 31417  
 31418  	// The paths for the activity, including the conditions for entering each path
 31419  	// and the activity to perform for each path.
 31420  	Branches []*MultiConditionalBranch `type:"list"`
 31421  
 31422  	// The unique identifier for the activity to perform for participants who don't
 31423  	// meet any of the conditions specified for other paths in the activity.
 31424  	DefaultActivity *string `type:"string"`
 31425  
 31426  	// The amount of time to wait or the date and time when Amazon Pinpoint determines
 31427  	// whether the conditions are met.
 31428  	EvaluationWaitTime *WaitTime `type:"structure"`
 31429  }
 31430  
 31431  // String returns the string representation.
 31432  //
 31433  // API parameter values that are decorated as "sensitive" in the API will not
 31434  // be included in the string output. The member name will be present, but the
 31435  // value will be replaced with "sensitive".
 31436  func (s MultiConditionalSplitActivity) String() string {
 31437  	return awsutil.Prettify(s)
 31438  }
 31439  
 31440  // GoString returns the string representation.
 31441  //
 31442  // API parameter values that are decorated as "sensitive" in the API will not
 31443  // be included in the string output. The member name will be present, but the
 31444  // value will be replaced with "sensitive".
 31445  func (s MultiConditionalSplitActivity) GoString() string {
 31446  	return s.String()
 31447  }
 31448  
 31449  // Validate inspects the fields of the type to determine if they are valid.
 31450  func (s *MultiConditionalSplitActivity) Validate() error {
 31451  	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalSplitActivity"}
 31452  	if s.Branches != nil {
 31453  		for i, v := range s.Branches {
 31454  			if v == nil {
 31455  				continue
 31456  			}
 31457  			if err := v.Validate(); err != nil {
 31458  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Branches", i), err.(request.ErrInvalidParams))
 31459  			}
 31460  		}
 31461  	}
 31462  
 31463  	if invalidParams.Len() > 0 {
 31464  		return invalidParams
 31465  	}
 31466  	return nil
 31467  }
 31468  
 31469  // SetBranches sets the Branches field's value.
 31470  func (s *MultiConditionalSplitActivity) SetBranches(v []*MultiConditionalBranch) *MultiConditionalSplitActivity {
 31471  	s.Branches = v
 31472  	return s
 31473  }
 31474  
 31475  // SetDefaultActivity sets the DefaultActivity field's value.
 31476  func (s *MultiConditionalSplitActivity) SetDefaultActivity(v string) *MultiConditionalSplitActivity {
 31477  	s.DefaultActivity = &v
 31478  	return s
 31479  }
 31480  
 31481  // SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
 31482  func (s *MultiConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *MultiConditionalSplitActivity {
 31483  	s.EvaluationWaitTime = v
 31484  	return s
 31485  }
 31486  
 31487  // Provides information about an API request or response.
 31488  type NotFoundException struct {
 31489  	_            struct{}                  `type:"structure"`
 31490  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31491  
 31492  	Message_ *string `locationName:"Message" type:"string"`
 31493  
 31494  	RequestID_ *string `locationName:"RequestID" type:"string"`
 31495  }
 31496  
 31497  // String returns the string representation.
 31498  //
 31499  // API parameter values that are decorated as "sensitive" in the API will not
 31500  // be included in the string output. The member name will be present, but the
 31501  // value will be replaced with "sensitive".
 31502  func (s NotFoundException) String() string {
 31503  	return awsutil.Prettify(s)
 31504  }
 31505  
 31506  // GoString returns the string representation.
 31507  //
 31508  // API parameter values that are decorated as "sensitive" in the API will not
 31509  // be included in the string output. The member name will be present, but the
 31510  // value will be replaced with "sensitive".
 31511  func (s NotFoundException) GoString() string {
 31512  	return s.String()
 31513  }
 31514  
 31515  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 31516  	return &NotFoundException{
 31517  		RespMetadata: v,
 31518  	}
 31519  }
 31520  
 31521  // Code returns the exception type name.
 31522  func (s *NotFoundException) Code() string {
 31523  	return "NotFoundException"
 31524  }
 31525  
 31526  // Message returns the exception's message.
 31527  func (s *NotFoundException) Message() string {
 31528  	if s.Message_ != nil {
 31529  		return *s.Message_
 31530  	}
 31531  	return ""
 31532  }
 31533  
 31534  // OrigErr always returns nil, satisfies awserr.Error interface.
 31535  func (s *NotFoundException) OrigErr() error {
 31536  	return nil
 31537  }
 31538  
 31539  func (s *NotFoundException) Error() string {
 31540  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 31541  }
 31542  
 31543  // Status code returns the HTTP status code for the request's response error.
 31544  func (s *NotFoundException) StatusCode() int {
 31545  	return s.RespMetadata.StatusCode
 31546  }
 31547  
 31548  // RequestID returns the service's response RequestID for request.
 31549  func (s *NotFoundException) RequestID() string {
 31550  	return s.RespMetadata.RequestID
 31551  }
 31552  
 31553  // Specifies a phone number to validate and retrieve information about.
 31554  type NumberValidateRequest struct {
 31555  	_ struct{} `type:"structure"`
 31556  
 31557  	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
 31558  	// region where the phone number was originally registered.
 31559  	IsoCountryCode *string `type:"string"`
 31560  
 31561  	// The phone number to retrieve information about. The phone number that you
 31562  	// provide should include a valid numeric country code. Otherwise, the operation
 31563  	// might result in an error.
 31564  	PhoneNumber *string `type:"string"`
 31565  }
 31566  
 31567  // String returns the string representation.
 31568  //
 31569  // API parameter values that are decorated as "sensitive" in the API will not
 31570  // be included in the string output. The member name will be present, but the
 31571  // value will be replaced with "sensitive".
 31572  func (s NumberValidateRequest) String() string {
 31573  	return awsutil.Prettify(s)
 31574  }
 31575  
 31576  // GoString returns the string representation.
 31577  //
 31578  // API parameter values that are decorated as "sensitive" in the API will not
 31579  // be included in the string output. The member name will be present, but the
 31580  // value will be replaced with "sensitive".
 31581  func (s NumberValidateRequest) GoString() string {
 31582  	return s.String()
 31583  }
 31584  
 31585  // SetIsoCountryCode sets the IsoCountryCode field's value.
 31586  func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
 31587  	s.IsoCountryCode = &v
 31588  	return s
 31589  }
 31590  
 31591  // SetPhoneNumber sets the PhoneNumber field's value.
 31592  func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
 31593  	s.PhoneNumber = &v
 31594  	return s
 31595  }
 31596  
 31597  // Provides information about a phone number.
 31598  type NumberValidateResponse struct {
 31599  	_ struct{} `type:"structure"`
 31600  
 31601  	// The carrier or service provider that the phone number is currently registered
 31602  	// with. In some countries and regions, this value may be the carrier or service
 31603  	// provider that the phone number was originally registered with.
 31604  	Carrier *string `type:"string"`
 31605  
 31606  	// The name of the city where the phone number was originally registered.
 31607  	City *string `type:"string"`
 31608  
 31609  	// The cleansed phone number, in E.164 format, for the location where the phone
 31610  	// number was originally registered.
 31611  	CleansedPhoneNumberE164 *string `type:"string"`
 31612  
 31613  	// The cleansed phone number, in the format for the location where the phone
 31614  	// number was originally registered.
 31615  	CleansedPhoneNumberNational *string `type:"string"`
 31616  
 31617  	// The name of the country or region where the phone number was originally registered.
 31618  	Country *string `type:"string"`
 31619  
 31620  	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
 31621  	// region where the phone number was originally registered.
 31622  	CountryCodeIso2 *string `type:"string"`
 31623  
 31624  	// The numeric code for the country or region where the phone number was originally
 31625  	// registered.
 31626  	CountryCodeNumeric *string `type:"string"`
 31627  
 31628  	// The name of the county where the phone number was originally registered.
 31629  	County *string `type:"string"`
 31630  
 31631  	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
 31632  	// request body.
 31633  	OriginalCountryCodeIso2 *string `type:"string"`
 31634  
 31635  	// The phone number that was sent in the request body.
 31636  	OriginalPhoneNumber *string `type:"string"`
 31637  
 31638  	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
 31639  	// INVALID, PREPAID, and OTHER.
 31640  	PhoneType *string `type:"string"`
 31641  
 31642  	// The phone type, represented by an integer. Valid values are: 0 (mobile),
 31643  	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
 31644  	PhoneTypeCode *int64 `type:"integer"`
 31645  
 31646  	// The time zone for the location where the phone number was originally registered.
 31647  	Timezone *string `type:"string"`
 31648  
 31649  	// The postal or ZIP code for the location where the phone number was originally
 31650  	// registered.
 31651  	ZipCode *string `type:"string"`
 31652  }
 31653  
 31654  // String returns the string representation.
 31655  //
 31656  // API parameter values that are decorated as "sensitive" in the API will not
 31657  // be included in the string output. The member name will be present, but the
 31658  // value will be replaced with "sensitive".
 31659  func (s NumberValidateResponse) String() string {
 31660  	return awsutil.Prettify(s)
 31661  }
 31662  
 31663  // GoString returns the string representation.
 31664  //
 31665  // API parameter values that are decorated as "sensitive" in the API will not
 31666  // be included in the string output. The member name will be present, but the
 31667  // value will be replaced with "sensitive".
 31668  func (s NumberValidateResponse) GoString() string {
 31669  	return s.String()
 31670  }
 31671  
 31672  // SetCarrier sets the Carrier field's value.
 31673  func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
 31674  	s.Carrier = &v
 31675  	return s
 31676  }
 31677  
 31678  // SetCity sets the City field's value.
 31679  func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
 31680  	s.City = &v
 31681  	return s
 31682  }
 31683  
 31684  // SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
 31685  func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
 31686  	s.CleansedPhoneNumberE164 = &v
 31687  	return s
 31688  }
 31689  
 31690  // SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
 31691  func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
 31692  	s.CleansedPhoneNumberNational = &v
 31693  	return s
 31694  }
 31695  
 31696  // SetCountry sets the Country field's value.
 31697  func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
 31698  	s.Country = &v
 31699  	return s
 31700  }
 31701  
 31702  // SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
 31703  func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
 31704  	s.CountryCodeIso2 = &v
 31705  	return s
 31706  }
 31707  
 31708  // SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
 31709  func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
 31710  	s.CountryCodeNumeric = &v
 31711  	return s
 31712  }
 31713  
 31714  // SetCounty sets the County field's value.
 31715  func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
 31716  	s.County = &v
 31717  	return s
 31718  }
 31719  
 31720  // SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
 31721  func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
 31722  	s.OriginalCountryCodeIso2 = &v
 31723  	return s
 31724  }
 31725  
 31726  // SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
 31727  func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
 31728  	s.OriginalPhoneNumber = &v
 31729  	return s
 31730  }
 31731  
 31732  // SetPhoneType sets the PhoneType field's value.
 31733  func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
 31734  	s.PhoneType = &v
 31735  	return s
 31736  }
 31737  
 31738  // SetPhoneTypeCode sets the PhoneTypeCode field's value.
 31739  func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
 31740  	s.PhoneTypeCode = &v
 31741  	return s
 31742  }
 31743  
 31744  // SetTimezone sets the Timezone field's value.
 31745  func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
 31746  	s.Timezone = &v
 31747  	return s
 31748  }
 31749  
 31750  // SetZipCode sets the ZipCode field's value.
 31751  func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
 31752  	s.ZipCode = &v
 31753  	return s
 31754  }
 31755  
 31756  // Override button configuration.
 31757  type OverrideButtonConfiguration struct {
 31758  	_ struct{} `type:"structure"`
 31759  
 31760  	// Action triggered by the button.
 31761  	//
 31762  	// ButtonAction is a required field
 31763  	ButtonAction *string `type:"string" required:"true" enum:"ButtonAction"`
 31764  
 31765  	// Button destination.
 31766  	Link *string `type:"string"`
 31767  }
 31768  
 31769  // String returns the string representation.
 31770  //
 31771  // API parameter values that are decorated as "sensitive" in the API will not
 31772  // be included in the string output. The member name will be present, but the
 31773  // value will be replaced with "sensitive".
 31774  func (s OverrideButtonConfiguration) String() string {
 31775  	return awsutil.Prettify(s)
 31776  }
 31777  
 31778  // GoString returns the string representation.
 31779  //
 31780  // API parameter values that are decorated as "sensitive" in the API will not
 31781  // be included in the string output. The member name will be present, but the
 31782  // value will be replaced with "sensitive".
 31783  func (s OverrideButtonConfiguration) GoString() string {
 31784  	return s.String()
 31785  }
 31786  
 31787  // Validate inspects the fields of the type to determine if they are valid.
 31788  func (s *OverrideButtonConfiguration) Validate() error {
 31789  	invalidParams := request.ErrInvalidParams{Context: "OverrideButtonConfiguration"}
 31790  	if s.ButtonAction == nil {
 31791  		invalidParams.Add(request.NewErrParamRequired("ButtonAction"))
 31792  	}
 31793  
 31794  	if invalidParams.Len() > 0 {
 31795  		return invalidParams
 31796  	}
 31797  	return nil
 31798  }
 31799  
 31800  // SetButtonAction sets the ButtonAction field's value.
 31801  func (s *OverrideButtonConfiguration) SetButtonAction(v string) *OverrideButtonConfiguration {
 31802  	s.ButtonAction = &v
 31803  	return s
 31804  }
 31805  
 31806  // SetLink sets the Link field's value.
 31807  func (s *OverrideButtonConfiguration) SetLink(v string) *OverrideButtonConfiguration {
 31808  	s.Link = &v
 31809  	return s
 31810  }
 31811  
 31812  // Provides information about an API request or response.
 31813  type PayloadTooLargeException struct {
 31814  	_            struct{}                  `type:"structure"`
 31815  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31816  
 31817  	Message_ *string `locationName:"Message" type:"string"`
 31818  
 31819  	RequestID_ *string `locationName:"RequestID" type:"string"`
 31820  }
 31821  
 31822  // String returns the string representation.
 31823  //
 31824  // API parameter values that are decorated as "sensitive" in the API will not
 31825  // be included in the string output. The member name will be present, but the
 31826  // value will be replaced with "sensitive".
 31827  func (s PayloadTooLargeException) String() string {
 31828  	return awsutil.Prettify(s)
 31829  }
 31830  
 31831  // GoString returns the string representation.
 31832  //
 31833  // API parameter values that are decorated as "sensitive" in the API will not
 31834  // be included in the string output. The member name will be present, but the
 31835  // value will be replaced with "sensitive".
 31836  func (s PayloadTooLargeException) GoString() string {
 31837  	return s.String()
 31838  }
 31839  
 31840  func newErrorPayloadTooLargeException(v protocol.ResponseMetadata) error {
 31841  	return &PayloadTooLargeException{
 31842  		RespMetadata: v,
 31843  	}
 31844  }
 31845  
 31846  // Code returns the exception type name.
 31847  func (s *PayloadTooLargeException) Code() string {
 31848  	return "PayloadTooLargeException"
 31849  }
 31850  
 31851  // Message returns the exception's message.
 31852  func (s *PayloadTooLargeException) Message() string {
 31853  	if s.Message_ != nil {
 31854  		return *s.Message_
 31855  	}
 31856  	return ""
 31857  }
 31858  
 31859  // OrigErr always returns nil, satisfies awserr.Error interface.
 31860  func (s *PayloadTooLargeException) OrigErr() error {
 31861  	return nil
 31862  }
 31863  
 31864  func (s *PayloadTooLargeException) Error() string {
 31865  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 31866  }
 31867  
 31868  // Status code returns the HTTP status code for the request's response error.
 31869  func (s *PayloadTooLargeException) StatusCode() int {
 31870  	return s.RespMetadata.StatusCode
 31871  }
 31872  
 31873  // RequestID returns the service's response RequestID for request.
 31874  func (s *PayloadTooLargeException) RequestID() string {
 31875  	return s.RespMetadata.RequestID
 31876  }
 31877  
 31878  type PhoneNumberValidateInput struct {
 31879  	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
 31880  
 31881  	// Specifies a phone number to validate and retrieve information about.
 31882  	//
 31883  	// NumberValidateRequest is a required field
 31884  	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
 31885  }
 31886  
 31887  // String returns the string representation.
 31888  //
 31889  // API parameter values that are decorated as "sensitive" in the API will not
 31890  // be included in the string output. The member name will be present, but the
 31891  // value will be replaced with "sensitive".
 31892  func (s PhoneNumberValidateInput) String() string {
 31893  	return awsutil.Prettify(s)
 31894  }
 31895  
 31896  // GoString returns the string representation.
 31897  //
 31898  // API parameter values that are decorated as "sensitive" in the API will not
 31899  // be included in the string output. The member name will be present, but the
 31900  // value will be replaced with "sensitive".
 31901  func (s PhoneNumberValidateInput) GoString() string {
 31902  	return s.String()
 31903  }
 31904  
 31905  // Validate inspects the fields of the type to determine if they are valid.
 31906  func (s *PhoneNumberValidateInput) Validate() error {
 31907  	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
 31908  	if s.NumberValidateRequest == nil {
 31909  		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
 31910  	}
 31911  
 31912  	if invalidParams.Len() > 0 {
 31913  		return invalidParams
 31914  	}
 31915  	return nil
 31916  }
 31917  
 31918  // SetNumberValidateRequest sets the NumberValidateRequest field's value.
 31919  func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
 31920  	s.NumberValidateRequest = v
 31921  	return s
 31922  }
 31923  
 31924  type PhoneNumberValidateOutput struct {
 31925  	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
 31926  
 31927  	// Provides information about a phone number.
 31928  	//
 31929  	// NumberValidateResponse is a required field
 31930  	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
 31931  }
 31932  
 31933  // String returns the string representation.
 31934  //
 31935  // API parameter values that are decorated as "sensitive" in the API will not
 31936  // be included in the string output. The member name will be present, but the
 31937  // value will be replaced with "sensitive".
 31938  func (s PhoneNumberValidateOutput) String() string {
 31939  	return awsutil.Prettify(s)
 31940  }
 31941  
 31942  // GoString returns the string representation.
 31943  //
 31944  // API parameter values that are decorated as "sensitive" in the API will not
 31945  // be included in the string output. The member name will be present, but the
 31946  // value will be replaced with "sensitive".
 31947  func (s PhoneNumberValidateOutput) GoString() string {
 31948  	return s.String()
 31949  }
 31950  
 31951  // SetNumberValidateResponse sets the NumberValidateResponse field's value.
 31952  func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
 31953  	s.NumberValidateResponse = v
 31954  	return s
 31955  }
 31956  
 31957  // Specifies the properties and attributes of an endpoint that's associated
 31958  // with an event.
 31959  type PublicEndpoint struct {
 31960  	_ struct{} `type:"structure"`
 31961  
 31962  	// The unique identifier for the recipient, such as a device token, email address,
 31963  	// or mobile phone number.
 31964  	Address *string `type:"string"`
 31965  
 31966  	// One or more custom attributes that describe the endpoint by associating a
 31967  	// name with an array of values. You can use these attributes as filter criteria
 31968  	// when you create segments.
 31969  	Attributes map[string][]*string `type:"map"`
 31970  
 31971  	// The channel that's used when sending messages or push notifications to the
 31972  	// endpoint.
 31973  	ChannelType *string `type:"string" enum:"ChannelType"`
 31974  
 31975  	// The demographic information for the endpoint, such as the time zone and platform.
 31976  	Demographic *EndpointDemographic `type:"structure"`
 31977  
 31978  	// The date and time, in ISO 8601 format, when the endpoint was last updated.
 31979  	EffectiveDate *string `type:"string"`
 31980  
 31981  	// Specifies whether to send messages or push notifications to the endpoint.
 31982  	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
 31983  	// messages aren’t sent to the endpoint.
 31984  	//
 31985  	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
 31986  	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
 31987  	// this value to INACTIVE if you update another endpoint that has the same address
 31988  	// specified by the Address property.
 31989  	EndpointStatus *string `type:"string"`
 31990  
 31991  	// The geographic information for the endpoint.
 31992  	Location *EndpointLocation `type:"structure"`
 31993  
 31994  	// One or more custom metrics that your app reports to Amazon Pinpoint for the
 31995  	// endpoint.
 31996  	Metrics map[string]*float64 `type:"map"`
 31997  
 31998  	// Specifies whether the user who's associated with the endpoint has opted out
 31999  	// of receiving messages and push notifications from you. Possible values are:
 32000  	// ALL, the user has opted out and doesn't want to receive any messages or push
 32001  	// notifications; and, NONE, the user hasn't opted out and wants to receive
 32002  	// all messages and push notifications.
 32003  	OptOut *string `type:"string"`
 32004  
 32005  	// A unique identifier that's generated each time the endpoint is updated.
 32006  	RequestId *string `type:"string"`
 32007  
 32008  	// One or more custom user attributes that your app reports to Amazon Pinpoint
 32009  	// for the user who's associated with the endpoint.
 32010  	User *EndpointUser `type:"structure"`
 32011  }
 32012  
 32013  // String returns the string representation.
 32014  //
 32015  // API parameter values that are decorated as "sensitive" in the API will not
 32016  // be included in the string output. The member name will be present, but the
 32017  // value will be replaced with "sensitive".
 32018  func (s PublicEndpoint) String() string {
 32019  	return awsutil.Prettify(s)
 32020  }
 32021  
 32022  // GoString returns the string representation.
 32023  //
 32024  // API parameter values that are decorated as "sensitive" in the API will not
 32025  // be included in the string output. The member name will be present, but the
 32026  // value will be replaced with "sensitive".
 32027  func (s PublicEndpoint) GoString() string {
 32028  	return s.String()
 32029  }
 32030  
 32031  // SetAddress sets the Address field's value.
 32032  func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
 32033  	s.Address = &v
 32034  	return s
 32035  }
 32036  
 32037  // SetAttributes sets the Attributes field's value.
 32038  func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
 32039  	s.Attributes = v
 32040  	return s
 32041  }
 32042  
 32043  // SetChannelType sets the ChannelType field's value.
 32044  func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
 32045  	s.ChannelType = &v
 32046  	return s
 32047  }
 32048  
 32049  // SetDemographic sets the Demographic field's value.
 32050  func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
 32051  	s.Demographic = v
 32052  	return s
 32053  }
 32054  
 32055  // SetEffectiveDate sets the EffectiveDate field's value.
 32056  func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
 32057  	s.EffectiveDate = &v
 32058  	return s
 32059  }
 32060  
 32061  // SetEndpointStatus sets the EndpointStatus field's value.
 32062  func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
 32063  	s.EndpointStatus = &v
 32064  	return s
 32065  }
 32066  
 32067  // SetLocation sets the Location field's value.
 32068  func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
 32069  	s.Location = v
 32070  	return s
 32071  }
 32072  
 32073  // SetMetrics sets the Metrics field's value.
 32074  func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
 32075  	s.Metrics = v
 32076  	return s
 32077  }
 32078  
 32079  // SetOptOut sets the OptOut field's value.
 32080  func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
 32081  	s.OptOut = &v
 32082  	return s
 32083  }
 32084  
 32085  // SetRequestId sets the RequestId field's value.
 32086  func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
 32087  	s.RequestId = &v
 32088  	return s
 32089  }
 32090  
 32091  // SetUser sets the User field's value.
 32092  func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
 32093  	s.User = v
 32094  	return s
 32095  }
 32096  
 32097  // Specifies the settings for a push notification activity in a journey. This
 32098  // type of activity sends a push notification to participants.
 32099  type PushMessageActivity struct {
 32100  	_ struct{} `type:"structure"`
 32101  
 32102  	// Specifies the time to live (TTL) value for push notifications that are sent
 32103  	// to participants in a journey.
 32104  	MessageConfig *JourneyPushMessage `type:"structure"`
 32105  
 32106  	// The unique identifier for the next activity to perform, after the message
 32107  	// is sent.
 32108  	NextActivity *string `type:"string"`
 32109  
 32110  	// The name of the push notification template to use for the message. If specified,
 32111  	// this value must match the name of an existing message template.
 32112  	TemplateName *string `type:"string"`
 32113  
 32114  	// The unique identifier for the version of the push notification template to
 32115  	// use for the message. If specified, this value must match the identifier for
 32116  	// an existing template version. To retrieve a list of versions and version
 32117  	// identifiers for a template, use the Template Versions resource.
 32118  	//
 32119  	// If you don't specify a value for this property, Amazon Pinpoint uses the
 32120  	// active version of the template. The active version is typically the version
 32121  	// of a template that's been most recently reviewed and approved for use, depending
 32122  	// on your workflow. It isn't necessarily the latest version of a template.
 32123  	TemplateVersion *string `type:"string"`
 32124  }
 32125  
 32126  // String returns the string representation.
 32127  //
 32128  // API parameter values that are decorated as "sensitive" in the API will not
 32129  // be included in the string output. The member name will be present, but the
 32130  // value will be replaced with "sensitive".
 32131  func (s PushMessageActivity) String() string {
 32132  	return awsutil.Prettify(s)
 32133  }
 32134  
 32135  // GoString returns the string representation.
 32136  //
 32137  // API parameter values that are decorated as "sensitive" in the API will not
 32138  // be included in the string output. The member name will be present, but the
 32139  // value will be replaced with "sensitive".
 32140  func (s PushMessageActivity) GoString() string {
 32141  	return s.String()
 32142  }
 32143  
 32144  // SetMessageConfig sets the MessageConfig field's value.
 32145  func (s *PushMessageActivity) SetMessageConfig(v *JourneyPushMessage) *PushMessageActivity {
 32146  	s.MessageConfig = v
 32147  	return s
 32148  }
 32149  
 32150  // SetNextActivity sets the NextActivity field's value.
 32151  func (s *PushMessageActivity) SetNextActivity(v string) *PushMessageActivity {
 32152  	s.NextActivity = &v
 32153  	return s
 32154  }
 32155  
 32156  // SetTemplateName sets the TemplateName field's value.
 32157  func (s *PushMessageActivity) SetTemplateName(v string) *PushMessageActivity {
 32158  	s.TemplateName = &v
 32159  	return s
 32160  }
 32161  
 32162  // SetTemplateVersion sets the TemplateVersion field's value.
 32163  func (s *PushMessageActivity) SetTemplateVersion(v string) *PushMessageActivity {
 32164  	s.TemplateVersion = &v
 32165  	return s
 32166  }
 32167  
 32168  // Specifies the content and settings for a message template that can be used
 32169  // in messages that are sent through a push notification channel.
 32170  type PushNotificationTemplateRequest struct {
 32171  	_ struct{} `type:"structure"`
 32172  
 32173  	// The message template to use for the ADM (Amazon Device Messaging) channel.
 32174  	// This message template overrides the default template for push notification
 32175  	// channels (DefaultPushNotificationTemplate).
 32176  	ADM *AndroidPushNotificationTemplate `type:"structure"`
 32177  
 32178  	// The message template to use for the APNs (Apple Push Notification service)
 32179  	// channel. This message template overrides the default template for push notification
 32180  	// channels (DefaultPushNotificationTemplate).
 32181  	APNS *APNSPushNotificationTemplate `type:"structure"`
 32182  
 32183  	// The message template to use for the Baidu (Baidu Cloud Push) channel. This
 32184  	// message template overrides the default template for push notification channels
 32185  	// (DefaultPushNotificationTemplate).
 32186  	Baidu *AndroidPushNotificationTemplate `type:"structure"`
 32187  
 32188  	// The default message template to use for push notification channels.
 32189  	Default *DefaultPushNotificationTemplate `type:"structure"`
 32190  
 32191  	// A JSON object that specifies the default values to use for message variables
 32192  	// in the message template. This object is a set of key-value pairs. Each key
 32193  	// defines a message variable in the template. The corresponding value defines
 32194  	// the default value for that variable. When you create a message that's based
 32195  	// on the template, you can override these defaults with message-specific and
 32196  	// address-specific variables and values.
 32197  	DefaultSubstitutions *string `type:"string"`
 32198  
 32199  	// The message template to use for the GCM channel, which is used to send notifications
 32200  	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
 32201  	// (GCM), service. This message template overrides the default template for
 32202  	// push notification channels (DefaultPushNotificationTemplate).
 32203  	GCM *AndroidPushNotificationTemplate `type:"structure"`
 32204  
 32205  	// The unique identifier for the recommender model to use for the message template.
 32206  	// Amazon Pinpoint uses this value to determine how to retrieve and process
 32207  	// data from a recommender model when it sends messages that use the template,
 32208  	// if the template contains message variables for recommendation data.
 32209  	RecommenderId *string `type:"string"`
 32210  
 32211  	// A string-to-string map of key-value pairs that defines the tags to associate
 32212  	// with the message template. Each tag consists of a required tag key and an
 32213  	// associated tag value.
 32214  	Tags map[string]*string `locationName:"tags" type:"map"`
 32215  
 32216  	// A custom description of the message template.
 32217  	TemplateDescription *string `type:"string"`
 32218  }
 32219  
 32220  // String returns the string representation.
 32221  //
 32222  // API parameter values that are decorated as "sensitive" in the API will not
 32223  // be included in the string output. The member name will be present, but the
 32224  // value will be replaced with "sensitive".
 32225  func (s PushNotificationTemplateRequest) String() string {
 32226  	return awsutil.Prettify(s)
 32227  }
 32228  
 32229  // GoString returns the string representation.
 32230  //
 32231  // API parameter values that are decorated as "sensitive" in the API will not
 32232  // be included in the string output. The member name will be present, but the
 32233  // value will be replaced with "sensitive".
 32234  func (s PushNotificationTemplateRequest) GoString() string {
 32235  	return s.String()
 32236  }
 32237  
 32238  // SetADM sets the ADM field's value.
 32239  func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
 32240  	s.ADM = v
 32241  	return s
 32242  }
 32243  
 32244  // SetAPNS sets the APNS field's value.
 32245  func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest {
 32246  	s.APNS = v
 32247  	return s
 32248  }
 32249  
 32250  // SetBaidu sets the Baidu field's value.
 32251  func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
 32252  	s.Baidu = v
 32253  	return s
 32254  }
 32255  
 32256  // SetDefault sets the Default field's value.
 32257  func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest {
 32258  	s.Default = v
 32259  	return s
 32260  }
 32261  
 32262  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 32263  func (s *PushNotificationTemplateRequest) SetDefaultSubstitutions(v string) *PushNotificationTemplateRequest {
 32264  	s.DefaultSubstitutions = &v
 32265  	return s
 32266  }
 32267  
 32268  // SetGCM sets the GCM field's value.
 32269  func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
 32270  	s.GCM = v
 32271  	return s
 32272  }
 32273  
 32274  // SetRecommenderId sets the RecommenderId field's value.
 32275  func (s *PushNotificationTemplateRequest) SetRecommenderId(v string) *PushNotificationTemplateRequest {
 32276  	s.RecommenderId = &v
 32277  	return s
 32278  }
 32279  
 32280  // SetTags sets the Tags field's value.
 32281  func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest {
 32282  	s.Tags = v
 32283  	return s
 32284  }
 32285  
 32286  // SetTemplateDescription sets the TemplateDescription field's value.
 32287  func (s *PushNotificationTemplateRequest) SetTemplateDescription(v string) *PushNotificationTemplateRequest {
 32288  	s.TemplateDescription = &v
 32289  	return s
 32290  }
 32291  
 32292  // Provides information about the content and settings for a message template
 32293  // that can be used in messages that are sent through a push notification channel.
 32294  type PushNotificationTemplateResponse struct {
 32295  	_ struct{} `type:"structure"`
 32296  
 32297  	// The message template that's used for the ADM (Amazon Device Messaging) channel.
 32298  	// This message template overrides the default template for push notification
 32299  	// channels (DefaultPushNotificationTemplate).
 32300  	ADM *AndroidPushNotificationTemplate `type:"structure"`
 32301  
 32302  	// The message template that's used for the APNs (Apple Push Notification service)
 32303  	// channel. This message template overrides the default template for push notification
 32304  	// channels (DefaultPushNotificationTemplate).
 32305  	APNS *APNSPushNotificationTemplate `type:"structure"`
 32306  
 32307  	// The Amazon Resource Name (ARN) of the message template.
 32308  	Arn *string `type:"string"`
 32309  
 32310  	// The message template that's used for the Baidu (Baidu Cloud Push) channel.
 32311  	// This message template overrides the default template for push notification
 32312  	// channels (DefaultPushNotificationTemplate).
 32313  	Baidu *AndroidPushNotificationTemplate `type:"structure"`
 32314  
 32315  	// The date, in ISO 8601 format, when the message template was created.
 32316  	//
 32317  	// CreationDate is a required field
 32318  	CreationDate *string `type:"string" required:"true"`
 32319  
 32320  	// The default message template that's used for push notification channels.
 32321  	Default *DefaultPushNotificationTemplate `type:"structure"`
 32322  
 32323  	// The JSON object that specifies the default values that are used for message
 32324  	// variables in the message template. This object is a set of key-value pairs.
 32325  	// Each key defines a message variable in the template. The corresponding value
 32326  	// defines the default value for that variable.
 32327  	DefaultSubstitutions *string `type:"string"`
 32328  
 32329  	// The message template that's used for the GCM channel, which is used to send
 32330  	// notifications through the Firebase Cloud Messaging (FCM), formerly Google
 32331  	// Cloud Messaging (GCM), service. This message template overrides the default
 32332  	// template for push notification channels (DefaultPushNotificationTemplate).
 32333  	GCM *AndroidPushNotificationTemplate `type:"structure"`
 32334  
 32335  	// The date, in ISO 8601 format, when the message template was last modified.
 32336  	//
 32337  	// LastModifiedDate is a required field
 32338  	LastModifiedDate *string `type:"string" required:"true"`
 32339  
 32340  	// The unique identifier for the recommender model that's used by the message
 32341  	// template.
 32342  	RecommenderId *string `type:"string"`
 32343  
 32344  	// A string-to-string map of key-value pairs that identifies the tags that are
 32345  	// associated with the message template. Each tag consists of a required tag
 32346  	// key and an associated tag value.
 32347  	Tags map[string]*string `locationName:"tags" type:"map"`
 32348  
 32349  	// The custom description of the message template.
 32350  	TemplateDescription *string `type:"string"`
 32351  
 32352  	// The name of the message template.
 32353  	//
 32354  	// TemplateName is a required field
 32355  	TemplateName *string `type:"string" required:"true"`
 32356  
 32357  	// The type of channel that the message template is designed for. For a push
 32358  	// notification template, this value is PUSH.
 32359  	//
 32360  	// TemplateType is a required field
 32361  	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
 32362  
 32363  	// The unique identifier, as an integer, for the active version of the message
 32364  	// template, or the version of the template that you specified by using the
 32365  	// version parameter in your request.
 32366  	Version *string `type:"string"`
 32367  }
 32368  
 32369  // String returns the string representation.
 32370  //
 32371  // API parameter values that are decorated as "sensitive" in the API will not
 32372  // be included in the string output. The member name will be present, but the
 32373  // value will be replaced with "sensitive".
 32374  func (s PushNotificationTemplateResponse) String() string {
 32375  	return awsutil.Prettify(s)
 32376  }
 32377  
 32378  // GoString returns the string representation.
 32379  //
 32380  // API parameter values that are decorated as "sensitive" in the API will not
 32381  // be included in the string output. The member name will be present, but the
 32382  // value will be replaced with "sensitive".
 32383  func (s PushNotificationTemplateResponse) GoString() string {
 32384  	return s.String()
 32385  }
 32386  
 32387  // SetADM sets the ADM field's value.
 32388  func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
 32389  	s.ADM = v
 32390  	return s
 32391  }
 32392  
 32393  // SetAPNS sets the APNS field's value.
 32394  func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse {
 32395  	s.APNS = v
 32396  	return s
 32397  }
 32398  
 32399  // SetArn sets the Arn field's value.
 32400  func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse {
 32401  	s.Arn = &v
 32402  	return s
 32403  }
 32404  
 32405  // SetBaidu sets the Baidu field's value.
 32406  func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
 32407  	s.Baidu = v
 32408  	return s
 32409  }
 32410  
 32411  // SetCreationDate sets the CreationDate field's value.
 32412  func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse {
 32413  	s.CreationDate = &v
 32414  	return s
 32415  }
 32416  
 32417  // SetDefault sets the Default field's value.
 32418  func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse {
 32419  	s.Default = v
 32420  	return s
 32421  }
 32422  
 32423  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 32424  func (s *PushNotificationTemplateResponse) SetDefaultSubstitutions(v string) *PushNotificationTemplateResponse {
 32425  	s.DefaultSubstitutions = &v
 32426  	return s
 32427  }
 32428  
 32429  // SetGCM sets the GCM field's value.
 32430  func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
 32431  	s.GCM = v
 32432  	return s
 32433  }
 32434  
 32435  // SetLastModifiedDate sets the LastModifiedDate field's value.
 32436  func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse {
 32437  	s.LastModifiedDate = &v
 32438  	return s
 32439  }
 32440  
 32441  // SetRecommenderId sets the RecommenderId field's value.
 32442  func (s *PushNotificationTemplateResponse) SetRecommenderId(v string) *PushNotificationTemplateResponse {
 32443  	s.RecommenderId = &v
 32444  	return s
 32445  }
 32446  
 32447  // SetTags sets the Tags field's value.
 32448  func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse {
 32449  	s.Tags = v
 32450  	return s
 32451  }
 32452  
 32453  // SetTemplateDescription sets the TemplateDescription field's value.
 32454  func (s *PushNotificationTemplateResponse) SetTemplateDescription(v string) *PushNotificationTemplateResponse {
 32455  	s.TemplateDescription = &v
 32456  	return s
 32457  }
 32458  
 32459  // SetTemplateName sets the TemplateName field's value.
 32460  func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse {
 32461  	s.TemplateName = &v
 32462  	return s
 32463  }
 32464  
 32465  // SetTemplateType sets the TemplateType field's value.
 32466  func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse {
 32467  	s.TemplateType = &v
 32468  	return s
 32469  }
 32470  
 32471  // SetVersion sets the Version field's value.
 32472  func (s *PushNotificationTemplateResponse) SetVersion(v string) *PushNotificationTemplateResponse {
 32473  	s.Version = &v
 32474  	return s
 32475  }
 32476  
 32477  type PutEventStreamInput struct {
 32478  	_ struct{} `type:"structure" payload:"WriteEventStream"`
 32479  
 32480  	// ApplicationId is a required field
 32481  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 32482  
 32483  	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
 32484  	// to and the AWS Identity and Access Management (IAM) role to use when publishing
 32485  	// those events.
 32486  	//
 32487  	// WriteEventStream is a required field
 32488  	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
 32489  }
 32490  
 32491  // String returns the string representation.
 32492  //
 32493  // API parameter values that are decorated as "sensitive" in the API will not
 32494  // be included in the string output. The member name will be present, but the
 32495  // value will be replaced with "sensitive".
 32496  func (s PutEventStreamInput) String() string {
 32497  	return awsutil.Prettify(s)
 32498  }
 32499  
 32500  // GoString returns the string representation.
 32501  //
 32502  // API parameter values that are decorated as "sensitive" in the API will not
 32503  // be included in the string output. The member name will be present, but the
 32504  // value will be replaced with "sensitive".
 32505  func (s PutEventStreamInput) GoString() string {
 32506  	return s.String()
 32507  }
 32508  
 32509  // Validate inspects the fields of the type to determine if they are valid.
 32510  func (s *PutEventStreamInput) Validate() error {
 32511  	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
 32512  	if s.ApplicationId == nil {
 32513  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 32514  	}
 32515  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 32516  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 32517  	}
 32518  	if s.WriteEventStream == nil {
 32519  		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
 32520  	}
 32521  	if s.WriteEventStream != nil {
 32522  		if err := s.WriteEventStream.Validate(); err != nil {
 32523  			invalidParams.AddNested("WriteEventStream", err.(request.ErrInvalidParams))
 32524  		}
 32525  	}
 32526  
 32527  	if invalidParams.Len() > 0 {
 32528  		return invalidParams
 32529  	}
 32530  	return nil
 32531  }
 32532  
 32533  // SetApplicationId sets the ApplicationId field's value.
 32534  func (s *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
 32535  	s.ApplicationId = &v
 32536  	return s
 32537  }
 32538  
 32539  // SetWriteEventStream sets the WriteEventStream field's value.
 32540  func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
 32541  	s.WriteEventStream = v
 32542  	return s
 32543  }
 32544  
 32545  type PutEventStreamOutput struct {
 32546  	_ struct{} `type:"structure" payload:"EventStream"`
 32547  
 32548  	// Specifies settings for publishing event data to an Amazon Kinesis data stream
 32549  	// or an Amazon Kinesis Data Firehose delivery stream.
 32550  	//
 32551  	// EventStream is a required field
 32552  	EventStream *EventStream `type:"structure" required:"true"`
 32553  }
 32554  
 32555  // String returns the string representation.
 32556  //
 32557  // API parameter values that are decorated as "sensitive" in the API will not
 32558  // be included in the string output. The member name will be present, but the
 32559  // value will be replaced with "sensitive".
 32560  func (s PutEventStreamOutput) String() string {
 32561  	return awsutil.Prettify(s)
 32562  }
 32563  
 32564  // GoString returns the string representation.
 32565  //
 32566  // API parameter values that are decorated as "sensitive" in the API will not
 32567  // be included in the string output. The member name will be present, but the
 32568  // value will be replaced with "sensitive".
 32569  func (s PutEventStreamOutput) GoString() string {
 32570  	return s.String()
 32571  }
 32572  
 32573  // SetEventStream sets the EventStream field's value.
 32574  func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
 32575  	s.EventStream = v
 32576  	return s
 32577  }
 32578  
 32579  type PutEventsInput struct {
 32580  	_ struct{} `type:"structure" payload:"EventsRequest"`
 32581  
 32582  	// ApplicationId is a required field
 32583  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 32584  
 32585  	// Specifies a batch of events to process.
 32586  	//
 32587  	// EventsRequest is a required field
 32588  	EventsRequest *EventsRequest `type:"structure" required:"true"`
 32589  }
 32590  
 32591  // String returns the string representation.
 32592  //
 32593  // API parameter values that are decorated as "sensitive" in the API will not
 32594  // be included in the string output. The member name will be present, but the
 32595  // value will be replaced with "sensitive".
 32596  func (s PutEventsInput) String() string {
 32597  	return awsutil.Prettify(s)
 32598  }
 32599  
 32600  // GoString returns the string representation.
 32601  //
 32602  // API parameter values that are decorated as "sensitive" in the API will not
 32603  // be included in the string output. The member name will be present, but the
 32604  // value will be replaced with "sensitive".
 32605  func (s PutEventsInput) GoString() string {
 32606  	return s.String()
 32607  }
 32608  
 32609  // Validate inspects the fields of the type to determine if they are valid.
 32610  func (s *PutEventsInput) Validate() error {
 32611  	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
 32612  	if s.ApplicationId == nil {
 32613  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 32614  	}
 32615  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 32616  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 32617  	}
 32618  	if s.EventsRequest == nil {
 32619  		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
 32620  	}
 32621  	if s.EventsRequest != nil {
 32622  		if err := s.EventsRequest.Validate(); err != nil {
 32623  			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
 32624  		}
 32625  	}
 32626  
 32627  	if invalidParams.Len() > 0 {
 32628  		return invalidParams
 32629  	}
 32630  	return nil
 32631  }
 32632  
 32633  // SetApplicationId sets the ApplicationId field's value.
 32634  func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
 32635  	s.ApplicationId = &v
 32636  	return s
 32637  }
 32638  
 32639  // SetEventsRequest sets the EventsRequest field's value.
 32640  func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
 32641  	s.EventsRequest = v
 32642  	return s
 32643  }
 32644  
 32645  type PutEventsOutput struct {
 32646  	_ struct{} `type:"structure" payload:"EventsResponse"`
 32647  
 32648  	// Provides information about endpoints and the events that they're associated
 32649  	// with.
 32650  	//
 32651  	// EventsResponse is a required field
 32652  	EventsResponse *EventsResponse `type:"structure" required:"true"`
 32653  }
 32654  
 32655  // String returns the string representation.
 32656  //
 32657  // API parameter values that are decorated as "sensitive" in the API will not
 32658  // be included in the string output. The member name will be present, but the
 32659  // value will be replaced with "sensitive".
 32660  func (s PutEventsOutput) String() string {
 32661  	return awsutil.Prettify(s)
 32662  }
 32663  
 32664  // GoString returns the string representation.
 32665  //
 32666  // API parameter values that are decorated as "sensitive" in the API will not
 32667  // be included in the string output. The member name will be present, but the
 32668  // value will be replaced with "sensitive".
 32669  func (s PutEventsOutput) GoString() string {
 32670  	return s.String()
 32671  }
 32672  
 32673  // SetEventsResponse sets the EventsResponse field's value.
 32674  func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
 32675  	s.EventsResponse = v
 32676  	return s
 32677  }
 32678  
 32679  // Specifies the start and end times that define a time range when messages
 32680  // aren't sent to endpoints.
 32681  type QuietTime struct {
 32682  	_ struct{} `type:"structure"`
 32683  
 32684  	// The specific time when quiet time ends. This value has to use 24-hour notation
 32685  	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
 32686  	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
 32687  	// to represent 2:30 PM.
 32688  	End *string `type:"string"`
 32689  
 32690  	// The specific time when quiet time begins. This value has to use 24-hour notation
 32691  	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
 32692  	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
 32693  	// to represent 2:30 PM.
 32694  	Start *string `type:"string"`
 32695  }
 32696  
 32697  // String returns the string representation.
 32698  //
 32699  // API parameter values that are decorated as "sensitive" in the API will not
 32700  // be included in the string output. The member name will be present, but the
 32701  // value will be replaced with "sensitive".
 32702  func (s QuietTime) String() string {
 32703  	return awsutil.Prettify(s)
 32704  }
 32705  
 32706  // GoString returns the string representation.
 32707  //
 32708  // API parameter values that are decorated as "sensitive" in the API will not
 32709  // be included in the string output. The member name will be present, but the
 32710  // value will be replaced with "sensitive".
 32711  func (s QuietTime) GoString() string {
 32712  	return s.String()
 32713  }
 32714  
 32715  // SetEnd sets the End field's value.
 32716  func (s *QuietTime) SetEnd(v string) *QuietTime {
 32717  	s.End = &v
 32718  	return s
 32719  }
 32720  
 32721  // SetStart sets the Start field's value.
 32722  func (s *QuietTime) SetStart(v string) *QuietTime {
 32723  	s.Start = &v
 32724  	return s
 32725  }
 32726  
 32727  // Specifies the settings for a random split activity in a journey. This type
 32728  // of activity randomly sends specified percentages of participants down one
 32729  // of as many as five paths in a journey, based on conditions that you specify.
 32730  type RandomSplitActivity struct {
 32731  	_ struct{} `type:"structure"`
 32732  
 32733  	// The paths for the activity, including the percentage of participants to enter
 32734  	// each path and the activity to perform for each path.
 32735  	Branches []*RandomSplitEntry `type:"list"`
 32736  }
 32737  
 32738  // String returns the string representation.
 32739  //
 32740  // API parameter values that are decorated as "sensitive" in the API will not
 32741  // be included in the string output. The member name will be present, but the
 32742  // value will be replaced with "sensitive".
 32743  func (s RandomSplitActivity) String() string {
 32744  	return awsutil.Prettify(s)
 32745  }
 32746  
 32747  // GoString returns the string representation.
 32748  //
 32749  // API parameter values that are decorated as "sensitive" in the API will not
 32750  // be included in the string output. The member name will be present, but the
 32751  // value will be replaced with "sensitive".
 32752  func (s RandomSplitActivity) GoString() string {
 32753  	return s.String()
 32754  }
 32755  
 32756  // SetBranches sets the Branches field's value.
 32757  func (s *RandomSplitActivity) SetBranches(v []*RandomSplitEntry) *RandomSplitActivity {
 32758  	s.Branches = v
 32759  	return s
 32760  }
 32761  
 32762  // Specifies the settings for a path in a random split activity in a journey.
 32763  type RandomSplitEntry struct {
 32764  	_ struct{} `type:"structure"`
 32765  
 32766  	// The unique identifier for the next activity to perform, after completing
 32767  	// the activity for the path.
 32768  	NextActivity *string `type:"string"`
 32769  
 32770  	// The percentage of participants to send down the activity path.
 32771  	//
 32772  	// To determine which participants are sent down each path, Amazon Pinpoint
 32773  	// applies a probability-based algorithm to the percentages that you specify
 32774  	// for the paths. Therefore, the actual percentage of participants who are sent
 32775  	// down a path may not be equal to the percentage that you specify.
 32776  	Percentage *int64 `type:"integer"`
 32777  }
 32778  
 32779  // String returns the string representation.
 32780  //
 32781  // API parameter values that are decorated as "sensitive" in the API will not
 32782  // be included in the string output. The member name will be present, but the
 32783  // value will be replaced with "sensitive".
 32784  func (s RandomSplitEntry) String() string {
 32785  	return awsutil.Prettify(s)
 32786  }
 32787  
 32788  // GoString returns the string representation.
 32789  //
 32790  // API parameter values that are decorated as "sensitive" in the API will not
 32791  // be included in the string output. The member name will be present, but the
 32792  // value will be replaced with "sensitive".
 32793  func (s RandomSplitEntry) GoString() string {
 32794  	return s.String()
 32795  }
 32796  
 32797  // SetNextActivity sets the NextActivity field's value.
 32798  func (s *RandomSplitEntry) SetNextActivity(v string) *RandomSplitEntry {
 32799  	s.NextActivity = &v
 32800  	return s
 32801  }
 32802  
 32803  // SetPercentage sets the Percentage field's value.
 32804  func (s *RandomSplitEntry) SetPercentage(v int64) *RandomSplitEntry {
 32805  	s.Percentage = &v
 32806  	return s
 32807  }
 32808  
 32809  // Specifies the contents of an email message, represented as a raw MIME message.
 32810  type RawEmail struct {
 32811  	_ struct{} `type:"structure"`
 32812  
 32813  	// Data is automatically base64 encoded/decoded by the SDK.
 32814  	Data []byte `type:"blob"`
 32815  }
 32816  
 32817  // String returns the string representation.
 32818  //
 32819  // API parameter values that are decorated as "sensitive" in the API will not
 32820  // be included in the string output. The member name will be present, but the
 32821  // value will be replaced with "sensitive".
 32822  func (s RawEmail) String() string {
 32823  	return awsutil.Prettify(s)
 32824  }
 32825  
 32826  // GoString returns the string representation.
 32827  //
 32828  // API parameter values that are decorated as "sensitive" in the API will not
 32829  // be included in the string output. The member name will be present, but the
 32830  // value will be replaced with "sensitive".
 32831  func (s RawEmail) GoString() string {
 32832  	return s.String()
 32833  }
 32834  
 32835  // SetData sets the Data field's value.
 32836  func (s *RawEmail) SetData(v []byte) *RawEmail {
 32837  	s.Data = v
 32838  	return s
 32839  }
 32840  
 32841  // Specifies criteria for including or excluding endpoints from a segment based
 32842  // on how recently an endpoint was active.
 32843  type RecencyDimension struct {
 32844  	_ struct{} `type:"structure"`
 32845  
 32846  	// The duration to use when determining whether an endpoint is active or inactive.
 32847  	//
 32848  	// Duration is a required field
 32849  	Duration *string `type:"string" required:"true" enum:"Duration"`
 32850  
 32851  	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
 32852  	// endpoints that were active within the specified duration are included in
 32853  	// the segment; and, INACTIVE, endpoints that weren't active within the specified
 32854  	// duration are included in the segment.
 32855  	//
 32856  	// RecencyType is a required field
 32857  	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
 32858  }
 32859  
 32860  // String returns the string representation.
 32861  //
 32862  // API parameter values that are decorated as "sensitive" in the API will not
 32863  // be included in the string output. The member name will be present, but the
 32864  // value will be replaced with "sensitive".
 32865  func (s RecencyDimension) String() string {
 32866  	return awsutil.Prettify(s)
 32867  }
 32868  
 32869  // GoString returns the string representation.
 32870  //
 32871  // API parameter values that are decorated as "sensitive" in the API will not
 32872  // be included in the string output. The member name will be present, but the
 32873  // value will be replaced with "sensitive".
 32874  func (s RecencyDimension) GoString() string {
 32875  	return s.String()
 32876  }
 32877  
 32878  // Validate inspects the fields of the type to determine if they are valid.
 32879  func (s *RecencyDimension) Validate() error {
 32880  	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
 32881  	if s.Duration == nil {
 32882  		invalidParams.Add(request.NewErrParamRequired("Duration"))
 32883  	}
 32884  	if s.RecencyType == nil {
 32885  		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
 32886  	}
 32887  
 32888  	if invalidParams.Len() > 0 {
 32889  		return invalidParams
 32890  	}
 32891  	return nil
 32892  }
 32893  
 32894  // SetDuration sets the Duration field's value.
 32895  func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
 32896  	s.Duration = &v
 32897  	return s
 32898  }
 32899  
 32900  // SetRecencyType sets the RecencyType field's value.
 32901  func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
 32902  	s.RecencyType = &v
 32903  	return s
 32904  }
 32905  
 32906  // Provides information about Amazon Pinpoint configuration settings for retrieving
 32907  // and processing data from a recommender model.
 32908  type RecommenderConfigurationResponse struct {
 32909  	_ struct{} `type:"structure"`
 32910  
 32911  	// A map that defines 1-10 custom endpoint or user attributes, depending on
 32912  	// the value for the RecommendationProviderIdType property. Each of these attributes
 32913  	// temporarily stores a recommended item that's retrieved from the recommender
 32914  	// model and sent to an AWS Lambda function for additional processing. Each
 32915  	// attribute can be used as a message variable in a message template.
 32916  	//
 32917  	// This value is null if the configuration doesn't invoke an AWS Lambda function
 32918  	// (RecommendationTransformerUri) to perform additional processing of recommendation
 32919  	// data.
 32920  	Attributes map[string]*string `type:"map"`
 32921  
 32922  	// The date, in extended ISO 8601 format, when the configuration was created
 32923  	// for the recommender model.
 32924  	//
 32925  	// CreationDate is a required field
 32926  	CreationDate *string `type:"string" required:"true"`
 32927  
 32928  	// The custom description of the configuration for the recommender model.
 32929  	Description *string `type:"string"`
 32930  
 32931  	// The unique identifier for the recommender model configuration.
 32932  	//
 32933  	// Id is a required field
 32934  	Id *string `type:"string" required:"true"`
 32935  
 32936  	// The date, in extended ISO 8601 format, when the configuration for the recommender
 32937  	// model was last modified.
 32938  	//
 32939  	// LastModifiedDate is a required field
 32940  	LastModifiedDate *string `type:"string" required:"true"`
 32941  
 32942  	// The custom name of the configuration for the recommender model.
 32943  	Name *string `type:"string"`
 32944  
 32945  	// The type of Amazon Pinpoint ID that's associated with unique user IDs in
 32946  	// the recommender model. This value enables the model to use attribute and
 32947  	// event data that’s specific to a particular endpoint or user in an Amazon
 32948  	// Pinpoint application. Possible values are:
 32949  	//
 32950  	//    * PINPOINT_ENDPOINT_ID - Each user in the model is associated with a particular
 32951  	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
 32952  	//    IDs in Amazon Pinpoint. This is the default value.
 32953  	//
 32954  	//    * PINPOINT_USER_ID - Each user in the model is associated with a particular
 32955  	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
 32956  	//    user IDs in Amazon Pinpoint. If this value is specified, an endpoint definition
 32957  	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
 32958  	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
 32959  	RecommendationProviderIdType *string `type:"string"`
 32960  
 32961  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 32962  	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
 32963  	// from the recommender model.
 32964  	//
 32965  	// RecommendationProviderRoleArn is a required field
 32966  	RecommendationProviderRoleArn *string `type:"string" required:"true"`
 32967  
 32968  	// The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
 32969  	// retrieves the recommendation data from. This value is the ARN of an Amazon
 32970  	// Personalize campaign.
 32971  	//
 32972  	// RecommendationProviderUri is a required field
 32973  	RecommendationProviderUri *string `type:"string" required:"true"`
 32974  
 32975  	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
 32976  	// Pinpoint invokes to perform additional processing of recommendation data
 32977  	// that it retrieves from the recommender model.
 32978  	RecommendationTransformerUri *string `type:"string"`
 32979  
 32980  	// The custom display name for the standard endpoint or user attribute (RecommendationItems)
 32981  	// that temporarily stores recommended items for each endpoint or user, depending
 32982  	// on the value for the RecommendationProviderIdType property. This name appears
 32983  	// in the Attribute finder of the template editor on the Amazon Pinpoint console.
 32984  	//
 32985  	// This value is null if the configuration doesn't invoke an AWS Lambda function
 32986  	// (RecommendationTransformerUri) to perform additional processing of recommendation
 32987  	// data.
 32988  	RecommendationsDisplayName *string `type:"string"`
 32989  
 32990  	// The number of recommended items that are retrieved from the model for each
 32991  	// endpoint or user, depending on the value for the RecommendationProviderIdType
 32992  	// property. This number determines how many recommended items are available
 32993  	// for use in message variables.
 32994  	RecommendationsPerMessage *int64 `type:"integer"`
 32995  }
 32996  
 32997  // String returns the string representation.
 32998  //
 32999  // API parameter values that are decorated as "sensitive" in the API will not
 33000  // be included in the string output. The member name will be present, but the
 33001  // value will be replaced with "sensitive".
 33002  func (s RecommenderConfigurationResponse) String() string {
 33003  	return awsutil.Prettify(s)
 33004  }
 33005  
 33006  // GoString returns the string representation.
 33007  //
 33008  // API parameter values that are decorated as "sensitive" in the API will not
 33009  // be included in the string output. The member name will be present, but the
 33010  // value will be replaced with "sensitive".
 33011  func (s RecommenderConfigurationResponse) GoString() string {
 33012  	return s.String()
 33013  }
 33014  
 33015  // SetAttributes sets the Attributes field's value.
 33016  func (s *RecommenderConfigurationResponse) SetAttributes(v map[string]*string) *RecommenderConfigurationResponse {
 33017  	s.Attributes = v
 33018  	return s
 33019  }
 33020  
 33021  // SetCreationDate sets the CreationDate field's value.
 33022  func (s *RecommenderConfigurationResponse) SetCreationDate(v string) *RecommenderConfigurationResponse {
 33023  	s.CreationDate = &v
 33024  	return s
 33025  }
 33026  
 33027  // SetDescription sets the Description field's value.
 33028  func (s *RecommenderConfigurationResponse) SetDescription(v string) *RecommenderConfigurationResponse {
 33029  	s.Description = &v
 33030  	return s
 33031  }
 33032  
 33033  // SetId sets the Id field's value.
 33034  func (s *RecommenderConfigurationResponse) SetId(v string) *RecommenderConfigurationResponse {
 33035  	s.Id = &v
 33036  	return s
 33037  }
 33038  
 33039  // SetLastModifiedDate sets the LastModifiedDate field's value.
 33040  func (s *RecommenderConfigurationResponse) SetLastModifiedDate(v string) *RecommenderConfigurationResponse {
 33041  	s.LastModifiedDate = &v
 33042  	return s
 33043  }
 33044  
 33045  // SetName sets the Name field's value.
 33046  func (s *RecommenderConfigurationResponse) SetName(v string) *RecommenderConfigurationResponse {
 33047  	s.Name = &v
 33048  	return s
 33049  }
 33050  
 33051  // SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
 33052  func (s *RecommenderConfigurationResponse) SetRecommendationProviderIdType(v string) *RecommenderConfigurationResponse {
 33053  	s.RecommendationProviderIdType = &v
 33054  	return s
 33055  }
 33056  
 33057  // SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
 33058  func (s *RecommenderConfigurationResponse) SetRecommendationProviderRoleArn(v string) *RecommenderConfigurationResponse {
 33059  	s.RecommendationProviderRoleArn = &v
 33060  	return s
 33061  }
 33062  
 33063  // SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
 33064  func (s *RecommenderConfigurationResponse) SetRecommendationProviderUri(v string) *RecommenderConfigurationResponse {
 33065  	s.RecommendationProviderUri = &v
 33066  	return s
 33067  }
 33068  
 33069  // SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
 33070  func (s *RecommenderConfigurationResponse) SetRecommendationTransformerUri(v string) *RecommenderConfigurationResponse {
 33071  	s.RecommendationTransformerUri = &v
 33072  	return s
 33073  }
 33074  
 33075  // SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
 33076  func (s *RecommenderConfigurationResponse) SetRecommendationsDisplayName(v string) *RecommenderConfigurationResponse {
 33077  	s.RecommendationsDisplayName = &v
 33078  	return s
 33079  }
 33080  
 33081  // SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
 33082  func (s *RecommenderConfigurationResponse) SetRecommendationsPerMessage(v int64) *RecommenderConfigurationResponse {
 33083  	s.RecommendationsPerMessage = &v
 33084  	return s
 33085  }
 33086  
 33087  type RemoveAttributesInput struct {
 33088  	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
 33089  
 33090  	// ApplicationId is a required field
 33091  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 33092  
 33093  	// AttributeType is a required field
 33094  	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
 33095  
 33096  	// Specifies one or more attributes to remove from all the endpoints that are
 33097  	// associated with an application.
 33098  	//
 33099  	// UpdateAttributesRequest is a required field
 33100  	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
 33101  }
 33102  
 33103  // String returns the string representation.
 33104  //
 33105  // API parameter values that are decorated as "sensitive" in the API will not
 33106  // be included in the string output. The member name will be present, but the
 33107  // value will be replaced with "sensitive".
 33108  func (s RemoveAttributesInput) String() string {
 33109  	return awsutil.Prettify(s)
 33110  }
 33111  
 33112  // GoString returns the string representation.
 33113  //
 33114  // API parameter values that are decorated as "sensitive" in the API will not
 33115  // be included in the string output. The member name will be present, but the
 33116  // value will be replaced with "sensitive".
 33117  func (s RemoveAttributesInput) GoString() string {
 33118  	return s.String()
 33119  }
 33120  
 33121  // Validate inspects the fields of the type to determine if they are valid.
 33122  func (s *RemoveAttributesInput) Validate() error {
 33123  	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
 33124  	if s.ApplicationId == nil {
 33125  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 33126  	}
 33127  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 33128  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 33129  	}
 33130  	if s.AttributeType == nil {
 33131  		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
 33132  	}
 33133  	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
 33134  		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
 33135  	}
 33136  	if s.UpdateAttributesRequest == nil {
 33137  		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
 33138  	}
 33139  
 33140  	if invalidParams.Len() > 0 {
 33141  		return invalidParams
 33142  	}
 33143  	return nil
 33144  }
 33145  
 33146  // SetApplicationId sets the ApplicationId field's value.
 33147  func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
 33148  	s.ApplicationId = &v
 33149  	return s
 33150  }
 33151  
 33152  // SetAttributeType sets the AttributeType field's value.
 33153  func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
 33154  	s.AttributeType = &v
 33155  	return s
 33156  }
 33157  
 33158  // SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
 33159  func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
 33160  	s.UpdateAttributesRequest = v
 33161  	return s
 33162  }
 33163  
 33164  type RemoveAttributesOutput struct {
 33165  	_ struct{} `type:"structure" payload:"AttributesResource"`
 33166  
 33167  	// Provides information about the type and the names of attributes that were
 33168  	// removed from all the endpoints that are associated with an application.
 33169  	//
 33170  	// AttributesResource is a required field
 33171  	AttributesResource *AttributesResource `type:"structure" required:"true"`
 33172  }
 33173  
 33174  // String returns the string representation.
 33175  //
 33176  // API parameter values that are decorated as "sensitive" in the API will not
 33177  // be included in the string output. The member name will be present, but the
 33178  // value will be replaced with "sensitive".
 33179  func (s RemoveAttributesOutput) String() string {
 33180  	return awsutil.Prettify(s)
 33181  }
 33182  
 33183  // GoString returns the string representation.
 33184  //
 33185  // API parameter values that are decorated as "sensitive" in the API will not
 33186  // be included in the string output. The member name will be present, but the
 33187  // value will be replaced with "sensitive".
 33188  func (s RemoveAttributesOutput) GoString() string {
 33189  	return s.String()
 33190  }
 33191  
 33192  // SetAttributesResource sets the AttributesResource field's value.
 33193  func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
 33194  	s.AttributesResource = v
 33195  	return s
 33196  }
 33197  
 33198  // Provides the results of a query that retrieved the data for a standard metric
 33199  // that applies to an application, campaign, or journey.
 33200  type ResultRow struct {
 33201  	_ struct{} `type:"structure"`
 33202  
 33203  	// An array of objects that defines the field and field values that were used
 33204  	// to group data in a result set that contains multiple results. This value
 33205  	// is null if the data in a result set isn’t grouped.
 33206  	//
 33207  	// GroupedBys is a required field
 33208  	GroupedBys []*ResultRowValue `type:"list" required:"true"`
 33209  
 33210  	// An array of objects that provides pre-aggregated values for a standard metric
 33211  	// that applies to an application, campaign, or journey.
 33212  	//
 33213  	// Values is a required field
 33214  	Values []*ResultRowValue `type:"list" required:"true"`
 33215  }
 33216  
 33217  // String returns the string representation.
 33218  //
 33219  // API parameter values that are decorated as "sensitive" in the API will not
 33220  // be included in the string output. The member name will be present, but the
 33221  // value will be replaced with "sensitive".
 33222  func (s ResultRow) String() string {
 33223  	return awsutil.Prettify(s)
 33224  }
 33225  
 33226  // GoString returns the string representation.
 33227  //
 33228  // API parameter values that are decorated as "sensitive" in the API will not
 33229  // be included in the string output. The member name will be present, but the
 33230  // value will be replaced with "sensitive".
 33231  func (s ResultRow) GoString() string {
 33232  	return s.String()
 33233  }
 33234  
 33235  // SetGroupedBys sets the GroupedBys field's value.
 33236  func (s *ResultRow) SetGroupedBys(v []*ResultRowValue) *ResultRow {
 33237  	s.GroupedBys = v
 33238  	return s
 33239  }
 33240  
 33241  // SetValues sets the Values field's value.
 33242  func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow {
 33243  	s.Values = v
 33244  	return s
 33245  }
 33246  
 33247  // Provides a single value and metadata about that value as part of an array
 33248  // of query results for a standard metric that applies to an application, campaign,
 33249  // or journey.
 33250  type ResultRowValue struct {
 33251  	_ struct{} `type:"structure"`
 33252  
 33253  	// The friendly name of the metric whose value is specified by the Value property.
 33254  	//
 33255  	// Key is a required field
 33256  	Key *string `type:"string" required:"true"`
 33257  
 33258  	// The data type of the value specified by the Value property.
 33259  	//
 33260  	// Type is a required field
 33261  	Type *string `type:"string" required:"true"`
 33262  
 33263  	// In a Values object, the value for the metric that the query retrieved data
 33264  	// for. In a GroupedBys object, the value for the field that was used to group
 33265  	// data in a result set that contains multiple results (Values objects).
 33266  	//
 33267  	// Value is a required field
 33268  	Value *string `type:"string" required:"true"`
 33269  }
 33270  
 33271  // String returns the string representation.
 33272  //
 33273  // API parameter values that are decorated as "sensitive" in the API will not
 33274  // be included in the string output. The member name will be present, but the
 33275  // value will be replaced with "sensitive".
 33276  func (s ResultRowValue) String() string {
 33277  	return awsutil.Prettify(s)
 33278  }
 33279  
 33280  // GoString returns the string representation.
 33281  //
 33282  // API parameter values that are decorated as "sensitive" in the API will not
 33283  // be included in the string output. The member name will be present, but the
 33284  // value will be replaced with "sensitive".
 33285  func (s ResultRowValue) GoString() string {
 33286  	return s.String()
 33287  }
 33288  
 33289  // SetKey sets the Key field's value.
 33290  func (s *ResultRowValue) SetKey(v string) *ResultRowValue {
 33291  	s.Key = &v
 33292  	return s
 33293  }
 33294  
 33295  // SetType sets the Type field's value.
 33296  func (s *ResultRowValue) SetType(v string) *ResultRowValue {
 33297  	s.Type = &v
 33298  	return s
 33299  }
 33300  
 33301  // SetValue sets the Value field's value.
 33302  func (s *ResultRowValue) SetValue(v string) *ResultRowValue {
 33303  	s.Value = &v
 33304  	return s
 33305  }
 33306  
 33307  // Specifies the status and settings of the SMS channel for an application.
 33308  type SMSChannelRequest struct {
 33309  	_ struct{} `type:"structure"`
 33310  
 33311  	// Specifies whether to enable the SMS channel for the application.
 33312  	Enabled *bool `type:"boolean"`
 33313  
 33314  	// The identity that you want to display on recipients' devices when they receive
 33315  	// messages from the SMS channel.
 33316  	SenderId *string `type:"string"`
 33317  
 33318  	// The registered short code that you want to use when you send messages through
 33319  	// the SMS channel.
 33320  	ShortCode *string `type:"string"`
 33321  }
 33322  
 33323  // String returns the string representation.
 33324  //
 33325  // API parameter values that are decorated as "sensitive" in the API will not
 33326  // be included in the string output. The member name will be present, but the
 33327  // value will be replaced with "sensitive".
 33328  func (s SMSChannelRequest) String() string {
 33329  	return awsutil.Prettify(s)
 33330  }
 33331  
 33332  // GoString returns the string representation.
 33333  //
 33334  // API parameter values that are decorated as "sensitive" in the API will not
 33335  // be included in the string output. The member name will be present, but the
 33336  // value will be replaced with "sensitive".
 33337  func (s SMSChannelRequest) GoString() string {
 33338  	return s.String()
 33339  }
 33340  
 33341  // SetEnabled sets the Enabled field's value.
 33342  func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
 33343  	s.Enabled = &v
 33344  	return s
 33345  }
 33346  
 33347  // SetSenderId sets the SenderId field's value.
 33348  func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
 33349  	s.SenderId = &v
 33350  	return s
 33351  }
 33352  
 33353  // SetShortCode sets the ShortCode field's value.
 33354  func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
 33355  	s.ShortCode = &v
 33356  	return s
 33357  }
 33358  
 33359  // Provides information about the status and settings of the SMS channel for
 33360  // an application.
 33361  type SMSChannelResponse struct {
 33362  	_ struct{} `type:"structure"`
 33363  
 33364  	// The unique identifier for the application that the SMS channel applies to.
 33365  	ApplicationId *string `type:"string"`
 33366  
 33367  	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
 33368  	CreationDate *string `type:"string"`
 33369  
 33370  	// Specifies whether the SMS channel is enabled for the application.
 33371  	Enabled *bool `type:"boolean"`
 33372  
 33373  	// (Not used) This property is retained only for backward compatibility.
 33374  	HasCredential *bool `type:"boolean"`
 33375  
 33376  	// (Deprecated) An identifier for the SMS channel. This property is retained
 33377  	// only for backward compatibility.
 33378  	Id *string `type:"string"`
 33379  
 33380  	// Specifies whether the SMS channel is archived.
 33381  	IsArchived *bool `type:"boolean"`
 33382  
 33383  	// The user who last modified the SMS channel.
 33384  	LastModifiedBy *string `type:"string"`
 33385  
 33386  	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
 33387  	LastModifiedDate *string `type:"string"`
 33388  
 33389  	// The type of messaging or notification platform for the channel. For the SMS
 33390  	// channel, this value is SMS.
 33391  	//
 33392  	// Platform is a required field
 33393  	Platform *string `type:"string" required:"true"`
 33394  
 33395  	// The maximum number of promotional messages that you can send through the
 33396  	// SMS channel each second.
 33397  	PromotionalMessagesPerSecond *int64 `type:"integer"`
 33398  
 33399  	// The identity that displays on recipients' devices when they receive messages
 33400  	// from the SMS channel.
 33401  	SenderId *string `type:"string"`
 33402  
 33403  	// The registered short code to use when you send messages through the SMS channel.
 33404  	ShortCode *string `type:"string"`
 33405  
 33406  	// The maximum number of transactional messages that you can send through the
 33407  	// SMS channel each second.
 33408  	TransactionalMessagesPerSecond *int64 `type:"integer"`
 33409  
 33410  	// The current version of the SMS channel.
 33411  	Version *int64 `type:"integer"`
 33412  }
 33413  
 33414  // String returns the string representation.
 33415  //
 33416  // API parameter values that are decorated as "sensitive" in the API will not
 33417  // be included in the string output. The member name will be present, but the
 33418  // value will be replaced with "sensitive".
 33419  func (s SMSChannelResponse) String() string {
 33420  	return awsutil.Prettify(s)
 33421  }
 33422  
 33423  // GoString returns the string representation.
 33424  //
 33425  // API parameter values that are decorated as "sensitive" in the API will not
 33426  // be included in the string output. The member name will be present, but the
 33427  // value will be replaced with "sensitive".
 33428  func (s SMSChannelResponse) GoString() string {
 33429  	return s.String()
 33430  }
 33431  
 33432  // SetApplicationId sets the ApplicationId field's value.
 33433  func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
 33434  	s.ApplicationId = &v
 33435  	return s
 33436  }
 33437  
 33438  // SetCreationDate sets the CreationDate field's value.
 33439  func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
 33440  	s.CreationDate = &v
 33441  	return s
 33442  }
 33443  
 33444  // SetEnabled sets the Enabled field's value.
 33445  func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
 33446  	s.Enabled = &v
 33447  	return s
 33448  }
 33449  
 33450  // SetHasCredential sets the HasCredential field's value.
 33451  func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
 33452  	s.HasCredential = &v
 33453  	return s
 33454  }
 33455  
 33456  // SetId sets the Id field's value.
 33457  func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
 33458  	s.Id = &v
 33459  	return s
 33460  }
 33461  
 33462  // SetIsArchived sets the IsArchived field's value.
 33463  func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
 33464  	s.IsArchived = &v
 33465  	return s
 33466  }
 33467  
 33468  // SetLastModifiedBy sets the LastModifiedBy field's value.
 33469  func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
 33470  	s.LastModifiedBy = &v
 33471  	return s
 33472  }
 33473  
 33474  // SetLastModifiedDate sets the LastModifiedDate field's value.
 33475  func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
 33476  	s.LastModifiedDate = &v
 33477  	return s
 33478  }
 33479  
 33480  // SetPlatform sets the Platform field's value.
 33481  func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
 33482  	s.Platform = &v
 33483  	return s
 33484  }
 33485  
 33486  // SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
 33487  func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
 33488  	s.PromotionalMessagesPerSecond = &v
 33489  	return s
 33490  }
 33491  
 33492  // SetSenderId sets the SenderId field's value.
 33493  func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
 33494  	s.SenderId = &v
 33495  	return s
 33496  }
 33497  
 33498  // SetShortCode sets the ShortCode field's value.
 33499  func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
 33500  	s.ShortCode = &v
 33501  	return s
 33502  }
 33503  
 33504  // SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
 33505  func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
 33506  	s.TransactionalMessagesPerSecond = &v
 33507  	return s
 33508  }
 33509  
 33510  // SetVersion sets the Version field's value.
 33511  func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
 33512  	s.Version = &v
 33513  	return s
 33514  }
 33515  
 33516  // Specifies the default settings for a one-time SMS message that's sent directly
 33517  // to an endpoint.
 33518  type SMSMessage struct {
 33519  	_ struct{} `type:"structure"`
 33520  
 33521  	// The body of the SMS message.
 33522  	Body *string `type:"string"`
 33523  
 33524  	// The entity ID or Principal Entity (PE) id received from the regulatory body
 33525  	// for sending SMS in your country.
 33526  	EntityId *string `type:"string"`
 33527  
 33528  	// The SMS program name that you provided to AWS Support when you requested
 33529  	// your dedicated number.
 33530  	Keyword *string `type:"string"`
 33531  
 33532  	// This field is reserved for future use.
 33533  	MediaUrl *string `type:"string"`
 33534  
 33535  	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
 33536  	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
 33537  	// (for messsages that aren't critical or time-sensitive, such as marketing
 33538  	// messages).
 33539  	MessageType *string `type:"string" enum:"MessageType"`
 33540  
 33541  	// The number to send the SMS message from. This value should be one of the
 33542  	// dedicated long or short codes that's assigned to your AWS account. If you
 33543  	// don't specify a long or short code, Amazon Pinpoint assigns a random long
 33544  	// code to the SMS message and sends the message from that code.
 33545  	OriginationNumber *string `type:"string"`
 33546  
 33547  	// The sender ID to display as the sender of the message on a recipient's device.
 33548  	// Support for sender IDs varies by country or region.
 33549  	SenderId *string `type:"string"`
 33550  
 33551  	// The message variables to use in the SMS message. You can override the default
 33552  	// variables with individual address variables.
 33553  	Substitutions map[string][]*string `type:"map"`
 33554  
 33555  	// The template ID received from the regulatory body for sending SMS in your
 33556  	// country.
 33557  	TemplateId *string `type:"string"`
 33558  }
 33559  
 33560  // String returns the string representation.
 33561  //
 33562  // API parameter values that are decorated as "sensitive" in the API will not
 33563  // be included in the string output. The member name will be present, but the
 33564  // value will be replaced with "sensitive".
 33565  func (s SMSMessage) String() string {
 33566  	return awsutil.Prettify(s)
 33567  }
 33568  
 33569  // GoString returns the string representation.
 33570  //
 33571  // API parameter values that are decorated as "sensitive" in the API will not
 33572  // be included in the string output. The member name will be present, but the
 33573  // value will be replaced with "sensitive".
 33574  func (s SMSMessage) GoString() string {
 33575  	return s.String()
 33576  }
 33577  
 33578  // SetBody sets the Body field's value.
 33579  func (s *SMSMessage) SetBody(v string) *SMSMessage {
 33580  	s.Body = &v
 33581  	return s
 33582  }
 33583  
 33584  // SetEntityId sets the EntityId field's value.
 33585  func (s *SMSMessage) SetEntityId(v string) *SMSMessage {
 33586  	s.EntityId = &v
 33587  	return s
 33588  }
 33589  
 33590  // SetKeyword sets the Keyword field's value.
 33591  func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
 33592  	s.Keyword = &v
 33593  	return s
 33594  }
 33595  
 33596  // SetMediaUrl sets the MediaUrl field's value.
 33597  func (s *SMSMessage) SetMediaUrl(v string) *SMSMessage {
 33598  	s.MediaUrl = &v
 33599  	return s
 33600  }
 33601  
 33602  // SetMessageType sets the MessageType field's value.
 33603  func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
 33604  	s.MessageType = &v
 33605  	return s
 33606  }
 33607  
 33608  // SetOriginationNumber sets the OriginationNumber field's value.
 33609  func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
 33610  	s.OriginationNumber = &v
 33611  	return s
 33612  }
 33613  
 33614  // SetSenderId sets the SenderId field's value.
 33615  func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
 33616  	s.SenderId = &v
 33617  	return s
 33618  }
 33619  
 33620  // SetSubstitutions sets the Substitutions field's value.
 33621  func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
 33622  	s.Substitutions = v
 33623  	return s
 33624  }
 33625  
 33626  // SetTemplateId sets the TemplateId field's value.
 33627  func (s *SMSMessage) SetTemplateId(v string) *SMSMessage {
 33628  	s.TemplateId = &v
 33629  	return s
 33630  }
 33631  
 33632  // Specifies the settings for an SMS activity in a journey. This type of activity
 33633  // sends a text message to participants.
 33634  type SMSMessageActivity struct {
 33635  	_ struct{} `type:"structure"`
 33636  
 33637  	// Specifies the sender ID and message type for an SMS message that's sent to
 33638  	// participants in a journey.
 33639  	MessageConfig *JourneySMSMessage `type:"structure"`
 33640  
 33641  	// The unique identifier for the next activity to perform, after the message
 33642  	// is sent.
 33643  	NextActivity *string `type:"string"`
 33644  
 33645  	// The name of the SMS message template to use for the message. If specified,
 33646  	// this value must match the name of an existing message template.
 33647  	TemplateName *string `type:"string"`
 33648  
 33649  	// The unique identifier for the version of the SMS template to use for the
 33650  	// message. If specified, this value must match the identifier for an existing
 33651  	// template version. To retrieve a list of versions and version identifiers
 33652  	// for a template, use the Template Versions resource.
 33653  	//
 33654  	// If you don't specify a value for this property, Amazon Pinpoint uses the
 33655  	// active version of the template. The active version is typically the version
 33656  	// of a template that's been most recently reviewed and approved for use, depending
 33657  	// on your workflow. It isn't necessarily the latest version of a template.
 33658  	TemplateVersion *string `type:"string"`
 33659  }
 33660  
 33661  // String returns the string representation.
 33662  //
 33663  // API parameter values that are decorated as "sensitive" in the API will not
 33664  // be included in the string output. The member name will be present, but the
 33665  // value will be replaced with "sensitive".
 33666  func (s SMSMessageActivity) String() string {
 33667  	return awsutil.Prettify(s)
 33668  }
 33669  
 33670  // GoString returns the string representation.
 33671  //
 33672  // API parameter values that are decorated as "sensitive" in the API will not
 33673  // be included in the string output. The member name will be present, but the
 33674  // value will be replaced with "sensitive".
 33675  func (s SMSMessageActivity) GoString() string {
 33676  	return s.String()
 33677  }
 33678  
 33679  // SetMessageConfig sets the MessageConfig field's value.
 33680  func (s *SMSMessageActivity) SetMessageConfig(v *JourneySMSMessage) *SMSMessageActivity {
 33681  	s.MessageConfig = v
 33682  	return s
 33683  }
 33684  
 33685  // SetNextActivity sets the NextActivity field's value.
 33686  func (s *SMSMessageActivity) SetNextActivity(v string) *SMSMessageActivity {
 33687  	s.NextActivity = &v
 33688  	return s
 33689  }
 33690  
 33691  // SetTemplateName sets the TemplateName field's value.
 33692  func (s *SMSMessageActivity) SetTemplateName(v string) *SMSMessageActivity {
 33693  	s.TemplateName = &v
 33694  	return s
 33695  }
 33696  
 33697  // SetTemplateVersion sets the TemplateVersion field's value.
 33698  func (s *SMSMessageActivity) SetTemplateVersion(v string) *SMSMessageActivity {
 33699  	s.TemplateVersion = &v
 33700  	return s
 33701  }
 33702  
 33703  // Specifies the content and settings for a message template that can be used
 33704  // in text messages that are sent through the SMS channel.
 33705  type SMSTemplateRequest struct {
 33706  	_ struct{} `type:"structure"`
 33707  
 33708  	// The message body to use in text messages that are based on the message template.
 33709  	Body *string `type:"string"`
 33710  
 33711  	// A JSON object that specifies the default values to use for message variables
 33712  	// in the message template. This object is a set of key-value pairs. Each key
 33713  	// defines a message variable in the template. The corresponding value defines
 33714  	// the default value for that variable. When you create a message that's based
 33715  	// on the template, you can override these defaults with message-specific and
 33716  	// address-specific variables and values.
 33717  	DefaultSubstitutions *string `type:"string"`
 33718  
 33719  	// The unique identifier for the recommender model to use for the message template.
 33720  	// Amazon Pinpoint uses this value to determine how to retrieve and process
 33721  	// data from a recommender model when it sends messages that use the template,
 33722  	// if the template contains message variables for recommendation data.
 33723  	RecommenderId *string `type:"string"`
 33724  
 33725  	// A string-to-string map of key-value pairs that defines the tags to associate
 33726  	// with the message template. Each tag consists of a required tag key and an
 33727  	// associated tag value.
 33728  	Tags map[string]*string `locationName:"tags" type:"map"`
 33729  
 33730  	// A custom description of the message template.
 33731  	TemplateDescription *string `type:"string"`
 33732  }
 33733  
 33734  // String returns the string representation.
 33735  //
 33736  // API parameter values that are decorated as "sensitive" in the API will not
 33737  // be included in the string output. The member name will be present, but the
 33738  // value will be replaced with "sensitive".
 33739  func (s SMSTemplateRequest) String() string {
 33740  	return awsutil.Prettify(s)
 33741  }
 33742  
 33743  // GoString returns the string representation.
 33744  //
 33745  // API parameter values that are decorated as "sensitive" in the API will not
 33746  // be included in the string output. The member name will be present, but the
 33747  // value will be replaced with "sensitive".
 33748  func (s SMSTemplateRequest) GoString() string {
 33749  	return s.String()
 33750  }
 33751  
 33752  // SetBody sets the Body field's value.
 33753  func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest {
 33754  	s.Body = &v
 33755  	return s
 33756  }
 33757  
 33758  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 33759  func (s *SMSTemplateRequest) SetDefaultSubstitutions(v string) *SMSTemplateRequest {
 33760  	s.DefaultSubstitutions = &v
 33761  	return s
 33762  }
 33763  
 33764  // SetRecommenderId sets the RecommenderId field's value.
 33765  func (s *SMSTemplateRequest) SetRecommenderId(v string) *SMSTemplateRequest {
 33766  	s.RecommenderId = &v
 33767  	return s
 33768  }
 33769  
 33770  // SetTags sets the Tags field's value.
 33771  func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest {
 33772  	s.Tags = v
 33773  	return s
 33774  }
 33775  
 33776  // SetTemplateDescription sets the TemplateDescription field's value.
 33777  func (s *SMSTemplateRequest) SetTemplateDescription(v string) *SMSTemplateRequest {
 33778  	s.TemplateDescription = &v
 33779  	return s
 33780  }
 33781  
 33782  // Provides information about the content and settings for a message template
 33783  // that can be used in text messages that are sent through the SMS channel.
 33784  type SMSTemplateResponse struct {
 33785  	_ struct{} `type:"structure"`
 33786  
 33787  	// The Amazon Resource Name (ARN) of the message template.
 33788  	Arn *string `type:"string"`
 33789  
 33790  	// The message body that's used in text messages that are based on the message
 33791  	// template.
 33792  	Body *string `type:"string"`
 33793  
 33794  	// The date, in ISO 8601 format, when the message template was created.
 33795  	//
 33796  	// CreationDate is a required field
 33797  	CreationDate *string `type:"string" required:"true"`
 33798  
 33799  	// The JSON object that specifies the default values that are used for message
 33800  	// variables in the message template. This object is a set of key-value pairs.
 33801  	// Each key defines a message variable in the template. The corresponding value
 33802  	// defines the default value for that variable.
 33803  	DefaultSubstitutions *string `type:"string"`
 33804  
 33805  	// The date, in ISO 8601 format, when the message template was last modified.
 33806  	//
 33807  	// LastModifiedDate is a required field
 33808  	LastModifiedDate *string `type:"string" required:"true"`
 33809  
 33810  	// The unique identifier for the recommender model that's used by the message
 33811  	// template.
 33812  	RecommenderId *string `type:"string"`
 33813  
 33814  	// A string-to-string map of key-value pairs that identifies the tags that are
 33815  	// associated with the message template. Each tag consists of a required tag
 33816  	// key and an associated tag value.
 33817  	Tags map[string]*string `locationName:"tags" type:"map"`
 33818  
 33819  	// The custom description of the message template.
 33820  	TemplateDescription *string `type:"string"`
 33821  
 33822  	// The name of the message template.
 33823  	//
 33824  	// TemplateName is a required field
 33825  	TemplateName *string `type:"string" required:"true"`
 33826  
 33827  	// The type of channel that the message template is designed for. For an SMS
 33828  	// template, this value is SMS.
 33829  	//
 33830  	// TemplateType is a required field
 33831  	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
 33832  
 33833  	// The unique identifier, as an integer, for the active version of the message
 33834  	// template, or the version of the template that you specified by using the
 33835  	// version parameter in your request.
 33836  	Version *string `type:"string"`
 33837  }
 33838  
 33839  // String returns the string representation.
 33840  //
 33841  // API parameter values that are decorated as "sensitive" in the API will not
 33842  // be included in the string output. The member name will be present, but the
 33843  // value will be replaced with "sensitive".
 33844  func (s SMSTemplateResponse) String() string {
 33845  	return awsutil.Prettify(s)
 33846  }
 33847  
 33848  // GoString returns the string representation.
 33849  //
 33850  // API parameter values that are decorated as "sensitive" in the API will not
 33851  // be included in the string output. The member name will be present, but the
 33852  // value will be replaced with "sensitive".
 33853  func (s SMSTemplateResponse) GoString() string {
 33854  	return s.String()
 33855  }
 33856  
 33857  // SetArn sets the Arn field's value.
 33858  func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse {
 33859  	s.Arn = &v
 33860  	return s
 33861  }
 33862  
 33863  // SetBody sets the Body field's value.
 33864  func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse {
 33865  	s.Body = &v
 33866  	return s
 33867  }
 33868  
 33869  // SetCreationDate sets the CreationDate field's value.
 33870  func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse {
 33871  	s.CreationDate = &v
 33872  	return s
 33873  }
 33874  
 33875  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 33876  func (s *SMSTemplateResponse) SetDefaultSubstitutions(v string) *SMSTemplateResponse {
 33877  	s.DefaultSubstitutions = &v
 33878  	return s
 33879  }
 33880  
 33881  // SetLastModifiedDate sets the LastModifiedDate field's value.
 33882  func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse {
 33883  	s.LastModifiedDate = &v
 33884  	return s
 33885  }
 33886  
 33887  // SetRecommenderId sets the RecommenderId field's value.
 33888  func (s *SMSTemplateResponse) SetRecommenderId(v string) *SMSTemplateResponse {
 33889  	s.RecommenderId = &v
 33890  	return s
 33891  }
 33892  
 33893  // SetTags sets the Tags field's value.
 33894  func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse {
 33895  	s.Tags = v
 33896  	return s
 33897  }
 33898  
 33899  // SetTemplateDescription sets the TemplateDescription field's value.
 33900  func (s *SMSTemplateResponse) SetTemplateDescription(v string) *SMSTemplateResponse {
 33901  	s.TemplateDescription = &v
 33902  	return s
 33903  }
 33904  
 33905  // SetTemplateName sets the TemplateName field's value.
 33906  func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse {
 33907  	s.TemplateName = &v
 33908  	return s
 33909  }
 33910  
 33911  // SetTemplateType sets the TemplateType field's value.
 33912  func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse {
 33913  	s.TemplateType = &v
 33914  	return s
 33915  }
 33916  
 33917  // SetVersion sets the Version field's value.
 33918  func (s *SMSTemplateResponse) SetVersion(v string) *SMSTemplateResponse {
 33919  	s.Version = &v
 33920  	return s
 33921  }
 33922  
 33923  // Specifies the schedule settings for a campaign.
 33924  type Schedule struct {
 33925  	_ struct{} `type:"structure"`
 33926  
 33927  	// The scheduled time, in ISO 8601 format, when the campaign ended or will end.
 33928  	EndTime *string `type:"string"`
 33929  
 33930  	// The type of event that causes the campaign to be sent, if the value of the
 33931  	// Frequency property is EVENT.
 33932  	EventFilter *CampaignEventFilter `type:"structure"`
 33933  
 33934  	// Specifies how often the campaign is sent or whether the campaign is sent
 33935  	// in response to a specific event.
 33936  	Frequency *string `type:"string" enum:"Frequency"`
 33937  
 33938  	// Specifies whether the start and end times for the campaign schedule use each
 33939  	// recipient's local time. To base the schedule on each recipient's local time,
 33940  	// set this value to true.
 33941  	IsLocalTime *bool `type:"boolean"`
 33942  
 33943  	// The default quiet time for the campaign. Quiet time is a specific time range
 33944  	// when a campaign doesn't send messages to endpoints, if all the following
 33945  	// conditions are met:
 33946  	//
 33947  	//    * The EndpointDemographic.Timezone property of the endpoint is set to
 33948  	//    a valid value.
 33949  	//
 33950  	//    * The current time in the endpoint's time zone is later than or equal
 33951  	//    to the time specified by the QuietTime.Start property for the campaign.
 33952  	//
 33953  	//    * The current time in the endpoint's time zone is earlier than or equal
 33954  	//    to the time specified by the QuietTime.End property for the campaign.
 33955  	//
 33956  	// If any of the preceding conditions isn't met, the endpoint will receive messages
 33957  	// from the campaign, even if quiet time is enabled.
 33958  	QuietTime *QuietTime `type:"structure"`
 33959  
 33960  	// The scheduled time when the campaign began or will begin. Valid values are:
 33961  	// IMMEDIATE, to start the campaign immediately; or, a specific time in ISO
 33962  	// 8601 format.
 33963  	//
 33964  	// StartTime is a required field
 33965  	StartTime *string `type:"string" required:"true"`
 33966  
 33967  	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
 33968  	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
 33969  	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
 33970  	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
 33971  	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
 33972  	Timezone *string `type:"string"`
 33973  }
 33974  
 33975  // String returns the string representation.
 33976  //
 33977  // API parameter values that are decorated as "sensitive" in the API will not
 33978  // be included in the string output. The member name will be present, but the
 33979  // value will be replaced with "sensitive".
 33980  func (s Schedule) String() string {
 33981  	return awsutil.Prettify(s)
 33982  }
 33983  
 33984  // GoString returns the string representation.
 33985  //
 33986  // API parameter values that are decorated as "sensitive" in the API will not
 33987  // be included in the string output. The member name will be present, but the
 33988  // value will be replaced with "sensitive".
 33989  func (s Schedule) GoString() string {
 33990  	return s.String()
 33991  }
 33992  
 33993  // Validate inspects the fields of the type to determine if they are valid.
 33994  func (s *Schedule) Validate() error {
 33995  	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
 33996  	if s.StartTime == nil {
 33997  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 33998  	}
 33999  	if s.EventFilter != nil {
 34000  		if err := s.EventFilter.Validate(); err != nil {
 34001  			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
 34002  		}
 34003  	}
 34004  
 34005  	if invalidParams.Len() > 0 {
 34006  		return invalidParams
 34007  	}
 34008  	return nil
 34009  }
 34010  
 34011  // SetEndTime sets the EndTime field's value.
 34012  func (s *Schedule) SetEndTime(v string) *Schedule {
 34013  	s.EndTime = &v
 34014  	return s
 34015  }
 34016  
 34017  // SetEventFilter sets the EventFilter field's value.
 34018  func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
 34019  	s.EventFilter = v
 34020  	return s
 34021  }
 34022  
 34023  // SetFrequency sets the Frequency field's value.
 34024  func (s *Schedule) SetFrequency(v string) *Schedule {
 34025  	s.Frequency = &v
 34026  	return s
 34027  }
 34028  
 34029  // SetIsLocalTime sets the IsLocalTime field's value.
 34030  func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
 34031  	s.IsLocalTime = &v
 34032  	return s
 34033  }
 34034  
 34035  // SetQuietTime sets the QuietTime field's value.
 34036  func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
 34037  	s.QuietTime = v
 34038  	return s
 34039  }
 34040  
 34041  // SetStartTime sets the StartTime field's value.
 34042  func (s *Schedule) SetStartTime(v string) *Schedule {
 34043  	s.StartTime = &v
 34044  	return s
 34045  }
 34046  
 34047  // SetTimezone sets the Timezone field's value.
 34048  func (s *Schedule) SetTimezone(v string) *Schedule {
 34049  	s.Timezone = &v
 34050  	return s
 34051  }
 34052  
 34053  // Specifies dimension settings for including or excluding endpoints from a
 34054  // segment based on how recently an endpoint was active.
 34055  type SegmentBehaviors struct {
 34056  	_ struct{} `type:"structure"`
 34057  
 34058  	// The dimension settings that are based on how recently an endpoint was active.
 34059  	Recency *RecencyDimension `type:"structure"`
 34060  }
 34061  
 34062  // String returns the string representation.
 34063  //
 34064  // API parameter values that are decorated as "sensitive" in the API will not
 34065  // be included in the string output. The member name will be present, but the
 34066  // value will be replaced with "sensitive".
 34067  func (s SegmentBehaviors) String() string {
 34068  	return awsutil.Prettify(s)
 34069  }
 34070  
 34071  // GoString returns the string representation.
 34072  //
 34073  // API parameter values that are decorated as "sensitive" in the API will not
 34074  // be included in the string output. The member name will be present, but the
 34075  // value will be replaced with "sensitive".
 34076  func (s SegmentBehaviors) GoString() string {
 34077  	return s.String()
 34078  }
 34079  
 34080  // Validate inspects the fields of the type to determine if they are valid.
 34081  func (s *SegmentBehaviors) Validate() error {
 34082  	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
 34083  	if s.Recency != nil {
 34084  		if err := s.Recency.Validate(); err != nil {
 34085  			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
 34086  		}
 34087  	}
 34088  
 34089  	if invalidParams.Len() > 0 {
 34090  		return invalidParams
 34091  	}
 34092  	return nil
 34093  }
 34094  
 34095  // SetRecency sets the Recency field's value.
 34096  func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
 34097  	s.Recency = v
 34098  	return s
 34099  }
 34100  
 34101  // Specifies a segment to associate with an activity in a journey.
 34102  type SegmentCondition struct {
 34103  	_ struct{} `type:"structure"`
 34104  
 34105  	// The unique identifier for the segment to associate with the activity.
 34106  	//
 34107  	// SegmentId is a required field
 34108  	SegmentId *string `type:"string" required:"true"`
 34109  }
 34110  
 34111  // String returns the string representation.
 34112  //
 34113  // API parameter values that are decorated as "sensitive" in the API will not
 34114  // be included in the string output. The member name will be present, but the
 34115  // value will be replaced with "sensitive".
 34116  func (s SegmentCondition) String() string {
 34117  	return awsutil.Prettify(s)
 34118  }
 34119  
 34120  // GoString returns the string representation.
 34121  //
 34122  // API parameter values that are decorated as "sensitive" in the API will not
 34123  // be included in the string output. The member name will be present, but the
 34124  // value will be replaced with "sensitive".
 34125  func (s SegmentCondition) GoString() string {
 34126  	return s.String()
 34127  }
 34128  
 34129  // Validate inspects the fields of the type to determine if they are valid.
 34130  func (s *SegmentCondition) Validate() error {
 34131  	invalidParams := request.ErrInvalidParams{Context: "SegmentCondition"}
 34132  	if s.SegmentId == nil {
 34133  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 34134  	}
 34135  
 34136  	if invalidParams.Len() > 0 {
 34137  		return invalidParams
 34138  	}
 34139  	return nil
 34140  }
 34141  
 34142  // SetSegmentId sets the SegmentId field's value.
 34143  func (s *SegmentCondition) SetSegmentId(v string) *SegmentCondition {
 34144  	s.SegmentId = &v
 34145  	return s
 34146  }
 34147  
 34148  // Specifies demographic-based dimension settings for including or excluding
 34149  // endpoints from a segment. These settings derive from characteristics of endpoint
 34150  // devices, such as platform, make, and model.
 34151  type SegmentDemographics struct {
 34152  	_ struct{} `type:"structure"`
 34153  
 34154  	// The app version criteria for the segment.
 34155  	AppVersion *SetDimension `type:"structure"`
 34156  
 34157  	// The channel criteria for the segment.
 34158  	Channel *SetDimension `type:"structure"`
 34159  
 34160  	// The device type criteria for the segment.
 34161  	DeviceType *SetDimension `type:"structure"`
 34162  
 34163  	// The device make criteria for the segment.
 34164  	Make *SetDimension `type:"structure"`
 34165  
 34166  	// The device model criteria for the segment.
 34167  	Model *SetDimension `type:"structure"`
 34168  
 34169  	// The device platform criteria for the segment.
 34170  	Platform *SetDimension `type:"structure"`
 34171  }
 34172  
 34173  // String returns the string representation.
 34174  //
 34175  // API parameter values that are decorated as "sensitive" in the API will not
 34176  // be included in the string output. The member name will be present, but the
 34177  // value will be replaced with "sensitive".
 34178  func (s SegmentDemographics) String() string {
 34179  	return awsutil.Prettify(s)
 34180  }
 34181  
 34182  // GoString returns the string representation.
 34183  //
 34184  // API parameter values that are decorated as "sensitive" in the API will not
 34185  // be included in the string output. The member name will be present, but the
 34186  // value will be replaced with "sensitive".
 34187  func (s SegmentDemographics) GoString() string {
 34188  	return s.String()
 34189  }
 34190  
 34191  // Validate inspects the fields of the type to determine if they are valid.
 34192  func (s *SegmentDemographics) Validate() error {
 34193  	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
 34194  	if s.AppVersion != nil {
 34195  		if err := s.AppVersion.Validate(); err != nil {
 34196  			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
 34197  		}
 34198  	}
 34199  	if s.Channel != nil {
 34200  		if err := s.Channel.Validate(); err != nil {
 34201  			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
 34202  		}
 34203  	}
 34204  	if s.DeviceType != nil {
 34205  		if err := s.DeviceType.Validate(); err != nil {
 34206  			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
 34207  		}
 34208  	}
 34209  	if s.Make != nil {
 34210  		if err := s.Make.Validate(); err != nil {
 34211  			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
 34212  		}
 34213  	}
 34214  	if s.Model != nil {
 34215  		if err := s.Model.Validate(); err != nil {
 34216  			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
 34217  		}
 34218  	}
 34219  	if s.Platform != nil {
 34220  		if err := s.Platform.Validate(); err != nil {
 34221  			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
 34222  		}
 34223  	}
 34224  
 34225  	if invalidParams.Len() > 0 {
 34226  		return invalidParams
 34227  	}
 34228  	return nil
 34229  }
 34230  
 34231  // SetAppVersion sets the AppVersion field's value.
 34232  func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
 34233  	s.AppVersion = v
 34234  	return s
 34235  }
 34236  
 34237  // SetChannel sets the Channel field's value.
 34238  func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
 34239  	s.Channel = v
 34240  	return s
 34241  }
 34242  
 34243  // SetDeviceType sets the DeviceType field's value.
 34244  func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
 34245  	s.DeviceType = v
 34246  	return s
 34247  }
 34248  
 34249  // SetMake sets the Make field's value.
 34250  func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
 34251  	s.Make = v
 34252  	return s
 34253  }
 34254  
 34255  // SetModel sets the Model field's value.
 34256  func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
 34257  	s.Model = v
 34258  	return s
 34259  }
 34260  
 34261  // SetPlatform sets the Platform field's value.
 34262  func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
 34263  	s.Platform = v
 34264  	return s
 34265  }
 34266  
 34267  // Specifies the dimension settings for a segment.
 34268  type SegmentDimensions struct {
 34269  	_ struct{} `type:"structure"`
 34270  
 34271  	// One or more custom attributes to use as criteria for the segment.
 34272  	Attributes map[string]*AttributeDimension `type:"map"`
 34273  
 34274  	// The behavior-based criteria, such as how recently users have used your app,
 34275  	// for the segment.
 34276  	Behavior *SegmentBehaviors `type:"structure"`
 34277  
 34278  	// The demographic-based criteria, such as device platform, for the segment.
 34279  	Demographic *SegmentDemographics `type:"structure"`
 34280  
 34281  	// The location-based criteria, such as region or GPS coordinates, for the segment.
 34282  	Location *SegmentLocation `type:"structure"`
 34283  
 34284  	// One or more custom metrics to use as criteria for the segment.
 34285  	Metrics map[string]*MetricDimension `type:"map"`
 34286  
 34287  	// One or more custom user attributes to use as criteria for the segment.
 34288  	UserAttributes map[string]*AttributeDimension `type:"map"`
 34289  }
 34290  
 34291  // String returns the string representation.
 34292  //
 34293  // API parameter values that are decorated as "sensitive" in the API will not
 34294  // be included in the string output. The member name will be present, but the
 34295  // value will be replaced with "sensitive".
 34296  func (s SegmentDimensions) String() string {
 34297  	return awsutil.Prettify(s)
 34298  }
 34299  
 34300  // GoString returns the string representation.
 34301  //
 34302  // API parameter values that are decorated as "sensitive" in the API will not
 34303  // be included in the string output. The member name will be present, but the
 34304  // value will be replaced with "sensitive".
 34305  func (s SegmentDimensions) GoString() string {
 34306  	return s.String()
 34307  }
 34308  
 34309  // Validate inspects the fields of the type to determine if they are valid.
 34310  func (s *SegmentDimensions) Validate() error {
 34311  	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
 34312  	if s.Attributes != nil {
 34313  		for i, v := range s.Attributes {
 34314  			if v == nil {
 34315  				continue
 34316  			}
 34317  			if err := v.Validate(); err != nil {
 34318  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
 34319  			}
 34320  		}
 34321  	}
 34322  	if s.Behavior != nil {
 34323  		if err := s.Behavior.Validate(); err != nil {
 34324  			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
 34325  		}
 34326  	}
 34327  	if s.Demographic != nil {
 34328  		if err := s.Demographic.Validate(); err != nil {
 34329  			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
 34330  		}
 34331  	}
 34332  	if s.Location != nil {
 34333  		if err := s.Location.Validate(); err != nil {
 34334  			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
 34335  		}
 34336  	}
 34337  	if s.Metrics != nil {
 34338  		for i, v := range s.Metrics {
 34339  			if v == nil {
 34340  				continue
 34341  			}
 34342  			if err := v.Validate(); err != nil {
 34343  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
 34344  			}
 34345  		}
 34346  	}
 34347  	if s.UserAttributes != nil {
 34348  		for i, v := range s.UserAttributes {
 34349  			if v == nil {
 34350  				continue
 34351  			}
 34352  			if err := v.Validate(); err != nil {
 34353  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
 34354  			}
 34355  		}
 34356  	}
 34357  
 34358  	if invalidParams.Len() > 0 {
 34359  		return invalidParams
 34360  	}
 34361  	return nil
 34362  }
 34363  
 34364  // SetAttributes sets the Attributes field's value.
 34365  func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
 34366  	s.Attributes = v
 34367  	return s
 34368  }
 34369  
 34370  // SetBehavior sets the Behavior field's value.
 34371  func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
 34372  	s.Behavior = v
 34373  	return s
 34374  }
 34375  
 34376  // SetDemographic sets the Demographic field's value.
 34377  func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
 34378  	s.Demographic = v
 34379  	return s
 34380  }
 34381  
 34382  // SetLocation sets the Location field's value.
 34383  func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
 34384  	s.Location = v
 34385  	return s
 34386  }
 34387  
 34388  // SetMetrics sets the Metrics field's value.
 34389  func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
 34390  	s.Metrics = v
 34391  	return s
 34392  }
 34393  
 34394  // SetUserAttributes sets the UserAttributes field's value.
 34395  func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
 34396  	s.UserAttributes = v
 34397  	return s
 34398  }
 34399  
 34400  // Specifies the base segments and dimensions for a segment, and the relationships
 34401  // between these base segments and dimensions.
 34402  type SegmentGroup struct {
 34403  	_ struct{} `type:"structure"`
 34404  
 34405  	// An array that defines the dimensions for the segment.
 34406  	Dimensions []*SegmentDimensions `type:"list"`
 34407  
 34408  	// The base segment to build the segment on. A base segment, also referred to
 34409  	// as a source segment, defines the initial population of endpoints for a segment.
 34410  	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
 34411  	// by using the dimensions that you specify.
 34412  	//
 34413  	// You can specify more than one dimensional segment or only one imported segment.
 34414  	// If you specify an imported segment, the Amazon Pinpoint console displays
 34415  	// a segment size estimate that indicates the size of the imported segment without
 34416  	// any filters applied to it.
 34417  	SourceSegments []*SegmentReference `type:"list"`
 34418  
 34419  	// Specifies how to handle multiple base segments for the segment. For example,
 34420  	// if you specify three base segments for the segment, whether the resulting
 34421  	// segment is based on all, any, or none of the base segments.
 34422  	SourceType *string `type:"string" enum:"SourceType"`
 34423  
 34424  	// Specifies how to handle multiple dimensions for the segment. For example,
 34425  	// if you specify three dimensions for the segment, whether the resulting segment
 34426  	// includes endpoints that match all, any, or none of the dimensions.
 34427  	Type *string `type:"string" enum:"Type"`
 34428  }
 34429  
 34430  // String returns the string representation.
 34431  //
 34432  // API parameter values that are decorated as "sensitive" in the API will not
 34433  // be included in the string output. The member name will be present, but the
 34434  // value will be replaced with "sensitive".
 34435  func (s SegmentGroup) String() string {
 34436  	return awsutil.Prettify(s)
 34437  }
 34438  
 34439  // GoString returns the string representation.
 34440  //
 34441  // API parameter values that are decorated as "sensitive" in the API will not
 34442  // be included in the string output. The member name will be present, but the
 34443  // value will be replaced with "sensitive".
 34444  func (s SegmentGroup) GoString() string {
 34445  	return s.String()
 34446  }
 34447  
 34448  // Validate inspects the fields of the type to determine if they are valid.
 34449  func (s *SegmentGroup) Validate() error {
 34450  	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
 34451  	if s.Dimensions != nil {
 34452  		for i, v := range s.Dimensions {
 34453  			if v == nil {
 34454  				continue
 34455  			}
 34456  			if err := v.Validate(); err != nil {
 34457  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
 34458  			}
 34459  		}
 34460  	}
 34461  	if s.SourceSegments != nil {
 34462  		for i, v := range s.SourceSegments {
 34463  			if v == nil {
 34464  				continue
 34465  			}
 34466  			if err := v.Validate(); err != nil {
 34467  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
 34468  			}
 34469  		}
 34470  	}
 34471  
 34472  	if invalidParams.Len() > 0 {
 34473  		return invalidParams
 34474  	}
 34475  	return nil
 34476  }
 34477  
 34478  // SetDimensions sets the Dimensions field's value.
 34479  func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
 34480  	s.Dimensions = v
 34481  	return s
 34482  }
 34483  
 34484  // SetSourceSegments sets the SourceSegments field's value.
 34485  func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
 34486  	s.SourceSegments = v
 34487  	return s
 34488  }
 34489  
 34490  // SetSourceType sets the SourceType field's value.
 34491  func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
 34492  	s.SourceType = &v
 34493  	return s
 34494  }
 34495  
 34496  // SetType sets the Type field's value.
 34497  func (s *SegmentGroup) SetType(v string) *SegmentGroup {
 34498  	s.Type = &v
 34499  	return s
 34500  }
 34501  
 34502  // Specifies the settings that define the relationships between segment groups
 34503  // for a segment.
 34504  type SegmentGroupList struct {
 34505  	_ struct{} `type:"structure"`
 34506  
 34507  	// An array that defines the set of segment criteria to evaluate when handling
 34508  	// segment groups for the segment.
 34509  	Groups []*SegmentGroup `type:"list"`
 34510  
 34511  	// Specifies how to handle multiple segment groups for the segment. For example,
 34512  	// if the segment includes three segment groups, whether the resulting segment
 34513  	// includes endpoints that match all, any, or none of the segment groups.
 34514  	Include *string `type:"string" enum:"Include"`
 34515  }
 34516  
 34517  // String returns the string representation.
 34518  //
 34519  // API parameter values that are decorated as "sensitive" in the API will not
 34520  // be included in the string output. The member name will be present, but the
 34521  // value will be replaced with "sensitive".
 34522  func (s SegmentGroupList) String() string {
 34523  	return awsutil.Prettify(s)
 34524  }
 34525  
 34526  // GoString returns the string representation.
 34527  //
 34528  // API parameter values that are decorated as "sensitive" in the API will not
 34529  // be included in the string output. The member name will be present, but the
 34530  // value will be replaced with "sensitive".
 34531  func (s SegmentGroupList) GoString() string {
 34532  	return s.String()
 34533  }
 34534  
 34535  // Validate inspects the fields of the type to determine if they are valid.
 34536  func (s *SegmentGroupList) Validate() error {
 34537  	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
 34538  	if s.Groups != nil {
 34539  		for i, v := range s.Groups {
 34540  			if v == nil {
 34541  				continue
 34542  			}
 34543  			if err := v.Validate(); err != nil {
 34544  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
 34545  			}
 34546  		}
 34547  	}
 34548  
 34549  	if invalidParams.Len() > 0 {
 34550  		return invalidParams
 34551  	}
 34552  	return nil
 34553  }
 34554  
 34555  // SetGroups sets the Groups field's value.
 34556  func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
 34557  	s.Groups = v
 34558  	return s
 34559  }
 34560  
 34561  // SetInclude sets the Include field's value.
 34562  func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
 34563  	s.Include = &v
 34564  	return s
 34565  }
 34566  
 34567  // Provides information about the import job that created a segment. An import
 34568  // job is a job that creates a user segment by importing endpoint definitions.
 34569  type SegmentImportResource struct {
 34570  	_ struct{} `type:"structure"`
 34571  
 34572  	// The number of channel types in the endpoint definitions that were imported
 34573  	// to create the segment.
 34574  	ChannelCounts map[string]*int64 `type:"map"`
 34575  
 34576  	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
 34577  	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
 34578  	// an IAM role when importing endpoint definitions, but we removed this requirement.
 34579  	// We don't recommend use of external IDs for IAM roles that are assumed by
 34580  	// Amazon Pinpoint.
 34581  	//
 34582  	// ExternalId is a required field
 34583  	ExternalId *string `type:"string" required:"true"`
 34584  
 34585  	// The format of the files that were imported to create the segment. Valid values
 34586  	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
 34587  	// JSON format.
 34588  	//
 34589  	// Format is a required field
 34590  	Format *string `type:"string" required:"true" enum:"Format"`
 34591  
 34592  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 34593  	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
 34594  	// to import endpoint definitions from.
 34595  	//
 34596  	// RoleArn is a required field
 34597  	RoleArn *string `type:"string" required:"true"`
 34598  
 34599  	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
 34600  	// endpoint definitions were imported from to create the segment.
 34601  	//
 34602  	// S3Url is a required field
 34603  	S3Url *string `type:"string" required:"true"`
 34604  
 34605  	// The number of endpoint definitions that were imported successfully to create
 34606  	// the segment.
 34607  	//
 34608  	// Size is a required field
 34609  	Size *int64 `type:"integer" required:"true"`
 34610  }
 34611  
 34612  // String returns the string representation.
 34613  //
 34614  // API parameter values that are decorated as "sensitive" in the API will not
 34615  // be included in the string output. The member name will be present, but the
 34616  // value will be replaced with "sensitive".
 34617  func (s SegmentImportResource) String() string {
 34618  	return awsutil.Prettify(s)
 34619  }
 34620  
 34621  // GoString returns the string representation.
 34622  //
 34623  // API parameter values that are decorated as "sensitive" in the API will not
 34624  // be included in the string output. The member name will be present, but the
 34625  // value will be replaced with "sensitive".
 34626  func (s SegmentImportResource) GoString() string {
 34627  	return s.String()
 34628  }
 34629  
 34630  // SetChannelCounts sets the ChannelCounts field's value.
 34631  func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
 34632  	s.ChannelCounts = v
 34633  	return s
 34634  }
 34635  
 34636  // SetExternalId sets the ExternalId field's value.
 34637  func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
 34638  	s.ExternalId = &v
 34639  	return s
 34640  }
 34641  
 34642  // SetFormat sets the Format field's value.
 34643  func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
 34644  	s.Format = &v
 34645  	return s
 34646  }
 34647  
 34648  // SetRoleArn sets the RoleArn field's value.
 34649  func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
 34650  	s.RoleArn = &v
 34651  	return s
 34652  }
 34653  
 34654  // SetS3Url sets the S3Url field's value.
 34655  func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
 34656  	s.S3Url = &v
 34657  	return s
 34658  }
 34659  
 34660  // SetSize sets the Size field's value.
 34661  func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
 34662  	s.Size = &v
 34663  	return s
 34664  }
 34665  
 34666  // Specifies geographical dimension settings for a segment.
 34667  type SegmentLocation struct {
 34668  	_ struct{} `type:"structure"`
 34669  
 34670  	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
 34671  	Country *SetDimension `type:"structure"`
 34672  
 34673  	// The GPS location and range for the segment.
 34674  	GPSPoint *GPSPointDimension `type:"structure"`
 34675  }
 34676  
 34677  // String returns the string representation.
 34678  //
 34679  // API parameter values that are decorated as "sensitive" in the API will not
 34680  // be included in the string output. The member name will be present, but the
 34681  // value will be replaced with "sensitive".
 34682  func (s SegmentLocation) String() string {
 34683  	return awsutil.Prettify(s)
 34684  }
 34685  
 34686  // GoString returns the string representation.
 34687  //
 34688  // API parameter values that are decorated as "sensitive" in the API will not
 34689  // be included in the string output. The member name will be present, but the
 34690  // value will be replaced with "sensitive".
 34691  func (s SegmentLocation) GoString() string {
 34692  	return s.String()
 34693  }
 34694  
 34695  // Validate inspects the fields of the type to determine if they are valid.
 34696  func (s *SegmentLocation) Validate() error {
 34697  	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
 34698  	if s.Country != nil {
 34699  		if err := s.Country.Validate(); err != nil {
 34700  			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
 34701  		}
 34702  	}
 34703  	if s.GPSPoint != nil {
 34704  		if err := s.GPSPoint.Validate(); err != nil {
 34705  			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
 34706  		}
 34707  	}
 34708  
 34709  	if invalidParams.Len() > 0 {
 34710  		return invalidParams
 34711  	}
 34712  	return nil
 34713  }
 34714  
 34715  // SetCountry sets the Country field's value.
 34716  func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
 34717  	s.Country = v
 34718  	return s
 34719  }
 34720  
 34721  // SetGPSPoint sets the GPSPoint field's value.
 34722  func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
 34723  	s.GPSPoint = v
 34724  	return s
 34725  }
 34726  
 34727  // Specifies the segment identifier and version of a segment.
 34728  type SegmentReference struct {
 34729  	_ struct{} `type:"structure"`
 34730  
 34731  	// The unique identifier for the segment.
 34732  	//
 34733  	// Id is a required field
 34734  	Id *string `type:"string" required:"true"`
 34735  
 34736  	// The version number of the segment.
 34737  	Version *int64 `type:"integer"`
 34738  }
 34739  
 34740  // String returns the string representation.
 34741  //
 34742  // API parameter values that are decorated as "sensitive" in the API will not
 34743  // be included in the string output. The member name will be present, but the
 34744  // value will be replaced with "sensitive".
 34745  func (s SegmentReference) String() string {
 34746  	return awsutil.Prettify(s)
 34747  }
 34748  
 34749  // GoString returns the string representation.
 34750  //
 34751  // API parameter values that are decorated as "sensitive" in the API will not
 34752  // be included in the string output. The member name will be present, but the
 34753  // value will be replaced with "sensitive".
 34754  func (s SegmentReference) GoString() string {
 34755  	return s.String()
 34756  }
 34757  
 34758  // Validate inspects the fields of the type to determine if they are valid.
 34759  func (s *SegmentReference) Validate() error {
 34760  	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
 34761  	if s.Id == nil {
 34762  		invalidParams.Add(request.NewErrParamRequired("Id"))
 34763  	}
 34764  
 34765  	if invalidParams.Len() > 0 {
 34766  		return invalidParams
 34767  	}
 34768  	return nil
 34769  }
 34770  
 34771  // SetId sets the Id field's value.
 34772  func (s *SegmentReference) SetId(v string) *SegmentReference {
 34773  	s.Id = &v
 34774  	return s
 34775  }
 34776  
 34777  // SetVersion sets the Version field's value.
 34778  func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
 34779  	s.Version = &v
 34780  	return s
 34781  }
 34782  
 34783  // Provides information about the configuration, dimension, and other settings
 34784  // for a segment.
 34785  type SegmentResponse struct {
 34786  	_ struct{} `type:"structure"`
 34787  
 34788  	// The unique identifier for the application that the segment is associated
 34789  	// with.
 34790  	//
 34791  	// ApplicationId is a required field
 34792  	ApplicationId *string `type:"string" required:"true"`
 34793  
 34794  	// The Amazon Resource Name (ARN) of the segment.
 34795  	//
 34796  	// Arn is a required field
 34797  	Arn *string `type:"string" required:"true"`
 34798  
 34799  	// The date and time when the segment was created.
 34800  	//
 34801  	// CreationDate is a required field
 34802  	CreationDate *string `type:"string" required:"true"`
 34803  
 34804  	// The dimension settings for the segment.
 34805  	Dimensions *SegmentDimensions `type:"structure"`
 34806  
 34807  	// The unique identifier for the segment.
 34808  	//
 34809  	// Id is a required field
 34810  	Id *string `type:"string" required:"true"`
 34811  
 34812  	// The settings for the import job that's associated with the segment.
 34813  	ImportDefinition *SegmentImportResource `type:"structure"`
 34814  
 34815  	// The date and time when the segment was last modified.
 34816  	LastModifiedDate *string `type:"string"`
 34817  
 34818  	// The name of the segment.
 34819  	Name *string `type:"string"`
 34820  
 34821  	// A list of one or more segment groups that apply to the segment. Each segment
 34822  	// group consists of zero or more base segments and the dimensions that are
 34823  	// applied to those base segments.
 34824  	SegmentGroups *SegmentGroupList `type:"structure"`
 34825  
 34826  	// The segment type. Valid values are:
 34827  	//
 34828  	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
 34829  	//    criteria that you specify and is based on endpoint data that's reported
 34830  	//    by your app. Dynamic segments can change over time.
 34831  	//
 34832  	//    * IMPORT - A static segment, which is a segment that uses selection criteria
 34833  	//    that you specify and is based on endpoint definitions that you import
 34834  	//    from a file. Imported segments are static; they don't change over time.
 34835  	//
 34836  	// SegmentType is a required field
 34837  	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
 34838  
 34839  	// A string-to-string map of key-value pairs that identifies the tags that are
 34840  	// associated with the segment. Each tag consists of a required tag key and
 34841  	// an associated tag value.
 34842  	Tags map[string]*string `locationName:"tags" type:"map"`
 34843  
 34844  	// The version number of the segment.
 34845  	Version *int64 `type:"integer"`
 34846  }
 34847  
 34848  // String returns the string representation.
 34849  //
 34850  // API parameter values that are decorated as "sensitive" in the API will not
 34851  // be included in the string output. The member name will be present, but the
 34852  // value will be replaced with "sensitive".
 34853  func (s SegmentResponse) String() string {
 34854  	return awsutil.Prettify(s)
 34855  }
 34856  
 34857  // GoString returns the string representation.
 34858  //
 34859  // API parameter values that are decorated as "sensitive" in the API will not
 34860  // be included in the string output. The member name will be present, but the
 34861  // value will be replaced with "sensitive".
 34862  func (s SegmentResponse) GoString() string {
 34863  	return s.String()
 34864  }
 34865  
 34866  // SetApplicationId sets the ApplicationId field's value.
 34867  func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
 34868  	s.ApplicationId = &v
 34869  	return s
 34870  }
 34871  
 34872  // SetArn sets the Arn field's value.
 34873  func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
 34874  	s.Arn = &v
 34875  	return s
 34876  }
 34877  
 34878  // SetCreationDate sets the CreationDate field's value.
 34879  func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
 34880  	s.CreationDate = &v
 34881  	return s
 34882  }
 34883  
 34884  // SetDimensions sets the Dimensions field's value.
 34885  func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
 34886  	s.Dimensions = v
 34887  	return s
 34888  }
 34889  
 34890  // SetId sets the Id field's value.
 34891  func (s *SegmentResponse) SetId(v string) *SegmentResponse {
 34892  	s.Id = &v
 34893  	return s
 34894  }
 34895  
 34896  // SetImportDefinition sets the ImportDefinition field's value.
 34897  func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
 34898  	s.ImportDefinition = v
 34899  	return s
 34900  }
 34901  
 34902  // SetLastModifiedDate sets the LastModifiedDate field's value.
 34903  func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
 34904  	s.LastModifiedDate = &v
 34905  	return s
 34906  }
 34907  
 34908  // SetName sets the Name field's value.
 34909  func (s *SegmentResponse) SetName(v string) *SegmentResponse {
 34910  	s.Name = &v
 34911  	return s
 34912  }
 34913  
 34914  // SetSegmentGroups sets the SegmentGroups field's value.
 34915  func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
 34916  	s.SegmentGroups = v
 34917  	return s
 34918  }
 34919  
 34920  // SetSegmentType sets the SegmentType field's value.
 34921  func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
 34922  	s.SegmentType = &v
 34923  	return s
 34924  }
 34925  
 34926  // SetTags sets the Tags field's value.
 34927  func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
 34928  	s.Tags = v
 34929  	return s
 34930  }
 34931  
 34932  // SetVersion sets the Version field's value.
 34933  func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
 34934  	s.Version = &v
 34935  	return s
 34936  }
 34937  
 34938  // Provides information about all the segments that are associated with an application.
 34939  type SegmentsResponse struct {
 34940  	_ struct{} `type:"structure"`
 34941  
 34942  	// An array of responses, one for each segment that's associated with the application
 34943  	// (Segments resource) or each version of a segment that's associated with the
 34944  	// application (Segment Versions resource).
 34945  	//
 34946  	// Item is a required field
 34947  	Item []*SegmentResponse `type:"list" required:"true"`
 34948  
 34949  	// The string to use in a subsequent request to get the next page of results
 34950  	// in a paginated response. This value is null if there are no additional pages.
 34951  	NextToken *string `type:"string"`
 34952  }
 34953  
 34954  // String returns the string representation.
 34955  //
 34956  // API parameter values that are decorated as "sensitive" in the API will not
 34957  // be included in the string output. The member name will be present, but the
 34958  // value will be replaced with "sensitive".
 34959  func (s SegmentsResponse) String() string {
 34960  	return awsutil.Prettify(s)
 34961  }
 34962  
 34963  // GoString returns the string representation.
 34964  //
 34965  // API parameter values that are decorated as "sensitive" in the API will not
 34966  // be included in the string output. The member name will be present, but the
 34967  // value will be replaced with "sensitive".
 34968  func (s SegmentsResponse) GoString() string {
 34969  	return s.String()
 34970  }
 34971  
 34972  // SetItem sets the Item field's value.
 34973  func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
 34974  	s.Item = v
 34975  	return s
 34976  }
 34977  
 34978  // SetNextToken sets the NextToken field's value.
 34979  func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
 34980  	s.NextToken = &v
 34981  	return s
 34982  }
 34983  
 34984  type SendMessagesInput struct {
 34985  	_ struct{} `type:"structure" payload:"MessageRequest"`
 34986  
 34987  	// ApplicationId is a required field
 34988  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 34989  
 34990  	// Specifies the configuration and other settings for a message.
 34991  	//
 34992  	// MessageRequest is a required field
 34993  	MessageRequest *MessageRequest `type:"structure" required:"true"`
 34994  }
 34995  
 34996  // String returns the string representation.
 34997  //
 34998  // API parameter values that are decorated as "sensitive" in the API will not
 34999  // be included in the string output. The member name will be present, but the
 35000  // value will be replaced with "sensitive".
 35001  func (s SendMessagesInput) String() string {
 35002  	return awsutil.Prettify(s)
 35003  }
 35004  
 35005  // GoString returns the string representation.
 35006  //
 35007  // API parameter values that are decorated as "sensitive" in the API will not
 35008  // be included in the string output. The member name will be present, but the
 35009  // value will be replaced with "sensitive".
 35010  func (s SendMessagesInput) GoString() string {
 35011  	return s.String()
 35012  }
 35013  
 35014  // Validate inspects the fields of the type to determine if they are valid.
 35015  func (s *SendMessagesInput) Validate() error {
 35016  	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
 35017  	if s.ApplicationId == nil {
 35018  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 35019  	}
 35020  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 35021  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 35022  	}
 35023  	if s.MessageRequest == nil {
 35024  		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
 35025  	}
 35026  	if s.MessageRequest != nil {
 35027  		if err := s.MessageRequest.Validate(); err != nil {
 35028  			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
 35029  		}
 35030  	}
 35031  
 35032  	if invalidParams.Len() > 0 {
 35033  		return invalidParams
 35034  	}
 35035  	return nil
 35036  }
 35037  
 35038  // SetApplicationId sets the ApplicationId field's value.
 35039  func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
 35040  	s.ApplicationId = &v
 35041  	return s
 35042  }
 35043  
 35044  // SetMessageRequest sets the MessageRequest field's value.
 35045  func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
 35046  	s.MessageRequest = v
 35047  	return s
 35048  }
 35049  
 35050  type SendMessagesOutput struct {
 35051  	_ struct{} `type:"structure" payload:"MessageResponse"`
 35052  
 35053  	// Provides information about the results of a request to send a message to
 35054  	// an endpoint address.
 35055  	//
 35056  	// MessageResponse is a required field
 35057  	MessageResponse *MessageResponse `type:"structure" required:"true"`
 35058  }
 35059  
 35060  // String returns the string representation.
 35061  //
 35062  // API parameter values that are decorated as "sensitive" in the API will not
 35063  // be included in the string output. The member name will be present, but the
 35064  // value will be replaced with "sensitive".
 35065  func (s SendMessagesOutput) String() string {
 35066  	return awsutil.Prettify(s)
 35067  }
 35068  
 35069  // GoString returns the string representation.
 35070  //
 35071  // API parameter values that are decorated as "sensitive" in the API will not
 35072  // be included in the string output. The member name will be present, but the
 35073  // value will be replaced with "sensitive".
 35074  func (s SendMessagesOutput) GoString() string {
 35075  	return s.String()
 35076  }
 35077  
 35078  // SetMessageResponse sets the MessageResponse field's value.
 35079  func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
 35080  	s.MessageResponse = v
 35081  	return s
 35082  }
 35083  
 35084  // Specifies the configuration and other settings for a message to send to all
 35085  // the endpoints that are associated with a list of users.
 35086  type SendUsersMessageRequest struct {
 35087  	_ struct{} `type:"structure"`
 35088  
 35089  	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
 35090  	// adds these attributes to the data.pinpoint object in the body of the notification
 35091  	// payload. Amazon Pinpoint also provides these attributes in the events that
 35092  	// it generates for users-messages deliveries.
 35093  	Context map[string]*string `type:"map"`
 35094  
 35095  	// The settings and content for the default message and any default messages
 35096  	// that you defined for specific channels.
 35097  	//
 35098  	// MessageConfiguration is a required field
 35099  	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
 35100  
 35101  	// The message template to use for the message.
 35102  	TemplateConfiguration *TemplateConfiguration `type:"structure"`
 35103  
 35104  	// The unique identifier for tracing the message. This identifier is visible
 35105  	// to message recipients.
 35106  	TraceId *string `type:"string"`
 35107  
 35108  	// A map that associates user IDs with EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
 35109  	// objects. You can use an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
 35110  	// object to tailor the message for a user by specifying settings such as content
 35111  	// overrides and message variables.
 35112  	//
 35113  	// Users is a required field
 35114  	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
 35115  }
 35116  
 35117  // String returns the string representation.
 35118  //
 35119  // API parameter values that are decorated as "sensitive" in the API will not
 35120  // be included in the string output. The member name will be present, but the
 35121  // value will be replaced with "sensitive".
 35122  func (s SendUsersMessageRequest) String() string {
 35123  	return awsutil.Prettify(s)
 35124  }
 35125  
 35126  // GoString returns the string representation.
 35127  //
 35128  // API parameter values that are decorated as "sensitive" in the API will not
 35129  // be included in the string output. The member name will be present, but the
 35130  // value will be replaced with "sensitive".
 35131  func (s SendUsersMessageRequest) GoString() string {
 35132  	return s.String()
 35133  }
 35134  
 35135  // Validate inspects the fields of the type to determine if they are valid.
 35136  func (s *SendUsersMessageRequest) Validate() error {
 35137  	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
 35138  	if s.MessageConfiguration == nil {
 35139  		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
 35140  	}
 35141  	if s.Users == nil {
 35142  		invalidParams.Add(request.NewErrParamRequired("Users"))
 35143  	}
 35144  
 35145  	if invalidParams.Len() > 0 {
 35146  		return invalidParams
 35147  	}
 35148  	return nil
 35149  }
 35150  
 35151  // SetContext sets the Context field's value.
 35152  func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
 35153  	s.Context = v
 35154  	return s
 35155  }
 35156  
 35157  // SetMessageConfiguration sets the MessageConfiguration field's value.
 35158  func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
 35159  	s.MessageConfiguration = v
 35160  	return s
 35161  }
 35162  
 35163  // SetTemplateConfiguration sets the TemplateConfiguration field's value.
 35164  func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest {
 35165  	s.TemplateConfiguration = v
 35166  	return s
 35167  }
 35168  
 35169  // SetTraceId sets the TraceId field's value.
 35170  func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
 35171  	s.TraceId = &v
 35172  	return s
 35173  }
 35174  
 35175  // SetUsers sets the Users field's value.
 35176  func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
 35177  	s.Users = v
 35178  	return s
 35179  }
 35180  
 35181  // Provides information about which users and endpoints a message was sent to.
 35182  type SendUsersMessageResponse struct {
 35183  	_ struct{} `type:"structure"`
 35184  
 35185  	// The unique identifier for the application that was used to send the message.
 35186  	//
 35187  	// ApplicationId is a required field
 35188  	ApplicationId *string `type:"string" required:"true"`
 35189  
 35190  	// The unique identifier that was assigned to the message request.
 35191  	RequestId *string `type:"string"`
 35192  
 35193  	// An object that indicates which endpoints the message was sent to, for each
 35194  	// user. The object lists user IDs and, for each user ID, provides the endpoint
 35195  	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
 35196  	// object.
 35197  	Result map[string]map[string]*EndpointMessageResult `type:"map"`
 35198  }
 35199  
 35200  // String returns the string representation.
 35201  //
 35202  // API parameter values that are decorated as "sensitive" in the API will not
 35203  // be included in the string output. The member name will be present, but the
 35204  // value will be replaced with "sensitive".
 35205  func (s SendUsersMessageResponse) String() string {
 35206  	return awsutil.Prettify(s)
 35207  }
 35208  
 35209  // GoString returns the string representation.
 35210  //
 35211  // API parameter values that are decorated as "sensitive" in the API will not
 35212  // be included in the string output. The member name will be present, but the
 35213  // value will be replaced with "sensitive".
 35214  func (s SendUsersMessageResponse) GoString() string {
 35215  	return s.String()
 35216  }
 35217  
 35218  // SetApplicationId sets the ApplicationId field's value.
 35219  func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
 35220  	s.ApplicationId = &v
 35221  	return s
 35222  }
 35223  
 35224  // SetRequestId sets the RequestId field's value.
 35225  func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
 35226  	s.RequestId = &v
 35227  	return s
 35228  }
 35229  
 35230  // SetResult sets the Result field's value.
 35231  func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
 35232  	s.Result = v
 35233  	return s
 35234  }
 35235  
 35236  type SendUsersMessagesInput struct {
 35237  	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
 35238  
 35239  	// ApplicationId is a required field
 35240  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 35241  
 35242  	// Specifies the configuration and other settings for a message to send to all
 35243  	// the endpoints that are associated with a list of users.
 35244  	//
 35245  	// SendUsersMessageRequest is a required field
 35246  	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
 35247  }
 35248  
 35249  // String returns the string representation.
 35250  //
 35251  // API parameter values that are decorated as "sensitive" in the API will not
 35252  // be included in the string output. The member name will be present, but the
 35253  // value will be replaced with "sensitive".
 35254  func (s SendUsersMessagesInput) String() string {
 35255  	return awsutil.Prettify(s)
 35256  }
 35257  
 35258  // GoString returns the string representation.
 35259  //
 35260  // API parameter values that are decorated as "sensitive" in the API will not
 35261  // be included in the string output. The member name will be present, but the
 35262  // value will be replaced with "sensitive".
 35263  func (s SendUsersMessagesInput) GoString() string {
 35264  	return s.String()
 35265  }
 35266  
 35267  // Validate inspects the fields of the type to determine if they are valid.
 35268  func (s *SendUsersMessagesInput) Validate() error {
 35269  	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
 35270  	if s.ApplicationId == nil {
 35271  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 35272  	}
 35273  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 35274  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 35275  	}
 35276  	if s.SendUsersMessageRequest == nil {
 35277  		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
 35278  	}
 35279  	if s.SendUsersMessageRequest != nil {
 35280  		if err := s.SendUsersMessageRequest.Validate(); err != nil {
 35281  			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
 35282  		}
 35283  	}
 35284  
 35285  	if invalidParams.Len() > 0 {
 35286  		return invalidParams
 35287  	}
 35288  	return nil
 35289  }
 35290  
 35291  // SetApplicationId sets the ApplicationId field's value.
 35292  func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
 35293  	s.ApplicationId = &v
 35294  	return s
 35295  }
 35296  
 35297  // SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
 35298  func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
 35299  	s.SendUsersMessageRequest = v
 35300  	return s
 35301  }
 35302  
 35303  type SendUsersMessagesOutput struct {
 35304  	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
 35305  
 35306  	// Provides information about which users and endpoints a message was sent to.
 35307  	//
 35308  	// SendUsersMessageResponse is a required field
 35309  	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
 35310  }
 35311  
 35312  // String returns the string representation.
 35313  //
 35314  // API parameter values that are decorated as "sensitive" in the API will not
 35315  // be included in the string output. The member name will be present, but the
 35316  // value will be replaced with "sensitive".
 35317  func (s SendUsersMessagesOutput) String() string {
 35318  	return awsutil.Prettify(s)
 35319  }
 35320  
 35321  // GoString returns the string representation.
 35322  //
 35323  // API parameter values that are decorated as "sensitive" in the API will not
 35324  // be included in the string output. The member name will be present, but the
 35325  // value will be replaced with "sensitive".
 35326  func (s SendUsersMessagesOutput) GoString() string {
 35327  	return s.String()
 35328  }
 35329  
 35330  // SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
 35331  func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
 35332  	s.SendUsersMessageResponse = v
 35333  	return s
 35334  }
 35335  
 35336  // Provides information about a session.
 35337  type Session struct {
 35338  	_ struct{} `type:"structure"`
 35339  
 35340  	// The duration of the session, in milliseconds.
 35341  	Duration *int64 `type:"integer"`
 35342  
 35343  	// The unique identifier for the session.
 35344  	//
 35345  	// Id is a required field
 35346  	Id *string `type:"string" required:"true"`
 35347  
 35348  	// The date and time when the session began.
 35349  	//
 35350  	// StartTimestamp is a required field
 35351  	StartTimestamp *string `type:"string" required:"true"`
 35352  
 35353  	// The date and time when the session ended.
 35354  	StopTimestamp *string `type:"string"`
 35355  }
 35356  
 35357  // String returns the string representation.
 35358  //
 35359  // API parameter values that are decorated as "sensitive" in the API will not
 35360  // be included in the string output. The member name will be present, but the
 35361  // value will be replaced with "sensitive".
 35362  func (s Session) String() string {
 35363  	return awsutil.Prettify(s)
 35364  }
 35365  
 35366  // GoString returns the string representation.
 35367  //
 35368  // API parameter values that are decorated as "sensitive" in the API will not
 35369  // be included in the string output. The member name will be present, but the
 35370  // value will be replaced with "sensitive".
 35371  func (s Session) GoString() string {
 35372  	return s.String()
 35373  }
 35374  
 35375  // Validate inspects the fields of the type to determine if they are valid.
 35376  func (s *Session) Validate() error {
 35377  	invalidParams := request.ErrInvalidParams{Context: "Session"}
 35378  	if s.Id == nil {
 35379  		invalidParams.Add(request.NewErrParamRequired("Id"))
 35380  	}
 35381  	if s.StartTimestamp == nil {
 35382  		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
 35383  	}
 35384  
 35385  	if invalidParams.Len() > 0 {
 35386  		return invalidParams
 35387  	}
 35388  	return nil
 35389  }
 35390  
 35391  // SetDuration sets the Duration field's value.
 35392  func (s *Session) SetDuration(v int64) *Session {
 35393  	s.Duration = &v
 35394  	return s
 35395  }
 35396  
 35397  // SetId sets the Id field's value.
 35398  func (s *Session) SetId(v string) *Session {
 35399  	s.Id = &v
 35400  	return s
 35401  }
 35402  
 35403  // SetStartTimestamp sets the StartTimestamp field's value.
 35404  func (s *Session) SetStartTimestamp(v string) *Session {
 35405  	s.StartTimestamp = &v
 35406  	return s
 35407  }
 35408  
 35409  // SetStopTimestamp sets the StopTimestamp field's value.
 35410  func (s *Session) SetStopTimestamp(v string) *Session {
 35411  	s.StopTimestamp = &v
 35412  	return s
 35413  }
 35414  
 35415  // Specifies the dimension type and values for a segment dimension.
 35416  type SetDimension struct {
 35417  	_ struct{} `type:"structure"`
 35418  
 35419  	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
 35420  	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
 35421  	// that match the criteria are excluded from the segment.
 35422  	DimensionType *string `type:"string" enum:"DimensionType"`
 35423  
 35424  	// The criteria values to use for the segment dimension. Depending on the value
 35425  	// of the DimensionType property, endpoints are included or excluded from the
 35426  	// segment if their values match the criteria values.
 35427  	//
 35428  	// Values is a required field
 35429  	Values []*string `type:"list" required:"true"`
 35430  }
 35431  
 35432  // String returns the string representation.
 35433  //
 35434  // API parameter values that are decorated as "sensitive" in the API will not
 35435  // be included in the string output. The member name will be present, but the
 35436  // value will be replaced with "sensitive".
 35437  func (s SetDimension) String() string {
 35438  	return awsutil.Prettify(s)
 35439  }
 35440  
 35441  // GoString returns the string representation.
 35442  //
 35443  // API parameter values that are decorated as "sensitive" in the API will not
 35444  // be included in the string output. The member name will be present, but the
 35445  // value will be replaced with "sensitive".
 35446  func (s SetDimension) GoString() string {
 35447  	return s.String()
 35448  }
 35449  
 35450  // Validate inspects the fields of the type to determine if they are valid.
 35451  func (s *SetDimension) Validate() error {
 35452  	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
 35453  	if s.Values == nil {
 35454  		invalidParams.Add(request.NewErrParamRequired("Values"))
 35455  	}
 35456  
 35457  	if invalidParams.Len() > 0 {
 35458  		return invalidParams
 35459  	}
 35460  	return nil
 35461  }
 35462  
 35463  // SetDimensionType sets the DimensionType field's value.
 35464  func (s *SetDimension) SetDimensionType(v string) *SetDimension {
 35465  	s.DimensionType = &v
 35466  	return s
 35467  }
 35468  
 35469  // SetValues sets the Values field's value.
 35470  func (s *SetDimension) SetValues(v []*string) *SetDimension {
 35471  	s.Values = v
 35472  	return s
 35473  }
 35474  
 35475  // Specifies a condition to evaluate for an activity in a journey.
 35476  type SimpleCondition struct {
 35477  	_ struct{} `type:"structure"`
 35478  
 35479  	// The dimension settings for the event that's associated with the activity.
 35480  	EventCondition *EventCondition `type:"structure"`
 35481  
 35482  	// The segment that's associated with the activity.
 35483  	SegmentCondition *SegmentCondition `type:"structure"`
 35484  
 35485  	// The dimension settings for the segment that's associated with the activity.
 35486  	SegmentDimensions *SegmentDimensions `locationName:"segmentDimensions" type:"structure"`
 35487  }
 35488  
 35489  // String returns the string representation.
 35490  //
 35491  // API parameter values that are decorated as "sensitive" in the API will not
 35492  // be included in the string output. The member name will be present, but the
 35493  // value will be replaced with "sensitive".
 35494  func (s SimpleCondition) String() string {
 35495  	return awsutil.Prettify(s)
 35496  }
 35497  
 35498  // GoString returns the string representation.
 35499  //
 35500  // API parameter values that are decorated as "sensitive" in the API will not
 35501  // be included in the string output. The member name will be present, but the
 35502  // value will be replaced with "sensitive".
 35503  func (s SimpleCondition) GoString() string {
 35504  	return s.String()
 35505  }
 35506  
 35507  // Validate inspects the fields of the type to determine if they are valid.
 35508  func (s *SimpleCondition) Validate() error {
 35509  	invalidParams := request.ErrInvalidParams{Context: "SimpleCondition"}
 35510  	if s.EventCondition != nil {
 35511  		if err := s.EventCondition.Validate(); err != nil {
 35512  			invalidParams.AddNested("EventCondition", err.(request.ErrInvalidParams))
 35513  		}
 35514  	}
 35515  	if s.SegmentCondition != nil {
 35516  		if err := s.SegmentCondition.Validate(); err != nil {
 35517  			invalidParams.AddNested("SegmentCondition", err.(request.ErrInvalidParams))
 35518  		}
 35519  	}
 35520  	if s.SegmentDimensions != nil {
 35521  		if err := s.SegmentDimensions.Validate(); err != nil {
 35522  			invalidParams.AddNested("SegmentDimensions", err.(request.ErrInvalidParams))
 35523  		}
 35524  	}
 35525  
 35526  	if invalidParams.Len() > 0 {
 35527  		return invalidParams
 35528  	}
 35529  	return nil
 35530  }
 35531  
 35532  // SetEventCondition sets the EventCondition field's value.
 35533  func (s *SimpleCondition) SetEventCondition(v *EventCondition) *SimpleCondition {
 35534  	s.EventCondition = v
 35535  	return s
 35536  }
 35537  
 35538  // SetSegmentCondition sets the SegmentCondition field's value.
 35539  func (s *SimpleCondition) SetSegmentCondition(v *SegmentCondition) *SimpleCondition {
 35540  	s.SegmentCondition = v
 35541  	return s
 35542  }
 35543  
 35544  // SetSegmentDimensions sets the SegmentDimensions field's value.
 35545  func (s *SimpleCondition) SetSegmentDimensions(v *SegmentDimensions) *SimpleCondition {
 35546  	s.SegmentDimensions = v
 35547  	return s
 35548  }
 35549  
 35550  // Specifies the contents of an email message, composed of a subject, a text
 35551  // part, and an HTML part.
 35552  type SimpleEmail struct {
 35553  	_ struct{} `type:"structure"`
 35554  
 35555  	// The body of the email message, in HTML format. We recommend using HTML format
 35556  	// for email clients that render HTML content. You can include links, formatted
 35557  	// text, and more in an HTML message.
 35558  	HtmlPart *SimpleEmailPart `type:"structure"`
 35559  
 35560  	// The subject line, or title, of the email.
 35561  	Subject *SimpleEmailPart `type:"structure"`
 35562  
 35563  	// The body of the email message, in plain text format. We recommend using plain
 35564  	// text format for email clients that don't render HTML content and clients
 35565  	// that are connected to high-latency networks, such as mobile devices.
 35566  	TextPart *SimpleEmailPart `type:"structure"`
 35567  }
 35568  
 35569  // String returns the string representation.
 35570  //
 35571  // API parameter values that are decorated as "sensitive" in the API will not
 35572  // be included in the string output. The member name will be present, but the
 35573  // value will be replaced with "sensitive".
 35574  func (s SimpleEmail) String() string {
 35575  	return awsutil.Prettify(s)
 35576  }
 35577  
 35578  // GoString returns the string representation.
 35579  //
 35580  // API parameter values that are decorated as "sensitive" in the API will not
 35581  // be included in the string output. The member name will be present, but the
 35582  // value will be replaced with "sensitive".
 35583  func (s SimpleEmail) GoString() string {
 35584  	return s.String()
 35585  }
 35586  
 35587  // SetHtmlPart sets the HtmlPart field's value.
 35588  func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
 35589  	s.HtmlPart = v
 35590  	return s
 35591  }
 35592  
 35593  // SetSubject sets the Subject field's value.
 35594  func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
 35595  	s.Subject = v
 35596  	return s
 35597  }
 35598  
 35599  // SetTextPart sets the TextPart field's value.
 35600  func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
 35601  	s.TextPart = v
 35602  	return s
 35603  }
 35604  
 35605  // Specifies the subject or body of an email message, represented as textual
 35606  // email data and the applicable character set.
 35607  type SimpleEmailPart struct {
 35608  	_ struct{} `type:"structure"`
 35609  
 35610  	// The applicable character set for the message content.
 35611  	Charset *string `type:"string"`
 35612  
 35613  	// The textual data of the message content.
 35614  	Data *string `type:"string"`
 35615  }
 35616  
 35617  // String returns the string representation.
 35618  //
 35619  // API parameter values that are decorated as "sensitive" in the API will not
 35620  // be included in the string output. The member name will be present, but the
 35621  // value will be replaced with "sensitive".
 35622  func (s SimpleEmailPart) String() string {
 35623  	return awsutil.Prettify(s)
 35624  }
 35625  
 35626  // GoString returns the string representation.
 35627  //
 35628  // API parameter values that are decorated as "sensitive" in the API will not
 35629  // be included in the string output. The member name will be present, but the
 35630  // value will be replaced with "sensitive".
 35631  func (s SimpleEmailPart) GoString() string {
 35632  	return s.String()
 35633  }
 35634  
 35635  // SetCharset sets the Charset field's value.
 35636  func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
 35637  	s.Charset = &v
 35638  	return s
 35639  }
 35640  
 35641  // SetData sets the Data field's value.
 35642  func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
 35643  	s.Data = &v
 35644  	return s
 35645  }
 35646  
 35647  // Specifies the conditions for the first activity in a journey. This activity
 35648  // and its conditions determine which users are participants in a journey.
 35649  type StartCondition struct {
 35650  	_ struct{} `type:"structure"`
 35651  
 35652  	// The custom description of the condition.
 35653  	Description *string `type:"string"`
 35654  
 35655  	// Specifies the settings for an event that causes a journey activity to start.
 35656  	EventStartCondition *EventStartCondition `type:"structure"`
 35657  
 35658  	// The segment that's associated with the first activity in the journey. This
 35659  	// segment determines which users are participants in the journey.
 35660  	SegmentStartCondition *SegmentCondition `type:"structure"`
 35661  }
 35662  
 35663  // String returns the string representation.
 35664  //
 35665  // API parameter values that are decorated as "sensitive" in the API will not
 35666  // be included in the string output. The member name will be present, but the
 35667  // value will be replaced with "sensitive".
 35668  func (s StartCondition) String() string {
 35669  	return awsutil.Prettify(s)
 35670  }
 35671  
 35672  // GoString returns the string representation.
 35673  //
 35674  // API parameter values that are decorated as "sensitive" in the API will not
 35675  // be included in the string output. The member name will be present, but the
 35676  // value will be replaced with "sensitive".
 35677  func (s StartCondition) GoString() string {
 35678  	return s.String()
 35679  }
 35680  
 35681  // Validate inspects the fields of the type to determine if they are valid.
 35682  func (s *StartCondition) Validate() error {
 35683  	invalidParams := request.ErrInvalidParams{Context: "StartCondition"}
 35684  	if s.EventStartCondition != nil {
 35685  		if err := s.EventStartCondition.Validate(); err != nil {
 35686  			invalidParams.AddNested("EventStartCondition", err.(request.ErrInvalidParams))
 35687  		}
 35688  	}
 35689  	if s.SegmentStartCondition != nil {
 35690  		if err := s.SegmentStartCondition.Validate(); err != nil {
 35691  			invalidParams.AddNested("SegmentStartCondition", err.(request.ErrInvalidParams))
 35692  		}
 35693  	}
 35694  
 35695  	if invalidParams.Len() > 0 {
 35696  		return invalidParams
 35697  	}
 35698  	return nil
 35699  }
 35700  
 35701  // SetDescription sets the Description field's value.
 35702  func (s *StartCondition) SetDescription(v string) *StartCondition {
 35703  	s.Description = &v
 35704  	return s
 35705  }
 35706  
 35707  // SetEventStartCondition sets the EventStartCondition field's value.
 35708  func (s *StartCondition) SetEventStartCondition(v *EventStartCondition) *StartCondition {
 35709  	s.EventStartCondition = v
 35710  	return s
 35711  }
 35712  
 35713  // SetSegmentStartCondition sets the SegmentStartCondition field's value.
 35714  func (s *StartCondition) SetSegmentStartCondition(v *SegmentCondition) *StartCondition {
 35715  	s.SegmentStartCondition = v
 35716  	return s
 35717  }
 35718  
 35719  type TagResourceInput struct {
 35720  	_ struct{} `type:"structure" payload:"TagsModel"`
 35721  
 35722  	// ResourceArn is a required field
 35723  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 35724  
 35725  	// Specifies the tags (keys and values) for an application, campaign, message
 35726  	// template, or segment.
 35727  	//
 35728  	// TagsModel is a required field
 35729  	TagsModel *TagsModel `type:"structure" required:"true"`
 35730  }
 35731  
 35732  // String returns the string representation.
 35733  //
 35734  // API parameter values that are decorated as "sensitive" in the API will not
 35735  // be included in the string output. The member name will be present, but the
 35736  // value will be replaced with "sensitive".
 35737  func (s TagResourceInput) String() string {
 35738  	return awsutil.Prettify(s)
 35739  }
 35740  
 35741  // GoString returns the string representation.
 35742  //
 35743  // API parameter values that are decorated as "sensitive" in the API will not
 35744  // be included in the string output. The member name will be present, but the
 35745  // value will be replaced with "sensitive".
 35746  func (s TagResourceInput) GoString() string {
 35747  	return s.String()
 35748  }
 35749  
 35750  // Validate inspects the fields of the type to determine if they are valid.
 35751  func (s *TagResourceInput) Validate() error {
 35752  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 35753  	if s.ResourceArn == nil {
 35754  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 35755  	}
 35756  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 35757  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 35758  	}
 35759  	if s.TagsModel == nil {
 35760  		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
 35761  	}
 35762  	if s.TagsModel != nil {
 35763  		if err := s.TagsModel.Validate(); err != nil {
 35764  			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
 35765  		}
 35766  	}
 35767  
 35768  	if invalidParams.Len() > 0 {
 35769  		return invalidParams
 35770  	}
 35771  	return nil
 35772  }
 35773  
 35774  // SetResourceArn sets the ResourceArn field's value.
 35775  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 35776  	s.ResourceArn = &v
 35777  	return s
 35778  }
 35779  
 35780  // SetTagsModel sets the TagsModel field's value.
 35781  func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
 35782  	s.TagsModel = v
 35783  	return s
 35784  }
 35785  
 35786  type TagResourceOutput struct {
 35787  	_ struct{} `type:"structure" nopayload:"true"`
 35788  }
 35789  
 35790  // String returns the string representation.
 35791  //
 35792  // API parameter values that are decorated as "sensitive" in the API will not
 35793  // be included in the string output. The member name will be present, but the
 35794  // value will be replaced with "sensitive".
 35795  func (s TagResourceOutput) String() string {
 35796  	return awsutil.Prettify(s)
 35797  }
 35798  
 35799  // GoString returns the string representation.
 35800  //
 35801  // API parameter values that are decorated as "sensitive" in the API will not
 35802  // be included in the string output. The member name will be present, but the
 35803  // value will be replaced with "sensitive".
 35804  func (s TagResourceOutput) GoString() string {
 35805  	return s.String()
 35806  }
 35807  
 35808  // Specifies the tags (keys and values) for an application, campaign, message
 35809  // template, or segment.
 35810  type TagsModel struct {
 35811  	_ struct{} `type:"structure"`
 35812  
 35813  	// A string-to-string map of key-value pairs that defines the tags for an application,
 35814  	// campaign, message template, or segment. Each of these resources can have
 35815  	// a maximum of 50 tags.
 35816  	//
 35817  	// Each tag consists of a required tag key and an associated tag value. The
 35818  	// maximum length of a tag key is 128 characters. The maximum length of a tag
 35819  	// value is 256 characters.
 35820  	//
 35821  	// Tags is a required field
 35822  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
 35823  }
 35824  
 35825  // String returns the string representation.
 35826  //
 35827  // API parameter values that are decorated as "sensitive" in the API will not
 35828  // be included in the string output. The member name will be present, but the
 35829  // value will be replaced with "sensitive".
 35830  func (s TagsModel) String() string {
 35831  	return awsutil.Prettify(s)
 35832  }
 35833  
 35834  // GoString returns the string representation.
 35835  //
 35836  // API parameter values that are decorated as "sensitive" in the API will not
 35837  // be included in the string output. The member name will be present, but the
 35838  // value will be replaced with "sensitive".
 35839  func (s TagsModel) GoString() string {
 35840  	return s.String()
 35841  }
 35842  
 35843  // Validate inspects the fields of the type to determine if they are valid.
 35844  func (s *TagsModel) Validate() error {
 35845  	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
 35846  	if s.Tags == nil {
 35847  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 35848  	}
 35849  
 35850  	if invalidParams.Len() > 0 {
 35851  		return invalidParams
 35852  	}
 35853  	return nil
 35854  }
 35855  
 35856  // SetTags sets the Tags field's value.
 35857  func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
 35858  	s.Tags = v
 35859  	return s
 35860  }
 35861  
 35862  // Specifies the name and version of the message template to use for the message.
 35863  type Template struct {
 35864  	_ struct{} `type:"structure"`
 35865  
 35866  	// The name of the message template to use for the message. If specified, this
 35867  	// value must match the name of an existing message template.
 35868  	Name *string `type:"string"`
 35869  
 35870  	// The unique identifier for the version of the message template to use for
 35871  	// the message. If specified, this value must match the identifier for an existing
 35872  	// template version. To retrieve a list of versions and version identifiers
 35873  	// for a template, use the Template Versions resource.
 35874  	//
 35875  	// If you don't specify a value for this property, Amazon Pinpoint uses the
 35876  	// active version of the template. The active version is typically the version
 35877  	// of a template that's been most recently reviewed and approved for use, depending
 35878  	// on your workflow. It isn't necessarily the latest version of a template.
 35879  	Version *string `type:"string"`
 35880  }
 35881  
 35882  // String returns the string representation.
 35883  //
 35884  // API parameter values that are decorated as "sensitive" in the API will not
 35885  // be included in the string output. The member name will be present, but the
 35886  // value will be replaced with "sensitive".
 35887  func (s Template) String() string {
 35888  	return awsutil.Prettify(s)
 35889  }
 35890  
 35891  // GoString returns the string representation.
 35892  //
 35893  // API parameter values that are decorated as "sensitive" in the API will not
 35894  // be included in the string output. The member name will be present, but the
 35895  // value will be replaced with "sensitive".
 35896  func (s Template) GoString() string {
 35897  	return s.String()
 35898  }
 35899  
 35900  // SetName sets the Name field's value.
 35901  func (s *Template) SetName(v string) *Template {
 35902  	s.Name = &v
 35903  	return s
 35904  }
 35905  
 35906  // SetVersion sets the Version field's value.
 35907  func (s *Template) SetVersion(v string) *Template {
 35908  	s.Version = &v
 35909  	return s
 35910  }
 35911  
 35912  // Specifies which version of a message template to use as the active version
 35913  // of the template.
 35914  type TemplateActiveVersionRequest struct {
 35915  	_ struct{} `type:"structure"`
 35916  
 35917  	// The version of the message template to use as the active version of the template.
 35918  	// Valid values are: latest, for the most recent version of the template; or,
 35919  	// the unique identifier for any existing version of the template. If you specify
 35920  	// an identifier, the value must match the identifier for an existing template
 35921  	// version. To retrieve a list of versions and version identifiers for a template,
 35922  	// use the Template Versions resource.
 35923  	Version *string `type:"string"`
 35924  }
 35925  
 35926  // String returns the string representation.
 35927  //
 35928  // API parameter values that are decorated as "sensitive" in the API will not
 35929  // be included in the string output. The member name will be present, but the
 35930  // value will be replaced with "sensitive".
 35931  func (s TemplateActiveVersionRequest) String() string {
 35932  	return awsutil.Prettify(s)
 35933  }
 35934  
 35935  // GoString returns the string representation.
 35936  //
 35937  // API parameter values that are decorated as "sensitive" in the API will not
 35938  // be included in the string output. The member name will be present, but the
 35939  // value will be replaced with "sensitive".
 35940  func (s TemplateActiveVersionRequest) GoString() string {
 35941  	return s.String()
 35942  }
 35943  
 35944  // SetVersion sets the Version field's value.
 35945  func (s *TemplateActiveVersionRequest) SetVersion(v string) *TemplateActiveVersionRequest {
 35946  	s.Version = &v
 35947  	return s
 35948  }
 35949  
 35950  // Specifies the message template to use for the message, for each type of channel.
 35951  type TemplateConfiguration struct {
 35952  	_ struct{} `type:"structure"`
 35953  
 35954  	// The email template to use for the message.
 35955  	EmailTemplate *Template `type:"structure"`
 35956  
 35957  	// The push notification template to use for the message.
 35958  	PushTemplate *Template `type:"structure"`
 35959  
 35960  	// The SMS template to use for the message.
 35961  	SMSTemplate *Template `type:"structure"`
 35962  
 35963  	// The voice template to use for the message. This object isn't supported for
 35964  	// campaigns.
 35965  	VoiceTemplate *Template `type:"structure"`
 35966  }
 35967  
 35968  // String returns the string representation.
 35969  //
 35970  // API parameter values that are decorated as "sensitive" in the API will not
 35971  // be included in the string output. The member name will be present, but the
 35972  // value will be replaced with "sensitive".
 35973  func (s TemplateConfiguration) String() string {
 35974  	return awsutil.Prettify(s)
 35975  }
 35976  
 35977  // GoString returns the string representation.
 35978  //
 35979  // API parameter values that are decorated as "sensitive" in the API will not
 35980  // be included in the string output. The member name will be present, but the
 35981  // value will be replaced with "sensitive".
 35982  func (s TemplateConfiguration) GoString() string {
 35983  	return s.String()
 35984  }
 35985  
 35986  // SetEmailTemplate sets the EmailTemplate field's value.
 35987  func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration {
 35988  	s.EmailTemplate = v
 35989  	return s
 35990  }
 35991  
 35992  // SetPushTemplate sets the PushTemplate field's value.
 35993  func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration {
 35994  	s.PushTemplate = v
 35995  	return s
 35996  }
 35997  
 35998  // SetSMSTemplate sets the SMSTemplate field's value.
 35999  func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration {
 36000  	s.SMSTemplate = v
 36001  	return s
 36002  }
 36003  
 36004  // SetVoiceTemplate sets the VoiceTemplate field's value.
 36005  func (s *TemplateConfiguration) SetVoiceTemplate(v *Template) *TemplateConfiguration {
 36006  	s.VoiceTemplate = v
 36007  	return s
 36008  }
 36009  
 36010  // Provides information about a request to create a message template.
 36011  type TemplateCreateMessageBody struct {
 36012  	_ struct{} `type:"structure"`
 36013  
 36014  	// The Amazon Resource Name (ARN) of the message template that was created.
 36015  	Arn *string `type:"string"`
 36016  
 36017  	// The message that's returned from the API for the request to create the message
 36018  	// template.
 36019  	Message *string `type:"string"`
 36020  
 36021  	// The unique identifier for the request to create the message template.
 36022  	RequestID *string `type:"string"`
 36023  }
 36024  
 36025  // String returns the string representation.
 36026  //
 36027  // API parameter values that are decorated as "sensitive" in the API will not
 36028  // be included in the string output. The member name will be present, but the
 36029  // value will be replaced with "sensitive".
 36030  func (s TemplateCreateMessageBody) String() string {
 36031  	return awsutil.Prettify(s)
 36032  }
 36033  
 36034  // GoString returns the string representation.
 36035  //
 36036  // API parameter values that are decorated as "sensitive" in the API will not
 36037  // be included in the string output. The member name will be present, but the
 36038  // value will be replaced with "sensitive".
 36039  func (s TemplateCreateMessageBody) GoString() string {
 36040  	return s.String()
 36041  }
 36042  
 36043  // SetArn sets the Arn field's value.
 36044  func (s *TemplateCreateMessageBody) SetArn(v string) *TemplateCreateMessageBody {
 36045  	s.Arn = &v
 36046  	return s
 36047  }
 36048  
 36049  // SetMessage sets the Message field's value.
 36050  func (s *TemplateCreateMessageBody) SetMessage(v string) *TemplateCreateMessageBody {
 36051  	s.Message = &v
 36052  	return s
 36053  }
 36054  
 36055  // SetRequestID sets the RequestID field's value.
 36056  func (s *TemplateCreateMessageBody) SetRequestID(v string) *TemplateCreateMessageBody {
 36057  	s.RequestID = &v
 36058  	return s
 36059  }
 36060  
 36061  // Provides information about a message template that's associated with your
 36062  // Amazon Pinpoint account.
 36063  type TemplateResponse struct {
 36064  	_ struct{} `type:"structure"`
 36065  
 36066  	// The Amazon Resource Name (ARN) of the message template. This value isn't
 36067  	// included in a TemplateResponse object. To retrieve the ARN of a template,
 36068  	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
 36069  	// operation, depending on the type of template that you want to retrieve the
 36070  	// ARN for.
 36071  	Arn *string `type:"string"`
 36072  
 36073  	// The date, in ISO 8601 format, when the message template was created.
 36074  	//
 36075  	// CreationDate is a required field
 36076  	CreationDate *string `type:"string" required:"true"`
 36077  
 36078  	// The JSON object that specifies the default values that are used for message
 36079  	// variables in the message template. This object isn't included in a TemplateResponse
 36080  	// object. To retrieve this object for a template, use the GetEmailTemplate,
 36081  	// GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending
 36082  	// on the type of template that you want to retrieve the object for.
 36083  	DefaultSubstitutions *string `type:"string"`
 36084  
 36085  	// The date, in ISO 8601 format, when the message template was last modified.
 36086  	//
 36087  	// LastModifiedDate is a required field
 36088  	LastModifiedDate *string `type:"string" required:"true"`
 36089  
 36090  	// A map of key-value pairs that identifies the tags that are associated with
 36091  	// the message template. This object isn't included in a TemplateResponse object.
 36092  	// To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate,
 36093  	// GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template
 36094  	// that you want to retrieve the object for.
 36095  	Tags map[string]*string `locationName:"tags" type:"map"`
 36096  
 36097  	// The custom description of the message template. This value isn't included
 36098  	// in a TemplateResponse object. To retrieve the description of a template,
 36099  	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
 36100  	// operation, depending on the type of template that you want to retrieve the
 36101  	// description for.
 36102  	TemplateDescription *string `type:"string"`
 36103  
 36104  	// The name of the message template.
 36105  	//
 36106  	// TemplateName is a required field
 36107  	TemplateName *string `type:"string" required:"true"`
 36108  
 36109  	// The type of channel that the message template is designed for. Possible values
 36110  	// are: EMAIL, PUSH, SMS, and VOICE.
 36111  	//
 36112  	// TemplateType is a required field
 36113  	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
 36114  
 36115  	// The unique identifier, as an integer, for the active version of the message
 36116  	// template.
 36117  	Version *string `type:"string"`
 36118  }
 36119  
 36120  // String returns the string representation.
 36121  //
 36122  // API parameter values that are decorated as "sensitive" in the API will not
 36123  // be included in the string output. The member name will be present, but the
 36124  // value will be replaced with "sensitive".
 36125  func (s TemplateResponse) String() string {
 36126  	return awsutil.Prettify(s)
 36127  }
 36128  
 36129  // GoString returns the string representation.
 36130  //
 36131  // API parameter values that are decorated as "sensitive" in the API will not
 36132  // be included in the string output. The member name will be present, but the
 36133  // value will be replaced with "sensitive".
 36134  func (s TemplateResponse) GoString() string {
 36135  	return s.String()
 36136  }
 36137  
 36138  // SetArn sets the Arn field's value.
 36139  func (s *TemplateResponse) SetArn(v string) *TemplateResponse {
 36140  	s.Arn = &v
 36141  	return s
 36142  }
 36143  
 36144  // SetCreationDate sets the CreationDate field's value.
 36145  func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse {
 36146  	s.CreationDate = &v
 36147  	return s
 36148  }
 36149  
 36150  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 36151  func (s *TemplateResponse) SetDefaultSubstitutions(v string) *TemplateResponse {
 36152  	s.DefaultSubstitutions = &v
 36153  	return s
 36154  }
 36155  
 36156  // SetLastModifiedDate sets the LastModifiedDate field's value.
 36157  func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse {
 36158  	s.LastModifiedDate = &v
 36159  	return s
 36160  }
 36161  
 36162  // SetTags sets the Tags field's value.
 36163  func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse {
 36164  	s.Tags = v
 36165  	return s
 36166  }
 36167  
 36168  // SetTemplateDescription sets the TemplateDescription field's value.
 36169  func (s *TemplateResponse) SetTemplateDescription(v string) *TemplateResponse {
 36170  	s.TemplateDescription = &v
 36171  	return s
 36172  }
 36173  
 36174  // SetTemplateName sets the TemplateName field's value.
 36175  func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse {
 36176  	s.TemplateName = &v
 36177  	return s
 36178  }
 36179  
 36180  // SetTemplateType sets the TemplateType field's value.
 36181  func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse {
 36182  	s.TemplateType = &v
 36183  	return s
 36184  }
 36185  
 36186  // SetVersion sets the Version field's value.
 36187  func (s *TemplateResponse) SetVersion(v string) *TemplateResponse {
 36188  	s.Version = &v
 36189  	return s
 36190  }
 36191  
 36192  // Provides information about a specific version of a message template.
 36193  type TemplateVersionResponse struct {
 36194  	_ struct{} `type:"structure"`
 36195  
 36196  	// The date, in ISO 8601 format, when the version of the message template was
 36197  	// created.
 36198  	//
 36199  	// CreationDate is a required field
 36200  	CreationDate *string `type:"string" required:"true"`
 36201  
 36202  	// A JSON object that specifies the default values that are used for message
 36203  	// variables in the version of the message template. This object is a set of
 36204  	// key-value pairs. Each key defines a message variable in the template. The
 36205  	// corresponding value defines the default value for that variable.
 36206  	DefaultSubstitutions *string `type:"string"`
 36207  
 36208  	// The date, in ISO 8601 format, when the version of the message template was
 36209  	// last modified.
 36210  	//
 36211  	// LastModifiedDate is a required field
 36212  	LastModifiedDate *string `type:"string" required:"true"`
 36213  
 36214  	// The custom description of the version of the message template.
 36215  	TemplateDescription *string `type:"string"`
 36216  
 36217  	// The name of the message template.
 36218  	//
 36219  	// TemplateName is a required field
 36220  	TemplateName *string `type:"string" required:"true"`
 36221  
 36222  	// The type of channel that the message template is designed for. Possible values
 36223  	// are: EMAIL, PUSH, SMS, and VOICE.
 36224  	//
 36225  	// TemplateType is a required field
 36226  	TemplateType *string `type:"string" required:"true"`
 36227  
 36228  	// The unique identifier for the version of the message template. This value
 36229  	// is an integer that Amazon Pinpoint automatically increments and assigns to
 36230  	// each new version of a template.
 36231  	Version *string `type:"string"`
 36232  }
 36233  
 36234  // String returns the string representation.
 36235  //
 36236  // API parameter values that are decorated as "sensitive" in the API will not
 36237  // be included in the string output. The member name will be present, but the
 36238  // value will be replaced with "sensitive".
 36239  func (s TemplateVersionResponse) String() string {
 36240  	return awsutil.Prettify(s)
 36241  }
 36242  
 36243  // GoString returns the string representation.
 36244  //
 36245  // API parameter values that are decorated as "sensitive" in the API will not
 36246  // be included in the string output. The member name will be present, but the
 36247  // value will be replaced with "sensitive".
 36248  func (s TemplateVersionResponse) GoString() string {
 36249  	return s.String()
 36250  }
 36251  
 36252  // SetCreationDate sets the CreationDate field's value.
 36253  func (s *TemplateVersionResponse) SetCreationDate(v string) *TemplateVersionResponse {
 36254  	s.CreationDate = &v
 36255  	return s
 36256  }
 36257  
 36258  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 36259  func (s *TemplateVersionResponse) SetDefaultSubstitutions(v string) *TemplateVersionResponse {
 36260  	s.DefaultSubstitutions = &v
 36261  	return s
 36262  }
 36263  
 36264  // SetLastModifiedDate sets the LastModifiedDate field's value.
 36265  func (s *TemplateVersionResponse) SetLastModifiedDate(v string) *TemplateVersionResponse {
 36266  	s.LastModifiedDate = &v
 36267  	return s
 36268  }
 36269  
 36270  // SetTemplateDescription sets the TemplateDescription field's value.
 36271  func (s *TemplateVersionResponse) SetTemplateDescription(v string) *TemplateVersionResponse {
 36272  	s.TemplateDescription = &v
 36273  	return s
 36274  }
 36275  
 36276  // SetTemplateName sets the TemplateName field's value.
 36277  func (s *TemplateVersionResponse) SetTemplateName(v string) *TemplateVersionResponse {
 36278  	s.TemplateName = &v
 36279  	return s
 36280  }
 36281  
 36282  // SetTemplateType sets the TemplateType field's value.
 36283  func (s *TemplateVersionResponse) SetTemplateType(v string) *TemplateVersionResponse {
 36284  	s.TemplateType = &v
 36285  	return s
 36286  }
 36287  
 36288  // SetVersion sets the Version field's value.
 36289  func (s *TemplateVersionResponse) SetVersion(v string) *TemplateVersionResponse {
 36290  	s.Version = &v
 36291  	return s
 36292  }
 36293  
 36294  // Provides information about all the versions of a specific message template.
 36295  type TemplateVersionsResponse struct {
 36296  	_ struct{} `type:"structure"`
 36297  
 36298  	// An array of responses, one for each version of the message template.
 36299  	//
 36300  	// Item is a required field
 36301  	Item []*TemplateVersionResponse `type:"list" required:"true"`
 36302  
 36303  	// The message that's returned from the API for the request to retrieve information
 36304  	// about all the versions of the message template.
 36305  	Message *string `type:"string"`
 36306  
 36307  	// The string to use in a subsequent request to get the next page of results
 36308  	// in a paginated response. This value is null if there are no additional pages.
 36309  	NextToken *string `type:"string"`
 36310  
 36311  	// The unique identifier for the request to retrieve information about all the
 36312  	// versions of the message template.
 36313  	RequestID *string `type:"string"`
 36314  }
 36315  
 36316  // String returns the string representation.
 36317  //
 36318  // API parameter values that are decorated as "sensitive" in the API will not
 36319  // be included in the string output. The member name will be present, but the
 36320  // value will be replaced with "sensitive".
 36321  func (s TemplateVersionsResponse) String() string {
 36322  	return awsutil.Prettify(s)
 36323  }
 36324  
 36325  // GoString returns the string representation.
 36326  //
 36327  // API parameter values that are decorated as "sensitive" in the API will not
 36328  // be included in the string output. The member name will be present, but the
 36329  // value will be replaced with "sensitive".
 36330  func (s TemplateVersionsResponse) GoString() string {
 36331  	return s.String()
 36332  }
 36333  
 36334  // SetItem sets the Item field's value.
 36335  func (s *TemplateVersionsResponse) SetItem(v []*TemplateVersionResponse) *TemplateVersionsResponse {
 36336  	s.Item = v
 36337  	return s
 36338  }
 36339  
 36340  // SetMessage sets the Message field's value.
 36341  func (s *TemplateVersionsResponse) SetMessage(v string) *TemplateVersionsResponse {
 36342  	s.Message = &v
 36343  	return s
 36344  }
 36345  
 36346  // SetNextToken sets the NextToken field's value.
 36347  func (s *TemplateVersionsResponse) SetNextToken(v string) *TemplateVersionsResponse {
 36348  	s.NextToken = &v
 36349  	return s
 36350  }
 36351  
 36352  // SetRequestID sets the RequestID field's value.
 36353  func (s *TemplateVersionsResponse) SetRequestID(v string) *TemplateVersionsResponse {
 36354  	s.RequestID = &v
 36355  	return s
 36356  }
 36357  
 36358  // Provides information about all the message templates that are associated
 36359  // with your Amazon Pinpoint account.
 36360  type TemplatesResponse struct {
 36361  	_ struct{} `type:"structure"`
 36362  
 36363  	// An array of responses, one for each message template that's associated with
 36364  	// your Amazon Pinpoint account and meets any filter criteria that you specified
 36365  	// in the request.
 36366  	//
 36367  	// Item is a required field
 36368  	Item []*TemplateResponse `type:"list" required:"true"`
 36369  
 36370  	// The string to use in a subsequent request to get the next page of results
 36371  	// in a paginated response. This value is null if there are no additional pages.
 36372  	NextToken *string `type:"string"`
 36373  }
 36374  
 36375  // String returns the string representation.
 36376  //
 36377  // API parameter values that are decorated as "sensitive" in the API will not
 36378  // be included in the string output. The member name will be present, but the
 36379  // value will be replaced with "sensitive".
 36380  func (s TemplatesResponse) String() string {
 36381  	return awsutil.Prettify(s)
 36382  }
 36383  
 36384  // GoString returns the string representation.
 36385  //
 36386  // API parameter values that are decorated as "sensitive" in the API will not
 36387  // be included in the string output. The member name will be present, but the
 36388  // value will be replaced with "sensitive".
 36389  func (s TemplatesResponse) GoString() string {
 36390  	return s.String()
 36391  }
 36392  
 36393  // SetItem sets the Item field's value.
 36394  func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse {
 36395  	s.Item = v
 36396  	return s
 36397  }
 36398  
 36399  // SetNextToken sets the NextToken field's value.
 36400  func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse {
 36401  	s.NextToken = &v
 36402  	return s
 36403  }
 36404  
 36405  // Provides information about an API request or response.
 36406  type TooManyRequestsException struct {
 36407  	_            struct{}                  `type:"structure"`
 36408  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 36409  
 36410  	Message_ *string `locationName:"Message" type:"string"`
 36411  
 36412  	RequestID_ *string `locationName:"RequestID" type:"string"`
 36413  }
 36414  
 36415  // String returns the string representation.
 36416  //
 36417  // API parameter values that are decorated as "sensitive" in the API will not
 36418  // be included in the string output. The member name will be present, but the
 36419  // value will be replaced with "sensitive".
 36420  func (s TooManyRequestsException) String() string {
 36421  	return awsutil.Prettify(s)
 36422  }
 36423  
 36424  // GoString returns the string representation.
 36425  //
 36426  // API parameter values that are decorated as "sensitive" in the API will not
 36427  // be included in the string output. The member name will be present, but the
 36428  // value will be replaced with "sensitive".
 36429  func (s TooManyRequestsException) GoString() string {
 36430  	return s.String()
 36431  }
 36432  
 36433  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
 36434  	return &TooManyRequestsException{
 36435  		RespMetadata: v,
 36436  	}
 36437  }
 36438  
 36439  // Code returns the exception type name.
 36440  func (s *TooManyRequestsException) Code() string {
 36441  	return "TooManyRequestsException"
 36442  }
 36443  
 36444  // Message returns the exception's message.
 36445  func (s *TooManyRequestsException) Message() string {
 36446  	if s.Message_ != nil {
 36447  		return *s.Message_
 36448  	}
 36449  	return ""
 36450  }
 36451  
 36452  // OrigErr always returns nil, satisfies awserr.Error interface.
 36453  func (s *TooManyRequestsException) OrigErr() error {
 36454  	return nil
 36455  }
 36456  
 36457  func (s *TooManyRequestsException) Error() string {
 36458  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 36459  }
 36460  
 36461  // Status code returns the HTTP status code for the request's response error.
 36462  func (s *TooManyRequestsException) StatusCode() int {
 36463  	return s.RespMetadata.StatusCode
 36464  }
 36465  
 36466  // RequestID returns the service's response RequestID for request.
 36467  func (s *TooManyRequestsException) RequestID() string {
 36468  	return s.RespMetadata.RequestID
 36469  }
 36470  
 36471  // Specifies the settings for a campaign treatment. A treatment is a variation
 36472  // of a campaign that's used for A/B testing of a campaign.
 36473  type TreatmentResource struct {
 36474  	_ struct{} `type:"structure"`
 36475  
 36476  	// The delivery configuration settings for sending the treatment through a custom
 36477  	// channel. This object is required if the MessageConfiguration object for the
 36478  	// treatment specifies a CustomMessage object.
 36479  	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
 36480  
 36481  	// The unique identifier for the treatment.
 36482  	//
 36483  	// Id is a required field
 36484  	Id *string `type:"string" required:"true"`
 36485  
 36486  	// The message configuration settings for the treatment.
 36487  	MessageConfiguration *MessageConfiguration `type:"structure"`
 36488  
 36489  	// The schedule settings for the treatment.
 36490  	Schedule *Schedule `type:"structure"`
 36491  
 36492  	// The allocated percentage of users (segment members) that the treatment is
 36493  	// sent to.
 36494  	//
 36495  	// SizePercent is a required field
 36496  	SizePercent *int64 `type:"integer" required:"true"`
 36497  
 36498  	// The current status of the treatment.
 36499  	State *CampaignState `type:"structure"`
 36500  
 36501  	// The message template to use for the treatment.
 36502  	TemplateConfiguration *TemplateConfiguration `type:"structure"`
 36503  
 36504  	// The custom description of the treatment.
 36505  	TreatmentDescription *string `type:"string"`
 36506  
 36507  	// The custom name of the treatment.
 36508  	TreatmentName *string `type:"string"`
 36509  }
 36510  
 36511  // String returns the string representation.
 36512  //
 36513  // API parameter values that are decorated as "sensitive" in the API will not
 36514  // be included in the string output. The member name will be present, but the
 36515  // value will be replaced with "sensitive".
 36516  func (s TreatmentResource) String() string {
 36517  	return awsutil.Prettify(s)
 36518  }
 36519  
 36520  // GoString returns the string representation.
 36521  //
 36522  // API parameter values that are decorated as "sensitive" in the API will not
 36523  // be included in the string output. The member name will be present, but the
 36524  // value will be replaced with "sensitive".
 36525  func (s TreatmentResource) GoString() string {
 36526  	return s.String()
 36527  }
 36528  
 36529  // SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
 36530  func (s *TreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *TreatmentResource {
 36531  	s.CustomDeliveryConfiguration = v
 36532  	return s
 36533  }
 36534  
 36535  // SetId sets the Id field's value.
 36536  func (s *TreatmentResource) SetId(v string) *TreatmentResource {
 36537  	s.Id = &v
 36538  	return s
 36539  }
 36540  
 36541  // SetMessageConfiguration sets the MessageConfiguration field's value.
 36542  func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
 36543  	s.MessageConfiguration = v
 36544  	return s
 36545  }
 36546  
 36547  // SetSchedule sets the Schedule field's value.
 36548  func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
 36549  	s.Schedule = v
 36550  	return s
 36551  }
 36552  
 36553  // SetSizePercent sets the SizePercent field's value.
 36554  func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
 36555  	s.SizePercent = &v
 36556  	return s
 36557  }
 36558  
 36559  // SetState sets the State field's value.
 36560  func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
 36561  	s.State = v
 36562  	return s
 36563  }
 36564  
 36565  // SetTemplateConfiguration sets the TemplateConfiguration field's value.
 36566  func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource {
 36567  	s.TemplateConfiguration = v
 36568  	return s
 36569  }
 36570  
 36571  // SetTreatmentDescription sets the TreatmentDescription field's value.
 36572  func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
 36573  	s.TreatmentDescription = &v
 36574  	return s
 36575  }
 36576  
 36577  // SetTreatmentName sets the TreatmentName field's value.
 36578  func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
 36579  	s.TreatmentName = &v
 36580  	return s
 36581  }
 36582  
 36583  type UntagResourceInput struct {
 36584  	_ struct{} `type:"structure" nopayload:"true"`
 36585  
 36586  	// ResourceArn is a required field
 36587  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 36588  
 36589  	// TagKeys is a required field
 36590  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 36591  }
 36592  
 36593  // String returns the string representation.
 36594  //
 36595  // API parameter values that are decorated as "sensitive" in the API will not
 36596  // be included in the string output. The member name will be present, but the
 36597  // value will be replaced with "sensitive".
 36598  func (s UntagResourceInput) String() string {
 36599  	return awsutil.Prettify(s)
 36600  }
 36601  
 36602  // GoString returns the string representation.
 36603  //
 36604  // API parameter values that are decorated as "sensitive" in the API will not
 36605  // be included in the string output. The member name will be present, but the
 36606  // value will be replaced with "sensitive".
 36607  func (s UntagResourceInput) GoString() string {
 36608  	return s.String()
 36609  }
 36610  
 36611  // Validate inspects the fields of the type to determine if they are valid.
 36612  func (s *UntagResourceInput) Validate() error {
 36613  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 36614  	if s.ResourceArn == nil {
 36615  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 36616  	}
 36617  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 36618  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 36619  	}
 36620  	if s.TagKeys == nil {
 36621  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 36622  	}
 36623  
 36624  	if invalidParams.Len() > 0 {
 36625  		return invalidParams
 36626  	}
 36627  	return nil
 36628  }
 36629  
 36630  // SetResourceArn sets the ResourceArn field's value.
 36631  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 36632  	s.ResourceArn = &v
 36633  	return s
 36634  }
 36635  
 36636  // SetTagKeys sets the TagKeys field's value.
 36637  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 36638  	s.TagKeys = v
 36639  	return s
 36640  }
 36641  
 36642  type UntagResourceOutput struct {
 36643  	_ struct{} `type:"structure" nopayload:"true"`
 36644  }
 36645  
 36646  // String returns the string representation.
 36647  //
 36648  // API parameter values that are decorated as "sensitive" in the API will not
 36649  // be included in the string output. The member name will be present, but the
 36650  // value will be replaced with "sensitive".
 36651  func (s UntagResourceOutput) String() string {
 36652  	return awsutil.Prettify(s)
 36653  }
 36654  
 36655  // GoString returns the string representation.
 36656  //
 36657  // API parameter values that are decorated as "sensitive" in the API will not
 36658  // be included in the string output. The member name will be present, but the
 36659  // value will be replaced with "sensitive".
 36660  func (s UntagResourceOutput) GoString() string {
 36661  	return s.String()
 36662  }
 36663  
 36664  type UpdateAdmChannelInput struct {
 36665  	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
 36666  
 36667  	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
 36668  	// for an application.
 36669  	//
 36670  	// ADMChannelRequest is a required field
 36671  	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
 36672  
 36673  	// ApplicationId is a required field
 36674  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 36675  }
 36676  
 36677  // String returns the string representation.
 36678  //
 36679  // API parameter values that are decorated as "sensitive" in the API will not
 36680  // be included in the string output. The member name will be present, but the
 36681  // value will be replaced with "sensitive".
 36682  func (s UpdateAdmChannelInput) String() string {
 36683  	return awsutil.Prettify(s)
 36684  }
 36685  
 36686  // GoString returns the string representation.
 36687  //
 36688  // API parameter values that are decorated as "sensitive" in the API will not
 36689  // be included in the string output. The member name will be present, but the
 36690  // value will be replaced with "sensitive".
 36691  func (s UpdateAdmChannelInput) GoString() string {
 36692  	return s.String()
 36693  }
 36694  
 36695  // Validate inspects the fields of the type to determine if they are valid.
 36696  func (s *UpdateAdmChannelInput) Validate() error {
 36697  	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
 36698  	if s.ADMChannelRequest == nil {
 36699  		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
 36700  	}
 36701  	if s.ApplicationId == nil {
 36702  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 36703  	}
 36704  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 36705  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 36706  	}
 36707  	if s.ADMChannelRequest != nil {
 36708  		if err := s.ADMChannelRequest.Validate(); err != nil {
 36709  			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
 36710  		}
 36711  	}
 36712  
 36713  	if invalidParams.Len() > 0 {
 36714  		return invalidParams
 36715  	}
 36716  	return nil
 36717  }
 36718  
 36719  // SetADMChannelRequest sets the ADMChannelRequest field's value.
 36720  func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
 36721  	s.ADMChannelRequest = v
 36722  	return s
 36723  }
 36724  
 36725  // SetApplicationId sets the ApplicationId field's value.
 36726  func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
 36727  	s.ApplicationId = &v
 36728  	return s
 36729  }
 36730  
 36731  type UpdateAdmChannelOutput struct {
 36732  	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
 36733  
 36734  	// Provides information about the status and settings of the ADM (Amazon Device
 36735  	// Messaging) channel for an application.
 36736  	//
 36737  	// ADMChannelResponse is a required field
 36738  	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
 36739  }
 36740  
 36741  // String returns the string representation.
 36742  //
 36743  // API parameter values that are decorated as "sensitive" in the API will not
 36744  // be included in the string output. The member name will be present, but the
 36745  // value will be replaced with "sensitive".
 36746  func (s UpdateAdmChannelOutput) String() string {
 36747  	return awsutil.Prettify(s)
 36748  }
 36749  
 36750  // GoString returns the string representation.
 36751  //
 36752  // API parameter values that are decorated as "sensitive" in the API will not
 36753  // be included in the string output. The member name will be present, but the
 36754  // value will be replaced with "sensitive".
 36755  func (s UpdateAdmChannelOutput) GoString() string {
 36756  	return s.String()
 36757  }
 36758  
 36759  // SetADMChannelResponse sets the ADMChannelResponse field's value.
 36760  func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
 36761  	s.ADMChannelResponse = v
 36762  	return s
 36763  }
 36764  
 36765  type UpdateApnsChannelInput struct {
 36766  	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
 36767  
 36768  	// Specifies the status and settings of the APNs (Apple Push Notification service)
 36769  	// channel for an application.
 36770  	//
 36771  	// APNSChannelRequest is a required field
 36772  	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
 36773  
 36774  	// ApplicationId is a required field
 36775  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 36776  }
 36777  
 36778  // String returns the string representation.
 36779  //
 36780  // API parameter values that are decorated as "sensitive" in the API will not
 36781  // be included in the string output. The member name will be present, but the
 36782  // value will be replaced with "sensitive".
 36783  func (s UpdateApnsChannelInput) String() string {
 36784  	return awsutil.Prettify(s)
 36785  }
 36786  
 36787  // GoString returns the string representation.
 36788  //
 36789  // API parameter values that are decorated as "sensitive" in the API will not
 36790  // be included in the string output. The member name will be present, but the
 36791  // value will be replaced with "sensitive".
 36792  func (s UpdateApnsChannelInput) GoString() string {
 36793  	return s.String()
 36794  }
 36795  
 36796  // Validate inspects the fields of the type to determine if they are valid.
 36797  func (s *UpdateApnsChannelInput) Validate() error {
 36798  	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
 36799  	if s.APNSChannelRequest == nil {
 36800  		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
 36801  	}
 36802  	if s.ApplicationId == nil {
 36803  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 36804  	}
 36805  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 36806  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 36807  	}
 36808  
 36809  	if invalidParams.Len() > 0 {
 36810  		return invalidParams
 36811  	}
 36812  	return nil
 36813  }
 36814  
 36815  // SetAPNSChannelRequest sets the APNSChannelRequest field's value.
 36816  func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
 36817  	s.APNSChannelRequest = v
 36818  	return s
 36819  }
 36820  
 36821  // SetApplicationId sets the ApplicationId field's value.
 36822  func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
 36823  	s.ApplicationId = &v
 36824  	return s
 36825  }
 36826  
 36827  type UpdateApnsChannelOutput struct {
 36828  	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
 36829  
 36830  	// Provides information about the status and settings of the APNs (Apple Push
 36831  	// Notification service) channel for an application.
 36832  	//
 36833  	// APNSChannelResponse is a required field
 36834  	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
 36835  }
 36836  
 36837  // String returns the string representation.
 36838  //
 36839  // API parameter values that are decorated as "sensitive" in the API will not
 36840  // be included in the string output. The member name will be present, but the
 36841  // value will be replaced with "sensitive".
 36842  func (s UpdateApnsChannelOutput) String() string {
 36843  	return awsutil.Prettify(s)
 36844  }
 36845  
 36846  // GoString returns the string representation.
 36847  //
 36848  // API parameter values that are decorated as "sensitive" in the API will not
 36849  // be included in the string output. The member name will be present, but the
 36850  // value will be replaced with "sensitive".
 36851  func (s UpdateApnsChannelOutput) GoString() string {
 36852  	return s.String()
 36853  }
 36854  
 36855  // SetAPNSChannelResponse sets the APNSChannelResponse field's value.
 36856  func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
 36857  	s.APNSChannelResponse = v
 36858  	return s
 36859  }
 36860  
 36861  type UpdateApnsSandboxChannelInput struct {
 36862  	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
 36863  
 36864  	// Specifies the status and settings of the APNs (Apple Push Notification service)
 36865  	// sandbox channel for an application.
 36866  	//
 36867  	// APNSSandboxChannelRequest is a required field
 36868  	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
 36869  
 36870  	// ApplicationId is a required field
 36871  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 36872  }
 36873  
 36874  // String returns the string representation.
 36875  //
 36876  // API parameter values that are decorated as "sensitive" in the API will not
 36877  // be included in the string output. The member name will be present, but the
 36878  // value will be replaced with "sensitive".
 36879  func (s UpdateApnsSandboxChannelInput) String() string {
 36880  	return awsutil.Prettify(s)
 36881  }
 36882  
 36883  // GoString returns the string representation.
 36884  //
 36885  // API parameter values that are decorated as "sensitive" in the API will not
 36886  // be included in the string output. The member name will be present, but the
 36887  // value will be replaced with "sensitive".
 36888  func (s UpdateApnsSandboxChannelInput) GoString() string {
 36889  	return s.String()
 36890  }
 36891  
 36892  // Validate inspects the fields of the type to determine if they are valid.
 36893  func (s *UpdateApnsSandboxChannelInput) Validate() error {
 36894  	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
 36895  	if s.APNSSandboxChannelRequest == nil {
 36896  		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
 36897  	}
 36898  	if s.ApplicationId == nil {
 36899  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 36900  	}
 36901  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 36902  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 36903  	}
 36904  
 36905  	if invalidParams.Len() > 0 {
 36906  		return invalidParams
 36907  	}
 36908  	return nil
 36909  }
 36910  
 36911  // SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
 36912  func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
 36913  	s.APNSSandboxChannelRequest = v
 36914  	return s
 36915  }
 36916  
 36917  // SetApplicationId sets the ApplicationId field's value.
 36918  func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
 36919  	s.ApplicationId = &v
 36920  	return s
 36921  }
 36922  
 36923  type UpdateApnsSandboxChannelOutput struct {
 36924  	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
 36925  
 36926  	// Provides information about the status and settings of the APNs (Apple Push
 36927  	// Notification service) sandbox channel for an application.
 36928  	//
 36929  	// APNSSandboxChannelResponse is a required field
 36930  	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
 36931  }
 36932  
 36933  // String returns the string representation.
 36934  //
 36935  // API parameter values that are decorated as "sensitive" in the API will not
 36936  // be included in the string output. The member name will be present, but the
 36937  // value will be replaced with "sensitive".
 36938  func (s UpdateApnsSandboxChannelOutput) String() string {
 36939  	return awsutil.Prettify(s)
 36940  }
 36941  
 36942  // GoString returns the string representation.
 36943  //
 36944  // API parameter values that are decorated as "sensitive" in the API will not
 36945  // be included in the string output. The member name will be present, but the
 36946  // value will be replaced with "sensitive".
 36947  func (s UpdateApnsSandboxChannelOutput) GoString() string {
 36948  	return s.String()
 36949  }
 36950  
 36951  // SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
 36952  func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
 36953  	s.APNSSandboxChannelResponse = v
 36954  	return s
 36955  }
 36956  
 36957  type UpdateApnsVoipChannelInput struct {
 36958  	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
 36959  
 36960  	// Specifies the status and settings of the APNs (Apple Push Notification service)
 36961  	// VoIP channel for an application.
 36962  	//
 36963  	// APNSVoipChannelRequest is a required field
 36964  	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
 36965  
 36966  	// ApplicationId is a required field
 36967  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 36968  }
 36969  
 36970  // String returns the string representation.
 36971  //
 36972  // API parameter values that are decorated as "sensitive" in the API will not
 36973  // be included in the string output. The member name will be present, but the
 36974  // value will be replaced with "sensitive".
 36975  func (s UpdateApnsVoipChannelInput) String() string {
 36976  	return awsutil.Prettify(s)
 36977  }
 36978  
 36979  // GoString returns the string representation.
 36980  //
 36981  // API parameter values that are decorated as "sensitive" in the API will not
 36982  // be included in the string output. The member name will be present, but the
 36983  // value will be replaced with "sensitive".
 36984  func (s UpdateApnsVoipChannelInput) GoString() string {
 36985  	return s.String()
 36986  }
 36987  
 36988  // Validate inspects the fields of the type to determine if they are valid.
 36989  func (s *UpdateApnsVoipChannelInput) Validate() error {
 36990  	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
 36991  	if s.APNSVoipChannelRequest == nil {
 36992  		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
 36993  	}
 36994  	if s.ApplicationId == nil {
 36995  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 36996  	}
 36997  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 36998  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 36999  	}
 37000  
 37001  	if invalidParams.Len() > 0 {
 37002  		return invalidParams
 37003  	}
 37004  	return nil
 37005  }
 37006  
 37007  // SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
 37008  func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
 37009  	s.APNSVoipChannelRequest = v
 37010  	return s
 37011  }
 37012  
 37013  // SetApplicationId sets the ApplicationId field's value.
 37014  func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
 37015  	s.ApplicationId = &v
 37016  	return s
 37017  }
 37018  
 37019  type UpdateApnsVoipChannelOutput struct {
 37020  	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
 37021  
 37022  	// Provides information about the status and settings of the APNs (Apple Push
 37023  	// Notification service) VoIP channel for an application.
 37024  	//
 37025  	// APNSVoipChannelResponse is a required field
 37026  	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
 37027  }
 37028  
 37029  // String returns the string representation.
 37030  //
 37031  // API parameter values that are decorated as "sensitive" in the API will not
 37032  // be included in the string output. The member name will be present, but the
 37033  // value will be replaced with "sensitive".
 37034  func (s UpdateApnsVoipChannelOutput) String() string {
 37035  	return awsutil.Prettify(s)
 37036  }
 37037  
 37038  // GoString returns the string representation.
 37039  //
 37040  // API parameter values that are decorated as "sensitive" in the API will not
 37041  // be included in the string output. The member name will be present, but the
 37042  // value will be replaced with "sensitive".
 37043  func (s UpdateApnsVoipChannelOutput) GoString() string {
 37044  	return s.String()
 37045  }
 37046  
 37047  // SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
 37048  func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
 37049  	s.APNSVoipChannelResponse = v
 37050  	return s
 37051  }
 37052  
 37053  type UpdateApnsVoipSandboxChannelInput struct {
 37054  	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
 37055  
 37056  	// Specifies the status and settings of the APNs (Apple Push Notification service)
 37057  	// VoIP sandbox channel for an application.
 37058  	//
 37059  	// APNSVoipSandboxChannelRequest is a required field
 37060  	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
 37061  
 37062  	// ApplicationId is a required field
 37063  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37064  }
 37065  
 37066  // String returns the string representation.
 37067  //
 37068  // API parameter values that are decorated as "sensitive" in the API will not
 37069  // be included in the string output. The member name will be present, but the
 37070  // value will be replaced with "sensitive".
 37071  func (s UpdateApnsVoipSandboxChannelInput) String() string {
 37072  	return awsutil.Prettify(s)
 37073  }
 37074  
 37075  // GoString returns the string representation.
 37076  //
 37077  // API parameter values that are decorated as "sensitive" in the API will not
 37078  // be included in the string output. The member name will be present, but the
 37079  // value will be replaced with "sensitive".
 37080  func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
 37081  	return s.String()
 37082  }
 37083  
 37084  // Validate inspects the fields of the type to determine if they are valid.
 37085  func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
 37086  	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
 37087  	if s.APNSVoipSandboxChannelRequest == nil {
 37088  		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
 37089  	}
 37090  	if s.ApplicationId == nil {
 37091  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37092  	}
 37093  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37094  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37095  	}
 37096  
 37097  	if invalidParams.Len() > 0 {
 37098  		return invalidParams
 37099  	}
 37100  	return nil
 37101  }
 37102  
 37103  // SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
 37104  func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
 37105  	s.APNSVoipSandboxChannelRequest = v
 37106  	return s
 37107  }
 37108  
 37109  // SetApplicationId sets the ApplicationId field's value.
 37110  func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
 37111  	s.ApplicationId = &v
 37112  	return s
 37113  }
 37114  
 37115  type UpdateApnsVoipSandboxChannelOutput struct {
 37116  	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
 37117  
 37118  	// Provides information about the status and settings of the APNs (Apple Push
 37119  	// Notification service) VoIP sandbox channel for an application.
 37120  	//
 37121  	// APNSVoipSandboxChannelResponse is a required field
 37122  	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
 37123  }
 37124  
 37125  // String returns the string representation.
 37126  //
 37127  // API parameter values that are decorated as "sensitive" in the API will not
 37128  // be included in the string output. The member name will be present, but the
 37129  // value will be replaced with "sensitive".
 37130  func (s UpdateApnsVoipSandboxChannelOutput) String() string {
 37131  	return awsutil.Prettify(s)
 37132  }
 37133  
 37134  // GoString returns the string representation.
 37135  //
 37136  // API parameter values that are decorated as "sensitive" in the API will not
 37137  // be included in the string output. The member name will be present, but the
 37138  // value will be replaced with "sensitive".
 37139  func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
 37140  	return s.String()
 37141  }
 37142  
 37143  // SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
 37144  func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
 37145  	s.APNSVoipSandboxChannelResponse = v
 37146  	return s
 37147  }
 37148  
 37149  type UpdateApplicationSettingsInput struct {
 37150  	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
 37151  
 37152  	// ApplicationId is a required field
 37153  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37154  
 37155  	// Specifies the default settings for an application.
 37156  	//
 37157  	// WriteApplicationSettingsRequest is a required field
 37158  	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
 37159  }
 37160  
 37161  // String returns the string representation.
 37162  //
 37163  // API parameter values that are decorated as "sensitive" in the API will not
 37164  // be included in the string output. The member name will be present, but the
 37165  // value will be replaced with "sensitive".
 37166  func (s UpdateApplicationSettingsInput) String() string {
 37167  	return awsutil.Prettify(s)
 37168  }
 37169  
 37170  // GoString returns the string representation.
 37171  //
 37172  // API parameter values that are decorated as "sensitive" in the API will not
 37173  // be included in the string output. The member name will be present, but the
 37174  // value will be replaced with "sensitive".
 37175  func (s UpdateApplicationSettingsInput) GoString() string {
 37176  	return s.String()
 37177  }
 37178  
 37179  // Validate inspects the fields of the type to determine if they are valid.
 37180  func (s *UpdateApplicationSettingsInput) Validate() error {
 37181  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
 37182  	if s.ApplicationId == nil {
 37183  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37184  	}
 37185  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37186  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37187  	}
 37188  	if s.WriteApplicationSettingsRequest == nil {
 37189  		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
 37190  	}
 37191  
 37192  	if invalidParams.Len() > 0 {
 37193  		return invalidParams
 37194  	}
 37195  	return nil
 37196  }
 37197  
 37198  // SetApplicationId sets the ApplicationId field's value.
 37199  func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
 37200  	s.ApplicationId = &v
 37201  	return s
 37202  }
 37203  
 37204  // SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
 37205  func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
 37206  	s.WriteApplicationSettingsRequest = v
 37207  	return s
 37208  }
 37209  
 37210  type UpdateApplicationSettingsOutput struct {
 37211  	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
 37212  
 37213  	// Provides information about an application, including the default settings
 37214  	// for an application.
 37215  	//
 37216  	// ApplicationSettingsResource is a required field
 37217  	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
 37218  }
 37219  
 37220  // String returns the string representation.
 37221  //
 37222  // API parameter values that are decorated as "sensitive" in the API will not
 37223  // be included in the string output. The member name will be present, but the
 37224  // value will be replaced with "sensitive".
 37225  func (s UpdateApplicationSettingsOutput) String() string {
 37226  	return awsutil.Prettify(s)
 37227  }
 37228  
 37229  // GoString returns the string representation.
 37230  //
 37231  // API parameter values that are decorated as "sensitive" in the API will not
 37232  // be included in the string output. The member name will be present, but the
 37233  // value will be replaced with "sensitive".
 37234  func (s UpdateApplicationSettingsOutput) GoString() string {
 37235  	return s.String()
 37236  }
 37237  
 37238  // SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
 37239  func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
 37240  	s.ApplicationSettingsResource = v
 37241  	return s
 37242  }
 37243  
 37244  // Specifies one or more attributes to remove from all the endpoints that are
 37245  // associated with an application.
 37246  type UpdateAttributesRequest struct {
 37247  	_ struct{} `type:"structure"`
 37248  
 37249  	// An array of the attributes to remove from all the endpoints that are associated
 37250  	// with the application. The array can specify the complete, exact name of each
 37251  	// attribute to remove or it can specify a glob pattern that an attribute name
 37252  	// must match in order for the attribute to be removed.
 37253  	Blacklist []*string `type:"list"`
 37254  }
 37255  
 37256  // String returns the string representation.
 37257  //
 37258  // API parameter values that are decorated as "sensitive" in the API will not
 37259  // be included in the string output. The member name will be present, but the
 37260  // value will be replaced with "sensitive".
 37261  func (s UpdateAttributesRequest) String() string {
 37262  	return awsutil.Prettify(s)
 37263  }
 37264  
 37265  // GoString returns the string representation.
 37266  //
 37267  // API parameter values that are decorated as "sensitive" in the API will not
 37268  // be included in the string output. The member name will be present, but the
 37269  // value will be replaced with "sensitive".
 37270  func (s UpdateAttributesRequest) GoString() string {
 37271  	return s.String()
 37272  }
 37273  
 37274  // SetBlacklist sets the Blacklist field's value.
 37275  func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
 37276  	s.Blacklist = v
 37277  	return s
 37278  }
 37279  
 37280  type UpdateBaiduChannelInput struct {
 37281  	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
 37282  
 37283  	// ApplicationId is a required field
 37284  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37285  
 37286  	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
 37287  	// for an application.
 37288  	//
 37289  	// BaiduChannelRequest is a required field
 37290  	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
 37291  }
 37292  
 37293  // String returns the string representation.
 37294  //
 37295  // API parameter values that are decorated as "sensitive" in the API will not
 37296  // be included in the string output. The member name will be present, but the
 37297  // value will be replaced with "sensitive".
 37298  func (s UpdateBaiduChannelInput) String() string {
 37299  	return awsutil.Prettify(s)
 37300  }
 37301  
 37302  // GoString returns the string representation.
 37303  //
 37304  // API parameter values that are decorated as "sensitive" in the API will not
 37305  // be included in the string output. The member name will be present, but the
 37306  // value will be replaced with "sensitive".
 37307  func (s UpdateBaiduChannelInput) GoString() string {
 37308  	return s.String()
 37309  }
 37310  
 37311  // Validate inspects the fields of the type to determine if they are valid.
 37312  func (s *UpdateBaiduChannelInput) Validate() error {
 37313  	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
 37314  	if s.ApplicationId == nil {
 37315  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37316  	}
 37317  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37318  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37319  	}
 37320  	if s.BaiduChannelRequest == nil {
 37321  		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
 37322  	}
 37323  	if s.BaiduChannelRequest != nil {
 37324  		if err := s.BaiduChannelRequest.Validate(); err != nil {
 37325  			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
 37326  		}
 37327  	}
 37328  
 37329  	if invalidParams.Len() > 0 {
 37330  		return invalidParams
 37331  	}
 37332  	return nil
 37333  }
 37334  
 37335  // SetApplicationId sets the ApplicationId field's value.
 37336  func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
 37337  	s.ApplicationId = &v
 37338  	return s
 37339  }
 37340  
 37341  // SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
 37342  func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
 37343  	s.BaiduChannelRequest = v
 37344  	return s
 37345  }
 37346  
 37347  type UpdateBaiduChannelOutput struct {
 37348  	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
 37349  
 37350  	// Provides information about the status and settings of the Baidu (Baidu Cloud
 37351  	// Push) channel for an application.
 37352  	//
 37353  	// BaiduChannelResponse is a required field
 37354  	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
 37355  }
 37356  
 37357  // String returns the string representation.
 37358  //
 37359  // API parameter values that are decorated as "sensitive" in the API will not
 37360  // be included in the string output. The member name will be present, but the
 37361  // value will be replaced with "sensitive".
 37362  func (s UpdateBaiduChannelOutput) String() string {
 37363  	return awsutil.Prettify(s)
 37364  }
 37365  
 37366  // GoString returns the string representation.
 37367  //
 37368  // API parameter values that are decorated as "sensitive" in the API will not
 37369  // be included in the string output. The member name will be present, but the
 37370  // value will be replaced with "sensitive".
 37371  func (s UpdateBaiduChannelOutput) GoString() string {
 37372  	return s.String()
 37373  }
 37374  
 37375  // SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
 37376  func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
 37377  	s.BaiduChannelResponse = v
 37378  	return s
 37379  }
 37380  
 37381  type UpdateCampaignInput struct {
 37382  	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
 37383  
 37384  	// ApplicationId is a required field
 37385  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37386  
 37387  	// CampaignId is a required field
 37388  	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
 37389  
 37390  	// Specifies the configuration and other settings for a campaign.
 37391  	//
 37392  	// WriteCampaignRequest is a required field
 37393  	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
 37394  }
 37395  
 37396  // String returns the string representation.
 37397  //
 37398  // API parameter values that are decorated as "sensitive" in the API will not
 37399  // be included in the string output. The member name will be present, but the
 37400  // value will be replaced with "sensitive".
 37401  func (s UpdateCampaignInput) String() string {
 37402  	return awsutil.Prettify(s)
 37403  }
 37404  
 37405  // GoString returns the string representation.
 37406  //
 37407  // API parameter values that are decorated as "sensitive" in the API will not
 37408  // be included in the string output. The member name will be present, but the
 37409  // value will be replaced with "sensitive".
 37410  func (s UpdateCampaignInput) GoString() string {
 37411  	return s.String()
 37412  }
 37413  
 37414  // Validate inspects the fields of the type to determine if they are valid.
 37415  func (s *UpdateCampaignInput) Validate() error {
 37416  	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
 37417  	if s.ApplicationId == nil {
 37418  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37419  	}
 37420  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37421  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37422  	}
 37423  	if s.CampaignId == nil {
 37424  		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
 37425  	}
 37426  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 37427  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 37428  	}
 37429  	if s.WriteCampaignRequest == nil {
 37430  		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
 37431  	}
 37432  	if s.WriteCampaignRequest != nil {
 37433  		if err := s.WriteCampaignRequest.Validate(); err != nil {
 37434  			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
 37435  		}
 37436  	}
 37437  
 37438  	if invalidParams.Len() > 0 {
 37439  		return invalidParams
 37440  	}
 37441  	return nil
 37442  }
 37443  
 37444  // SetApplicationId sets the ApplicationId field's value.
 37445  func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
 37446  	s.ApplicationId = &v
 37447  	return s
 37448  }
 37449  
 37450  // SetCampaignId sets the CampaignId field's value.
 37451  func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
 37452  	s.CampaignId = &v
 37453  	return s
 37454  }
 37455  
 37456  // SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
 37457  func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
 37458  	s.WriteCampaignRequest = v
 37459  	return s
 37460  }
 37461  
 37462  type UpdateCampaignOutput struct {
 37463  	_ struct{} `type:"structure" payload:"CampaignResponse"`
 37464  
 37465  	// Provides information about the status, configuration, and other settings
 37466  	// for a campaign.
 37467  	//
 37468  	// CampaignResponse is a required field
 37469  	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
 37470  }
 37471  
 37472  // String returns the string representation.
 37473  //
 37474  // API parameter values that are decorated as "sensitive" in the API will not
 37475  // be included in the string output. The member name will be present, but the
 37476  // value will be replaced with "sensitive".
 37477  func (s UpdateCampaignOutput) String() string {
 37478  	return awsutil.Prettify(s)
 37479  }
 37480  
 37481  // GoString returns the string representation.
 37482  //
 37483  // API parameter values that are decorated as "sensitive" in the API will not
 37484  // be included in the string output. The member name will be present, but the
 37485  // value will be replaced with "sensitive".
 37486  func (s UpdateCampaignOutput) GoString() string {
 37487  	return s.String()
 37488  }
 37489  
 37490  // SetCampaignResponse sets the CampaignResponse field's value.
 37491  func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
 37492  	s.CampaignResponse = v
 37493  	return s
 37494  }
 37495  
 37496  type UpdateEmailChannelInput struct {
 37497  	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
 37498  
 37499  	// ApplicationId is a required field
 37500  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37501  
 37502  	// Specifies the status and settings of the email channel for an application.
 37503  	//
 37504  	// EmailChannelRequest is a required field
 37505  	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
 37506  }
 37507  
 37508  // String returns the string representation.
 37509  //
 37510  // API parameter values that are decorated as "sensitive" in the API will not
 37511  // be included in the string output. The member name will be present, but the
 37512  // value will be replaced with "sensitive".
 37513  func (s UpdateEmailChannelInput) String() string {
 37514  	return awsutil.Prettify(s)
 37515  }
 37516  
 37517  // GoString returns the string representation.
 37518  //
 37519  // API parameter values that are decorated as "sensitive" in the API will not
 37520  // be included in the string output. The member name will be present, but the
 37521  // value will be replaced with "sensitive".
 37522  func (s UpdateEmailChannelInput) GoString() string {
 37523  	return s.String()
 37524  }
 37525  
 37526  // Validate inspects the fields of the type to determine if they are valid.
 37527  func (s *UpdateEmailChannelInput) Validate() error {
 37528  	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
 37529  	if s.ApplicationId == nil {
 37530  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37531  	}
 37532  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37533  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37534  	}
 37535  	if s.EmailChannelRequest == nil {
 37536  		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
 37537  	}
 37538  	if s.EmailChannelRequest != nil {
 37539  		if err := s.EmailChannelRequest.Validate(); err != nil {
 37540  			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
 37541  		}
 37542  	}
 37543  
 37544  	if invalidParams.Len() > 0 {
 37545  		return invalidParams
 37546  	}
 37547  	return nil
 37548  }
 37549  
 37550  // SetApplicationId sets the ApplicationId field's value.
 37551  func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
 37552  	s.ApplicationId = &v
 37553  	return s
 37554  }
 37555  
 37556  // SetEmailChannelRequest sets the EmailChannelRequest field's value.
 37557  func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
 37558  	s.EmailChannelRequest = v
 37559  	return s
 37560  }
 37561  
 37562  type UpdateEmailChannelOutput struct {
 37563  	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
 37564  
 37565  	// Provides information about the status and settings of the email channel for
 37566  	// an application.
 37567  	//
 37568  	// EmailChannelResponse is a required field
 37569  	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
 37570  }
 37571  
 37572  // String returns the string representation.
 37573  //
 37574  // API parameter values that are decorated as "sensitive" in the API will not
 37575  // be included in the string output. The member name will be present, but the
 37576  // value will be replaced with "sensitive".
 37577  func (s UpdateEmailChannelOutput) String() string {
 37578  	return awsutil.Prettify(s)
 37579  }
 37580  
 37581  // GoString returns the string representation.
 37582  //
 37583  // API parameter values that are decorated as "sensitive" in the API will not
 37584  // be included in the string output. The member name will be present, but the
 37585  // value will be replaced with "sensitive".
 37586  func (s UpdateEmailChannelOutput) GoString() string {
 37587  	return s.String()
 37588  }
 37589  
 37590  // SetEmailChannelResponse sets the EmailChannelResponse field's value.
 37591  func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
 37592  	s.EmailChannelResponse = v
 37593  	return s
 37594  }
 37595  
 37596  type UpdateEmailTemplateInput struct {
 37597  	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
 37598  
 37599  	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
 37600  
 37601  	// Specifies the content and settings for a message template that can be used
 37602  	// in messages that are sent through the email channel.
 37603  	//
 37604  	// EmailTemplateRequest is a required field
 37605  	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
 37606  
 37607  	// TemplateName is a required field
 37608  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 37609  
 37610  	Version *string `location:"querystring" locationName:"version" type:"string"`
 37611  }
 37612  
 37613  // String returns the string representation.
 37614  //
 37615  // API parameter values that are decorated as "sensitive" in the API will not
 37616  // be included in the string output. The member name will be present, but the
 37617  // value will be replaced with "sensitive".
 37618  func (s UpdateEmailTemplateInput) String() string {
 37619  	return awsutil.Prettify(s)
 37620  }
 37621  
 37622  // GoString returns the string representation.
 37623  //
 37624  // API parameter values that are decorated as "sensitive" in the API will not
 37625  // be included in the string output. The member name will be present, but the
 37626  // value will be replaced with "sensitive".
 37627  func (s UpdateEmailTemplateInput) GoString() string {
 37628  	return s.String()
 37629  }
 37630  
 37631  // Validate inspects the fields of the type to determine if they are valid.
 37632  func (s *UpdateEmailTemplateInput) Validate() error {
 37633  	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
 37634  	if s.EmailTemplateRequest == nil {
 37635  		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
 37636  	}
 37637  	if s.TemplateName == nil {
 37638  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 37639  	}
 37640  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 37641  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 37642  	}
 37643  
 37644  	if invalidParams.Len() > 0 {
 37645  		return invalidParams
 37646  	}
 37647  	return nil
 37648  }
 37649  
 37650  // SetCreateNewVersion sets the CreateNewVersion field's value.
 37651  func (s *UpdateEmailTemplateInput) SetCreateNewVersion(v bool) *UpdateEmailTemplateInput {
 37652  	s.CreateNewVersion = &v
 37653  	return s
 37654  }
 37655  
 37656  // SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
 37657  func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput {
 37658  	s.EmailTemplateRequest = v
 37659  	return s
 37660  }
 37661  
 37662  // SetTemplateName sets the TemplateName field's value.
 37663  func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
 37664  	s.TemplateName = &v
 37665  	return s
 37666  }
 37667  
 37668  // SetVersion sets the Version field's value.
 37669  func (s *UpdateEmailTemplateInput) SetVersion(v string) *UpdateEmailTemplateInput {
 37670  	s.Version = &v
 37671  	return s
 37672  }
 37673  
 37674  type UpdateEmailTemplateOutput struct {
 37675  	_ struct{} `type:"structure" payload:"MessageBody"`
 37676  
 37677  	// Provides information about an API request or response.
 37678  	//
 37679  	// MessageBody is a required field
 37680  	MessageBody *MessageBody `type:"structure" required:"true"`
 37681  }
 37682  
 37683  // String returns the string representation.
 37684  //
 37685  // API parameter values that are decorated as "sensitive" in the API will not
 37686  // be included in the string output. The member name will be present, but the
 37687  // value will be replaced with "sensitive".
 37688  func (s UpdateEmailTemplateOutput) String() string {
 37689  	return awsutil.Prettify(s)
 37690  }
 37691  
 37692  // GoString returns the string representation.
 37693  //
 37694  // API parameter values that are decorated as "sensitive" in the API will not
 37695  // be included in the string output. The member name will be present, but the
 37696  // value will be replaced with "sensitive".
 37697  func (s UpdateEmailTemplateOutput) GoString() string {
 37698  	return s.String()
 37699  }
 37700  
 37701  // SetMessageBody sets the MessageBody field's value.
 37702  func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput {
 37703  	s.MessageBody = v
 37704  	return s
 37705  }
 37706  
 37707  type UpdateEndpointInput struct {
 37708  	_ struct{} `type:"structure" payload:"EndpointRequest"`
 37709  
 37710  	// ApplicationId is a required field
 37711  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37712  
 37713  	// EndpointId is a required field
 37714  	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
 37715  
 37716  	// Specifies the channel type and other settings for an endpoint.
 37717  	//
 37718  	// EndpointRequest is a required field
 37719  	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
 37720  }
 37721  
 37722  // String returns the string representation.
 37723  //
 37724  // API parameter values that are decorated as "sensitive" in the API will not
 37725  // be included in the string output. The member name will be present, but the
 37726  // value will be replaced with "sensitive".
 37727  func (s UpdateEndpointInput) String() string {
 37728  	return awsutil.Prettify(s)
 37729  }
 37730  
 37731  // GoString returns the string representation.
 37732  //
 37733  // API parameter values that are decorated as "sensitive" in the API will not
 37734  // be included in the string output. The member name will be present, but the
 37735  // value will be replaced with "sensitive".
 37736  func (s UpdateEndpointInput) GoString() string {
 37737  	return s.String()
 37738  }
 37739  
 37740  // Validate inspects the fields of the type to determine if they are valid.
 37741  func (s *UpdateEndpointInput) Validate() error {
 37742  	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
 37743  	if s.ApplicationId == nil {
 37744  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37745  	}
 37746  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37747  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37748  	}
 37749  	if s.EndpointId == nil {
 37750  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
 37751  	}
 37752  	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
 37753  		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
 37754  	}
 37755  	if s.EndpointRequest == nil {
 37756  		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
 37757  	}
 37758  
 37759  	if invalidParams.Len() > 0 {
 37760  		return invalidParams
 37761  	}
 37762  	return nil
 37763  }
 37764  
 37765  // SetApplicationId sets the ApplicationId field's value.
 37766  func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
 37767  	s.ApplicationId = &v
 37768  	return s
 37769  }
 37770  
 37771  // SetEndpointId sets the EndpointId field's value.
 37772  func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
 37773  	s.EndpointId = &v
 37774  	return s
 37775  }
 37776  
 37777  // SetEndpointRequest sets the EndpointRequest field's value.
 37778  func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
 37779  	s.EndpointRequest = v
 37780  	return s
 37781  }
 37782  
 37783  type UpdateEndpointOutput struct {
 37784  	_ struct{} `type:"structure" payload:"MessageBody"`
 37785  
 37786  	// Provides information about an API request or response.
 37787  	//
 37788  	// MessageBody is a required field
 37789  	MessageBody *MessageBody `type:"structure" required:"true"`
 37790  }
 37791  
 37792  // String returns the string representation.
 37793  //
 37794  // API parameter values that are decorated as "sensitive" in the API will not
 37795  // be included in the string output. The member name will be present, but the
 37796  // value will be replaced with "sensitive".
 37797  func (s UpdateEndpointOutput) String() string {
 37798  	return awsutil.Prettify(s)
 37799  }
 37800  
 37801  // GoString returns the string representation.
 37802  //
 37803  // API parameter values that are decorated as "sensitive" in the API will not
 37804  // be included in the string output. The member name will be present, but the
 37805  // value will be replaced with "sensitive".
 37806  func (s UpdateEndpointOutput) GoString() string {
 37807  	return s.String()
 37808  }
 37809  
 37810  // SetMessageBody sets the MessageBody field's value.
 37811  func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
 37812  	s.MessageBody = v
 37813  	return s
 37814  }
 37815  
 37816  type UpdateEndpointsBatchInput struct {
 37817  	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
 37818  
 37819  	// ApplicationId is a required field
 37820  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37821  
 37822  	// Specifies a batch of endpoints to create or update and the settings and attributes
 37823  	// to set or change for each endpoint.
 37824  	//
 37825  	// EndpointBatchRequest is a required field
 37826  	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
 37827  }
 37828  
 37829  // String returns the string representation.
 37830  //
 37831  // API parameter values that are decorated as "sensitive" in the API will not
 37832  // be included in the string output. The member name will be present, but the
 37833  // value will be replaced with "sensitive".
 37834  func (s UpdateEndpointsBatchInput) String() string {
 37835  	return awsutil.Prettify(s)
 37836  }
 37837  
 37838  // GoString returns the string representation.
 37839  //
 37840  // API parameter values that are decorated as "sensitive" in the API will not
 37841  // be included in the string output. The member name will be present, but the
 37842  // value will be replaced with "sensitive".
 37843  func (s UpdateEndpointsBatchInput) GoString() string {
 37844  	return s.String()
 37845  }
 37846  
 37847  // Validate inspects the fields of the type to determine if they are valid.
 37848  func (s *UpdateEndpointsBatchInput) Validate() error {
 37849  	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
 37850  	if s.ApplicationId == nil {
 37851  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37852  	}
 37853  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37854  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37855  	}
 37856  	if s.EndpointBatchRequest == nil {
 37857  		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
 37858  	}
 37859  	if s.EndpointBatchRequest != nil {
 37860  		if err := s.EndpointBatchRequest.Validate(); err != nil {
 37861  			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
 37862  		}
 37863  	}
 37864  
 37865  	if invalidParams.Len() > 0 {
 37866  		return invalidParams
 37867  	}
 37868  	return nil
 37869  }
 37870  
 37871  // SetApplicationId sets the ApplicationId field's value.
 37872  func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
 37873  	s.ApplicationId = &v
 37874  	return s
 37875  }
 37876  
 37877  // SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
 37878  func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
 37879  	s.EndpointBatchRequest = v
 37880  	return s
 37881  }
 37882  
 37883  type UpdateEndpointsBatchOutput struct {
 37884  	_ struct{} `type:"structure" payload:"MessageBody"`
 37885  
 37886  	// Provides information about an API request or response.
 37887  	//
 37888  	// MessageBody is a required field
 37889  	MessageBody *MessageBody `type:"structure" required:"true"`
 37890  }
 37891  
 37892  // String returns the string representation.
 37893  //
 37894  // API parameter values that are decorated as "sensitive" in the API will not
 37895  // be included in the string output. The member name will be present, but the
 37896  // value will be replaced with "sensitive".
 37897  func (s UpdateEndpointsBatchOutput) String() string {
 37898  	return awsutil.Prettify(s)
 37899  }
 37900  
 37901  // GoString returns the string representation.
 37902  //
 37903  // API parameter values that are decorated as "sensitive" in the API will not
 37904  // be included in the string output. The member name will be present, but the
 37905  // value will be replaced with "sensitive".
 37906  func (s UpdateEndpointsBatchOutput) GoString() string {
 37907  	return s.String()
 37908  }
 37909  
 37910  // SetMessageBody sets the MessageBody field's value.
 37911  func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
 37912  	s.MessageBody = v
 37913  	return s
 37914  }
 37915  
 37916  type UpdateGcmChannelInput struct {
 37917  	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
 37918  
 37919  	// ApplicationId is a required field
 37920  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 37921  
 37922  	// Specifies the status and settings of the GCM channel for an application.
 37923  	// This channel enables Amazon Pinpoint to send push notifications through the
 37924  	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
 37925  	//
 37926  	// GCMChannelRequest is a required field
 37927  	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
 37928  }
 37929  
 37930  // String returns the string representation.
 37931  //
 37932  // API parameter values that are decorated as "sensitive" in the API will not
 37933  // be included in the string output. The member name will be present, but the
 37934  // value will be replaced with "sensitive".
 37935  func (s UpdateGcmChannelInput) String() string {
 37936  	return awsutil.Prettify(s)
 37937  }
 37938  
 37939  // GoString returns the string representation.
 37940  //
 37941  // API parameter values that are decorated as "sensitive" in the API will not
 37942  // be included in the string output. The member name will be present, but the
 37943  // value will be replaced with "sensitive".
 37944  func (s UpdateGcmChannelInput) GoString() string {
 37945  	return s.String()
 37946  }
 37947  
 37948  // Validate inspects the fields of the type to determine if they are valid.
 37949  func (s *UpdateGcmChannelInput) Validate() error {
 37950  	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
 37951  	if s.ApplicationId == nil {
 37952  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 37953  	}
 37954  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 37955  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 37956  	}
 37957  	if s.GCMChannelRequest == nil {
 37958  		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
 37959  	}
 37960  	if s.GCMChannelRequest != nil {
 37961  		if err := s.GCMChannelRequest.Validate(); err != nil {
 37962  			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
 37963  		}
 37964  	}
 37965  
 37966  	if invalidParams.Len() > 0 {
 37967  		return invalidParams
 37968  	}
 37969  	return nil
 37970  }
 37971  
 37972  // SetApplicationId sets the ApplicationId field's value.
 37973  func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
 37974  	s.ApplicationId = &v
 37975  	return s
 37976  }
 37977  
 37978  // SetGCMChannelRequest sets the GCMChannelRequest field's value.
 37979  func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
 37980  	s.GCMChannelRequest = v
 37981  	return s
 37982  }
 37983  
 37984  type UpdateGcmChannelOutput struct {
 37985  	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
 37986  
 37987  	// Provides information about the status and settings of the GCM channel for
 37988  	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
 37989  	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
 37990  	// (GCM), service.
 37991  	//
 37992  	// GCMChannelResponse is a required field
 37993  	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
 37994  }
 37995  
 37996  // String returns the string representation.
 37997  //
 37998  // API parameter values that are decorated as "sensitive" in the API will not
 37999  // be included in the string output. The member name will be present, but the
 38000  // value will be replaced with "sensitive".
 38001  func (s UpdateGcmChannelOutput) String() string {
 38002  	return awsutil.Prettify(s)
 38003  }
 38004  
 38005  // GoString returns the string representation.
 38006  //
 38007  // API parameter values that are decorated as "sensitive" in the API will not
 38008  // be included in the string output. The member name will be present, but the
 38009  // value will be replaced with "sensitive".
 38010  func (s UpdateGcmChannelOutput) GoString() string {
 38011  	return s.String()
 38012  }
 38013  
 38014  // SetGCMChannelResponse sets the GCMChannelResponse field's value.
 38015  func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
 38016  	s.GCMChannelResponse = v
 38017  	return s
 38018  }
 38019  
 38020  type UpdateInAppTemplateInput struct {
 38021  	_ struct{} `type:"structure" payload:"InAppTemplateRequest"`
 38022  
 38023  	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
 38024  
 38025  	// In-App Template Request.
 38026  	//
 38027  	// InAppTemplateRequest is a required field
 38028  	InAppTemplateRequest *InAppTemplateRequest `type:"structure" required:"true"`
 38029  
 38030  	// TemplateName is a required field
 38031  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 38032  
 38033  	Version *string `location:"querystring" locationName:"version" type:"string"`
 38034  }
 38035  
 38036  // String returns the string representation.
 38037  //
 38038  // API parameter values that are decorated as "sensitive" in the API will not
 38039  // be included in the string output. The member name will be present, but the
 38040  // value will be replaced with "sensitive".
 38041  func (s UpdateInAppTemplateInput) String() string {
 38042  	return awsutil.Prettify(s)
 38043  }
 38044  
 38045  // GoString returns the string representation.
 38046  //
 38047  // API parameter values that are decorated as "sensitive" in the API will not
 38048  // be included in the string output. The member name will be present, but the
 38049  // value will be replaced with "sensitive".
 38050  func (s UpdateInAppTemplateInput) GoString() string {
 38051  	return s.String()
 38052  }
 38053  
 38054  // Validate inspects the fields of the type to determine if they are valid.
 38055  func (s *UpdateInAppTemplateInput) Validate() error {
 38056  	invalidParams := request.ErrInvalidParams{Context: "UpdateInAppTemplateInput"}
 38057  	if s.InAppTemplateRequest == nil {
 38058  		invalidParams.Add(request.NewErrParamRequired("InAppTemplateRequest"))
 38059  	}
 38060  	if s.TemplateName == nil {
 38061  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 38062  	}
 38063  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 38064  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 38065  	}
 38066  	if s.InAppTemplateRequest != nil {
 38067  		if err := s.InAppTemplateRequest.Validate(); err != nil {
 38068  			invalidParams.AddNested("InAppTemplateRequest", err.(request.ErrInvalidParams))
 38069  		}
 38070  	}
 38071  
 38072  	if invalidParams.Len() > 0 {
 38073  		return invalidParams
 38074  	}
 38075  	return nil
 38076  }
 38077  
 38078  // SetCreateNewVersion sets the CreateNewVersion field's value.
 38079  func (s *UpdateInAppTemplateInput) SetCreateNewVersion(v bool) *UpdateInAppTemplateInput {
 38080  	s.CreateNewVersion = &v
 38081  	return s
 38082  }
 38083  
 38084  // SetInAppTemplateRequest sets the InAppTemplateRequest field's value.
 38085  func (s *UpdateInAppTemplateInput) SetInAppTemplateRequest(v *InAppTemplateRequest) *UpdateInAppTemplateInput {
 38086  	s.InAppTemplateRequest = v
 38087  	return s
 38088  }
 38089  
 38090  // SetTemplateName sets the TemplateName field's value.
 38091  func (s *UpdateInAppTemplateInput) SetTemplateName(v string) *UpdateInAppTemplateInput {
 38092  	s.TemplateName = &v
 38093  	return s
 38094  }
 38095  
 38096  // SetVersion sets the Version field's value.
 38097  func (s *UpdateInAppTemplateInput) SetVersion(v string) *UpdateInAppTemplateInput {
 38098  	s.Version = &v
 38099  	return s
 38100  }
 38101  
 38102  type UpdateInAppTemplateOutput struct {
 38103  	_ struct{} `type:"structure" payload:"MessageBody"`
 38104  
 38105  	// Provides information about an API request or response.
 38106  	//
 38107  	// MessageBody is a required field
 38108  	MessageBody *MessageBody `type:"structure" required:"true"`
 38109  }
 38110  
 38111  // String returns the string representation.
 38112  //
 38113  // API parameter values that are decorated as "sensitive" in the API will not
 38114  // be included in the string output. The member name will be present, but the
 38115  // value will be replaced with "sensitive".
 38116  func (s UpdateInAppTemplateOutput) String() string {
 38117  	return awsutil.Prettify(s)
 38118  }
 38119  
 38120  // GoString returns the string representation.
 38121  //
 38122  // API parameter values that are decorated as "sensitive" in the API will not
 38123  // be included in the string output. The member name will be present, but the
 38124  // value will be replaced with "sensitive".
 38125  func (s UpdateInAppTemplateOutput) GoString() string {
 38126  	return s.String()
 38127  }
 38128  
 38129  // SetMessageBody sets the MessageBody field's value.
 38130  func (s *UpdateInAppTemplateOutput) SetMessageBody(v *MessageBody) *UpdateInAppTemplateOutput {
 38131  	s.MessageBody = v
 38132  	return s
 38133  }
 38134  
 38135  type UpdateJourneyInput struct {
 38136  	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
 38137  
 38138  	// ApplicationId is a required field
 38139  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 38140  
 38141  	// JourneyId is a required field
 38142  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 38143  
 38144  	// Specifies the configuration and other settings for a journey.
 38145  	//
 38146  	// WriteJourneyRequest is a required field
 38147  	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
 38148  }
 38149  
 38150  // String returns the string representation.
 38151  //
 38152  // API parameter values that are decorated as "sensitive" in the API will not
 38153  // be included in the string output. The member name will be present, but the
 38154  // value will be replaced with "sensitive".
 38155  func (s UpdateJourneyInput) String() string {
 38156  	return awsutil.Prettify(s)
 38157  }
 38158  
 38159  // GoString returns the string representation.
 38160  //
 38161  // API parameter values that are decorated as "sensitive" in the API will not
 38162  // be included in the string output. The member name will be present, but the
 38163  // value will be replaced with "sensitive".
 38164  func (s UpdateJourneyInput) GoString() string {
 38165  	return s.String()
 38166  }
 38167  
 38168  // Validate inspects the fields of the type to determine if they are valid.
 38169  func (s *UpdateJourneyInput) Validate() error {
 38170  	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyInput"}
 38171  	if s.ApplicationId == nil {
 38172  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 38173  	}
 38174  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 38175  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 38176  	}
 38177  	if s.JourneyId == nil {
 38178  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 38179  	}
 38180  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 38181  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 38182  	}
 38183  	if s.WriteJourneyRequest == nil {
 38184  		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
 38185  	}
 38186  	if s.WriteJourneyRequest != nil {
 38187  		if err := s.WriteJourneyRequest.Validate(); err != nil {
 38188  			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
 38189  		}
 38190  	}
 38191  
 38192  	if invalidParams.Len() > 0 {
 38193  		return invalidParams
 38194  	}
 38195  	return nil
 38196  }
 38197  
 38198  // SetApplicationId sets the ApplicationId field's value.
 38199  func (s *UpdateJourneyInput) SetApplicationId(v string) *UpdateJourneyInput {
 38200  	s.ApplicationId = &v
 38201  	return s
 38202  }
 38203  
 38204  // SetJourneyId sets the JourneyId field's value.
 38205  func (s *UpdateJourneyInput) SetJourneyId(v string) *UpdateJourneyInput {
 38206  	s.JourneyId = &v
 38207  	return s
 38208  }
 38209  
 38210  // SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
 38211  func (s *UpdateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *UpdateJourneyInput {
 38212  	s.WriteJourneyRequest = v
 38213  	return s
 38214  }
 38215  
 38216  type UpdateJourneyOutput struct {
 38217  	_ struct{} `type:"structure" payload:"JourneyResponse"`
 38218  
 38219  	// Provides information about the status, configuration, and other settings
 38220  	// for a journey.
 38221  	//
 38222  	// JourneyResponse is a required field
 38223  	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
 38224  }
 38225  
 38226  // String returns the string representation.
 38227  //
 38228  // API parameter values that are decorated as "sensitive" in the API will not
 38229  // be included in the string output. The member name will be present, but the
 38230  // value will be replaced with "sensitive".
 38231  func (s UpdateJourneyOutput) String() string {
 38232  	return awsutil.Prettify(s)
 38233  }
 38234  
 38235  // GoString returns the string representation.
 38236  //
 38237  // API parameter values that are decorated as "sensitive" in the API will not
 38238  // be included in the string output. The member name will be present, but the
 38239  // value will be replaced with "sensitive".
 38240  func (s UpdateJourneyOutput) GoString() string {
 38241  	return s.String()
 38242  }
 38243  
 38244  // SetJourneyResponse sets the JourneyResponse field's value.
 38245  func (s *UpdateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyOutput {
 38246  	s.JourneyResponse = v
 38247  	return s
 38248  }
 38249  
 38250  type UpdateJourneyStateInput struct {
 38251  	_ struct{} `type:"structure" payload:"JourneyStateRequest"`
 38252  
 38253  	// ApplicationId is a required field
 38254  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 38255  
 38256  	// JourneyId is a required field
 38257  	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
 38258  
 38259  	// Changes the status of a journey.
 38260  	//
 38261  	// JourneyStateRequest is a required field
 38262  	JourneyStateRequest *JourneyStateRequest `type:"structure" required:"true"`
 38263  }
 38264  
 38265  // String returns the string representation.
 38266  //
 38267  // API parameter values that are decorated as "sensitive" in the API will not
 38268  // be included in the string output. The member name will be present, but the
 38269  // value will be replaced with "sensitive".
 38270  func (s UpdateJourneyStateInput) String() string {
 38271  	return awsutil.Prettify(s)
 38272  }
 38273  
 38274  // GoString returns the string representation.
 38275  //
 38276  // API parameter values that are decorated as "sensitive" in the API will not
 38277  // be included in the string output. The member name will be present, but the
 38278  // value will be replaced with "sensitive".
 38279  func (s UpdateJourneyStateInput) GoString() string {
 38280  	return s.String()
 38281  }
 38282  
 38283  // Validate inspects the fields of the type to determine if they are valid.
 38284  func (s *UpdateJourneyStateInput) Validate() error {
 38285  	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyStateInput"}
 38286  	if s.ApplicationId == nil {
 38287  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 38288  	}
 38289  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 38290  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 38291  	}
 38292  	if s.JourneyId == nil {
 38293  		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
 38294  	}
 38295  	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
 38296  		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
 38297  	}
 38298  	if s.JourneyStateRequest == nil {
 38299  		invalidParams.Add(request.NewErrParamRequired("JourneyStateRequest"))
 38300  	}
 38301  
 38302  	if invalidParams.Len() > 0 {
 38303  		return invalidParams
 38304  	}
 38305  	return nil
 38306  }
 38307  
 38308  // SetApplicationId sets the ApplicationId field's value.
 38309  func (s *UpdateJourneyStateInput) SetApplicationId(v string) *UpdateJourneyStateInput {
 38310  	s.ApplicationId = &v
 38311  	return s
 38312  }
 38313  
 38314  // SetJourneyId sets the JourneyId field's value.
 38315  func (s *UpdateJourneyStateInput) SetJourneyId(v string) *UpdateJourneyStateInput {
 38316  	s.JourneyId = &v
 38317  	return s
 38318  }
 38319  
 38320  // SetJourneyStateRequest sets the JourneyStateRequest field's value.
 38321  func (s *UpdateJourneyStateInput) SetJourneyStateRequest(v *JourneyStateRequest) *UpdateJourneyStateInput {
 38322  	s.JourneyStateRequest = v
 38323  	return s
 38324  }
 38325  
 38326  type UpdateJourneyStateOutput struct {
 38327  	_ struct{} `type:"structure" payload:"JourneyResponse"`
 38328  
 38329  	// Provides information about the status, configuration, and other settings
 38330  	// for a journey.
 38331  	//
 38332  	// JourneyResponse is a required field
 38333  	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
 38334  }
 38335  
 38336  // String returns the string representation.
 38337  //
 38338  // API parameter values that are decorated as "sensitive" in the API will not
 38339  // be included in the string output. The member name will be present, but the
 38340  // value will be replaced with "sensitive".
 38341  func (s UpdateJourneyStateOutput) String() string {
 38342  	return awsutil.Prettify(s)
 38343  }
 38344  
 38345  // GoString returns the string representation.
 38346  //
 38347  // API parameter values that are decorated as "sensitive" in the API will not
 38348  // be included in the string output. The member name will be present, but the
 38349  // value will be replaced with "sensitive".
 38350  func (s UpdateJourneyStateOutput) GoString() string {
 38351  	return s.String()
 38352  }
 38353  
 38354  // SetJourneyResponse sets the JourneyResponse field's value.
 38355  func (s *UpdateJourneyStateOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyStateOutput {
 38356  	s.JourneyResponse = v
 38357  	return s
 38358  }
 38359  
 38360  type UpdatePushTemplateInput struct {
 38361  	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
 38362  
 38363  	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
 38364  
 38365  	// Specifies the content and settings for a message template that can be used
 38366  	// in messages that are sent through a push notification channel.
 38367  	//
 38368  	// PushNotificationTemplateRequest is a required field
 38369  	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
 38370  
 38371  	// TemplateName is a required field
 38372  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 38373  
 38374  	Version *string `location:"querystring" locationName:"version" type:"string"`
 38375  }
 38376  
 38377  // String returns the string representation.
 38378  //
 38379  // API parameter values that are decorated as "sensitive" in the API will not
 38380  // be included in the string output. The member name will be present, but the
 38381  // value will be replaced with "sensitive".
 38382  func (s UpdatePushTemplateInput) String() string {
 38383  	return awsutil.Prettify(s)
 38384  }
 38385  
 38386  // GoString returns the string representation.
 38387  //
 38388  // API parameter values that are decorated as "sensitive" in the API will not
 38389  // be included in the string output. The member name will be present, but the
 38390  // value will be replaced with "sensitive".
 38391  func (s UpdatePushTemplateInput) GoString() string {
 38392  	return s.String()
 38393  }
 38394  
 38395  // Validate inspects the fields of the type to determine if they are valid.
 38396  func (s *UpdatePushTemplateInput) Validate() error {
 38397  	invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"}
 38398  	if s.PushNotificationTemplateRequest == nil {
 38399  		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
 38400  	}
 38401  	if s.TemplateName == nil {
 38402  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 38403  	}
 38404  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 38405  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 38406  	}
 38407  
 38408  	if invalidParams.Len() > 0 {
 38409  		return invalidParams
 38410  	}
 38411  	return nil
 38412  }
 38413  
 38414  // SetCreateNewVersion sets the CreateNewVersion field's value.
 38415  func (s *UpdatePushTemplateInput) SetCreateNewVersion(v bool) *UpdatePushTemplateInput {
 38416  	s.CreateNewVersion = &v
 38417  	return s
 38418  }
 38419  
 38420  // SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
 38421  func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput {
 38422  	s.PushNotificationTemplateRequest = v
 38423  	return s
 38424  }
 38425  
 38426  // SetTemplateName sets the TemplateName field's value.
 38427  func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput {
 38428  	s.TemplateName = &v
 38429  	return s
 38430  }
 38431  
 38432  // SetVersion sets the Version field's value.
 38433  func (s *UpdatePushTemplateInput) SetVersion(v string) *UpdatePushTemplateInput {
 38434  	s.Version = &v
 38435  	return s
 38436  }
 38437  
 38438  type UpdatePushTemplateOutput struct {
 38439  	_ struct{} `type:"structure" payload:"MessageBody"`
 38440  
 38441  	// Provides information about an API request or response.
 38442  	//
 38443  	// MessageBody is a required field
 38444  	MessageBody *MessageBody `type:"structure" required:"true"`
 38445  }
 38446  
 38447  // String returns the string representation.
 38448  //
 38449  // API parameter values that are decorated as "sensitive" in the API will not
 38450  // be included in the string output. The member name will be present, but the
 38451  // value will be replaced with "sensitive".
 38452  func (s UpdatePushTemplateOutput) String() string {
 38453  	return awsutil.Prettify(s)
 38454  }
 38455  
 38456  // GoString returns the string representation.
 38457  //
 38458  // API parameter values that are decorated as "sensitive" in the API will not
 38459  // be included in the string output. The member name will be present, but the
 38460  // value will be replaced with "sensitive".
 38461  func (s UpdatePushTemplateOutput) GoString() string {
 38462  	return s.String()
 38463  }
 38464  
 38465  // SetMessageBody sets the MessageBody field's value.
 38466  func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput {
 38467  	s.MessageBody = v
 38468  	return s
 38469  }
 38470  
 38471  // Specifies Amazon Pinpoint configuration settings for retrieving and processing
 38472  // recommendation data from a recommender model.
 38473  type UpdateRecommenderConfiguration struct {
 38474  	_ struct{} `type:"structure"`
 38475  
 38476  	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
 38477  	// depending on the value for the RecommendationProviderIdType property. Each
 38478  	// of these attributes temporarily stores a recommended item that's retrieved
 38479  	// from the recommender model and sent to an AWS Lambda function for additional
 38480  	// processing. Each attribute can be used as a message variable in a message
 38481  	// template.
 38482  	//
 38483  	// In the map, the key is the name of a custom attribute and the value is a
 38484  	// custom display name for that attribute. The display name appears in the Attribute
 38485  	// finder of the template editor on the Amazon Pinpoint console. The following
 38486  	// restrictions apply to these names:
 38487  	//
 38488  	//    * An attribute name must start with a letter or number and it can contain
 38489  	//    up to 50 characters. The characters can be letters, numbers, underscores
 38490  	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
 38491  	//
 38492  	//    * An attribute display name must start with a letter or number and it
 38493  	//    can contain up to 25 characters. The characters can be letters, numbers,
 38494  	//    spaces, underscores (_), or hyphens (-).
 38495  	//
 38496  	// This object is required if the configuration invokes an AWS Lambda function
 38497  	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
 38498  	// don't include this object in your request.
 38499  	Attributes map[string]*string `type:"map"`
 38500  
 38501  	// A custom description of the configuration for the recommender model. The
 38502  	// description can contain up to 128 characters. The characters can be letters,
 38503  	// numbers, spaces, or the following symbols: _ ; () , ‐.
 38504  	Description *string `type:"string"`
 38505  
 38506  	// A custom name of the configuration for the recommender model. The name must
 38507  	// start with a letter or number and it can contain up to 128 characters. The
 38508  	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
 38509  	Name *string `type:"string"`
 38510  
 38511  	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
 38512  	// model. This value enables the model to use attribute and event data that’s
 38513  	// specific to a particular endpoint or user in an Amazon Pinpoint application.
 38514  	// Valid values are:
 38515  	//
 38516  	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
 38517  	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
 38518  	//    IDs in Amazon Pinpoint. This is the default value.
 38519  	//
 38520  	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
 38521  	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
 38522  	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
 38523  	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
 38524  	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
 38525  	RecommendationProviderIdType *string `type:"string"`
 38526  
 38527  	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
 38528  	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
 38529  	// from the recommender model.
 38530  	//
 38531  	// RecommendationProviderRoleArn is a required field
 38532  	RecommendationProviderRoleArn *string `type:"string" required:"true"`
 38533  
 38534  	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
 38535  	// data from. This value must match the ARN of an Amazon Personalize campaign.
 38536  	//
 38537  	// RecommendationProviderUri is a required field
 38538  	RecommendationProviderUri *string `type:"string" required:"true"`
 38539  
 38540  	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
 38541  	// for additional processing of recommendation data that's retrieved from the
 38542  	// recommender model.
 38543  	RecommendationTransformerUri *string `type:"string"`
 38544  
 38545  	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
 38546  	// that temporarily stores recommended items for each endpoint or user, depending
 38547  	// on the value for the RecommendationProviderIdType property. This value is
 38548  	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
 38549  	// to perform additional processing of recommendation data.
 38550  	//
 38551  	// This name appears in the Attribute finder of the template editor on the Amazon
 38552  	// Pinpoint console. The name can contain up to 25 characters. The characters
 38553  	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
 38554  	// don't apply to attribute values.
 38555  	RecommendationsDisplayName *string `type:"string"`
 38556  
 38557  	// The number of recommended items to retrieve from the model for each endpoint
 38558  	// or user, depending on the value for the RecommendationProviderIdType property.
 38559  	// This number determines how many recommended items are available for use in
 38560  	// message variables. The minimum value is 1. The maximum value is 5. The default
 38561  	// value is 5.
 38562  	//
 38563  	// To use multiple recommended items and custom attributes with message variables,
 38564  	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
 38565  	// perform additional processing of recommendation data.
 38566  	RecommendationsPerMessage *int64 `type:"integer"`
 38567  }
 38568  
 38569  // String returns the string representation.
 38570  //
 38571  // API parameter values that are decorated as "sensitive" in the API will not
 38572  // be included in the string output. The member name will be present, but the
 38573  // value will be replaced with "sensitive".
 38574  func (s UpdateRecommenderConfiguration) String() string {
 38575  	return awsutil.Prettify(s)
 38576  }
 38577  
 38578  // GoString returns the string representation.
 38579  //
 38580  // API parameter values that are decorated as "sensitive" in the API will not
 38581  // be included in the string output. The member name will be present, but the
 38582  // value will be replaced with "sensitive".
 38583  func (s UpdateRecommenderConfiguration) GoString() string {
 38584  	return s.String()
 38585  }
 38586  
 38587  // Validate inspects the fields of the type to determine if they are valid.
 38588  func (s *UpdateRecommenderConfiguration) Validate() error {
 38589  	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfiguration"}
 38590  	if s.RecommendationProviderRoleArn == nil {
 38591  		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
 38592  	}
 38593  	if s.RecommendationProviderUri == nil {
 38594  		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
 38595  	}
 38596  
 38597  	if invalidParams.Len() > 0 {
 38598  		return invalidParams
 38599  	}
 38600  	return nil
 38601  }
 38602  
 38603  // SetAttributes sets the Attributes field's value.
 38604  func (s *UpdateRecommenderConfiguration) SetAttributes(v map[string]*string) *UpdateRecommenderConfiguration {
 38605  	s.Attributes = v
 38606  	return s
 38607  }
 38608  
 38609  // SetDescription sets the Description field's value.
 38610  func (s *UpdateRecommenderConfiguration) SetDescription(v string) *UpdateRecommenderConfiguration {
 38611  	s.Description = &v
 38612  	return s
 38613  }
 38614  
 38615  // SetName sets the Name field's value.
 38616  func (s *UpdateRecommenderConfiguration) SetName(v string) *UpdateRecommenderConfiguration {
 38617  	s.Name = &v
 38618  	return s
 38619  }
 38620  
 38621  // SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
 38622  func (s *UpdateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *UpdateRecommenderConfiguration {
 38623  	s.RecommendationProviderIdType = &v
 38624  	return s
 38625  }
 38626  
 38627  // SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
 38628  func (s *UpdateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *UpdateRecommenderConfiguration {
 38629  	s.RecommendationProviderRoleArn = &v
 38630  	return s
 38631  }
 38632  
 38633  // SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
 38634  func (s *UpdateRecommenderConfiguration) SetRecommendationProviderUri(v string) *UpdateRecommenderConfiguration {
 38635  	s.RecommendationProviderUri = &v
 38636  	return s
 38637  }
 38638  
 38639  // SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
 38640  func (s *UpdateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *UpdateRecommenderConfiguration {
 38641  	s.RecommendationTransformerUri = &v
 38642  	return s
 38643  }
 38644  
 38645  // SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
 38646  func (s *UpdateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *UpdateRecommenderConfiguration {
 38647  	s.RecommendationsDisplayName = &v
 38648  	return s
 38649  }
 38650  
 38651  // SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
 38652  func (s *UpdateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *UpdateRecommenderConfiguration {
 38653  	s.RecommendationsPerMessage = &v
 38654  	return s
 38655  }
 38656  
 38657  type UpdateRecommenderConfigurationInput struct {
 38658  	_ struct{} `type:"structure" payload:"UpdateRecommenderConfiguration"`
 38659  
 38660  	// RecommenderId is a required field
 38661  	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
 38662  
 38663  	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
 38664  	// recommendation data from a recommender model.
 38665  	//
 38666  	// UpdateRecommenderConfiguration is a required field
 38667  	UpdateRecommenderConfiguration *UpdateRecommenderConfiguration `type:"structure" required:"true"`
 38668  }
 38669  
 38670  // String returns the string representation.
 38671  //
 38672  // API parameter values that are decorated as "sensitive" in the API will not
 38673  // be included in the string output. The member name will be present, but the
 38674  // value will be replaced with "sensitive".
 38675  func (s UpdateRecommenderConfigurationInput) String() string {
 38676  	return awsutil.Prettify(s)
 38677  }
 38678  
 38679  // GoString returns the string representation.
 38680  //
 38681  // API parameter values that are decorated as "sensitive" in the API will not
 38682  // be included in the string output. The member name will be present, but the
 38683  // value will be replaced with "sensitive".
 38684  func (s UpdateRecommenderConfigurationInput) GoString() string {
 38685  	return s.String()
 38686  }
 38687  
 38688  // Validate inspects the fields of the type to determine if they are valid.
 38689  func (s *UpdateRecommenderConfigurationInput) Validate() error {
 38690  	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfigurationInput"}
 38691  	if s.RecommenderId == nil {
 38692  		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
 38693  	}
 38694  	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
 38695  		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
 38696  	}
 38697  	if s.UpdateRecommenderConfiguration == nil {
 38698  		invalidParams.Add(request.NewErrParamRequired("UpdateRecommenderConfiguration"))
 38699  	}
 38700  	if s.UpdateRecommenderConfiguration != nil {
 38701  		if err := s.UpdateRecommenderConfiguration.Validate(); err != nil {
 38702  			invalidParams.AddNested("UpdateRecommenderConfiguration", err.(request.ErrInvalidParams))
 38703  		}
 38704  	}
 38705  
 38706  	if invalidParams.Len() > 0 {
 38707  		return invalidParams
 38708  	}
 38709  	return nil
 38710  }
 38711  
 38712  // SetRecommenderId sets the RecommenderId field's value.
 38713  func (s *UpdateRecommenderConfigurationInput) SetRecommenderId(v string) *UpdateRecommenderConfigurationInput {
 38714  	s.RecommenderId = &v
 38715  	return s
 38716  }
 38717  
 38718  // SetUpdateRecommenderConfiguration sets the UpdateRecommenderConfiguration field's value.
 38719  func (s *UpdateRecommenderConfigurationInput) SetUpdateRecommenderConfiguration(v *UpdateRecommenderConfiguration) *UpdateRecommenderConfigurationInput {
 38720  	s.UpdateRecommenderConfiguration = v
 38721  	return s
 38722  }
 38723  
 38724  type UpdateRecommenderConfigurationOutput struct {
 38725  	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
 38726  
 38727  	// Provides information about Amazon Pinpoint configuration settings for retrieving
 38728  	// and processing data from a recommender model.
 38729  	//
 38730  	// RecommenderConfigurationResponse is a required field
 38731  	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
 38732  }
 38733  
 38734  // String returns the string representation.
 38735  //
 38736  // API parameter values that are decorated as "sensitive" in the API will not
 38737  // be included in the string output. The member name will be present, but the
 38738  // value will be replaced with "sensitive".
 38739  func (s UpdateRecommenderConfigurationOutput) String() string {
 38740  	return awsutil.Prettify(s)
 38741  }
 38742  
 38743  // GoString returns the string representation.
 38744  //
 38745  // API parameter values that are decorated as "sensitive" in the API will not
 38746  // be included in the string output. The member name will be present, but the
 38747  // value will be replaced with "sensitive".
 38748  func (s UpdateRecommenderConfigurationOutput) GoString() string {
 38749  	return s.String()
 38750  }
 38751  
 38752  // SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
 38753  func (s *UpdateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *UpdateRecommenderConfigurationOutput {
 38754  	s.RecommenderConfigurationResponse = v
 38755  	return s
 38756  }
 38757  
 38758  type UpdateSegmentInput struct {
 38759  	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
 38760  
 38761  	// ApplicationId is a required field
 38762  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 38763  
 38764  	// SegmentId is a required field
 38765  	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
 38766  
 38767  	// Specifies the configuration, dimension, and other settings for a segment.
 38768  	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
 38769  	// object, but not both.
 38770  	//
 38771  	// WriteSegmentRequest is a required field
 38772  	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
 38773  }
 38774  
 38775  // String returns the string representation.
 38776  //
 38777  // API parameter values that are decorated as "sensitive" in the API will not
 38778  // be included in the string output. The member name will be present, but the
 38779  // value will be replaced with "sensitive".
 38780  func (s UpdateSegmentInput) String() string {
 38781  	return awsutil.Prettify(s)
 38782  }
 38783  
 38784  // GoString returns the string representation.
 38785  //
 38786  // API parameter values that are decorated as "sensitive" in the API will not
 38787  // be included in the string output. The member name will be present, but the
 38788  // value will be replaced with "sensitive".
 38789  func (s UpdateSegmentInput) GoString() string {
 38790  	return s.String()
 38791  }
 38792  
 38793  // Validate inspects the fields of the type to determine if they are valid.
 38794  func (s *UpdateSegmentInput) Validate() error {
 38795  	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
 38796  	if s.ApplicationId == nil {
 38797  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 38798  	}
 38799  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 38800  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 38801  	}
 38802  	if s.SegmentId == nil {
 38803  		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
 38804  	}
 38805  	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
 38806  		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
 38807  	}
 38808  	if s.WriteSegmentRequest == nil {
 38809  		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
 38810  	}
 38811  	if s.WriteSegmentRequest != nil {
 38812  		if err := s.WriteSegmentRequest.Validate(); err != nil {
 38813  			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
 38814  		}
 38815  	}
 38816  
 38817  	if invalidParams.Len() > 0 {
 38818  		return invalidParams
 38819  	}
 38820  	return nil
 38821  }
 38822  
 38823  // SetApplicationId sets the ApplicationId field's value.
 38824  func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
 38825  	s.ApplicationId = &v
 38826  	return s
 38827  }
 38828  
 38829  // SetSegmentId sets the SegmentId field's value.
 38830  func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
 38831  	s.SegmentId = &v
 38832  	return s
 38833  }
 38834  
 38835  // SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
 38836  func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
 38837  	s.WriteSegmentRequest = v
 38838  	return s
 38839  }
 38840  
 38841  type UpdateSegmentOutput struct {
 38842  	_ struct{} `type:"structure" payload:"SegmentResponse"`
 38843  
 38844  	// Provides information about the configuration, dimension, and other settings
 38845  	// for a segment.
 38846  	//
 38847  	// SegmentResponse is a required field
 38848  	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
 38849  }
 38850  
 38851  // String returns the string representation.
 38852  //
 38853  // API parameter values that are decorated as "sensitive" in the API will not
 38854  // be included in the string output. The member name will be present, but the
 38855  // value will be replaced with "sensitive".
 38856  func (s UpdateSegmentOutput) String() string {
 38857  	return awsutil.Prettify(s)
 38858  }
 38859  
 38860  // GoString returns the string representation.
 38861  //
 38862  // API parameter values that are decorated as "sensitive" in the API will not
 38863  // be included in the string output. The member name will be present, but the
 38864  // value will be replaced with "sensitive".
 38865  func (s UpdateSegmentOutput) GoString() string {
 38866  	return s.String()
 38867  }
 38868  
 38869  // SetSegmentResponse sets the SegmentResponse field's value.
 38870  func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
 38871  	s.SegmentResponse = v
 38872  	return s
 38873  }
 38874  
 38875  type UpdateSmsChannelInput struct {
 38876  	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
 38877  
 38878  	// ApplicationId is a required field
 38879  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 38880  
 38881  	// Specifies the status and settings of the SMS channel for an application.
 38882  	//
 38883  	// SMSChannelRequest is a required field
 38884  	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
 38885  }
 38886  
 38887  // String returns the string representation.
 38888  //
 38889  // API parameter values that are decorated as "sensitive" in the API will not
 38890  // be included in the string output. The member name will be present, but the
 38891  // value will be replaced with "sensitive".
 38892  func (s UpdateSmsChannelInput) String() string {
 38893  	return awsutil.Prettify(s)
 38894  }
 38895  
 38896  // GoString returns the string representation.
 38897  //
 38898  // API parameter values that are decorated as "sensitive" in the API will not
 38899  // be included in the string output. The member name will be present, but the
 38900  // value will be replaced with "sensitive".
 38901  func (s UpdateSmsChannelInput) GoString() string {
 38902  	return s.String()
 38903  }
 38904  
 38905  // Validate inspects the fields of the type to determine if they are valid.
 38906  func (s *UpdateSmsChannelInput) Validate() error {
 38907  	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
 38908  	if s.ApplicationId == nil {
 38909  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 38910  	}
 38911  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 38912  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 38913  	}
 38914  	if s.SMSChannelRequest == nil {
 38915  		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
 38916  	}
 38917  
 38918  	if invalidParams.Len() > 0 {
 38919  		return invalidParams
 38920  	}
 38921  	return nil
 38922  }
 38923  
 38924  // SetApplicationId sets the ApplicationId field's value.
 38925  func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
 38926  	s.ApplicationId = &v
 38927  	return s
 38928  }
 38929  
 38930  // SetSMSChannelRequest sets the SMSChannelRequest field's value.
 38931  func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
 38932  	s.SMSChannelRequest = v
 38933  	return s
 38934  }
 38935  
 38936  type UpdateSmsChannelOutput struct {
 38937  	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
 38938  
 38939  	// Provides information about the status and settings of the SMS channel for
 38940  	// an application.
 38941  	//
 38942  	// SMSChannelResponse is a required field
 38943  	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
 38944  }
 38945  
 38946  // String returns the string representation.
 38947  //
 38948  // API parameter values that are decorated as "sensitive" in the API will not
 38949  // be included in the string output. The member name will be present, but the
 38950  // value will be replaced with "sensitive".
 38951  func (s UpdateSmsChannelOutput) String() string {
 38952  	return awsutil.Prettify(s)
 38953  }
 38954  
 38955  // GoString returns the string representation.
 38956  //
 38957  // API parameter values that are decorated as "sensitive" in the API will not
 38958  // be included in the string output. The member name will be present, but the
 38959  // value will be replaced with "sensitive".
 38960  func (s UpdateSmsChannelOutput) GoString() string {
 38961  	return s.String()
 38962  }
 38963  
 38964  // SetSMSChannelResponse sets the SMSChannelResponse field's value.
 38965  func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
 38966  	s.SMSChannelResponse = v
 38967  	return s
 38968  }
 38969  
 38970  type UpdateSmsTemplateInput struct {
 38971  	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
 38972  
 38973  	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
 38974  
 38975  	// Specifies the content and settings for a message template that can be used
 38976  	// in text messages that are sent through the SMS channel.
 38977  	//
 38978  	// SMSTemplateRequest is a required field
 38979  	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
 38980  
 38981  	// TemplateName is a required field
 38982  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 38983  
 38984  	Version *string `location:"querystring" locationName:"version" type:"string"`
 38985  }
 38986  
 38987  // String returns the string representation.
 38988  //
 38989  // API parameter values that are decorated as "sensitive" in the API will not
 38990  // be included in the string output. The member name will be present, but the
 38991  // value will be replaced with "sensitive".
 38992  func (s UpdateSmsTemplateInput) String() string {
 38993  	return awsutil.Prettify(s)
 38994  }
 38995  
 38996  // GoString returns the string representation.
 38997  //
 38998  // API parameter values that are decorated as "sensitive" in the API will not
 38999  // be included in the string output. The member name will be present, but the
 39000  // value will be replaced with "sensitive".
 39001  func (s UpdateSmsTemplateInput) GoString() string {
 39002  	return s.String()
 39003  }
 39004  
 39005  // Validate inspects the fields of the type to determine if they are valid.
 39006  func (s *UpdateSmsTemplateInput) Validate() error {
 39007  	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"}
 39008  	if s.SMSTemplateRequest == nil {
 39009  		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
 39010  	}
 39011  	if s.TemplateName == nil {
 39012  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 39013  	}
 39014  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 39015  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 39016  	}
 39017  
 39018  	if invalidParams.Len() > 0 {
 39019  		return invalidParams
 39020  	}
 39021  	return nil
 39022  }
 39023  
 39024  // SetCreateNewVersion sets the CreateNewVersion field's value.
 39025  func (s *UpdateSmsTemplateInput) SetCreateNewVersion(v bool) *UpdateSmsTemplateInput {
 39026  	s.CreateNewVersion = &v
 39027  	return s
 39028  }
 39029  
 39030  // SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
 39031  func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput {
 39032  	s.SMSTemplateRequest = v
 39033  	return s
 39034  }
 39035  
 39036  // SetTemplateName sets the TemplateName field's value.
 39037  func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput {
 39038  	s.TemplateName = &v
 39039  	return s
 39040  }
 39041  
 39042  // SetVersion sets the Version field's value.
 39043  func (s *UpdateSmsTemplateInput) SetVersion(v string) *UpdateSmsTemplateInput {
 39044  	s.Version = &v
 39045  	return s
 39046  }
 39047  
 39048  type UpdateSmsTemplateOutput struct {
 39049  	_ struct{} `type:"structure" payload:"MessageBody"`
 39050  
 39051  	// Provides information about an API request or response.
 39052  	//
 39053  	// MessageBody is a required field
 39054  	MessageBody *MessageBody `type:"structure" required:"true"`
 39055  }
 39056  
 39057  // String returns the string representation.
 39058  //
 39059  // API parameter values that are decorated as "sensitive" in the API will not
 39060  // be included in the string output. The member name will be present, but the
 39061  // value will be replaced with "sensitive".
 39062  func (s UpdateSmsTemplateOutput) String() string {
 39063  	return awsutil.Prettify(s)
 39064  }
 39065  
 39066  // GoString returns the string representation.
 39067  //
 39068  // API parameter values that are decorated as "sensitive" in the API will not
 39069  // be included in the string output. The member name will be present, but the
 39070  // value will be replaced with "sensitive".
 39071  func (s UpdateSmsTemplateOutput) GoString() string {
 39072  	return s.String()
 39073  }
 39074  
 39075  // SetMessageBody sets the MessageBody field's value.
 39076  func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput {
 39077  	s.MessageBody = v
 39078  	return s
 39079  }
 39080  
 39081  type UpdateTemplateActiveVersionInput struct {
 39082  	_ struct{} `type:"structure" payload:"TemplateActiveVersionRequest"`
 39083  
 39084  	// Specifies which version of a message template to use as the active version
 39085  	// of the template.
 39086  	//
 39087  	// TemplateActiveVersionRequest is a required field
 39088  	TemplateActiveVersionRequest *TemplateActiveVersionRequest `type:"structure" required:"true"`
 39089  
 39090  	// TemplateName is a required field
 39091  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 39092  
 39093  	// TemplateType is a required field
 39094  	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
 39095  }
 39096  
 39097  // String returns the string representation.
 39098  //
 39099  // API parameter values that are decorated as "sensitive" in the API will not
 39100  // be included in the string output. The member name will be present, but the
 39101  // value will be replaced with "sensitive".
 39102  func (s UpdateTemplateActiveVersionInput) String() string {
 39103  	return awsutil.Prettify(s)
 39104  }
 39105  
 39106  // GoString returns the string representation.
 39107  //
 39108  // API parameter values that are decorated as "sensitive" in the API will not
 39109  // be included in the string output. The member name will be present, but the
 39110  // value will be replaced with "sensitive".
 39111  func (s UpdateTemplateActiveVersionInput) GoString() string {
 39112  	return s.String()
 39113  }
 39114  
 39115  // Validate inspects the fields of the type to determine if they are valid.
 39116  func (s *UpdateTemplateActiveVersionInput) Validate() error {
 39117  	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateActiveVersionInput"}
 39118  	if s.TemplateActiveVersionRequest == nil {
 39119  		invalidParams.Add(request.NewErrParamRequired("TemplateActiveVersionRequest"))
 39120  	}
 39121  	if s.TemplateName == nil {
 39122  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 39123  	}
 39124  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 39125  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 39126  	}
 39127  	if s.TemplateType == nil {
 39128  		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
 39129  	}
 39130  	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
 39131  		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
 39132  	}
 39133  
 39134  	if invalidParams.Len() > 0 {
 39135  		return invalidParams
 39136  	}
 39137  	return nil
 39138  }
 39139  
 39140  // SetTemplateActiveVersionRequest sets the TemplateActiveVersionRequest field's value.
 39141  func (s *UpdateTemplateActiveVersionInput) SetTemplateActiveVersionRequest(v *TemplateActiveVersionRequest) *UpdateTemplateActiveVersionInput {
 39142  	s.TemplateActiveVersionRequest = v
 39143  	return s
 39144  }
 39145  
 39146  // SetTemplateName sets the TemplateName field's value.
 39147  func (s *UpdateTemplateActiveVersionInput) SetTemplateName(v string) *UpdateTemplateActiveVersionInput {
 39148  	s.TemplateName = &v
 39149  	return s
 39150  }
 39151  
 39152  // SetTemplateType sets the TemplateType field's value.
 39153  func (s *UpdateTemplateActiveVersionInput) SetTemplateType(v string) *UpdateTemplateActiveVersionInput {
 39154  	s.TemplateType = &v
 39155  	return s
 39156  }
 39157  
 39158  type UpdateTemplateActiveVersionOutput struct {
 39159  	_ struct{} `type:"structure" payload:"MessageBody"`
 39160  
 39161  	// Provides information about an API request or response.
 39162  	//
 39163  	// MessageBody is a required field
 39164  	MessageBody *MessageBody `type:"structure" required:"true"`
 39165  }
 39166  
 39167  // String returns the string representation.
 39168  //
 39169  // API parameter values that are decorated as "sensitive" in the API will not
 39170  // be included in the string output. The member name will be present, but the
 39171  // value will be replaced with "sensitive".
 39172  func (s UpdateTemplateActiveVersionOutput) String() string {
 39173  	return awsutil.Prettify(s)
 39174  }
 39175  
 39176  // GoString returns the string representation.
 39177  //
 39178  // API parameter values that are decorated as "sensitive" in the API will not
 39179  // be included in the string output. The member name will be present, but the
 39180  // value will be replaced with "sensitive".
 39181  func (s UpdateTemplateActiveVersionOutput) GoString() string {
 39182  	return s.String()
 39183  }
 39184  
 39185  // SetMessageBody sets the MessageBody field's value.
 39186  func (s *UpdateTemplateActiveVersionOutput) SetMessageBody(v *MessageBody) *UpdateTemplateActiveVersionOutput {
 39187  	s.MessageBody = v
 39188  	return s
 39189  }
 39190  
 39191  type UpdateVoiceChannelInput struct {
 39192  	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
 39193  
 39194  	// ApplicationId is a required field
 39195  	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
 39196  
 39197  	// Specifies the status and settings of the voice channel for an application.
 39198  	//
 39199  	// VoiceChannelRequest is a required field
 39200  	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
 39201  }
 39202  
 39203  // String returns the string representation.
 39204  //
 39205  // API parameter values that are decorated as "sensitive" in the API will not
 39206  // be included in the string output. The member name will be present, but the
 39207  // value will be replaced with "sensitive".
 39208  func (s UpdateVoiceChannelInput) String() string {
 39209  	return awsutil.Prettify(s)
 39210  }
 39211  
 39212  // GoString returns the string representation.
 39213  //
 39214  // API parameter values that are decorated as "sensitive" in the API will not
 39215  // be included in the string output. The member name will be present, but the
 39216  // value will be replaced with "sensitive".
 39217  func (s UpdateVoiceChannelInput) GoString() string {
 39218  	return s.String()
 39219  }
 39220  
 39221  // Validate inspects the fields of the type to determine if they are valid.
 39222  func (s *UpdateVoiceChannelInput) Validate() error {
 39223  	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
 39224  	if s.ApplicationId == nil {
 39225  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
 39226  	}
 39227  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
 39228  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
 39229  	}
 39230  	if s.VoiceChannelRequest == nil {
 39231  		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
 39232  	}
 39233  
 39234  	if invalidParams.Len() > 0 {
 39235  		return invalidParams
 39236  	}
 39237  	return nil
 39238  }
 39239  
 39240  // SetApplicationId sets the ApplicationId field's value.
 39241  func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
 39242  	s.ApplicationId = &v
 39243  	return s
 39244  }
 39245  
 39246  // SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
 39247  func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
 39248  	s.VoiceChannelRequest = v
 39249  	return s
 39250  }
 39251  
 39252  type UpdateVoiceChannelOutput struct {
 39253  	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
 39254  
 39255  	// Provides information about the status and settings of the voice channel for
 39256  	// an application.
 39257  	//
 39258  	// VoiceChannelResponse is a required field
 39259  	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
 39260  }
 39261  
 39262  // String returns the string representation.
 39263  //
 39264  // API parameter values that are decorated as "sensitive" in the API will not
 39265  // be included in the string output. The member name will be present, but the
 39266  // value will be replaced with "sensitive".
 39267  func (s UpdateVoiceChannelOutput) String() string {
 39268  	return awsutil.Prettify(s)
 39269  }
 39270  
 39271  // GoString returns the string representation.
 39272  //
 39273  // API parameter values that are decorated as "sensitive" in the API will not
 39274  // be included in the string output. The member name will be present, but the
 39275  // value will be replaced with "sensitive".
 39276  func (s UpdateVoiceChannelOutput) GoString() string {
 39277  	return s.String()
 39278  }
 39279  
 39280  // SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
 39281  func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
 39282  	s.VoiceChannelResponse = v
 39283  	return s
 39284  }
 39285  
 39286  type UpdateVoiceTemplateInput struct {
 39287  	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
 39288  
 39289  	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
 39290  
 39291  	// TemplateName is a required field
 39292  	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
 39293  
 39294  	Version *string `location:"querystring" locationName:"version" type:"string"`
 39295  
 39296  	// Specifies the content and settings for a message template that can be used
 39297  	// in messages that are sent through the voice channel.
 39298  	//
 39299  	// VoiceTemplateRequest is a required field
 39300  	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
 39301  }
 39302  
 39303  // String returns the string representation.
 39304  //
 39305  // API parameter values that are decorated as "sensitive" in the API will not
 39306  // be included in the string output. The member name will be present, but the
 39307  // value will be replaced with "sensitive".
 39308  func (s UpdateVoiceTemplateInput) String() string {
 39309  	return awsutil.Prettify(s)
 39310  }
 39311  
 39312  // GoString returns the string representation.
 39313  //
 39314  // API parameter values that are decorated as "sensitive" in the API will not
 39315  // be included in the string output. The member name will be present, but the
 39316  // value will be replaced with "sensitive".
 39317  func (s UpdateVoiceTemplateInput) GoString() string {
 39318  	return s.String()
 39319  }
 39320  
 39321  // Validate inspects the fields of the type to determine if they are valid.
 39322  func (s *UpdateVoiceTemplateInput) Validate() error {
 39323  	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceTemplateInput"}
 39324  	if s.TemplateName == nil {
 39325  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 39326  	}
 39327  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 39328  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 39329  	}
 39330  	if s.VoiceTemplateRequest == nil {
 39331  		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
 39332  	}
 39333  
 39334  	if invalidParams.Len() > 0 {
 39335  		return invalidParams
 39336  	}
 39337  	return nil
 39338  }
 39339  
 39340  // SetCreateNewVersion sets the CreateNewVersion field's value.
 39341  func (s *UpdateVoiceTemplateInput) SetCreateNewVersion(v bool) *UpdateVoiceTemplateInput {
 39342  	s.CreateNewVersion = &v
 39343  	return s
 39344  }
 39345  
 39346  // SetTemplateName sets the TemplateName field's value.
 39347  func (s *UpdateVoiceTemplateInput) SetTemplateName(v string) *UpdateVoiceTemplateInput {
 39348  	s.TemplateName = &v
 39349  	return s
 39350  }
 39351  
 39352  // SetVersion sets the Version field's value.
 39353  func (s *UpdateVoiceTemplateInput) SetVersion(v string) *UpdateVoiceTemplateInput {
 39354  	s.Version = &v
 39355  	return s
 39356  }
 39357  
 39358  // SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
 39359  func (s *UpdateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *UpdateVoiceTemplateInput {
 39360  	s.VoiceTemplateRequest = v
 39361  	return s
 39362  }
 39363  
 39364  type UpdateVoiceTemplateOutput struct {
 39365  	_ struct{} `type:"structure" payload:"MessageBody"`
 39366  
 39367  	// Provides information about an API request or response.
 39368  	//
 39369  	// MessageBody is a required field
 39370  	MessageBody *MessageBody `type:"structure" required:"true"`
 39371  }
 39372  
 39373  // String returns the string representation.
 39374  //
 39375  // API parameter values that are decorated as "sensitive" in the API will not
 39376  // be included in the string output. The member name will be present, but the
 39377  // value will be replaced with "sensitive".
 39378  func (s UpdateVoiceTemplateOutput) String() string {
 39379  	return awsutil.Prettify(s)
 39380  }
 39381  
 39382  // GoString returns the string representation.
 39383  //
 39384  // API parameter values that are decorated as "sensitive" in the API will not
 39385  // be included in the string output. The member name will be present, but the
 39386  // value will be replaced with "sensitive".
 39387  func (s UpdateVoiceTemplateOutput) GoString() string {
 39388  	return s.String()
 39389  }
 39390  
 39391  // SetMessageBody sets the MessageBody field's value.
 39392  func (s *UpdateVoiceTemplateOutput) SetMessageBody(v *MessageBody) *UpdateVoiceTemplateOutput {
 39393  	s.MessageBody = v
 39394  	return s
 39395  }
 39396  
 39397  // Specifies the status and settings of the voice channel for an application.
 39398  type VoiceChannelRequest struct {
 39399  	_ struct{} `type:"structure"`
 39400  
 39401  	// Specifies whether to enable the voice channel for the application.
 39402  	Enabled *bool `type:"boolean"`
 39403  }
 39404  
 39405  // String returns the string representation.
 39406  //
 39407  // API parameter values that are decorated as "sensitive" in the API will not
 39408  // be included in the string output. The member name will be present, but the
 39409  // value will be replaced with "sensitive".
 39410  func (s VoiceChannelRequest) String() string {
 39411  	return awsutil.Prettify(s)
 39412  }
 39413  
 39414  // GoString returns the string representation.
 39415  //
 39416  // API parameter values that are decorated as "sensitive" in the API will not
 39417  // be included in the string output. The member name will be present, but the
 39418  // value will be replaced with "sensitive".
 39419  func (s VoiceChannelRequest) GoString() string {
 39420  	return s.String()
 39421  }
 39422  
 39423  // SetEnabled sets the Enabled field's value.
 39424  func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
 39425  	s.Enabled = &v
 39426  	return s
 39427  }
 39428  
 39429  // Provides information about the status and settings of the voice channel for
 39430  // an application.
 39431  type VoiceChannelResponse struct {
 39432  	_ struct{} `type:"structure"`
 39433  
 39434  	// The unique identifier for the application that the voice channel applies
 39435  	// to.
 39436  	ApplicationId *string `type:"string"`
 39437  
 39438  	// The date and time, in ISO 8601 format, when the voice channel was enabled.
 39439  	CreationDate *string `type:"string"`
 39440  
 39441  	// Specifies whether the voice channel is enabled for the application.
 39442  	Enabled *bool `type:"boolean"`
 39443  
 39444  	// (Not used) This property is retained only for backward compatibility.
 39445  	HasCredential *bool `type:"boolean"`
 39446  
 39447  	// (Deprecated) An identifier for the voice channel. This property is retained
 39448  	// only for backward compatibility.
 39449  	Id *string `type:"string"`
 39450  
 39451  	// Specifies whether the voice channel is archived.
 39452  	IsArchived *bool `type:"boolean"`
 39453  
 39454  	// The user who last modified the voice channel.
 39455  	LastModifiedBy *string `type:"string"`
 39456  
 39457  	// The date and time, in ISO 8601 format, when the voice channel was last modified.
 39458  	LastModifiedDate *string `type:"string"`
 39459  
 39460  	// The type of messaging or notification platform for the channel. For the voice
 39461  	// channel, this value is VOICE.
 39462  	//
 39463  	// Platform is a required field
 39464  	Platform *string `type:"string" required:"true"`
 39465  
 39466  	// The current version of the voice channel.
 39467  	Version *int64 `type:"integer"`
 39468  }
 39469  
 39470  // String returns the string representation.
 39471  //
 39472  // API parameter values that are decorated as "sensitive" in the API will not
 39473  // be included in the string output. The member name will be present, but the
 39474  // value will be replaced with "sensitive".
 39475  func (s VoiceChannelResponse) String() string {
 39476  	return awsutil.Prettify(s)
 39477  }
 39478  
 39479  // GoString returns the string representation.
 39480  //
 39481  // API parameter values that are decorated as "sensitive" in the API will not
 39482  // be included in the string output. The member name will be present, but the
 39483  // value will be replaced with "sensitive".
 39484  func (s VoiceChannelResponse) GoString() string {
 39485  	return s.String()
 39486  }
 39487  
 39488  // SetApplicationId sets the ApplicationId field's value.
 39489  func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
 39490  	s.ApplicationId = &v
 39491  	return s
 39492  }
 39493  
 39494  // SetCreationDate sets the CreationDate field's value.
 39495  func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
 39496  	s.CreationDate = &v
 39497  	return s
 39498  }
 39499  
 39500  // SetEnabled sets the Enabled field's value.
 39501  func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
 39502  	s.Enabled = &v
 39503  	return s
 39504  }
 39505  
 39506  // SetHasCredential sets the HasCredential field's value.
 39507  func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
 39508  	s.HasCredential = &v
 39509  	return s
 39510  }
 39511  
 39512  // SetId sets the Id field's value.
 39513  func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
 39514  	s.Id = &v
 39515  	return s
 39516  }
 39517  
 39518  // SetIsArchived sets the IsArchived field's value.
 39519  func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
 39520  	s.IsArchived = &v
 39521  	return s
 39522  }
 39523  
 39524  // SetLastModifiedBy sets the LastModifiedBy field's value.
 39525  func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
 39526  	s.LastModifiedBy = &v
 39527  	return s
 39528  }
 39529  
 39530  // SetLastModifiedDate sets the LastModifiedDate field's value.
 39531  func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
 39532  	s.LastModifiedDate = &v
 39533  	return s
 39534  }
 39535  
 39536  // SetPlatform sets the Platform field's value.
 39537  func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
 39538  	s.Platform = &v
 39539  	return s
 39540  }
 39541  
 39542  // SetVersion sets the Version field's value.
 39543  func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
 39544  	s.Version = &v
 39545  	return s
 39546  }
 39547  
 39548  // Specifies the settings for a one-time voice message that's sent directly
 39549  // to an endpoint through the voice channel.
 39550  type VoiceMessage struct {
 39551  	_ struct{} `type:"structure"`
 39552  
 39553  	// The text of the script to use for the voice message.
 39554  	Body *string `type:"string"`
 39555  
 39556  	// The code for the language to use when synthesizing the text of the message
 39557  	// script. For a list of supported languages and the code for each one, see
 39558  	// the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
 39559  	LanguageCode *string `type:"string"`
 39560  
 39561  	// The long code to send the voice message from. This value should be one of
 39562  	// the dedicated long codes that's assigned to your AWS account. Although it
 39563  	// isn't required, we recommend that you specify the long code in E.164 format,
 39564  	// for example +12065550100, to ensure prompt and accurate delivery of the message.
 39565  	OriginationNumber *string `type:"string"`
 39566  
 39567  	// The default message variables to use in the voice message. You can override
 39568  	// the default variables with individual address variables.
 39569  	Substitutions map[string][]*string `type:"map"`
 39570  
 39571  	// The name of the voice to use when delivering the message. For a list of supported
 39572  	// voices, see the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
 39573  	VoiceId *string `type:"string"`
 39574  }
 39575  
 39576  // String returns the string representation.
 39577  //
 39578  // API parameter values that are decorated as "sensitive" in the API will not
 39579  // be included in the string output. The member name will be present, but the
 39580  // value will be replaced with "sensitive".
 39581  func (s VoiceMessage) String() string {
 39582  	return awsutil.Prettify(s)
 39583  }
 39584  
 39585  // GoString returns the string representation.
 39586  //
 39587  // API parameter values that are decorated as "sensitive" in the API will not
 39588  // be included in the string output. The member name will be present, but the
 39589  // value will be replaced with "sensitive".
 39590  func (s VoiceMessage) GoString() string {
 39591  	return s.String()
 39592  }
 39593  
 39594  // SetBody sets the Body field's value.
 39595  func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
 39596  	s.Body = &v
 39597  	return s
 39598  }
 39599  
 39600  // SetLanguageCode sets the LanguageCode field's value.
 39601  func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
 39602  	s.LanguageCode = &v
 39603  	return s
 39604  }
 39605  
 39606  // SetOriginationNumber sets the OriginationNumber field's value.
 39607  func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
 39608  	s.OriginationNumber = &v
 39609  	return s
 39610  }
 39611  
 39612  // SetSubstitutions sets the Substitutions field's value.
 39613  func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
 39614  	s.Substitutions = v
 39615  	return s
 39616  }
 39617  
 39618  // SetVoiceId sets the VoiceId field's value.
 39619  func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
 39620  	s.VoiceId = &v
 39621  	return s
 39622  }
 39623  
 39624  // Specifies the content and settings for a message template that can be used
 39625  // in messages that are sent through the voice channel.
 39626  type VoiceTemplateRequest struct {
 39627  	_ struct{} `type:"structure"`
 39628  
 39629  	// The text of the script to use in messages that are based on the message template,
 39630  	// in plain text format.
 39631  	Body *string `type:"string"`
 39632  
 39633  	// A JSON object that specifies the default values to use for message variables
 39634  	// in the message template. This object is a set of key-value pairs. Each key
 39635  	// defines a message variable in the template. The corresponding value defines
 39636  	// the default value for that variable. When you create a message that's based
 39637  	// on the template, you can override these defaults with message-specific and
 39638  	// address-specific variables and values.
 39639  	DefaultSubstitutions *string `type:"string"`
 39640  
 39641  	// The code for the language to use when synthesizing the text of the script
 39642  	// in messages that are based on the message template. For a list of supported
 39643  	// languages and the code for each one, see the Amazon Polly Developer Guide
 39644  	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
 39645  	LanguageCode *string `type:"string"`
 39646  
 39647  	// A string-to-string map of key-value pairs that defines the tags to associate
 39648  	// with the message template. Each tag consists of a required tag key and an
 39649  	// associated tag value.
 39650  	Tags map[string]*string `locationName:"tags" type:"map"`
 39651  
 39652  	// A custom description of the message template.
 39653  	TemplateDescription *string `type:"string"`
 39654  
 39655  	// The name of the voice to use when delivering messages that are based on the
 39656  	// message template. For a list of supported voices, see the Amazon Polly Developer
 39657  	// Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
 39658  	VoiceId *string `type:"string"`
 39659  }
 39660  
 39661  // String returns the string representation.
 39662  //
 39663  // API parameter values that are decorated as "sensitive" in the API will not
 39664  // be included in the string output. The member name will be present, but the
 39665  // value will be replaced with "sensitive".
 39666  func (s VoiceTemplateRequest) String() string {
 39667  	return awsutil.Prettify(s)
 39668  }
 39669  
 39670  // GoString returns the string representation.
 39671  //
 39672  // API parameter values that are decorated as "sensitive" in the API will not
 39673  // be included in the string output. The member name will be present, but the
 39674  // value will be replaced with "sensitive".
 39675  func (s VoiceTemplateRequest) GoString() string {
 39676  	return s.String()
 39677  }
 39678  
 39679  // SetBody sets the Body field's value.
 39680  func (s *VoiceTemplateRequest) SetBody(v string) *VoiceTemplateRequest {
 39681  	s.Body = &v
 39682  	return s
 39683  }
 39684  
 39685  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 39686  func (s *VoiceTemplateRequest) SetDefaultSubstitutions(v string) *VoiceTemplateRequest {
 39687  	s.DefaultSubstitutions = &v
 39688  	return s
 39689  }
 39690  
 39691  // SetLanguageCode sets the LanguageCode field's value.
 39692  func (s *VoiceTemplateRequest) SetLanguageCode(v string) *VoiceTemplateRequest {
 39693  	s.LanguageCode = &v
 39694  	return s
 39695  }
 39696  
 39697  // SetTags sets the Tags field's value.
 39698  func (s *VoiceTemplateRequest) SetTags(v map[string]*string) *VoiceTemplateRequest {
 39699  	s.Tags = v
 39700  	return s
 39701  }
 39702  
 39703  // SetTemplateDescription sets the TemplateDescription field's value.
 39704  func (s *VoiceTemplateRequest) SetTemplateDescription(v string) *VoiceTemplateRequest {
 39705  	s.TemplateDescription = &v
 39706  	return s
 39707  }
 39708  
 39709  // SetVoiceId sets the VoiceId field's value.
 39710  func (s *VoiceTemplateRequest) SetVoiceId(v string) *VoiceTemplateRequest {
 39711  	s.VoiceId = &v
 39712  	return s
 39713  }
 39714  
 39715  // Provides information about the content and settings for a message template
 39716  // that can be used in messages that are sent through the voice channel.
 39717  type VoiceTemplateResponse struct {
 39718  	_ struct{} `type:"structure"`
 39719  
 39720  	// The Amazon Resource Name (ARN) of the message template.
 39721  	Arn *string `type:"string"`
 39722  
 39723  	// The text of the script that's used in messages that are based on the message
 39724  	// template, in plain text format.
 39725  	Body *string `type:"string"`
 39726  
 39727  	// The date, in ISO 8601 format, when the message template was created.
 39728  	//
 39729  	// CreationDate is a required field
 39730  	CreationDate *string `type:"string" required:"true"`
 39731  
 39732  	// The JSON object that specifies the default values that are used for message
 39733  	// variables in the message template. This object is a set of key-value pairs.
 39734  	// Each key defines a message variable in the template. The corresponding value
 39735  	// defines the default value for that variable.
 39736  	DefaultSubstitutions *string `type:"string"`
 39737  
 39738  	// The code for the language that's used when synthesizing the text of the script
 39739  	// in messages that are based on the message template. For a list of supported
 39740  	// languages and the code for each one, see the Amazon Polly Developer Guide
 39741  	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
 39742  	LanguageCode *string `type:"string"`
 39743  
 39744  	// The date, in ISO 8601 format, when the message template was last modified.
 39745  	//
 39746  	// LastModifiedDate is a required field
 39747  	LastModifiedDate *string `type:"string" required:"true"`
 39748  
 39749  	// A string-to-string map of key-value pairs that identifies the tags that are
 39750  	// associated with the message template. Each tag consists of a required tag
 39751  	// key and an associated tag value.
 39752  	Tags map[string]*string `locationName:"tags" type:"map"`
 39753  
 39754  	// The custom description of the message template.
 39755  	TemplateDescription *string `type:"string"`
 39756  
 39757  	// The name of the message template.
 39758  	//
 39759  	// TemplateName is a required field
 39760  	TemplateName *string `type:"string" required:"true"`
 39761  
 39762  	// The type of channel that the message template is designed for. For a voice
 39763  	// template, this value is VOICE.
 39764  	//
 39765  	// TemplateType is a required field
 39766  	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
 39767  
 39768  	// The unique identifier, as an integer, for the active version of the message
 39769  	// template, or the version of the template that you specified by using the
 39770  	// version parameter in your request.
 39771  	Version *string `type:"string"`
 39772  
 39773  	// The name of the voice that's used when delivering messages that are based
 39774  	// on the message template. For a list of supported voices, see the Amazon Polly
 39775  	// Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
 39776  	VoiceId *string `type:"string"`
 39777  }
 39778  
 39779  // String returns the string representation.
 39780  //
 39781  // API parameter values that are decorated as "sensitive" in the API will not
 39782  // be included in the string output. The member name will be present, but the
 39783  // value will be replaced with "sensitive".
 39784  func (s VoiceTemplateResponse) String() string {
 39785  	return awsutil.Prettify(s)
 39786  }
 39787  
 39788  // GoString returns the string representation.
 39789  //
 39790  // API parameter values that are decorated as "sensitive" in the API will not
 39791  // be included in the string output. The member name will be present, but the
 39792  // value will be replaced with "sensitive".
 39793  func (s VoiceTemplateResponse) GoString() string {
 39794  	return s.String()
 39795  }
 39796  
 39797  // SetArn sets the Arn field's value.
 39798  func (s *VoiceTemplateResponse) SetArn(v string) *VoiceTemplateResponse {
 39799  	s.Arn = &v
 39800  	return s
 39801  }
 39802  
 39803  // SetBody sets the Body field's value.
 39804  func (s *VoiceTemplateResponse) SetBody(v string) *VoiceTemplateResponse {
 39805  	s.Body = &v
 39806  	return s
 39807  }
 39808  
 39809  // SetCreationDate sets the CreationDate field's value.
 39810  func (s *VoiceTemplateResponse) SetCreationDate(v string) *VoiceTemplateResponse {
 39811  	s.CreationDate = &v
 39812  	return s
 39813  }
 39814  
 39815  // SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
 39816  func (s *VoiceTemplateResponse) SetDefaultSubstitutions(v string) *VoiceTemplateResponse {
 39817  	s.DefaultSubstitutions = &v
 39818  	return s
 39819  }
 39820  
 39821  // SetLanguageCode sets the LanguageCode field's value.
 39822  func (s *VoiceTemplateResponse) SetLanguageCode(v string) *VoiceTemplateResponse {
 39823  	s.LanguageCode = &v
 39824  	return s
 39825  }
 39826  
 39827  // SetLastModifiedDate sets the LastModifiedDate field's value.
 39828  func (s *VoiceTemplateResponse) SetLastModifiedDate(v string) *VoiceTemplateResponse {
 39829  	s.LastModifiedDate = &v
 39830  	return s
 39831  }
 39832  
 39833  // SetTags sets the Tags field's value.
 39834  func (s *VoiceTemplateResponse) SetTags(v map[string]*string) *VoiceTemplateResponse {
 39835  	s.Tags = v
 39836  	return s
 39837  }
 39838  
 39839  // SetTemplateDescription sets the TemplateDescription field's value.
 39840  func (s *VoiceTemplateResponse) SetTemplateDescription(v string) *VoiceTemplateResponse {
 39841  	s.TemplateDescription = &v
 39842  	return s
 39843  }
 39844  
 39845  // SetTemplateName sets the TemplateName field's value.
 39846  func (s *VoiceTemplateResponse) SetTemplateName(v string) *VoiceTemplateResponse {
 39847  	s.TemplateName = &v
 39848  	return s
 39849  }
 39850  
 39851  // SetTemplateType sets the TemplateType field's value.
 39852  func (s *VoiceTemplateResponse) SetTemplateType(v string) *VoiceTemplateResponse {
 39853  	s.TemplateType = &v
 39854  	return s
 39855  }
 39856  
 39857  // SetVersion sets the Version field's value.
 39858  func (s *VoiceTemplateResponse) SetVersion(v string) *VoiceTemplateResponse {
 39859  	s.Version = &v
 39860  	return s
 39861  }
 39862  
 39863  // SetVoiceId sets the VoiceId field's value.
 39864  func (s *VoiceTemplateResponse) SetVoiceId(v string) *VoiceTemplateResponse {
 39865  	s.VoiceId = &v
 39866  	return s
 39867  }
 39868  
 39869  // Specifies the settings for a wait activity in a journey. This type of activity
 39870  // waits for a certain amount of time or until a specific date and time before
 39871  // moving participants to the next activity in a journey.
 39872  type WaitActivity struct {
 39873  	_ struct{} `type:"structure"`
 39874  
 39875  	// The unique identifier for the next activity to perform, after performing
 39876  	// the wait activity.
 39877  	NextActivity *string `type:"string"`
 39878  
 39879  	// The amount of time to wait or the date and time when the activity moves participants
 39880  	// to the next activity in the journey.
 39881  	WaitTime *WaitTime `type:"structure"`
 39882  }
 39883  
 39884  // String returns the string representation.
 39885  //
 39886  // API parameter values that are decorated as "sensitive" in the API will not
 39887  // be included in the string output. The member name will be present, but the
 39888  // value will be replaced with "sensitive".
 39889  func (s WaitActivity) String() string {
 39890  	return awsutil.Prettify(s)
 39891  }
 39892  
 39893  // GoString returns the string representation.
 39894  //
 39895  // API parameter values that are decorated as "sensitive" in the API will not
 39896  // be included in the string output. The member name will be present, but the
 39897  // value will be replaced with "sensitive".
 39898  func (s WaitActivity) GoString() string {
 39899  	return s.String()
 39900  }
 39901  
 39902  // SetNextActivity sets the NextActivity field's value.
 39903  func (s *WaitActivity) SetNextActivity(v string) *WaitActivity {
 39904  	s.NextActivity = &v
 39905  	return s
 39906  }
 39907  
 39908  // SetWaitTime sets the WaitTime field's value.
 39909  func (s *WaitActivity) SetWaitTime(v *WaitTime) *WaitActivity {
 39910  	s.WaitTime = v
 39911  	return s
 39912  }
 39913  
 39914  // Specifies a duration or a date and time that indicates when Amazon Pinpoint
 39915  // determines whether an activity's conditions have been met or an activity
 39916  // moves participants to the next activity in a journey.
 39917  type WaitTime struct {
 39918  	_ struct{} `type:"structure"`
 39919  
 39920  	// The amount of time to wait, as a duration in ISO 8601 format, before determining
 39921  	// whether the activity's conditions have been met or moving participants to
 39922  	// the next activity in the journey.
 39923  	WaitFor *string `type:"string"`
 39924  
 39925  	// The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether
 39926  	// the activity's conditions have been met or the activity moves participants
 39927  	// to the next activity in the journey.
 39928  	WaitUntil *string `type:"string"`
 39929  }
 39930  
 39931  // String returns the string representation.
 39932  //
 39933  // API parameter values that are decorated as "sensitive" in the API will not
 39934  // be included in the string output. The member name will be present, but the
 39935  // value will be replaced with "sensitive".
 39936  func (s WaitTime) String() string {
 39937  	return awsutil.Prettify(s)
 39938  }
 39939  
 39940  // GoString returns the string representation.
 39941  //
 39942  // API parameter values that are decorated as "sensitive" in the API will not
 39943  // be included in the string output. The member name will be present, but the
 39944  // value will be replaced with "sensitive".
 39945  func (s WaitTime) GoString() string {
 39946  	return s.String()
 39947  }
 39948  
 39949  // SetWaitFor sets the WaitFor field's value.
 39950  func (s *WaitTime) SetWaitFor(v string) *WaitTime {
 39951  	s.WaitFor = &v
 39952  	return s
 39953  }
 39954  
 39955  // SetWaitUntil sets the WaitUntil field's value.
 39956  func (s *WaitTime) SetWaitUntil(v string) *WaitTime {
 39957  	s.WaitUntil = &v
 39958  	return s
 39959  }
 39960  
 39961  // Specifies the default settings for an application.
 39962  type WriteApplicationSettingsRequest struct {
 39963  	_ struct{} `type:"structure"`
 39964  
 39965  	// The settings for the AWS Lambda function to invoke by default as a code hook
 39966  	// for campaigns in the application. You can use this hook to customize segments
 39967  	// that are used by campaigns in the application.
 39968  	//
 39969  	// To override these settings and define custom settings for a specific campaign,
 39970  	// use the CampaignHook object of the Campaign resource.
 39971  	CampaignHook *CampaignHook `type:"structure"`
 39972  
 39973  	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
 39974  	CloudWatchMetricsEnabled *bool `type:"boolean"`
 39975  
 39976  	// The default sending limits for campaigns in the application. To override
 39977  	// these limits and define custom limits for a specific campaign or journey,
 39978  	// use the Campaign resource or the Journey resource, respectively.
 39979  	Limits *CampaignLimits `type:"structure"`
 39980  
 39981  	// The default quiet time for campaigns in the application. Quiet time is a
 39982  	// specific time range when messages aren't sent to endpoints, if all the following
 39983  	// conditions are met:
 39984  	//
 39985  	//    * The EndpointDemographic.Timezone property of the endpoint is set to
 39986  	//    a valid value.
 39987  	//
 39988  	//    * The current time in the endpoint's time zone is later than or equal
 39989  	//    to the time specified by the QuietTime.Start property for the application
 39990  	//    (or a campaign or journey that has custom quiet time settings).
 39991  	//
 39992  	//    * The current time in the endpoint's time zone is earlier than or equal
 39993  	//    to the time specified by the QuietTime.End property for the application
 39994  	//    (or a campaign or journey that has custom quiet time settings).
 39995  	//
 39996  	// If any of the preceding conditions isn't met, the endpoint will receive messages
 39997  	// from a campaign or journey, even if quiet time is enabled.
 39998  	//
 39999  	// To override the default quiet time settings for a specific campaign or journey,
 40000  	// use the Campaign resource or the Journey resource to define a custom quiet
 40001  	// time for the campaign or journey.
 40002  	QuietTime *QuietTime `type:"structure"`
 40003  }
 40004  
 40005  // String returns the string representation.
 40006  //
 40007  // API parameter values that are decorated as "sensitive" in the API will not
 40008  // be included in the string output. The member name will be present, but the
 40009  // value will be replaced with "sensitive".
 40010  func (s WriteApplicationSettingsRequest) String() string {
 40011  	return awsutil.Prettify(s)
 40012  }
 40013  
 40014  // GoString returns the string representation.
 40015  //
 40016  // API parameter values that are decorated as "sensitive" in the API will not
 40017  // be included in the string output. The member name will be present, but the
 40018  // value will be replaced with "sensitive".
 40019  func (s WriteApplicationSettingsRequest) GoString() string {
 40020  	return s.String()
 40021  }
 40022  
 40023  // SetCampaignHook sets the CampaignHook field's value.
 40024  func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
 40025  	s.CampaignHook = v
 40026  	return s
 40027  }
 40028  
 40029  // SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
 40030  func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
 40031  	s.CloudWatchMetricsEnabled = &v
 40032  	return s
 40033  }
 40034  
 40035  // SetLimits sets the Limits field's value.
 40036  func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
 40037  	s.Limits = v
 40038  	return s
 40039  }
 40040  
 40041  // SetQuietTime sets the QuietTime field's value.
 40042  func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
 40043  	s.QuietTime = v
 40044  	return s
 40045  }
 40046  
 40047  // Specifies the configuration and other settings for a campaign.
 40048  type WriteCampaignRequest struct {
 40049  	_ struct{} `type:"structure"`
 40050  
 40051  	// An array of requests that defines additional treatments for the campaign,
 40052  	// in addition to the default treatment for the campaign.
 40053  	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
 40054  
 40055  	// The delivery configuration settings for sending the campaign through a custom
 40056  	// channel. This object is required if the MessageConfiguration object for the
 40057  	// campaign specifies a CustomMessage object.
 40058  	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
 40059  
 40060  	// A custom description of the campaign.
 40061  	Description *string `type:"string"`
 40062  
 40063  	// The allocated percentage of users (segment members) who shouldn't receive
 40064  	// messages from the campaign.
 40065  	HoldoutPercent *int64 `type:"integer"`
 40066  
 40067  	// The settings for the AWS Lambda function to invoke as a code hook for the
 40068  	// campaign. You can use this hook to customize the segment that's used by the
 40069  	// campaign.
 40070  	Hook *CampaignHook `type:"structure"`
 40071  
 40072  	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
 40073  	// you resume it by changing this value to false.
 40074  	IsPaused *bool `type:"boolean"`
 40075  
 40076  	// The messaging limits for the campaign.
 40077  	Limits *CampaignLimits `type:"structure"`
 40078  
 40079  	// The message configuration settings for the campaign.
 40080  	MessageConfiguration *MessageConfiguration `type:"structure"`
 40081  
 40082  	// A custom name for the campaign.
 40083  	Name *string `type:"string"`
 40084  
 40085  	// Defines the priority of the campaign, used to decide the order of messages
 40086  	// displayed to user if there are multiple messages scheduled to be displayed
 40087  	// at the same moment.
 40088  	Priority *int64 `type:"integer"`
 40089  
 40090  	// The schedule settings for the campaign.
 40091  	Schedule *Schedule `type:"structure"`
 40092  
 40093  	// The unique identifier for the segment to associate with the campaign.
 40094  	SegmentId *string `type:"string"`
 40095  
 40096  	// The version of the segment to associate with the campaign.
 40097  	SegmentVersion *int64 `type:"integer"`
 40098  
 40099  	// A string-to-string map of key-value pairs that defines the tags to associate
 40100  	// with the campaign. Each tag consists of a required tag key and an associated
 40101  	// tag value.
 40102  	Tags map[string]*string `locationName:"tags" type:"map"`
 40103  
 40104  	// The message template to use for the campaign.
 40105  	TemplateConfiguration *TemplateConfiguration `type:"structure"`
 40106  
 40107  	// A custom description of the default treatment for the campaign.
 40108  	TreatmentDescription *string `type:"string"`
 40109  
 40110  	// A custom name of the default treatment for the campaign, if the campaign
 40111  	// has multiple treatments. A treatment is a variation of a campaign that's
 40112  	// used for A/B testing.
 40113  	TreatmentName *string `type:"string"`
 40114  }
 40115  
 40116  // String returns the string representation.
 40117  //
 40118  // API parameter values that are decorated as "sensitive" in the API will not
 40119  // be included in the string output. The member name will be present, but the
 40120  // value will be replaced with "sensitive".
 40121  func (s WriteCampaignRequest) String() string {
 40122  	return awsutil.Prettify(s)
 40123  }
 40124  
 40125  // GoString returns the string representation.
 40126  //
 40127  // API parameter values that are decorated as "sensitive" in the API will not
 40128  // be included in the string output. The member name will be present, but the
 40129  // value will be replaced with "sensitive".
 40130  func (s WriteCampaignRequest) GoString() string {
 40131  	return s.String()
 40132  }
 40133  
 40134  // Validate inspects the fields of the type to determine if they are valid.
 40135  func (s *WriteCampaignRequest) Validate() error {
 40136  	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
 40137  	if s.AdditionalTreatments != nil {
 40138  		for i, v := range s.AdditionalTreatments {
 40139  			if v == nil {
 40140  				continue
 40141  			}
 40142  			if err := v.Validate(); err != nil {
 40143  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
 40144  			}
 40145  		}
 40146  	}
 40147  	if s.CustomDeliveryConfiguration != nil {
 40148  		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
 40149  			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
 40150  		}
 40151  	}
 40152  	if s.MessageConfiguration != nil {
 40153  		if err := s.MessageConfiguration.Validate(); err != nil {
 40154  			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
 40155  		}
 40156  	}
 40157  	if s.Schedule != nil {
 40158  		if err := s.Schedule.Validate(); err != nil {
 40159  			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
 40160  		}
 40161  	}
 40162  
 40163  	if invalidParams.Len() > 0 {
 40164  		return invalidParams
 40165  	}
 40166  	return nil
 40167  }
 40168  
 40169  // SetAdditionalTreatments sets the AdditionalTreatments field's value.
 40170  func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
 40171  	s.AdditionalTreatments = v
 40172  	return s
 40173  }
 40174  
 40175  // SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
 40176  func (s *WriteCampaignRequest) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteCampaignRequest {
 40177  	s.CustomDeliveryConfiguration = v
 40178  	return s
 40179  }
 40180  
 40181  // SetDescription sets the Description field's value.
 40182  func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
 40183  	s.Description = &v
 40184  	return s
 40185  }
 40186  
 40187  // SetHoldoutPercent sets the HoldoutPercent field's value.
 40188  func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
 40189  	s.HoldoutPercent = &v
 40190  	return s
 40191  }
 40192  
 40193  // SetHook sets the Hook field's value.
 40194  func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
 40195  	s.Hook = v
 40196  	return s
 40197  }
 40198  
 40199  // SetIsPaused sets the IsPaused field's value.
 40200  func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
 40201  	s.IsPaused = &v
 40202  	return s
 40203  }
 40204  
 40205  // SetLimits sets the Limits field's value.
 40206  func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
 40207  	s.Limits = v
 40208  	return s
 40209  }
 40210  
 40211  // SetMessageConfiguration sets the MessageConfiguration field's value.
 40212  func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
 40213  	s.MessageConfiguration = v
 40214  	return s
 40215  }
 40216  
 40217  // SetName sets the Name field's value.
 40218  func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
 40219  	s.Name = &v
 40220  	return s
 40221  }
 40222  
 40223  // SetPriority sets the Priority field's value.
 40224  func (s *WriteCampaignRequest) SetPriority(v int64) *WriteCampaignRequest {
 40225  	s.Priority = &v
 40226  	return s
 40227  }
 40228  
 40229  // SetSchedule sets the Schedule field's value.
 40230  func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
 40231  	s.Schedule = v
 40232  	return s
 40233  }
 40234  
 40235  // SetSegmentId sets the SegmentId field's value.
 40236  func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
 40237  	s.SegmentId = &v
 40238  	return s
 40239  }
 40240  
 40241  // SetSegmentVersion sets the SegmentVersion field's value.
 40242  func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
 40243  	s.SegmentVersion = &v
 40244  	return s
 40245  }
 40246  
 40247  // SetTags sets the Tags field's value.
 40248  func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
 40249  	s.Tags = v
 40250  	return s
 40251  }
 40252  
 40253  // SetTemplateConfiguration sets the TemplateConfiguration field's value.
 40254  func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest {
 40255  	s.TemplateConfiguration = v
 40256  	return s
 40257  }
 40258  
 40259  // SetTreatmentDescription sets the TreatmentDescription field's value.
 40260  func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
 40261  	s.TreatmentDescription = &v
 40262  	return s
 40263  }
 40264  
 40265  // SetTreatmentName sets the TreatmentName field's value.
 40266  func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
 40267  	s.TreatmentName = &v
 40268  	return s
 40269  }
 40270  
 40271  // Specifies the Amazon Resource Name (ARN) of an event stream to publish events
 40272  // to and the AWS Identity and Access Management (IAM) role to use when publishing
 40273  // those events.
 40274  type WriteEventStream struct {
 40275  	_ struct{} `type:"structure"`
 40276  
 40277  	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
 40278  	// Kinesis Data Firehose delivery stream that you want to publish event data
 40279  	// to.
 40280  	//
 40281  	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
 40282  	//
 40283  	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
 40284  	//
 40285  	// DestinationStreamArn is a required field
 40286  	DestinationStreamArn *string `type:"string" required:"true"`
 40287  
 40288  	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
 40289  	// Pinpoint to publish event data to the stream in your AWS account.
 40290  	//
 40291  	// RoleArn is a required field
 40292  	RoleArn *string `type:"string" required:"true"`
 40293  }
 40294  
 40295  // String returns the string representation.
 40296  //
 40297  // API parameter values that are decorated as "sensitive" in the API will not
 40298  // be included in the string output. The member name will be present, but the
 40299  // value will be replaced with "sensitive".
 40300  func (s WriteEventStream) String() string {
 40301  	return awsutil.Prettify(s)
 40302  }
 40303  
 40304  // GoString returns the string representation.
 40305  //
 40306  // API parameter values that are decorated as "sensitive" in the API will not
 40307  // be included in the string output. The member name will be present, but the
 40308  // value will be replaced with "sensitive".
 40309  func (s WriteEventStream) GoString() string {
 40310  	return s.String()
 40311  }
 40312  
 40313  // Validate inspects the fields of the type to determine if they are valid.
 40314  func (s *WriteEventStream) Validate() error {
 40315  	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
 40316  	if s.DestinationStreamArn == nil {
 40317  		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
 40318  	}
 40319  	if s.RoleArn == nil {
 40320  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 40321  	}
 40322  
 40323  	if invalidParams.Len() > 0 {
 40324  		return invalidParams
 40325  	}
 40326  	return nil
 40327  }
 40328  
 40329  // SetDestinationStreamArn sets the DestinationStreamArn field's value.
 40330  func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
 40331  	s.DestinationStreamArn = &v
 40332  	return s
 40333  }
 40334  
 40335  // SetRoleArn sets the RoleArn field's value.
 40336  func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
 40337  	s.RoleArn = &v
 40338  	return s
 40339  }
 40340  
 40341  // Specifies the configuration and other settings for a journey.
 40342  type WriteJourneyRequest struct {
 40343  	_ struct{} `type:"structure"`
 40344  
 40345  	// A map that contains a set of Activity objects, one object for each activity
 40346  	// in the journey. For each Activity object, the key is the unique identifier
 40347  	// (string) for an activity and the value is the settings for the activity.
 40348  	// An activity identifier can contain a maximum of 100 characters. The characters
 40349  	// must be alphanumeric characters.
 40350  	Activities map[string]*Activity `type:"map"`
 40351  
 40352  	// The date, in ISO 8601 format, when the journey was created.
 40353  	CreationDate *string `type:"string"`
 40354  
 40355  	// IAM role ARN to be assumed when invoking Connect campaign execution APIs
 40356  	// for dialing.
 40357  	JourneyChannelSettings *JourneyChannelSettings `type:"structure"`
 40358  
 40359  	// The date, in ISO 8601 format, when the journey was last modified.
 40360  	LastModifiedDate *string `type:"string"`
 40361  
 40362  	// The messaging and entry limits for the journey.
 40363  	Limits *JourneyLimits `type:"structure"`
 40364  
 40365  	// Specifies whether the journey's scheduled start and end times use each participant's
 40366  	// local time. To base the schedule on each participant's local time, set this
 40367  	// value to true.
 40368  	LocalTime *bool `type:"boolean"`
 40369  
 40370  	// The name of the journey. A journey name can contain a maximum of 150 characters.
 40371  	// The characters can be alphanumeric characters or symbols, such as underscores
 40372  	// (_) or hyphens (-). A journey name can't contain any spaces.
 40373  	//
 40374  	// Name is a required field
 40375  	Name *string `type:"string" required:"true"`
 40376  
 40377  	// The quiet time settings for the journey. Quiet time is a specific time range
 40378  	// when a journey doesn't send messages to participants, if all the following
 40379  	// conditions are met:
 40380  	//
 40381  	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
 40382  	//    is set to a valid value.
 40383  	//
 40384  	//    * The current time in the participant's time zone is later than or equal
 40385  	//    to the time specified by the QuietTime.Start property for the journey.
 40386  	//
 40387  	//    * The current time in the participant's time zone is earlier than or equal
 40388  	//    to the time specified by the QuietTime.End property for the journey.
 40389  	//
 40390  	// If any of the preceding conditions isn't met, the participant will receive
 40391  	// messages from the journey, even if quiet time is enabled.
 40392  	QuietTime *QuietTime `type:"structure"`
 40393  
 40394  	// The frequency with which Amazon Pinpoint evaluates segment and event data
 40395  	// for the journey, as a duration in ISO 8601 format.
 40396  	RefreshFrequency *string `type:"string"`
 40397  
 40398  	RefreshOnSegmentUpdate *bool `type:"boolean"`
 40399  
 40400  	// The schedule settings for the journey.
 40401  	Schedule *JourneySchedule `type:"structure"`
 40402  
 40403  	// The unique identifier for the first activity in the journey. The identifier
 40404  	// for this activity can contain a maximum of 128 characters. The characters
 40405  	// must be alphanumeric characters.
 40406  	StartActivity *string `type:"string"`
 40407  
 40408  	// The segment that defines which users are participants in the journey.
 40409  	StartCondition *StartCondition `type:"structure"`
 40410  
 40411  	// The status of the journey. Valid values are:
 40412  	//
 40413  	//    * DRAFT - Saves the journey and doesn't publish it.
 40414  	//
 40415  	//    * ACTIVE - Saves and publishes the journey. Depending on the journey's
 40416  	//    schedule, the journey starts running immediately or at the scheduled start
 40417  	//    time. If a journey's status is ACTIVE, you can't add, change, or remove
 40418  	//    activities from it.
 40419  	//
 40420  	// PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests
 40421  	// to create or update a journey. To cancel, pause, or resume a journey, use
 40422  	// the Journey State resource.
 40423  	State *string `type:"string" enum:"State"`
 40424  
 40425  	WaitForQuietTime *bool `type:"boolean"`
 40426  }
 40427  
 40428  // String returns the string representation.
 40429  //
 40430  // API parameter values that are decorated as "sensitive" in the API will not
 40431  // be included in the string output. The member name will be present, but the
 40432  // value will be replaced with "sensitive".
 40433  func (s WriteJourneyRequest) String() string {
 40434  	return awsutil.Prettify(s)
 40435  }
 40436  
 40437  // GoString returns the string representation.
 40438  //
 40439  // API parameter values that are decorated as "sensitive" in the API will not
 40440  // be included in the string output. The member name will be present, but the
 40441  // value will be replaced with "sensitive".
 40442  func (s WriteJourneyRequest) GoString() string {
 40443  	return s.String()
 40444  }
 40445  
 40446  // Validate inspects the fields of the type to determine if they are valid.
 40447  func (s *WriteJourneyRequest) Validate() error {
 40448  	invalidParams := request.ErrInvalidParams{Context: "WriteJourneyRequest"}
 40449  	if s.Name == nil {
 40450  		invalidParams.Add(request.NewErrParamRequired("Name"))
 40451  	}
 40452  	if s.Activities != nil {
 40453  		for i, v := range s.Activities {
 40454  			if v == nil {
 40455  				continue
 40456  			}
 40457  			if err := v.Validate(); err != nil {
 40458  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Activities", i), err.(request.ErrInvalidParams))
 40459  			}
 40460  		}
 40461  	}
 40462  	if s.StartCondition != nil {
 40463  		if err := s.StartCondition.Validate(); err != nil {
 40464  			invalidParams.AddNested("StartCondition", err.(request.ErrInvalidParams))
 40465  		}
 40466  	}
 40467  
 40468  	if invalidParams.Len() > 0 {
 40469  		return invalidParams
 40470  	}
 40471  	return nil
 40472  }
 40473  
 40474  // SetActivities sets the Activities field's value.
 40475  func (s *WriteJourneyRequest) SetActivities(v map[string]*Activity) *WriteJourneyRequest {
 40476  	s.Activities = v
 40477  	return s
 40478  }
 40479  
 40480  // SetCreationDate sets the CreationDate field's value.
 40481  func (s *WriteJourneyRequest) SetCreationDate(v string) *WriteJourneyRequest {
 40482  	s.CreationDate = &v
 40483  	return s
 40484  }
 40485  
 40486  // SetJourneyChannelSettings sets the JourneyChannelSettings field's value.
 40487  func (s *WriteJourneyRequest) SetJourneyChannelSettings(v *JourneyChannelSettings) *WriteJourneyRequest {
 40488  	s.JourneyChannelSettings = v
 40489  	return s
 40490  }
 40491  
 40492  // SetLastModifiedDate sets the LastModifiedDate field's value.
 40493  func (s *WriteJourneyRequest) SetLastModifiedDate(v string) *WriteJourneyRequest {
 40494  	s.LastModifiedDate = &v
 40495  	return s
 40496  }
 40497  
 40498  // SetLimits sets the Limits field's value.
 40499  func (s *WriteJourneyRequest) SetLimits(v *JourneyLimits) *WriteJourneyRequest {
 40500  	s.Limits = v
 40501  	return s
 40502  }
 40503  
 40504  // SetLocalTime sets the LocalTime field's value.
 40505  func (s *WriteJourneyRequest) SetLocalTime(v bool) *WriteJourneyRequest {
 40506  	s.LocalTime = &v
 40507  	return s
 40508  }
 40509  
 40510  // SetName sets the Name field's value.
 40511  func (s *WriteJourneyRequest) SetName(v string) *WriteJourneyRequest {
 40512  	s.Name = &v
 40513  	return s
 40514  }
 40515  
 40516  // SetQuietTime sets the QuietTime field's value.
 40517  func (s *WriteJourneyRequest) SetQuietTime(v *QuietTime) *WriteJourneyRequest {
 40518  	s.QuietTime = v
 40519  	return s
 40520  }
 40521  
 40522  // SetRefreshFrequency sets the RefreshFrequency field's value.
 40523  func (s *WriteJourneyRequest) SetRefreshFrequency(v string) *WriteJourneyRequest {
 40524  	s.RefreshFrequency = &v
 40525  	return s
 40526  }
 40527  
 40528  // SetRefreshOnSegmentUpdate sets the RefreshOnSegmentUpdate field's value.
 40529  func (s *WriteJourneyRequest) SetRefreshOnSegmentUpdate(v bool) *WriteJourneyRequest {
 40530  	s.RefreshOnSegmentUpdate = &v
 40531  	return s
 40532  }
 40533  
 40534  // SetSchedule sets the Schedule field's value.
 40535  func (s *WriteJourneyRequest) SetSchedule(v *JourneySchedule) *WriteJourneyRequest {
 40536  	s.Schedule = v
 40537  	return s
 40538  }
 40539  
 40540  // SetStartActivity sets the StartActivity field's value.
 40541  func (s *WriteJourneyRequest) SetStartActivity(v string) *WriteJourneyRequest {
 40542  	s.StartActivity = &v
 40543  	return s
 40544  }
 40545  
 40546  // SetStartCondition sets the StartCondition field's value.
 40547  func (s *WriteJourneyRequest) SetStartCondition(v *StartCondition) *WriteJourneyRequest {
 40548  	s.StartCondition = v
 40549  	return s
 40550  }
 40551  
 40552  // SetState sets the State field's value.
 40553  func (s *WriteJourneyRequest) SetState(v string) *WriteJourneyRequest {
 40554  	s.State = &v
 40555  	return s
 40556  }
 40557  
 40558  // SetWaitForQuietTime sets the WaitForQuietTime field's value.
 40559  func (s *WriteJourneyRequest) SetWaitForQuietTime(v bool) *WriteJourneyRequest {
 40560  	s.WaitForQuietTime = &v
 40561  	return s
 40562  }
 40563  
 40564  // Specifies the configuration, dimension, and other settings for a segment.
 40565  // A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
 40566  // object, but not both.
 40567  type WriteSegmentRequest struct {
 40568  	_ struct{} `type:"structure"`
 40569  
 40570  	// The criteria that define the dimensions for the segment.
 40571  	Dimensions *SegmentDimensions `type:"structure"`
 40572  
 40573  	// The name of the segment.
 40574  	Name *string `type:"string"`
 40575  
 40576  	// The segment group to use and the dimensions to apply to the group's base
 40577  	// segments in order to build the segment. A segment group can consist of zero
 40578  	// or more base segments. Your request can include only one segment group.
 40579  	SegmentGroups *SegmentGroupList `type:"structure"`
 40580  
 40581  	// A string-to-string map of key-value pairs that defines the tags to associate
 40582  	// with the segment. Each tag consists of a required tag key and an associated
 40583  	// tag value.
 40584  	Tags map[string]*string `locationName:"tags" type:"map"`
 40585  }
 40586  
 40587  // String returns the string representation.
 40588  //
 40589  // API parameter values that are decorated as "sensitive" in the API will not
 40590  // be included in the string output. The member name will be present, but the
 40591  // value will be replaced with "sensitive".
 40592  func (s WriteSegmentRequest) String() string {
 40593  	return awsutil.Prettify(s)
 40594  }
 40595  
 40596  // GoString returns the string representation.
 40597  //
 40598  // API parameter values that are decorated as "sensitive" in the API will not
 40599  // be included in the string output. The member name will be present, but the
 40600  // value will be replaced with "sensitive".
 40601  func (s WriteSegmentRequest) GoString() string {
 40602  	return s.String()
 40603  }
 40604  
 40605  // Validate inspects the fields of the type to determine if they are valid.
 40606  func (s *WriteSegmentRequest) Validate() error {
 40607  	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
 40608  	if s.Dimensions != nil {
 40609  		if err := s.Dimensions.Validate(); err != nil {
 40610  			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
 40611  		}
 40612  	}
 40613  	if s.SegmentGroups != nil {
 40614  		if err := s.SegmentGroups.Validate(); err != nil {
 40615  			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
 40616  		}
 40617  	}
 40618  
 40619  	if invalidParams.Len() > 0 {
 40620  		return invalidParams
 40621  	}
 40622  	return nil
 40623  }
 40624  
 40625  // SetDimensions sets the Dimensions field's value.
 40626  func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
 40627  	s.Dimensions = v
 40628  	return s
 40629  }
 40630  
 40631  // SetName sets the Name field's value.
 40632  func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
 40633  	s.Name = &v
 40634  	return s
 40635  }
 40636  
 40637  // SetSegmentGroups sets the SegmentGroups field's value.
 40638  func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
 40639  	s.SegmentGroups = v
 40640  	return s
 40641  }
 40642  
 40643  // SetTags sets the Tags field's value.
 40644  func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
 40645  	s.Tags = v
 40646  	return s
 40647  }
 40648  
 40649  // Specifies the settings for a campaign treatment. A treatment is a variation
 40650  // of a campaign that's used for A/B testing of a campaign.
 40651  type WriteTreatmentResource struct {
 40652  	_ struct{} `type:"structure"`
 40653  
 40654  	// The delivery configuration settings for sending the treatment through a custom
 40655  	// channel. This object is required if the MessageConfiguration object for the
 40656  	// treatment specifies a CustomMessage object.
 40657  	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
 40658  
 40659  	// The message configuration settings for the treatment.
 40660  	MessageConfiguration *MessageConfiguration `type:"structure"`
 40661  
 40662  	// The schedule settings for the treatment.
 40663  	Schedule *Schedule `type:"structure"`
 40664  
 40665  	// The allocated percentage of users (segment members) to send the treatment
 40666  	// to.
 40667  	//
 40668  	// SizePercent is a required field
 40669  	SizePercent *int64 `type:"integer" required:"true"`
 40670  
 40671  	// The message template to use for the treatment.
 40672  	TemplateConfiguration *TemplateConfiguration `type:"structure"`
 40673  
 40674  	// A custom description of the treatment.
 40675  	TreatmentDescription *string `type:"string"`
 40676  
 40677  	// A custom name for the treatment.
 40678  	TreatmentName *string `type:"string"`
 40679  }
 40680  
 40681  // String returns the string representation.
 40682  //
 40683  // API parameter values that are decorated as "sensitive" in the API will not
 40684  // be included in the string output. The member name will be present, but the
 40685  // value will be replaced with "sensitive".
 40686  func (s WriteTreatmentResource) String() string {
 40687  	return awsutil.Prettify(s)
 40688  }
 40689  
 40690  // GoString returns the string representation.
 40691  //
 40692  // API parameter values that are decorated as "sensitive" in the API will not
 40693  // be included in the string output. The member name will be present, but the
 40694  // value will be replaced with "sensitive".
 40695  func (s WriteTreatmentResource) GoString() string {
 40696  	return s.String()
 40697  }
 40698  
 40699  // Validate inspects the fields of the type to determine if they are valid.
 40700  func (s *WriteTreatmentResource) Validate() error {
 40701  	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
 40702  	if s.SizePercent == nil {
 40703  		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
 40704  	}
 40705  	if s.CustomDeliveryConfiguration != nil {
 40706  		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
 40707  			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
 40708  		}
 40709  	}
 40710  	if s.MessageConfiguration != nil {
 40711  		if err := s.MessageConfiguration.Validate(); err != nil {
 40712  			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
 40713  		}
 40714  	}
 40715  	if s.Schedule != nil {
 40716  		if err := s.Schedule.Validate(); err != nil {
 40717  			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
 40718  		}
 40719  	}
 40720  
 40721  	if invalidParams.Len() > 0 {
 40722  		return invalidParams
 40723  	}
 40724  	return nil
 40725  }
 40726  
 40727  // SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
 40728  func (s *WriteTreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteTreatmentResource {
 40729  	s.CustomDeliveryConfiguration = v
 40730  	return s
 40731  }
 40732  
 40733  // SetMessageConfiguration sets the MessageConfiguration field's value.
 40734  func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
 40735  	s.MessageConfiguration = v
 40736  	return s
 40737  }
 40738  
 40739  // SetSchedule sets the Schedule field's value.
 40740  func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
 40741  	s.Schedule = v
 40742  	return s
 40743  }
 40744  
 40745  // SetSizePercent sets the SizePercent field's value.
 40746  func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
 40747  	s.SizePercent = &v
 40748  	return s
 40749  }
 40750  
 40751  // SetTemplateConfiguration sets the TemplateConfiguration field's value.
 40752  func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource {
 40753  	s.TemplateConfiguration = v
 40754  	return s
 40755  }
 40756  
 40757  // SetTreatmentDescription sets the TreatmentDescription field's value.
 40758  func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
 40759  	s.TreatmentDescription = &v
 40760  	return s
 40761  }
 40762  
 40763  // SetTreatmentName sets the TreatmentName field's value.
 40764  func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
 40765  	s.TreatmentName = &v
 40766  	return s
 40767  }
 40768  
 40769  const (
 40770  	// ActionOpenApp is a Action enum value
 40771  	ActionOpenApp = "OPEN_APP"
 40772  
 40773  	// ActionDeepLink is a Action enum value
 40774  	ActionDeepLink = "DEEP_LINK"
 40775  
 40776  	// ActionUrl is a Action enum value
 40777  	ActionUrl = "URL"
 40778  )
 40779  
 40780  // Action_Values returns all elements of the Action enum
 40781  func Action_Values() []string {
 40782  	return []string{
 40783  		ActionOpenApp,
 40784  		ActionDeepLink,
 40785  		ActionUrl,
 40786  	}
 40787  }
 40788  
 40789  const (
 40790  	// AlignmentLeft is a Alignment enum value
 40791  	AlignmentLeft = "LEFT"
 40792  
 40793  	// AlignmentCenter is a Alignment enum value
 40794  	AlignmentCenter = "CENTER"
 40795  
 40796  	// AlignmentRight is a Alignment enum value
 40797  	AlignmentRight = "RIGHT"
 40798  )
 40799  
 40800  // Alignment_Values returns all elements of the Alignment enum
 40801  func Alignment_Values() []string {
 40802  	return []string{
 40803  		AlignmentLeft,
 40804  		AlignmentCenter,
 40805  		AlignmentRight,
 40806  	}
 40807  }
 40808  
 40809  const (
 40810  	// AttributeTypeInclusive is a AttributeType enum value
 40811  	AttributeTypeInclusive = "INCLUSIVE"
 40812  
 40813  	// AttributeTypeExclusive is a AttributeType enum value
 40814  	AttributeTypeExclusive = "EXCLUSIVE"
 40815  
 40816  	// AttributeTypeContains is a AttributeType enum value
 40817  	AttributeTypeContains = "CONTAINS"
 40818  
 40819  	// AttributeTypeBefore is a AttributeType enum value
 40820  	AttributeTypeBefore = "BEFORE"
 40821  
 40822  	// AttributeTypeAfter is a AttributeType enum value
 40823  	AttributeTypeAfter = "AFTER"
 40824  
 40825  	// AttributeTypeBetween is a AttributeType enum value
 40826  	AttributeTypeBetween = "BETWEEN"
 40827  
 40828  	// AttributeTypeOn is a AttributeType enum value
 40829  	AttributeTypeOn = "ON"
 40830  )
 40831  
 40832  // AttributeType_Values returns all elements of the AttributeType enum
 40833  func AttributeType_Values() []string {
 40834  	return []string{
 40835  		AttributeTypeInclusive,
 40836  		AttributeTypeExclusive,
 40837  		AttributeTypeContains,
 40838  		AttributeTypeBefore,
 40839  		AttributeTypeAfter,
 40840  		AttributeTypeBetween,
 40841  		AttributeTypeOn,
 40842  	}
 40843  }
 40844  
 40845  const (
 40846  	// ButtonActionLink is a ButtonAction enum value
 40847  	ButtonActionLink = "LINK"
 40848  
 40849  	// ButtonActionDeepLink is a ButtonAction enum value
 40850  	ButtonActionDeepLink = "DEEP_LINK"
 40851  
 40852  	// ButtonActionClose is a ButtonAction enum value
 40853  	ButtonActionClose = "CLOSE"
 40854  )
 40855  
 40856  // ButtonAction_Values returns all elements of the ButtonAction enum
 40857  func ButtonAction_Values() []string {
 40858  	return []string{
 40859  		ButtonActionLink,
 40860  		ButtonActionDeepLink,
 40861  		ButtonActionClose,
 40862  	}
 40863  }
 40864  
 40865  const (
 40866  	// CampaignStatusScheduled is a CampaignStatus enum value
 40867  	CampaignStatusScheduled = "SCHEDULED"
 40868  
 40869  	// CampaignStatusExecuting is a CampaignStatus enum value
 40870  	CampaignStatusExecuting = "EXECUTING"
 40871  
 40872  	// CampaignStatusPendingNextRun is a CampaignStatus enum value
 40873  	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
 40874  
 40875  	// CampaignStatusCompleted is a CampaignStatus enum value
 40876  	CampaignStatusCompleted = "COMPLETED"
 40877  
 40878  	// CampaignStatusPaused is a CampaignStatus enum value
 40879  	CampaignStatusPaused = "PAUSED"
 40880  
 40881  	// CampaignStatusDeleted is a CampaignStatus enum value
 40882  	CampaignStatusDeleted = "DELETED"
 40883  
 40884  	// CampaignStatusInvalid is a CampaignStatus enum value
 40885  	CampaignStatusInvalid = "INVALID"
 40886  )
 40887  
 40888  // CampaignStatus_Values returns all elements of the CampaignStatus enum
 40889  func CampaignStatus_Values() []string {
 40890  	return []string{
 40891  		CampaignStatusScheduled,
 40892  		CampaignStatusExecuting,
 40893  		CampaignStatusPendingNextRun,
 40894  		CampaignStatusCompleted,
 40895  		CampaignStatusPaused,
 40896  		CampaignStatusDeleted,
 40897  		CampaignStatusInvalid,
 40898  	}
 40899  }
 40900  
 40901  const (
 40902  	// ChannelTypePush is a ChannelType enum value
 40903  	ChannelTypePush = "PUSH"
 40904  
 40905  	// ChannelTypeGcm is a ChannelType enum value
 40906  	ChannelTypeGcm = "GCM"
 40907  
 40908  	// ChannelTypeApns is a ChannelType enum value
 40909  	ChannelTypeApns = "APNS"
 40910  
 40911  	// ChannelTypeApnsSandbox is a ChannelType enum value
 40912  	ChannelTypeApnsSandbox = "APNS_SANDBOX"
 40913  
 40914  	// ChannelTypeApnsVoip is a ChannelType enum value
 40915  	ChannelTypeApnsVoip = "APNS_VOIP"
 40916  
 40917  	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
 40918  	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
 40919  
 40920  	// ChannelTypeAdm is a ChannelType enum value
 40921  	ChannelTypeAdm = "ADM"
 40922  
 40923  	// ChannelTypeSms is a ChannelType enum value
 40924  	ChannelTypeSms = "SMS"
 40925  
 40926  	// ChannelTypeVoice is a ChannelType enum value
 40927  	ChannelTypeVoice = "VOICE"
 40928  
 40929  	// ChannelTypeEmail is a ChannelType enum value
 40930  	ChannelTypeEmail = "EMAIL"
 40931  
 40932  	// ChannelTypeBaidu is a ChannelType enum value
 40933  	ChannelTypeBaidu = "BAIDU"
 40934  
 40935  	// ChannelTypeCustom is a ChannelType enum value
 40936  	ChannelTypeCustom = "CUSTOM"
 40937  
 40938  	// ChannelTypeInApp is a ChannelType enum value
 40939  	ChannelTypeInApp = "IN_APP"
 40940  )
 40941  
 40942  // ChannelType_Values returns all elements of the ChannelType enum
 40943  func ChannelType_Values() []string {
 40944  	return []string{
 40945  		ChannelTypePush,
 40946  		ChannelTypeGcm,
 40947  		ChannelTypeApns,
 40948  		ChannelTypeApnsSandbox,
 40949  		ChannelTypeApnsVoip,
 40950  		ChannelTypeApnsVoipSandbox,
 40951  		ChannelTypeAdm,
 40952  		ChannelTypeSms,
 40953  		ChannelTypeVoice,
 40954  		ChannelTypeEmail,
 40955  		ChannelTypeBaidu,
 40956  		ChannelTypeCustom,
 40957  		ChannelTypeInApp,
 40958  	}
 40959  }
 40960  
 40961  const (
 40962  	// DeliveryStatusSuccessful is a DeliveryStatus enum value
 40963  	DeliveryStatusSuccessful = "SUCCESSFUL"
 40964  
 40965  	// DeliveryStatusThrottled is a DeliveryStatus enum value
 40966  	DeliveryStatusThrottled = "THROTTLED"
 40967  
 40968  	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
 40969  	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
 40970  
 40971  	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
 40972  	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
 40973  
 40974  	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
 40975  	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
 40976  
 40977  	// DeliveryStatusOptOut is a DeliveryStatus enum value
 40978  	DeliveryStatusOptOut = "OPT_OUT"
 40979  
 40980  	// DeliveryStatusDuplicate is a DeliveryStatus enum value
 40981  	DeliveryStatusDuplicate = "DUPLICATE"
 40982  )
 40983  
 40984  // DeliveryStatus_Values returns all elements of the DeliveryStatus enum
 40985  func DeliveryStatus_Values() []string {
 40986  	return []string{
 40987  		DeliveryStatusSuccessful,
 40988  		DeliveryStatusThrottled,
 40989  		DeliveryStatusTemporaryFailure,
 40990  		DeliveryStatusPermanentFailure,
 40991  		DeliveryStatusUnknownFailure,
 40992  		DeliveryStatusOptOut,
 40993  		DeliveryStatusDuplicate,
 40994  	}
 40995  }
 40996  
 40997  const (
 40998  	// DimensionTypeInclusive is a DimensionType enum value
 40999  	DimensionTypeInclusive = "INCLUSIVE"
 41000  
 41001  	// DimensionTypeExclusive is a DimensionType enum value
 41002  	DimensionTypeExclusive = "EXCLUSIVE"
 41003  )
 41004  
 41005  // DimensionType_Values returns all elements of the DimensionType enum
 41006  func DimensionType_Values() []string {
 41007  	return []string{
 41008  		DimensionTypeInclusive,
 41009  		DimensionTypeExclusive,
 41010  	}
 41011  }
 41012  
 41013  const (
 41014  	// DurationHr24 is a Duration enum value
 41015  	DurationHr24 = "HR_24"
 41016  
 41017  	// DurationDay7 is a Duration enum value
 41018  	DurationDay7 = "DAY_7"
 41019  
 41020  	// DurationDay14 is a Duration enum value
 41021  	DurationDay14 = "DAY_14"
 41022  
 41023  	// DurationDay30 is a Duration enum value
 41024  	DurationDay30 = "DAY_30"
 41025  )
 41026  
 41027  // Duration_Values returns all elements of the Duration enum
 41028  func Duration_Values() []string {
 41029  	return []string{
 41030  		DurationHr24,
 41031  		DurationDay7,
 41032  		DurationDay14,
 41033  		DurationDay30,
 41034  	}
 41035  }
 41036  
 41037  const (
 41038  	// EndpointTypesElementPush is a EndpointTypesElement enum value
 41039  	EndpointTypesElementPush = "PUSH"
 41040  
 41041  	// EndpointTypesElementGcm is a EndpointTypesElement enum value
 41042  	EndpointTypesElementGcm = "GCM"
 41043  
 41044  	// EndpointTypesElementApns is a EndpointTypesElement enum value
 41045  	EndpointTypesElementApns = "APNS"
 41046  
 41047  	// EndpointTypesElementApnsSandbox is a EndpointTypesElement enum value
 41048  	EndpointTypesElementApnsSandbox = "APNS_SANDBOX"
 41049  
 41050  	// EndpointTypesElementApnsVoip is a EndpointTypesElement enum value
 41051  	EndpointTypesElementApnsVoip = "APNS_VOIP"
 41052  
 41053  	// EndpointTypesElementApnsVoipSandbox is a EndpointTypesElement enum value
 41054  	EndpointTypesElementApnsVoipSandbox = "APNS_VOIP_SANDBOX"
 41055  
 41056  	// EndpointTypesElementAdm is a EndpointTypesElement enum value
 41057  	EndpointTypesElementAdm = "ADM"
 41058  
 41059  	// EndpointTypesElementSms is a EndpointTypesElement enum value
 41060  	EndpointTypesElementSms = "SMS"
 41061  
 41062  	// EndpointTypesElementVoice is a EndpointTypesElement enum value
 41063  	EndpointTypesElementVoice = "VOICE"
 41064  
 41065  	// EndpointTypesElementEmail is a EndpointTypesElement enum value
 41066  	EndpointTypesElementEmail = "EMAIL"
 41067  
 41068  	// EndpointTypesElementBaidu is a EndpointTypesElement enum value
 41069  	EndpointTypesElementBaidu = "BAIDU"
 41070  
 41071  	// EndpointTypesElementCustom is a EndpointTypesElement enum value
 41072  	EndpointTypesElementCustom = "CUSTOM"
 41073  
 41074  	// EndpointTypesElementInApp is a EndpointTypesElement enum value
 41075  	EndpointTypesElementInApp = "IN_APP"
 41076  )
 41077  
 41078  // EndpointTypesElement_Values returns all elements of the EndpointTypesElement enum
 41079  func EndpointTypesElement_Values() []string {
 41080  	return []string{
 41081  		EndpointTypesElementPush,
 41082  		EndpointTypesElementGcm,
 41083  		EndpointTypesElementApns,
 41084  		EndpointTypesElementApnsSandbox,
 41085  		EndpointTypesElementApnsVoip,
 41086  		EndpointTypesElementApnsVoipSandbox,
 41087  		EndpointTypesElementAdm,
 41088  		EndpointTypesElementSms,
 41089  		EndpointTypesElementVoice,
 41090  		EndpointTypesElementEmail,
 41091  		EndpointTypesElementBaidu,
 41092  		EndpointTypesElementCustom,
 41093  		EndpointTypesElementInApp,
 41094  	}
 41095  }
 41096  
 41097  const (
 41098  	// FilterTypeSystem is a FilterType enum value
 41099  	FilterTypeSystem = "SYSTEM"
 41100  
 41101  	// FilterTypeEndpoint is a FilterType enum value
 41102  	FilterTypeEndpoint = "ENDPOINT"
 41103  )
 41104  
 41105  // FilterType_Values returns all elements of the FilterType enum
 41106  func FilterType_Values() []string {
 41107  	return []string{
 41108  		FilterTypeSystem,
 41109  		FilterTypeEndpoint,
 41110  	}
 41111  }
 41112  
 41113  const (
 41114  	// FormatCsv is a Format enum value
 41115  	FormatCsv = "CSV"
 41116  
 41117  	// FormatJson is a Format enum value
 41118  	FormatJson = "JSON"
 41119  )
 41120  
 41121  // Format_Values returns all elements of the Format enum
 41122  func Format_Values() []string {
 41123  	return []string{
 41124  		FormatCsv,
 41125  		FormatJson,
 41126  	}
 41127  }
 41128  
 41129  const (
 41130  	// FrequencyOnce is a Frequency enum value
 41131  	FrequencyOnce = "ONCE"
 41132  
 41133  	// FrequencyHourly is a Frequency enum value
 41134  	FrequencyHourly = "HOURLY"
 41135  
 41136  	// FrequencyDaily is a Frequency enum value
 41137  	FrequencyDaily = "DAILY"
 41138  
 41139  	// FrequencyWeekly is a Frequency enum value
 41140  	FrequencyWeekly = "WEEKLY"
 41141  
 41142  	// FrequencyMonthly is a Frequency enum value
 41143  	FrequencyMonthly = "MONTHLY"
 41144  
 41145  	// FrequencyEvent is a Frequency enum value
 41146  	FrequencyEvent = "EVENT"
 41147  
 41148  	// FrequencyInAppEvent is a Frequency enum value
 41149  	FrequencyInAppEvent = "IN_APP_EVENT"
 41150  )
 41151  
 41152  // Frequency_Values returns all elements of the Frequency enum
 41153  func Frequency_Values() []string {
 41154  	return []string{
 41155  		FrequencyOnce,
 41156  		FrequencyHourly,
 41157  		FrequencyDaily,
 41158  		FrequencyWeekly,
 41159  		FrequencyMonthly,
 41160  		FrequencyEvent,
 41161  		FrequencyInAppEvent,
 41162  	}
 41163  }
 41164  
 41165  const (
 41166  	// IncludeAll is a Include enum value
 41167  	IncludeAll = "ALL"
 41168  
 41169  	// IncludeAny is a Include enum value
 41170  	IncludeAny = "ANY"
 41171  
 41172  	// IncludeNone is a Include enum value
 41173  	IncludeNone = "NONE"
 41174  )
 41175  
 41176  // Include_Values returns all elements of the Include enum
 41177  func Include_Values() []string {
 41178  	return []string{
 41179  		IncludeAll,
 41180  		IncludeAny,
 41181  		IncludeNone,
 41182  	}
 41183  }
 41184  
 41185  const (
 41186  	// JobStatusCreated is a JobStatus enum value
 41187  	JobStatusCreated = "CREATED"
 41188  
 41189  	// JobStatusPreparingForInitialization is a JobStatus enum value
 41190  	JobStatusPreparingForInitialization = "PREPARING_FOR_INITIALIZATION"
 41191  
 41192  	// JobStatusInitializing is a JobStatus enum value
 41193  	JobStatusInitializing = "INITIALIZING"
 41194  
 41195  	// JobStatusProcessing is a JobStatus enum value
 41196  	JobStatusProcessing = "PROCESSING"
 41197  
 41198  	// JobStatusPendingJob is a JobStatus enum value
 41199  	JobStatusPendingJob = "PENDING_JOB"
 41200  
 41201  	// JobStatusCompleting is a JobStatus enum value
 41202  	JobStatusCompleting = "COMPLETING"
 41203  
 41204  	// JobStatusCompleted is a JobStatus enum value
 41205  	JobStatusCompleted = "COMPLETED"
 41206  
 41207  	// JobStatusFailing is a JobStatus enum value
 41208  	JobStatusFailing = "FAILING"
 41209  
 41210  	// JobStatusFailed is a JobStatus enum value
 41211  	JobStatusFailed = "FAILED"
 41212  )
 41213  
 41214  // JobStatus_Values returns all elements of the JobStatus enum
 41215  func JobStatus_Values() []string {
 41216  	return []string{
 41217  		JobStatusCreated,
 41218  		JobStatusPreparingForInitialization,
 41219  		JobStatusInitializing,
 41220  		JobStatusProcessing,
 41221  		JobStatusPendingJob,
 41222  		JobStatusCompleting,
 41223  		JobStatusCompleted,
 41224  		JobStatusFailing,
 41225  		JobStatusFailed,
 41226  	}
 41227  }
 41228  
 41229  const (
 41230  	// LayoutBottomBanner is a Layout enum value
 41231  	LayoutBottomBanner = "BOTTOM_BANNER"
 41232  
 41233  	// LayoutTopBanner is a Layout enum value
 41234  	LayoutTopBanner = "TOP_BANNER"
 41235  
 41236  	// LayoutOverlays is a Layout enum value
 41237  	LayoutOverlays = "OVERLAYS"
 41238  
 41239  	// LayoutMobileFeed is a Layout enum value
 41240  	LayoutMobileFeed = "MOBILE_FEED"
 41241  
 41242  	// LayoutMiddleBanner is a Layout enum value
 41243  	LayoutMiddleBanner = "MIDDLE_BANNER"
 41244  
 41245  	// LayoutCarousel is a Layout enum value
 41246  	LayoutCarousel = "CAROUSEL"
 41247  )
 41248  
 41249  // Layout_Values returns all elements of the Layout enum
 41250  func Layout_Values() []string {
 41251  	return []string{
 41252  		LayoutBottomBanner,
 41253  		LayoutTopBanner,
 41254  		LayoutOverlays,
 41255  		LayoutMobileFeed,
 41256  		LayoutMiddleBanner,
 41257  		LayoutCarousel,
 41258  	}
 41259  }
 41260  
 41261  const (
 41262  	// MessageTypeTransactional is a MessageType enum value
 41263  	MessageTypeTransactional = "TRANSACTIONAL"
 41264  
 41265  	// MessageTypePromotional is a MessageType enum value
 41266  	MessageTypePromotional = "PROMOTIONAL"
 41267  )
 41268  
 41269  // MessageType_Values returns all elements of the MessageType enum
 41270  func MessageType_Values() []string {
 41271  	return []string{
 41272  		MessageTypeTransactional,
 41273  		MessageTypePromotional,
 41274  	}
 41275  }
 41276  
 41277  const (
 41278  	// ModeDelivery is a Mode enum value
 41279  	ModeDelivery = "DELIVERY"
 41280  
 41281  	// ModeFilter is a Mode enum value
 41282  	ModeFilter = "FILTER"
 41283  )
 41284  
 41285  // Mode_Values returns all elements of the Mode enum
 41286  func Mode_Values() []string {
 41287  	return []string{
 41288  		ModeDelivery,
 41289  		ModeFilter,
 41290  	}
 41291  }
 41292  
 41293  const (
 41294  	// OperatorAll is a Operator enum value
 41295  	OperatorAll = "ALL"
 41296  
 41297  	// OperatorAny is a Operator enum value
 41298  	OperatorAny = "ANY"
 41299  )
 41300  
 41301  // Operator_Values returns all elements of the Operator enum
 41302  func Operator_Values() []string {
 41303  	return []string{
 41304  		OperatorAll,
 41305  		OperatorAny,
 41306  	}
 41307  }
 41308  
 41309  const (
 41310  	// RecencyTypeActive is a RecencyType enum value
 41311  	RecencyTypeActive = "ACTIVE"
 41312  
 41313  	// RecencyTypeInactive is a RecencyType enum value
 41314  	RecencyTypeInactive = "INACTIVE"
 41315  )
 41316  
 41317  // RecencyType_Values returns all elements of the RecencyType enum
 41318  func RecencyType_Values() []string {
 41319  	return []string{
 41320  		RecencyTypeActive,
 41321  		RecencyTypeInactive,
 41322  	}
 41323  }
 41324  
 41325  const (
 41326  	// SegmentTypeDimensional is a SegmentType enum value
 41327  	SegmentTypeDimensional = "DIMENSIONAL"
 41328  
 41329  	// SegmentTypeImport is a SegmentType enum value
 41330  	SegmentTypeImport = "IMPORT"
 41331  )
 41332  
 41333  // SegmentType_Values returns all elements of the SegmentType enum
 41334  func SegmentType_Values() []string {
 41335  	return []string{
 41336  		SegmentTypeDimensional,
 41337  		SegmentTypeImport,
 41338  	}
 41339  }
 41340  
 41341  const (
 41342  	// SourceTypeAll is a SourceType enum value
 41343  	SourceTypeAll = "ALL"
 41344  
 41345  	// SourceTypeAny is a SourceType enum value
 41346  	SourceTypeAny = "ANY"
 41347  
 41348  	// SourceTypeNone is a SourceType enum value
 41349  	SourceTypeNone = "NONE"
 41350  )
 41351  
 41352  // SourceType_Values returns all elements of the SourceType enum
 41353  func SourceType_Values() []string {
 41354  	return []string{
 41355  		SourceTypeAll,
 41356  		SourceTypeAny,
 41357  		SourceTypeNone,
 41358  	}
 41359  }
 41360  
 41361  const (
 41362  	// StateDraft is a State enum value
 41363  	StateDraft = "DRAFT"
 41364  
 41365  	// StateActive is a State enum value
 41366  	StateActive = "ACTIVE"
 41367  
 41368  	// StateCompleted is a State enum value
 41369  	StateCompleted = "COMPLETED"
 41370  
 41371  	// StateCancelled is a State enum value
 41372  	StateCancelled = "CANCELLED"
 41373  
 41374  	// StateClosed is a State enum value
 41375  	StateClosed = "CLOSED"
 41376  
 41377  	// StatePaused is a State enum value
 41378  	StatePaused = "PAUSED"
 41379  )
 41380  
 41381  // State_Values returns all elements of the State enum
 41382  func State_Values() []string {
 41383  	return []string{
 41384  		StateDraft,
 41385  		StateActive,
 41386  		StateCompleted,
 41387  		StateCancelled,
 41388  		StateClosed,
 41389  		StatePaused,
 41390  	}
 41391  }
 41392  
 41393  const (
 41394  	// TemplateTypeEmail is a TemplateType enum value
 41395  	TemplateTypeEmail = "EMAIL"
 41396  
 41397  	// TemplateTypeSms is a TemplateType enum value
 41398  	TemplateTypeSms = "SMS"
 41399  
 41400  	// TemplateTypeVoice is a TemplateType enum value
 41401  	TemplateTypeVoice = "VOICE"
 41402  
 41403  	// TemplateTypePush is a TemplateType enum value
 41404  	TemplateTypePush = "PUSH"
 41405  
 41406  	// TemplateTypeInapp is a TemplateType enum value
 41407  	TemplateTypeInapp = "INAPP"
 41408  )
 41409  
 41410  // TemplateType_Values returns all elements of the TemplateType enum
 41411  func TemplateType_Values() []string {
 41412  	return []string{
 41413  		TemplateTypeEmail,
 41414  		TemplateTypeSms,
 41415  		TemplateTypeVoice,
 41416  		TemplateTypePush,
 41417  		TemplateTypeInapp,
 41418  	}
 41419  }
 41420  
 41421  const (
 41422  	// TypeAll is a Type enum value
 41423  	TypeAll = "ALL"
 41424  
 41425  	// TypeAny is a Type enum value
 41426  	TypeAny = "ANY"
 41427  
 41428  	// TypeNone is a Type enum value
 41429  	TypeNone = "NONE"
 41430  )
 41431  
 41432  // Type_Values returns all elements of the Type enum
 41433  func Type_Values() []string {
 41434  	return []string{
 41435  		TypeAll,
 41436  		TypeAny,
 41437  		TypeNone,
 41438  	}
 41439  }